jueves, 23 de octubre de 2014

Ejemplo de un programa con sentencias repetitivas

En este ejemplo de aplicación de la sentencias condicionales tomaremos un ejercicio del libro: Introducción a la Programación Lógica y Diseño (Stair 2013) el cual dice:

Amanda Cho, supervisora en una tienda minorista de ropa, desea reconocer a los vendedores de alto rendimiento. Diseñe un diagrama de flujo o pseudocódigo para lo siguiente:


Un programa que acepte en forma continua el nombre y apellido de cada vendedor, el número de turnos que trabajó en un mes, número de transacciones que completó ese mes y el valor en dólares de esas transacciones. Despliegue el nombre de cada vendedor con una puntuación de productividad, misma que se calcula dividiendo primero los dólares entre las transacciones y dividiendo el resultado entre los turnos trabajados. Despliegue tres asteriscos después de la puntuación de productividad si es de 50 o más.

Aplicando los pasos para realizar un diagrama y un pseudocódigo:

Paso 1: Definición del problema.
Se quiere realizar un programa que lea información de forma continua sobre vendedores y además se quiere calcular una puntuación de productividad de ellos. Se imprimen el nombre de cada vendedor y tres asteriscos (***) si la puntuación de productividad es de 50 en adelante.

Paso 2: Planeación de la solución.
Datos de entrada: Nombre y apellido del vendedor (datos alfabéticos), número de turnos que trabajó, número de transacciones, valor de esas transacciones (datos enteros positivos).

Datos de salida: Nombre del vendedor, ***.

Datos adicionales: Ninguno.

Proceso:
Lo primero que se debe hacer es conocer los datos del vendedor que son: Nombre y apellido del vendedor (datos alfabéticos), número de turnos que trabajó, número de transacciones, valor de esas transacciones (datos enteros positivos). Después el programa calcula el valor una productividad parcial dividiendo el valor en dólares de las transacciones con el número de transacciones y después calcula el valor de productividad total dividiendo el valor de productividad parcial para el número de turnos que trabajó en el mes. Finalmente el programa imprime el nombre y tres asteriscos (***) al vendedor que posea más de 50 en su puntuación de productividad. El programa pregunta si desea continuar y si la respuesta es afirmativa repite todo el proceso.

Diagrama de flujo:



Pseudocódigo:                                EVALUADOR DE PRODUCTIVIDAD

//Nombre: Juan Diego Mantilla
//Fecha: 16 de Octubre del 2014
//Programa para calcular la puntuación de productividad de un vendedor e imprimir *** a los vendedores que superen la puntuación 50

INICIO
// DECLARACIÓN DE VARIABLES;
ENTEROS POSITIVOS: NMTURNOS, NMTRAN, VALTRAN;
CARACTERES ALFABETICOS: NOM, APE CONT=S;
REPETIR
        IMPRIMIR “NOMBRE DEL VENDEDOR:”;
LEER NOM;
        IMPRIMIR “INGRESE EL APELLIDO DEL VENDEDOR:”;
LEER APE;
        IMPRIMIR “INGRESE EL NUMERO DE TURNOS QUE TRABAJÓ AL MES:”;
LEER NMTURNOS;
        IMPRIMIR “INGRESE EL NUMERO DE TRANSACCIONES QUE COMPLETÓ ESE MES:”;
LEER NMTRAN;
        IMPRIMIR “INGRESE EL VALOR EN DOLARES DE ESAS TRANSACCIONES:”;
LEER VALTRAN;
                PP=VALTRAN/NMTRAN;                                                                                                                 PT=PP/NMTURNOS;                                                                                         SI (PT>50) ENTONCES;                                                                                                  IMPRIMIR NOM, “***”;                                                                                 SINO;                                                                                                         FINSI;                                                                                                                 IMPRIMIR “¿DESEA CONTINUAR?”;                                                                                 LEER CONT;                                                                                                                             MIENTRAS (CONT!=´S´);
FIN

Prueba de escritorio:
Para:     Número nombre del vendedor: Juan
Nombre apellido del vendedor: Saltos
Numero de turnos que trabajó al mes: 15
Número de transacciones que completó ese mes: 25
Valor en dólares de esas transacciones: 450

S/V
NOM
APE
NMTURNOS
NMTRAN
VALTRAN
PP
PT
IMPR
CONT?
1
JUAN








2

SALTOS







3


15






4



25





5




450




6





18



7






3.6


8







-----

9








S

Para:     Número nombre del vendedor: David
Nombre apellido del vendedor: Ponce
Numero de turnos que trabajó al mes: 85
Número de transacciones que completó ese mes: 4
Valor en dólares de esas transacciones: 9500

S/V
NOM
APE
NMTURNOS
NMTRAN
VALTRAN
PP
PT
IMPR
CONT?
1
DAVID








2

PONCE







3


85






4



4





5




9500




6





2375



7






27.94


8







-----

9








N

Para:     Número nombre del vendedor: Jairo
Nombre apellido del vendedor: Díaz
Numero de turnos que trabajó al mes: 93
Número de transacciones que completó ese mes: 5
Valor en dólares de esas transacciones: 33000

S/V
NOM
APE
NMTURNOS
NMTRAN
VALTRAN
PP
PT
IMPR
CONT?
1
Jairo








2

DIAZ







3


93






4



5





5




33000




6





6600



7






70.97


8







JAIRO, ***

9








S

Para:     Número nombre del vendedor: Juan
Nombre apellido del vendedor: Venegas
Numero de turnos que trabajó al mes: 23
Número de transacciones que completó ese mes: 711
Valor en dólares de esas transacciones: 996000

S/V
NOM
APE
NMTURNOS
NMTRAN
VALTRAN
PP
PT
IMPR
CONT?
1
JUAN








2

VENEGAS







3


23






4



711





5




996000




6





1400.84



7






60.91


8







JUAN, ***

9








N


No hay comentarios:

Publicar un comentario