Está en la página 1de 11

PRACTICA 4 ALGORITMIA Prof.

Alejandro Frankel
2021

A partir de la Práctica 3, todos los ejercicios debe resolverse en forma modular

CICLOS REPETITIVOS ANIDADOS CON CONTADORES, ACUMULADORES, MÁXIMOS Y MÍNIMOS

40) Imprimir por pantalla las tablas del 1 al 5


1x1=1
1x2=2
1x3=3
..
1 x 10 = 10
2x1=1
etc.
Y así sucesivamente para cada una de las tablas.

Debe informar asimismo la sumatoria de los resultados de cada tabla (es decir en el caso de la
tabla del 1: 1+2+3 etc., en la tabla del 2: 2+4+6 etc.. y así sucesivamente)

Propuesta para entender el ejercicio paso a paso

Para poder comprender el problema paso a paso, resuélvalo en 3 partes y grabe cada una
como Ej40 parte1, 2 y 3 respectivamente así le queda la evolución.

Parte 1: imprima una sola de las tablas entre 1 y 5 que elija el usuario
Parte 2: una vez entendido cómo se imprimió una tabla determinada, repetiremos el proceso
las veces necesarias para imprimir cada una de las 5 tablas. Resuélvalo sin funciones y observe
cómo se entrelaza un ciclo con otro de la siguiente manera

Tabla Valor Obs


1 1 Por cada valor de la tabla,
2 debe recorrer los 10 valores
.. para poder imprimir todas las
10 combinaciones de dicha tabla
2 1
2
..
10
3 1
2
..
etc. etc.

Parte 3: ahora que se entendíó el anidamiento, arme una función que imprima una tabla
determinada por pantalla y piense entonces cómo se vincula esta función con el ciclo de
repetición de tablas.

41) En un torneo de fútbol participan N equipos. El torneo se juega con el sistema de todos contra
todos.

Por cada equipo se dispone de su nombre, y por cada partido disputado por cada equipo se
dispone de la siguiente información: Código del resultado ('P'= Perdido, 'E'= Empatado, 'G'=
Ganado).

Se dispone de un lote de datos con todos los resultados del torneo, ya agrupados por equipo.
(Es decir los resultados de cada equipo se ingresan en secuencia. Por ejemplo si N=4 o sea hay
4 equipos y el primer equipo se llama D, los 4 partidos de D se ingresarán en el primer ciclo,
luego, si el segundo equipo se llama por ejemplo B, los 4 partidos de B se ingresarán a
continuación, y así sucesivamente. Debajo se coloca un posible ejemplo de ingreso con 4
equipos).

Desarrollar el programa que imprima:

Por cada equipo, su nombre y el puntaje total que obtuvo (por cada partido suma 3 si lo gana,
1 si lo empata y 0 si lo pierde)
Nombre del equipo ganador del torneo (hay uno solo)

Nota: Aplicar un módulo de cada tipo (void y no void) y procure que los ingresos de datos
queden en el programa o módulo principal main.

Ejemplo de posible ingreso de datos para N=4 o sea 4 equipos

Nombre: Equipo D
G
P
P

Equipo D totalizó 3 pts

Nombre: Equipo B
G
G
P

Equipo B totalizó 6 pts

Nombre: Equipo A
P
P
E

Equipo A totalizó 1 pts

Nombre: Equipo C
E
E
G

Equipo B totalizó 5 pts

El ganador del torneo es el Equipo B con 6 puntos

-----------------------------------------------------------------------------------------------------------------------------
Nota: A partir de este ejercicio 42, arme lotes datos de prueba en todos los ejercicios
Es decir, escriba los datos de entrada con los que probará el programa, y los resultados que se
obtuvieron con dichos ingresos
------------------------------------------------------------------------------------------------------------------------------

42) Una empresa que cuenta con 3 sedes desea realizar un control sobre sus empleados.
De cada una de las 3 sedes se conoce:
Nro Sede (NS) y Barrio de la Sede (BS)
De cada empleado de dicha sede se conoce
DNI, Sueldo (SUE), Tipo de tarea que realiza (TT, 1 a 10)
Los datos de cada sede se encuentran agrupados, es decir todos los empleados de cada sede
se ingresan seguidos. El ingreso de empleados de una sede finaliza con un DNI nulo.

Se pide:
a) Por cada sede, cantidad empleados que ganan entre 25mil y 40mil pesos
b) Importe total de sueldos a abonar por los empleados de cada sede
c) Nro de Sede con la mayor cantidad de empleados con sueldo inferior a 30mil pesos
d) DNI del empleado de TT igual a 1, que más gana entre todas las sedes
e) Importe total de sueldos a abonar entre todos los empleados de la empresa
Para entender la idea de un Lote de datos de prueba, se propone el siguiente Lote (incompleto)
para este algoritmo, a completar en los diferentes campos (Sueldo y TT) con valores lo
suficientemente variados para todas aquellos procesos que el algoritmo precisa obtener.
Observe que para que haya registros en cantidad suficiente se propone ingresar 4 empleados
en la primer sede ingresada, 6 en la segunda y 5 en la tercera.
Y para simplificar el seguimiento del algoritmo, se sugiere como idea nomenclar la clave en
este caso los DNIs con nros cortos que identifican en 1er dígito el grupo al que pertenecen, y en
2do dígito al lugar el nro de orden dentro del grupo (1ro, 2do 3ro, etc.)
Luego debe completar abajo en los Resultados Parciales aquellos que se informan para cada
Sede), en Cálculos para general aquellos cálculos que se obtienen por Sede pero sirven para un
informe gral como es el caso del punto c, y en los Resultados grales aquellos que serán los
obtenidos para el total de la empresa.

Datos: 3 sedes
-De cada Sede se ingresa
Nro Sede (NS) y Barrio de la Sede (BS)
-De cada empleado de c/sede se ingresa
DNI, Sueldo (SUE), Tipo de tarea que realiza (TT, 1 a 10)

NS BS NS BS NS BS
2 Berazategui 1 Centro 3 Luján
DNI: 21 DNI: 11 DNI: 31
Sue: Sue: Sue:
TT: TT: TT:
DNI: 22 DNI: 12 DNI: 32
Sue: Sue: Sue:
TT: TT: TT:
DNI: 23 DNI: 13 DNI: 33
Sue: Sue: Sue:
TT: TT: TT:
DNI: 24 DNI: 14 DNI: 34
Sue: Sue: Sue:
TT: TT: TT:
----- ------ DNI: 15 DNI: 35
Sue: Sue:
TT: TT:
----- ------ DNI: 16 ----- ------
Sue:
TT:
Resultados parciales Resultados parciales Resultados parciales
a) #Empl 25-40mil: a) #Empl 25-40mil: a) #Empl 25-40mil:
b) $ Tot sueldos sede: b) $ Tot sueldos sede: b) $ Tot sueldos sede:

Cálculos p/gral Cálculos p/gral Cálculos p/gral


Cant de empleados con sue Cant de empleados con sue Cant de empleados con sue
inferior a 30 mil pesos: inferior a 30 mil pesos: inferior a 30 mil pesos:

Resultados grales
c) Sede con mayor cant de empl con sueldo inferior a 30mil pesos:
d) DNI del empleado con TT=1 y > sueldo:
e) $ Totales sueldos de la empresa:

43) A RESOLVER Y ENTREGAR EN FORMA GRUPAL

Se desean procesar las ventas de un conjunto de clientes en un supermercado.


De cada cliente se conoce:
Nro de Cliente (NroC)
De cada artículo que lleva cada cliente en el carrito se conoce
Cód de Articulo (CodA), Cantidad de unidades del artículo (CU) y Precio Unitario (PU)
Los datos de cada cliente se encuentran agrupados, es decir todas las compras de cada cliente
se ingresan seguidas. El ingreso de productos adquiridos por un cliente finaliza con un Cod de
Artículo nulo; y el ingreso de clientes finaliza con un Nro de Cliente nulo.

Se pide:
a) Importe Total a abonar por cada cliente
b) Por cada cliente, cantidad de artículos (no unidades) adquiridos, de precio unitario
superior a 200
c) Nro de Cliente de aquel que llevó la mayor cantidad unitaria de un artículo
d) Cantidad de Clientes que llevaron más de 3 unidades de un artículo cualquiera.
e) Total facturado por el supermercado entre todas sus ventas

Recuerden que deben armar el Lote de datos de prueba del algoritmo con las
recomendaciones del ejemplo anterior.
En este caso es el CodA el que se sugiere que sea 11, 12, 13.. 21, 22, 23,.. y así
sucesivamente.
Con que lo arme para 3 o 4 clientes y para entre 3 y 5 artículos por cliente, resulta suficiente.
En los ejercicios adicionales que siguen tiene otros dos ejemplos de Lotes de datos de prueba.

EJERCICIOS ADICIONALES OPCIONALES DE MAYOR COMPLEJIDAD PARA QUIEN QUIERA VER


CASOS MÁS AVANZADOS Y SUS PROPUESTAS DE LOTES DE DATOS DE PRUEBA

44) Ex ej 41 del 2020


Se desea comparar muestras de datos demográfico/económicos de una serie de localidades.
Para esto se conoce de cada localidad:
-Nombre de la localidad, Cantidad de Mujeres y Cantidad de Hombres totales. Este lote de
datos finaliza con un Nombre de localidad en blanco (vacío).

Dentro de cada una de estas localidades, de cada persona mayor a 18 años tomada para la
muestra, se conoce la siguiente información:
DNI, Nombre, Apellido, Sexo, Edad, Sueldo (0 si no trabaja) y Rubro en el que trabaja (0 a 5, 0
si no trabaja).
En lo posible si el sueldo es 0 no pida el Rubro sino asígnele 0 directamente. Si no se le ocurre
cómo hacerlo cuando ingrese 0 en sueldo ingrese 0 también en Rubro.
El lote de ingresos de datos de personas dentro de cada localidad, finaliza con un DNI nulo.

Se pide conocer:
-De cada localidad (siempre es sobre la muestra que se conoce que son los únicos datos
ingresados):
a) Cantidad de personas desocupadas de menos de 50 años
b) Sueldo promedio de las mujeres y sueldo promedio de los hombres
c) DNI, Nombre y Apellido de la persona de mayor edad (es una sola)
d) Por cada Rubro: sueldo promedio y edad promedio
-Del total entre las localidades:
e) Nombre de la localidad con mayor sueldo promedio incluyendo el rubro
desocupados
f) Sueldo promedio de las mujeres y sueldo promedio de los hombres
Recién en este tipo de puntos se hubieran usado los valores de cabecera Cant de
Mujeres y Cantidad de Hombres totales (PORQUE SINO ESTÁN PARA NADA)
g) Localidad con la muestra porcentual más grande de hombres (por ej si la población
en una localidad es de 100 hombres y la muestra es de 5 hombres, el porcentaje es 5%)
h) Localidad con la muestra porcentual más chica de mujeres
IGUAL SIMPLIFICAR TODO EL EJERCICIO 41 Y 42, quizás dejar uno de estos puntos y sacar
algunos de los otros)

Resolver lo más modularmente que se le ocurra (procure que los ingresos de datos queden en
el programa o módulo principal main)
Lote de prueba Ej 44 (Ex ej 41 del 2020)

Datos:
-De cada Localidad se ingresa
Nom loc (NL), Cant Muj (CMT) y Cant Hom (CHT) totales. Fin con Nom de localidad en blanco.
-De c/persona (>18 años) de la muestra en cada localidad se ingresa
DNI, Nom, Ape, Sex, Edad, Sue (0 si no trabaja) y Rub (0 a 5, 0 si no trabaja).

Probar con 3 localidades


NL CMT CHT NL CMT CHT NL CMT CHT
1 60 62 2 80 76 3 46 44
DNI: 11 DNI: 21 DNI: 31
Nom: N11 Nom: N21 Nom: N31
Ape: A11 Ape: A21 Ape: A31
Sex: F Sex: F Sex: F
Edad: 40 Edad: 48 Edad: 29
Sue: 1000 Sue: 0 Sue: 850
Rub: 2 Rub: 0 Rub: 3
DNI: 12 DNI: 22 DNI: 32
Nom: N12 Nom: N22 Nom: N32
Ape: A12 Ape: A22 Ape: A32
Sex: M Sex: M Sex: M
Edad: 36 Edad: 36 Edad: 34
Sue: 0 Sue: 700 Sue: 700
Rub: 0 Rub: 1 Rub: 2
DNI: 13 DNI: 23 DNI: 33
Nom: N13 Nom: N23 Nom: N33
Ape: A13 Ape: A23 Ape: A33
Sex: M Sex: M Sex: F
Edad: 26 Edad: 42 Edad: 68
Sue: 800 Sue: 0 Sue: 0
Rub: 2 Rub: 0 Rub: 0
DNI: 14 DNI: 24 DNI: 34
Nom: N14 Nom: N24 Nom: N34
Ape: A14 Ape: A24 Ape: A34
Sex: F Sex: M Sex: M
Edad: 48 Edad: 65 Edad: 48
Sue: 750 Sue: 1100 Sue: 600
Rub: 5 Rub: 4 Rub: 4
----- ------ DNI: 25 ----- ------
Nom: N25
Ape: A25
Sex: F
Edad: 56
Sue: 820
Rub: 1
Resultados Resultados Resultados
a) #Desocup<50años: 1 a) #Desocup<50años: 2 a) #Desocup<50años: 0
b) SueProm Muj: 875 b) SueProm Muj: 820 b) SueProm Muj: 850
SueProm Hom: 800 SueProm Hom: 900 SueProm Hom: 650
c) DNI, NyA > edad: c) DNI, NyA > edad: c) DNI, NyA > edad:
14 N14 A14 24 N24 A24 33 N33 A33
d) d) d)
Rubr Sue Edad Rubr Sue Edad Rubr Sue Edad
o Prom Prom o Prom Prom o Prom Prom
0 0 36 0 0 45 0 0 68
1 - - 1 760 46 1 - -
2 900 33 2 - - 2 700 34
3 - - 3 - - 3 850 29
4 - - 4 1100 65 4 600 48
5 750 48 5 - - 5 - -

Cálculos p/gral Cálculos p/gral Cálculos p/gral


Sue prom incl. desoc: 637,5 Sue prom incl. desoc: 524,0 Sue prom incl. desoc: 537,5
Sum SueProm Muj: 1750 (#2) Sum SueProm Muj: 820 (#1) Sum SueProm Muj: 850 (#1)
Sum SueProm Hom: 800 (#1) Sum SueProm Hom: 1800 (#2) Sum SueProm Hom: 1300 (#2)

Resultados grales
e) Nombre de la loc con mayor sueldo promedio incluyendo el rubro desocupados: Local 1 (637,5)
f) Sueldo promedio de las mujeres: 855
y sueldo promedio de los hombres: 780
45) Ex ej 42 del 2020
Se conocen los datos alumnos de N cursos de Algoritmos que firmaron la materia
(POR ENDE CADA CURSO TIENE AL MENOS 1 APROBADO).
De cada curso se conoce el Nro de curso, cantidad de alumnos inscriptos (CAI) y cantidad de
alumnos aprobados del curso (CAA).

Y de cada alumno aprobado de cada curso se ingresa


Nombre, Apellido, Cantidad de veces que cursó la materia, Nota final obtenida y si la
promocionó o no.

Se pide conocer:
-De cada curso
a) cantidad de alumnos que no aprobaron la materia
b) Promedio general de notas de los alumnos aprobados de curso (porque del resto
además ni hay datos)
c) Nombre y Apellido del alumno promocionado con mejor nota de promoción (hay un
solo máximo)
d) Cantidad de alumnos que promocionaron la materia habiéndola cursado al menos
por 3ra vez.
-Del total de cursos:
e) Nro de curso con mayor porcentaje de alumnos aprobados
f) Nro de curso con el mayor Promedio general de notas de alumnos aprobados
g) Cantidad de cursos con más del 20% de alumnos promocionados sobre el total de
alumnos inscriptos en el curso.

Resolver con al menos 2 módulos void y 2 módulos no void (procure que los ingresos de datos
queden en el programa o módulo principal main)
Lote de prueba Ej 45 (Ex ej 42 del 2020)
Datos: N cursos
-De cada Curso se ingresa
Nro de curso (NC), cant de alum inscrip (CAI) y cant de alum aprob del curso (CAA).
-De cada alumno de c/curso se ingresa
Nom, Ape, Cant veces q cursó (CVC), Nota final (NotF) y si promocionó o no (Pro).

N = 3 (3 cursos)
NC CAI CAA NC CAI CAA NC CAI CAA
1 5 3 2 7 4 3 10 3
Nom: N11 Nom: N21 Nom: N31
Ape: A11 Ape: A21 Ape: A31
CVC: 1 CVC: 3 CVC: 2
NotF: 7 NotF: 9 NotF: 10
Pro: No Pro: Sí Pro: Sí
Nom: N12 Nom: N22 Nom: N32
Ape: A12 Ape: A22 Ape: A32
CVC: 1 CVC: 1 CVC: 1
NotF: 9 NotF: 8 NotF: 9
Pro: Sí Pro: No (a pesar de Pro: Sí
>=8)
Nom: N13 Nom: N23 Nom: N33
Ape: A13 Ape: A23 Ape: A33
CVC: 2 CVC: 1 CVC: 3
NotF: 8 NotF: 6 NotF: 7
Pro: Sí Pro: No Pro: No
----- ------ Nom: N24 ----- ------
Ape: A24
CVC: 2
NotF: 8
Pro: Sí
Resultados Resultados Resultados
a) No aprob: 2 a) No aprob: 3 a) No aprob: 7
b) PromG: 8,00 b) PromG: 7,75 b) PromG: 8,66
c) NyA mejor promoc: N12A12 c) NyA mejor promoc: N21A21 c) NyA mejor promoc: N31A31
d) #Pro con >=3 cursadas: 0 d) #Pro con >=3 cursadas: 1 d) #Pro con >=3 cursadas: 0
Cálculos p/gral Cálculos p/gral Cálculos p/gral
% alum aprob: 3 de 5 (60%) % alum aprob: 4 de 7 (57,14%) % alum aprob: 3 de 10
% alum pro sobre CAI: 2 de 5 % alum pro sobre CAI: (30,00%)
(40%) 2 de 7 (28,57%) o 3 de 7 si >=8 % alum pro sobre CAI: 2 de 10
==> promocionado (20%)
Resultados grales
e) Nro de curso con mayor porcentaje de alumnos aprobados: Curso 1 (60%)
f) Nro de curso con el mayor Promedio general de notas de alumnos aprobados: Curso 3 (8,66)
g) Cantidad de cursos con más del 20% de alumnos promocionados sobre el total de alumnos
inscriptos en el curso: 2 (el último es 20% pero no lo supera)

También podría gustarte