Guía de Ejercicios N° 1: 
Ejercicio 18: Una concesionaria de autos paga a los vendedores $500 por mes, más una comisión 
d...
Ingrese “Ingresar Año de Nacimiento:” Añon 
Edad ← 2014 – Añon 
Mostrar “El nombre es:” nombre “y la edad es:” edad 
Fin P...
Ejercicio 39: Hacer un programa que escriba la correspondiente calificación a una determinada 
nota de acuerdo con el sigu...
Entero CLA, CLU, CLP, CLC, CTL 
Real PLA, PLU, PLP, PLC 
Ingresar “Ingrese la Cantidad de Libros de autores Argentinos:” C...
Repetir 
Ingresar “Ingrese las horas trabajadas:” HT 
Hasta (HT > 0) 
Sueldo ← HT x valor hora 
Mostrar “El sueldo es:” su...
Fin Para 
Mostrar “La cantidad de ceros son:” ceros 
Mostrar “El promedio de los números positivos es:” (positivos x 100) ...
Guía de Ejercicios N° 5: 
Ejercicio 100: En un comercio hay 4 [cuatro] vendedores. Por cada venta realizada se conoce el 
...
Según (codv) hacer 
1: caso 1 
TV1 ← TV1 + IMP 
2: caso 2 
TV2 ← TV2 + IMP 
3: caso 3 
TV3 ← TV3 + IMP 
4: caso 4 
TV4 ← T...
Inicio Programa “Ejercicio 101” 
Entero edad, mayor18, menor65, cmayor18, cmenor65 
Texto nombre, nmayor18, nmenor65 
nmay...
Calificación obtenida. 
Se solicita Informar: 
a. Cantidad de empleados por área y por turno. 
b. Porcentaje de empleados ...
Repetir 
Ingresar “…” htrabajo 
Hasta (htrabajo <> 0) 
Repetir 
Ingresar “…” calificación 
Hasta (calificación <> “”) 
Si ...
Si (aream > areae) and (aream > areap) Entonces 
puntoe ← aream 
Sino 
Si (areae > aream) and (areae > areap) Entonces 
pu...
Cant2 ← 0 
Cant3 ← 0 
Totf1 ← 0 
IMP ← 0 
IMPTotal ← 0 
Contart3 ← 0 
Ingreso_Dato_Cond (Num_Fact) 
Mientras (Num_Fact <> ...
Ejercicio 122: Una casa de comidas tiene 6 [seis] mesas y 3 [tres] mozos. Cada mozo puede 
atender cualquier mesa y cuando...
Repetir 
Ingresar “Cant. De Personas:” cantp 
Hasta (cantp > 0) 
Si (IMPC > 400) entonces 
IMPC ← IMPC + [(10 x IMPC) / 10...
05 Ushuaia 
06 Paraná 
07 Santa Rosa 
08 Mendoza 
09 Posadas 
10 San Miguel de Tucumán 
2) Escribir un Procedimiento denom...
Desarrollo: 
Función “Nombre_Cuidad_Destino” (entero cod_ciu_des): texto 
Según (cod_ciu_des) hacer 
1: caso 01 
retornar ...
Función “Calculo_de_Porcentaj e” (real V1, real V2): real 
real CP 
cp ← (V1 x 100) / V2 
retornar CP 
Fin Función 
Proced...
Mientras (aerop <> -1) hacer 
Repetir 
Ingresar “Ingresar Código de Empleado:” COD_EM 
Hasta (COD_EM > 0) and (COD_EM <= 7...
VR ← VR + 1 
Total pasajes ← Total pasajes + (total pasaje 1 + total pasaje 2 + total pasaje 3 + total pasaje 4 + 
total p...
Próxima SlideShare
Cargando en…5
×

Guía de ejercicios - Programación Lógica

342 visualizaciones

Publicado el

Guia de ejercicios de la materia programación lógica. Instituto ESBA Villa Urquiza.

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
342
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
11
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Guía de ejercicios - Programación Lógica

  1. 1. Guía de Ejercicios N° 1: Ejercicio 18: Una concesionaria de autos paga a los vendedores $500 por mes, más una comisión de $50 por auto vendido, más el 5% del valor de la venta total realizada. Si tenemos para el vendedor, la cantidad de autos vendidos y el total facturado, ¿cuál será su sueldo? Desarrollo: Inicio Programa “Ejercicio 18” Real pago, comisión, Vv, Av, TF, sueldo Pago ← 500 Comision ← 50 x Av Vv ← (TF x 5) / 100 Sueldo ← pago + comisión + Vv Mostrar “El sueldo del vendedor es:” sueldo Fin programa “Ejercicio 18” Ejercicio 19: Conociendo la velocidad de un auto expresada en km/hs. Calcular el espacio recorrido sabiendo el tiempo, expresado en horas, que utilizó. [Espacio = velocidad * tiempo]. Indicar el resultado en metros. Desarrollo: Inicio Programa “Ejercicio 19” Real Vel, tiempo, espacio Ingresar “Ingresar la Velocidad:” Vel Ingresar “Ingresar el Tiempo:” tiempo Espacio ← (Vel x tiempo) x 1000 Mostrar “El espacio rocrrido por el auto es:” espacio Fin Programa “Ejercicio 19” Ejercicio 20: Dados el año de nacimiento de una persona y su nombre, mostrar el nombre y la edad. Desarrollo: Inicio Programa “Ejercicio 19” Real Añon, edad Texto Nombre
  2. 2. Ingrese “Ingresar Año de Nacimiento:” Añon Edad ← 2014 – Añon Mostrar “El nombre es:” nombre “y la edad es:” edad Fin Programa “Ejercicio 20” Guía de Ejercicios N° 2: Ejercicio 35: Dados tres números, al mayor restarle el menor y elevarlos al restante. Desarrollo: Inicio Programa “Ejercicio 35” Real N1, N2, N3 Ingresar “Ingrese el Numero 1:” N1 Ingresar “Ingrese el Numero 2:” N2 Ingresar “Ingrese el Numero 3:” N3 Si (N1 > N2 > N3) entonces mostrar “…” (N1 – N3) ^ N2 Sino Si (N1 > N3 > N2) entonces mostrar “…” (N1 – N2) ^ N3 Sino SI (N2 > N1 > N3) entonces mostrar “…” (N2 – N3) ^ N1 Sino Si (N2 > N3 > N1) entonces mostrar “…” (N2 – N1) ^ N3 Sino Si (N3 > N1 > N2) entonces mostrar “…” (N3 – N2) ^ N1 Sino Si (N3 > N2 > N1) entonces mostrar “…” (N3 – N1) ^ N2 Sino mostrar “Los números son iguales” Fin Si Fin Si Fin Si Fin Si Fin Si Fin Si Fin Programa “Ejercicio 35”
  3. 3. Ejercicio 39: Hacer un programa que escriba la correspondiente calificación a una determinada nota de acuerdo con el siguiente criterio: A. Si la Nota es 10 = S. B. Si la Nota es 9 = D. C. Si la Nota es 7 u 8 =MB. D. Si la Nota es 5 o 6 = B. E. Si la Nota es 4 = R. F. Si la Nota es 1, 2, 3 = I. Desarrollo: Inicio Programa “Ejercicio 39” Entero Nota Ingresar “Ingrese Nota:” Nota Según (Nota) hacer 1: caso 10 mostrar “Nota = S” 2: caso 9 mostrar “Nota = D” 3: caso [7-8] mostrar “Nota = MB” 4: caso [5-6] mostrar “Nota = B” 5: caso 4 mostrar “Nota = R” 6: caso [1..3] mostrar “Nota = I” Sino Mostrar “La nota ingresada es incorrecta” Fin Según Fin Programa “Ejercicio 39” Ejercicio 46: De una exposición de libros se conocen las cantidades de libros de autores argentinos, de autores uruguayos, de autores paraguayos y de autores chilenos que hay. Se pide hacer un programa que informe: a. La cantidad total de libros que hay en la exposición. b. ¿Qué porcentaje del total le corresponde a cada una de las cantidades ingresadas? c. ¿Cuál es el nivel de la exposición, considerando que puede ser: malo, bueno, muy bueno, excelente o sobresaliente, si la cantidad de obras expuestas es menor que 5.000, 10.000, 20.000, 30.000 o supera este último valor? Desarrollo: Inicio Programa “Ejercicio 46”
  4. 4. Entero CLA, CLU, CLP, CLC, CTL Real PLA, PLU, PLP, PLC Ingresar “Ingrese la Cantidad de Libros de autores Argentinos:” CLA Ingresar “Ingrese la Cantidad de Libros de autores Uruguayos:” CLU Ingresar “Ingrese la Cantidad de Libros de autores Paraguayos:” CLP Ingresar “Ingrese la Cantidad de Libros de autores Chilenos:” CLC CTL ← CLA + CLU + CLP + CLC mostrar “El total de libros es:” CTL PLA ← (CLA x 100) / CTL mostrar “El porcentaje de libros de autores Argentinos es:” PLA PLU ← (CLU x 100) / CTL mostrar “El porcentaje de libros de autores Uruguayos es:” PLU PLP ← (CLP x 100) / CTL mostrar “El porcentaje de libros de autores Paraguayos es:” PLP PLC ← (CLC x 100) / CTL mostrar “El porcentaje de libros de autores Chilenos es:” PLC Según (CTL) hacer 1: caso [0...4999] mostrar “El nivel de la exposición es malo” 2: caso [5000..9999] mostrar “El nivel de la exposición es bueno” 3: caso ]10000..19999] mostrar “El nivel de la exposición es muy bueno” 4: caso [20000..29999] mostrar “El nivel de la exposición es excelente” Sino mostrar “El nivel de la exposición es sobresaliente” Fin Según Fin Programa “Ejercicio 46” Guía de Ejercicios N° 3: Ejercicio 69: Dadas las horas trabajadas de 20 empleados y sabiendo que la hora de trabajo es de $5, mostrar el sueldo a pagar. Al finalizar se desea saber también cuántos empleados ganan igual o más de $900 y cuántos ganan menos que esa suma. Desarrollo: Inicio Programa “Ejercicio 69” Entero HT, empleado, mas, menos Real sueldo, valor hora 5 Mas ← 0 Menos ← 0 Para empleado desde 1 hasta 20 hacer
  5. 5. Repetir Ingresar “Ingrese las horas trabajadas:” HT Hasta (HT > 0) Sueldo ← HT x valor hora Mostrar “El sueldo es:” sueldo Si (sueldo >= 900) entonces mas ← mas + 1 Sino menos ← menos + 1 Fin Si Fin Para Mostrar “Los empleados cuyo sueldo es mayor a $900:” mas Mostrar “Los empleados cuyo sueldo es menor a $900:” menos Fin programa “Ejercicio 69” Ejercicio 81: Hacer un algoritmo que permita ingresar N números y que informe al finalizar el producto de todos los negativos, el promedio de todos los positivos y la cantidad de ceros. El valor de N deberá pedirse como primer dato. Desarrollo: Inicio Programa “Ejercicio 81” Entero número, cant_num, VF, producto, positivos, ceros Ingresar “Ingrese la cantidad total de números:” VF Producto ← 1 Positivos ← 0 Ceros ← 0 Para cant_num desde 1 hasta VF hacer Ingresar “Ingrese Número:” número Si (numero = 0) entonces ceros ← ceros + 1 Sino Si (numero > 0) entonces positivos ← positivos + 1 Sino producto ← producto x numero Fin Si Fin SI
  6. 6. Fin Para Mostrar “La cantidad de ceros son:” ceros Mostrar “El promedio de los números positivos es:” (positivos x 100) / VF Mostrar “El producto de los números negativos es:” producto Fin Programa “Ejercicio 81” Ejercicio 82: Dadas las edades y estaturas de 45 alumnos de un curso se desea saber: la edad y estatura promedio, la cantidad de alumnos mayores a 21 años y la cantidad de alumnos que miden menos 1,70 metros. Desarrollo: Inicio Programa “Ejercicio 82” Entero I, EP, AP, MV, AM17, edad, altura EP ← 0 AP ← 0 MV ← 0 AM17 ← 0 Para I desde 1 hasta 45 hacer Repetir Ingresar “Ingrese la edad:” edad Hasta (edad > 0) Repetir Ingresar “Ingrese la altura:” altura Hasta (altura > 0) EP ← EP + edad AP ← AP + altura Si (altura < 1,70) entonces AM17 ← AM17 + 1 Fin Si Si (edad > 21) entonces MV ← MV + 1 Fin Si Fin Para Mostrar “La edad promedio es:” EP / 45 Mostrar “La altura promedio es:” AP / 45 Mostrar “La cantidad de alumnos cuya edad es mayor a 21 es:” MV Mostrar “La cantidad de alumnos cuya altura es menor a 1,70 es:” AM17 Fin Programa “Ejercicio 82”
  7. 7. Guía de Ejercicios N° 5: Ejercicio 100: En un comercio hay 4 [cuatro] vendedores. Por cada venta realizada se conoce el código de vendedor, la cantidad vendida, el precio unitario y el código de artículo [del 15 al 180]. Se solicita informar por cada venta realizada el código de vendedor, el artículo y monto a pagar. Asimismo se debe informar: a. La venta total de cada vendedor. b. Cuál fue la venta de mayor monto y el código del vendedor que la efectuó. c. Cuál fue el artículo de menor precio unitario. La entrada de datos finaliza cuando el código de vendedor es igual a 0. Desarrollo: Procedimiento “Ingreso_Dato_Cond” (entero & codv) Repetir Ingresar “…” codv Hasta (codv >= 0) and (codv < 5) Fin procedimiento Inicio Programa “Ejercicio 100” Entero codv, cantv, codart, mayor_cv, menor_ca Real PU, IMP, TV1, TV2, TV3, TV4, mayor, menor TV1 ← 0 TV2 ← 0 TV3 ← 0 TV4 ← 0 Mayor ← 0 Menor ← 99999 Ingreso_Dato_Cond (codv) Mientras (codv <> 0) hacer Repetir Ingresar “…” cantv Hasta (cantv > 0) Repetir Ingresar “…” PU Hasta (PU > 0) Repetir Ingresar “…” codart Hasta (codart >= 15) and (codart <=180) Mostrar codv Mostrar codart IMP ← cantv x PU Mostrar IMP
  8. 8. Según (codv) hacer 1: caso 1 TV1 ← TV1 + IMP 2: caso 2 TV2 ← TV2 + IMP 3: caso 3 TV3 ← TV3 + IMP 4: caso 4 TV4 ← TV4 + IMP Fin según Si (IMP > mayor) entonces Mayor ← IMP Mayor_cv ← codv Fin si Si (PU < menor) entonces Menor ← PU Menor_ca ← codart Fin si Ingreso_Dato_Cond (codv) Fin mientras Mostrar “…” TV1 Mostrar “…” TV2 Mostrar “…” TV3 Mostrar “…” TV4 Mostrar “La venta de mayor monto fue” Mayor, mayor_cv Mostrar “La venta de menor monto fue” Menor, menor_ca Fin programa “Ejercicio 100” Ejercicio 101: Se ingresa una lista de pares ordenados [nombre; edad] empleando 2 [dos] variables. El par [“*”; 0] determina el fin del ingreso de datos. Se pide informar cuantas personas tienen más de 18 años y cuantas menos de 65; el nombre de la persona de mayor edad y nombre de la menor. En los últimos dos casos mencionados, mostrar además dicha edad. Desarrollo: Procedimiento “Ingreso_Dato_Cond1” (texto & nombre) Repetir Ingresar “Ingresar Nombre:” nombre Hasta (nombre <> “”) Fin Procedimiento Procedimiento “Ingreso_Dato_Cond2” (entero & edad) Repetir Ingresar “Ingresar Edad:” edad Hasta (edad >=1 0) Fin Procedimiento
  9. 9. Inicio Programa “Ejercicio 101” Entero edad, mayor18, menor65, cmayor18, cmenor65 Texto nombre, nmayor18, nmenor65 nmayor18 ← 0 cmayor18 ← 0 nmenor65 ← 0 cmenor65 ← 0 mayor18 ← 0 menor65 ← 99999 Ingreso_Dato_Cond1 (nombre) Ingreso_Dato_Cond2 (edad) Mientras (nombre <> “*”) and (edad <> 0) hacer Si (edad > 18) entonces cmayor18 ← cmayor18 + 1 Fin Si Si (edad < 65) Entonces cmenor65 ← cmenor65 + 1 Fin Si Si (edad > mayor18) entonces nmayor18 ← nombre mayor18 ← edad Fin Si Si (edad < menor65) entonces nmenor65 ← nombre menor65 ← edad Fin Si Ingreso_Dato_Cond1 (nombre) Ingreso_Dato_Cond2 (edad) Fin Mientras Mostrar “…” cmayor18, nmayor18, mayor18 Mostrar “…” cmenor18, nmenor65, menor65 Fin Programa “Ejercicio 101” Ejercicio 102: De cada uno de los empleados de una fábrica se tienen los siguientes datos: Legajo [0: determina el fin de datos] Área de trabajo [M: Mecánica, E: Electricidad, P: Proyectos) Turno de trabajo [M: Mañana, T: Tarde, N: Noche] Cantidad de horas trabajadas.
  10. 10. Calificación obtenida. Se solicita Informar: a. Cantidad de empleados por área y por turno. b. Porcentaje de empleados que trabajan en el turno tarde del área de electricidad con respecto al total de dicho turno. c. Los datos del empleado con mejor calificación. d. Los datos del empleado con la menor cantidad de horas controladas. e. El área que tenga la mayor cantidad de empleados, cual es dicha cantidad y el porcentaje que representa con respecto al total de empleados de los 3 turnos. Desarrollo: Procedimiento “Ingreso_Dato_Cond” (entero & legajo) Repetir Ingresar “...” legajo Hasta (legajo <> “”) Fin Procedimiento Función “Porcentajes2 (entero puntoe; entero turnotot): real real RES RES ← (puntoe * 100) / turnotot Retornar RES Fin Función Inicio Programa “Ejer 102” Entero legajo, aream, areae, areap, turnom, turnot, turnon, puntob, puntoclegajo, puntodlegajo, puntoe, turnotot Real htrabajo, calificación, mayorcalificacion, puntochoras, menorhoras, puntodhoras, Texto atrabajo, ttrabajo, puntocarea, puntocturno, puntodarea, puntodturno aream ← 0 areae ← 0 areap ← 0 turnom ← 0 turnot ← 0 turnon ← 0 puntob ← 0 mayorcalificacion ← 1 menorhoras ← 9999 puntoe ← 0 turnotot ← 0 Ingreso_Dato_Cond (legajo) Mientras (legajo <> 0) Hacer Repetir Ingresar “…” atrabajo Hasta (atrabajo = “M”) or (atrabajo = “E”) or (atrabajo = “P”) Repetir Ingresar “…” ttrabajo Hasta (ttrabajo = “M”) or (ttrabajo = “T”) or (ttrabajo = “N”)
  11. 11. Repetir Ingresar “…” htrabajo Hasta (htrabajo <> 0) Repetir Ingresar “…” calificación Hasta (calificación <> “”) Si (atrabajo = “M”) Entonces aream ← aream + 1 Fin Si Si (atrabajo = “E”) Entonces areae ← areae + 1 Fin Si Si (atrabajo = “P”) Entonces areap ← areap + 1 Fin Si Si (ttrabajo = “M”) Entonces turnom ← turnom + 1 Fin Si Si (ttrabajo = “T”) Entonces turnot ← turnot + 1 Fin Si Si (ttrabajo = “N”) Entonces turnon ← turnon + 1 Fin Si Si (ttrabajo = “T”) and (atrabajo = “E”) Entonces puntob ← puntob + 1 Fin Si turnotot ← turnom + turnot + turnon Si (calificación > mayorcalificacion) Entonces mayorcalificacion ← calificación puntoclegajo ← legajo puntocarea ← atrabajo puntocturno ← ttrabajo puntochoras ← htrabajo Fin Si Si (htrabajo < menorhoras) Entonces menorhoras ← htrabajo puntodlegajo ← legajo puntodarea ← atrabajo puntodturno ← ttrabajo puntodhoras ← htrabajo Fin Si
  12. 12. Si (aream > areae) and (aream > areap) Entonces puntoe ← aream Sino Si (areae > aream) and (areae > areap) Entonces puntoe ← areae Sino puntoe ← areap Fin si Fin si Ingreso_Dato_Cond (legajo) Fin mientras Mostrar “...” aream, areae, areap, trunom, turnot,turnon Mostrar “...” puntob*100/turnot Mostrar “...” puntoclegajo, puntocarea, puntocturno, puntochoras Mostrar “...” puntodlegajo, puntodarea, puntodturno, puntodhoras Mostrar “...” puntoe, porcentajes (puntoe, turnotot) Fin programa “Ejercicio 102” Guía de Ejercicios N° 6: Ejercicio 121: De la facturación de una empresa se conoce por día: código de factura, código de artículo, cantidad y precio unitario. Los artículos son 3 [tres] y se factura solo un artículo por ven-ta. El programa deberá terminar cuando el número de factura ingresado sea “000”. Se re-quiere informar: a. Por cada factura: su código e importe aplicando el 21% de IVA. b. El promedio de unidades vendidas del artículo 3. c. Total general facturado. d. La cantidad de facturas emitidas para cada uno de los artículos. e. El porcentaje de ventas [en $] del artículo 1 sobre el total. Desarrollo: Procedimiento “Ingreso_Dato_Cond” (entero & num_fact) Repetir Ingresar “…” num_fact Hasta (num_fact >= 0) Fin procedimiento Función “Porcentajes” (real totf1, real IMPTotal): real Real RES RES ← (totf1 x 100) / IMPTotal Retornar RES Fin función Inicio Programa “Ejercicio 121” Entero cod_art, cant, num_fact, cant3, cant2, cant1 Real PU, totf1, IMP, IMPTotal, contart3 Cant1 ← 0
  13. 13. Cant2 ← 0 Cant3 ← 0 Totf1 ← 0 IMP ← 0 IMPTotal ← 0 Contart3 ← 0 Ingreso_Dato_Cond (Num_Fact) Mientras (Num_Fact <> 000) hacer Repetir Ingresar “…” cod_art Hasta (cod_art > 0) and (cod_art <= 3) Repetir Ingrear “…” cant Hasta (cant > 0) Repetir Ingresar “…” PU Hasta (PU > 0) Mostrar “El número de factura es:” num_fact IMP ← (cant x PU) /1.21 Mostrar “El importe es” IMP IMPTotal ← IMPTotal + IMP Según (cod_art) hacer 1: caso 1 cant1 ← cant1 + 1 totf1 ← totf1 + IMPTotal 2: caso 2 cant2 ← cant2 + 1 3: caso 3 cant3 ← cant3 + 1 contart3 ← contart3 + cant Fin según Ingreso_Dato_Cond (num_fact) Fin mientras Mostrar “Promedio:” contart3 / cant3 Mostrar “Total Facturado:” IMPTotal Mostrar “Cantidad de Facturas emitidas por cada artículo:” cant1, cant2, cant3 Mostrar “Porcentaje:” Porcentajes (totf1, IMPTotal) Fin Programa “Ejercicio 121”
  14. 14. Ejercicio 122: Una casa de comidas tiene 6 [seis] mesas y 3 [tres] mozos. Cada mozo puede atender cualquier mesa y cuando la mesa se desocupa se registran los siguientes datos: número de mesa, código de mozo, importe de la cuenta, cantidad de personas que comieron. El ingreso de datos concluye con número de mozo igual a 777. Se solicita informar: a. Por cada mesa que se desocupa, su número, importe [aplicando un 10% de des -cuento si supera los $400] y el código de mozo que la atendió. b. El promedio de personas atendidas por el mozo 2. c. Recaudación por mozo. d. Cantidad de personas que comieron en la mesa 5. e. Porcentaje de ventas [en $] del mozo 3. f. Cantidad de cuentas con importe por encima de los $278. Desarrollo: Procedimiento “Ingreso_Cod_Mozo” (entero & codm) Repetir Ingresar “…” codm Hasta (codm >= 0) and (codm <> “ “) Fin procedimiento Función “Porcentajes” (real recm3, real IMPT): real Real RES RES ← (recm3 x 100) / IMPT Retornar RES Fin función Inicio Programa “Ejercicio 122” Entero numm, codm, cantp, cantpt, cantpm2, cantpm5 Real IMPC, recm1, recm2, recm3, IMPT, IMPM Cantpt ← 0 Cantpm2 ← 0 Cantpm5 ← 0 Recm1 ← 0 Recm2 ← 0 Recm3 ← 0 IMPT ← 0 IMPM ← 0 Ingreso_Cod_Mozo (codm) Mientras (codm <> 777) hacer Repetir Ingresar “Numero de Mesa:” numm Hasta (numm > 0) and (numm < 7) Repetir Ingresar “Importe de la cuenta:” IMPC Hasta (IMPC > 0) and (IMPC <> “ “)
  15. 15. Repetir Ingresar “Cant. De Personas:” cantp Hasta (cantp > 0) Si (IMPC > 400) entonces IMPC ← IMPC + [(10 x IMPC) / 100] Fin si Mostrar “…” Numm, IMPC, codm Cantpt ← cantpt + cantp IMPT ← IMPT + IMPC Según (codm) hacer 1: caso 1 recm1 ← recm1 + IMPC 2: caso 2 recm2 ← recm2 + IMPC cantpn2 ← cantpn2 +cantp 3: caso 3 recm3 ← recm3 + IMPC Fin según Si (codm = 5) hacer cantpm5 ← cantpm5 + cantp Fin si Si (IMPC > 278) hacer IMPM ← IMPM + 1 Fin si Ingreso_Cod_Mozo (codm) Fin Mientras Mostrar “Promedio de personas mozo 2:” cantpt / cantpm2 Mostrar “La recaudación de cada mozo es:” recm1, recm2, recm3 Mostrar “La cantidad de personas que comieron en la mesa 5 es:” cantpm5 Mostrar “El porcentaje de ventas del mozo 3 es:” Porcentajes (recm3, IMPT) Mostrar “La cantidad de cuentas con importe mayor a $278 son:” IMPM Fin Programa “Ejercicio 122” Ejercicio ARG Líneas Aéreas: 1) Escribir una Función denominada “Nombre_Ciudad_Destino”, que dado un Código de Ciudad Destino, devuelva como resultado el nombre de una determinada ciudad de la República Argentina, respetando el siguiente cronograma: Código de Ciudad Destino Nombre Ciudad Destno 01 CABA 02 Santiago del Estero 03 Rosario 04 Corrientes
  16. 16. 05 Ushuaia 06 Paraná 07 Santa Rosa 08 Mendoza 09 Posadas 10 San Miguel de Tucumán 2) Escribir un Procedimiento denominado “Recaudacion_Cantidad_Pasaj es”, que dado un Im -porte en pesos y una Cantidad de Pasajes Vendidos acumule la Recaudación Total y la Cantidad Total de Pasajes Vendidos, de cada uno de los 5 [cinco] Aeropuertos donde opera “ARG Líneas Aéreas”. 3) Escribir una Función denominada “Calculo_de_Porcentaje”, que se encuentre preparada para recibir dos valores reales, y calcule el porcentaje correspondiente para la que sea llamada desde el Algoritmo Principal. 4) Escribir un Procedimiento denominado “Maximos_Minimos”, que reciba un Código de Empleado, una Cantidad de Pasajes vendida y un Importe de la venta realizada. El cuerpo del mencionado Procedimiento debe contener solamente las estructuras condicionales adecuadas para luego informar lo solicitado en los ítems j) y k). 5) “ARG Líneas Aéreas” vende pasajes en 5 [cinco] Aeropuertos. En cada uno de ellos hay empleados encargados de efectuar las ventas, en total son 75. Cada vez que un cliente compra pasajes, hacia un mismo destino, se registran los datos que se especifican a continuación: Código de Aeropuerto donde se efectuó la transacción. Código del Empleado, que efectuó la venta de pasajes. Número de DNI de la Persona que compró el/los pasaje/s. Código de Ciudad Destino. Precio unitario del pasaje. Cantidad de Pasajes comprados. Se debe validar cada uno de los datos mencionados según corresponda a cada caso. Para dicha acción se debe tener en cuenta toda la información expuesta en cada uno de los puntos del presente enunciado. La venta de pasajes del día finaliza cuando un empleado de la Línea Aérea ingresa el Código de Aeropuerto igual a (-1) [menos uno]. Se solicita informar: a) Por cada venta realizada: el Código de Aeropuerto, el Código de Empleado, el Número de DNI del comprador, el Nombre de la Ciudad Destino, la Cantidad de Pasajes com- prados y el importe a abonar aplicando el 4.5% de Taza de Embarque. b) La recaudación total de cada uno de los 5 [cinco] Aeropuertos. c) La cantidad de pasajes vendidos en cada uno de los 5 [cuatro] Aeropuertos. d) La cantidad de facturas emitidas que hayan excedido los $4.758. e) La recaudación total en pesos de “ARG Líneas Aéreas”. f) Porcentaje de ventas en $ del Empleado número 1 del Aeropuerto 3, sobre el total de dicho Aeropuerto. g) Promedio de pasajes vendidos, en cada una de las ventas efectuadas. h) El importe recaudado del empleado cuyo Código es igual a 2 del Aeropuerto número 4. i) Porcentaje de pasajes vendidos por el Empleado número 14 del Aeropuerto número 2, sobre el total de pasajes vendidos. j) ¿Qué Código de Empleado realizó la venta con mayor cantidad de pasajes? ¿Cuál fue dicha cantidad? k) ¿Qué Código de Empleado realizó la venta de menor importe? ¿Cuál fue dicho importe? NOTAS DE LA CÁTEDRA: • En el Ítem a), para informar el Nombre de la Ciudad Destino, emplear la Función des -arrollada en el punto 1). • Para los Ítems b) y c) emplear el Procedimiento desarrollado en el Punto 2). • Para los ítems f) e i) emplear la Función desarrollada en el Punto 3). • Para los ítems j) y k) emplear el Procedimiento desarrollado en el Punto 4).
  17. 17. Desarrollo: Función “Nombre_Cuidad_Destino” (entero cod_ciu_des): texto Según (cod_ciu_des) hacer 1: caso 01 retornar “CABA” 2: caso 02 retornar “Santiago del Estero” 3: caso 03 retornar “Rosario” 4: caso 04 retornar “Corrientes” 5: caso 05 retornar “Ushuaia” 6: caso 06 retornar “Parana” 7: caso 07 retornar “Santa Rosa” 8: caso 08 retornar “Mendoza” 9: caso 09 retornar “Posadas” 10: caso 10 retornar “San Miguel de Tucuman” Fin Según Fin Función Procedimiento “Recaudación_Cantidad_Pasajes” (entero aerop, entero cant_pasaje, real IMP_EMB, real & total pasaje 1, real & total pasaje 2, real & total pasaje 3, real & total pasaje 4, real & total pasaje 5, real & IMP_total 1, real & IMP_total 2, real & IMP_total 3, real & IMP_total 4, real & IMP_total 5) Según (aerop) hacer 1: caso 1 total pasaje 1 ← total pasaje 1 + cant_pasaje IMP_total 1 ← IMP_total 1 + IMP_EMB 2: caso 2 total pasaje 2 ← total pasaje 2 + cant_pasaje IMP_total 2 ← IMP_total 2 + IMP_EMB 3: caso 3 total pasaje 3 ← total pasaje 3 + cant_pasaje IMP_total 3 ← IMP_total 3 + IMP_EMB 4: caso 4 total pasaje 4 ← total pasaje 4 + cant_pasaje IMP_total 4 ← IMP_total 4 + IMP_EMB 5: caso 5 total pasaje 5 ← total pasaje 5 + cant_pasaje IMP_total 5 ← IMP_total 5 + IMP_EMB Fin Según Fin Procedimiento
  18. 18. Función “Calculo_de_Porcentaj e” (real V1, real V2): real real CP cp ← (V1 x 100) / V2 retornar CP Fin Función Procedimiento “Maximos_Minimos” (entero COD_EM, entero cant_pv, real IMP_EMB, entero & mayor pasaje, real 6 menor importe, entero & mayor empleado, entero & menor empleado) Si (cant_pv > mayor pasaje) entonces mayor pasaje ← cant_pv mayor empleado ← COD_EM Fin Si Si (importe < menor importe) entonces menor importe ← IMP_EMB menor empleado ← COD_EM Fin Si Fin Procedimiento Inicio Programa “Ejercicio ARG Lineas Aereas” Entero cod_ciu_des, aerop, cant_pasaje, COD_EM, cant_pv, mayor pasaje, mayor empleado, menor empleado, DNI Real IMP, total pasaje 1, total pasaje 2, total pasaje 3, total pasaje 4, total pasaje 5, IMP_total 1, IMP_total 2, IMP_total 3, IMP_total 4, IMP_total 5, V1, V2, importe, menor importe, PU, NC, IMP_EMB, FEM, RT, IRE1, IRE2, PVE14, VR, VA3, total pasajes Total pasaje 1 ← 0 Total pasaje 2 ← 0 Total pasaje 3 ← 0 Total pasaje 4 ← 0 Total pasaje 5 ← 0 IMP_total 1 ← 0 IMP_total 2 ← 0 IMP_total 3 ← 0 IMP_total 4 ← 0 IMP_total 5 ← 0 Mayor pasaje ← 0 Mayor empleado ← 0 Menor importe ← 9999999 Menor empleado ← 0 IMP_EMB ← 0 FEM ← 0 RT ← 0 IRE1 ← 0 IRE2 ← 0 PVE14 ← 0 VR ← 0 VA3 ← 0 Repetir Ingresar “Ingresar Código de Aeropuerto:” aerop Hasta (aerop > 0) and (aerop < 6)
  19. 19. Mientras (aerop <> -1) hacer Repetir Ingresar “Ingresar Código de Empleado:” COD_EM Hasta (COD_EM > 0) and (COD_EM <= 75) Repetir Ingresar “Ingresar Número de Documento:” DNI Hasta (DNI > 0) and (DNI <> “”) Repetir Ingresar “Ingresar Código de Ciudad Destino:” cod_ciu_des Hasta (cod_ciu_des > 0) and (cod_ciu_des <= 10) Repetir Ingresar “Ingresar Precio Unitario:” PU Hasta (PU > 0) and (PU <> “”) Repetir Ingresar “Ingresar Cantidad de Pasajes:” cant_pasaje Hasta (cant_pasaje > 0) and (cant_pasaje <> “”) IMP ← PU x cant_pasaje IMP_EMB ← IMP + (IMP x 4.5) / 100 NC ← Nombre_Ciudad_Destino (cod_ciu_des) Mostrar “…” aerop, cod_em, DNI, cant_pasaje, IMP_EMB, NC Recaudación_Cantidad_Pasaje (aerop, cant_pasaje, IMP_EMB, total pasaje 1, total pasaje 2, total pasaje 3, total pasaje 4, total pasaje 5, IMP_total 1, IMP_total 2, IMP_total 3, IMP_total 4, IMP_total 5) Si (IMP_EMB > 4758) entonces FEM ← FEM + 1 Fin si RT ← RT + IMP_EMB Según (COD_EMP) hacer 1: caso 1 Si (aerop = 3) entonces IRE1 ← IRE1 + IMP_EMB Fin Si 2: caso 2 Si (aerop = 4) entonces IRE2 ← IRE2 + IMP_EMB Fin Si 3: caso 14 Si (aerop = 2) entonces PVE14 ← PVE14 + cant_pasaje Fin Si Fin Según
  20. 20. VR ← VR + 1 Total pasajes ← Total pasajes + (total pasaje 1 + total pasaje 2 + total pasaje 3 + total pasaje 4 + total pasaje 5) Maximos_Minimos (COD_EM, cant_pv, IMP_EMB, mayor pasaje, menor importe, mayor empleado, menor empleado) Repetir Ingresar “Ingresar Código de Aeropuerto, ingrese -1 para finalizar la venta de pasajes:” aerop Hasta [(aerop > 0) and (aerop < 6)] or (aerop = -1) Fin Mientras Mostrar “…” IMP_total 1, IMP_total 2, IMP_total 3, IMP_total 4, IMP_total 5 Mostrar “…” total pasaje 1, total pasaje 2, total pasaje 3, total pasaje 4, total pasaje 5 Mostrar “…” FEM Mostrar “…” RT Mostrar “…” Calculo_de_Porcentaje (IRE1, IMP_total 3) Mostrar “…” (total pasaje 1 + total pasaje 2 + total pasaje 3 + total pasaje 4 + total pasaje 5) / VR Mostrar “…” IRE2 Mostrar “…” Calculo_de_Porcentaje (PVE14, total pasajes) Mostrar “…” mayor empleado, mayor pasaje Mostrar “…” menor empleado, menor importe Fin Programa “ARG Lineas Aereas”

×