Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Guía de ejercicios - Programación Lógica
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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”