Está en la página 1de 13

LÓGICA Y ALGORITMO

PRACTICA No. 4

1. Calcular la nota media por alumno de una clase de a alumnos. Cada alumno podrá tener
un número n de notas distinto.

Variables de entrada Proceso Variable de salida


“A” número total de sumaNotasAlumno = “totalNotas”
alumnos sumaNotasAlumno + nota
“N” número de notas para “notaMediaAlumno”
cada alumno Calcular nota media:
“nota” calificación notaMediaAlumno = “notaMediaClase”
específica para cada nota de sumaNotasAlumno / N
cada alumno
Sumar la nota media del
alumno actual a la suma
total de notas:
totalNotas = totalNotas +
notaMediaAlumno

Diseño de pantalla
|Calcular la nota media por alumno|
Ingrese el número de alumnos: ____________
---------------------------------
Alumno 1

---------------------------------
Ingrese el número de notas: _________
Ingrese la nota: __________
Seudocódigo
Definir A
totalNotas = 0
Para cada alumno de 1 a A
Imprimir "----------------------------------------"

Imprimir "Alumno ", alumno


Imprimir "----------------------------------------"
Imprimir "Ingrese el número de notas: "
Leer N
sumaNotasAlumno = 0

Para cada nota de 1 a N


Imprimir "Nota ", nota, ": "
Leer nota
sumaNotasAlumno = sumaNotasAlumno + nota

Fin Para
notaMediaAlumno = sumaNotasAlumno / N
Imprimir "La nota media del alumno es: ", notaMediaAlumno
totalNotas = totalNotas + notaMediaAlumno

Fin Para
notaMediaClase = totalNotas / A
Imprimir "----------------------------------------"
Imprimir "Nota media general de la clase: ", notaMediaClase
Imprimir "----------------------------------------"

Prueba de escritorio
Ingrese el número total de alumnos: 2
----------------------------------------
Alumno 1

----------------------------------------
Ingrese el número de notas: 2
Nota 1: 81
Nota 2: 89

La nota media del alumno es: 85.0


----------------------------------------
Alumno 2
----------------------------------------

Ingrese el número de notas: 2


Nota 1: 76
Nota 2: 91
La nota media del alumno es: 83.5

----------------------------------------
Nota media general de la clase: 84.25
----------------------------------------
2. Se desea realizar una estadística de los pesos de los alumnos de un colegio de acuerdo a
la siguiente tabla:
Categorías

• Alumnos de menos de 40 kg.


• Alumnos entre 40 y 50 kg.
• Alumnos de más de 50 y menos de 60 kg.
• Alumnos de más o igual a 60 kg.

La entrada de los pesos de los alumnos se terminará cuando se introduzca el valor centinela
-99. Al final se desea obtener cuántos alumnos hay en cada categoría.

Variable de entrada Proceso Variable de salida


“peso”: Representa el peso • Alumnos de menos • contMenos40
del alumno. de 40 kg: peso < 40 • Cont40a50
• Alumnos entre 40 y • cont50a60
50 kg: peso >= 40 y • contMas60
peso < 50
• Alumnos de más de
50 y menos de 60 kg:
peso >= 50 y peso <
60
• Alumnos de más o
igual a 60 kg: peso
>= 60

Diseño de Pantalla
|Peso de alumnos|

Ingrese el peso del alumno: ____________________


Resultado:

• Alumnos de menos de 40 kg: 0


• Alumnos entre 40 y 50 kg: 0
• Alumnos de mas de 50 y menos de 60 kg: 0
• Alumnos de mas o igual a 60 kg: 0
Seudocodigo

contMenos40 = 0
cont40a50 = 0
cont50a60 = 0
contMas60 = 0

peso = LeerPeso()
Mientras peso != -99
Si peso < 40
contMenos40 = contMenos40 + 1
Fin Si

Si peso >= 40 y peso < 50


cont40a50 = cont40a50 + 1
Fin Si
Si peso >= 50 y peso < 60

cont50a60 = cont50a60 + 1
Fin Si
Si peso >= 60
contMas60 = contMas60 + 1

Fin Si
peso = LeerPeso()
Fin Mientras
Imprimir "Alumnos de menos de 40 kg:", contMenos40
Imprimir "Alumnos entre 40 y 50 kg:", cont40a50

Imprimir "Alumnos de más de 50 y menos de 60 kg:", cont50a60


Imprimir "Alumnos de más o igual a 60 kg:", contMas60

Prueba de escritorio
Ingrese el peso del alumno: 42
Ingrese el peso del alumno: 45
Ingrese el peso del alumno: 56

Ingrese el peso del alumno: 68


Ingrese el peso del alumno: 75
Resultado:
Alumnos de menos de 40 kg: 0

Alumnos entre 40 y 50 kg: 2


Alumnos de más de 50 y menos de 60 kg: 1
Alumnos de más o igual a 60 kg: 2
3. Se necesita un programa que lea los clientes atendidos por un vendedor en un día. El
vendedor en el día atendió 10 clientes. Se necesita que se lea el monto vendido al cliente. El
programa debe agrupar los clientes según el monto de su compra.
a. Si el monto de la compra es menor o igual a 500 agruparlo en Categoría C
b. Si el monto es mayor a 500 y menor o igual a 1500 agruparlo en Categoría B
c. Si el monto es mayor a 1500 o superior agruparlo en Categoría A

El programa debe suministrar la siguiente información:


• Si la cantidad de clientes que se encuentran en la Categoría A es igual o superior al 50% de
los clientes atendidos en el día el sistema debe enviarle al cliente el siguiente mensaje:
Felicitaciones, excelente gestión de ventas.

• Si la cantidad de clientes que se encuentran en la Categoría B es igual o superior al 50% de


los clientes atendidos en el día el sistema debe enviarle al cliente el siguiente mensaje: Buen
trabajo. Va en buen camino.
• Si la cantidad de clientes que se encuentran en la Categoría C es igual o superior al 50% de
los clientes atendidos en el día el sistema debe enviarle al cliente el siguiente mensaje: Buen
trabajo. Seguir trabajando.

Variable de Proceso Variable de salida


entrada
“clientesTotales • montoCompra es menor o igual a 500, el “contCategoriaA”
” cliente pertenece a la Categoría C. ”contCategoriaB”
• montoCompra es mayor a 500 y menor o “contCategoriaC”
igual a 1500, el cliente pertenece a la
“montoCompra” PorcentajeCategori
Categoría B.
aA
• Si el montoCompra es mayor a 1500, el PorcentajeCategori
cliente pertenece a la Categoría A. aB
PorcentajeCategori
aC:
Diseño de pantallan y prueba de escritorio

Ingrese el monto de compra para el Cliente 1: 756

Ingrese el monto de compra para el Cliente 2: 453

Ingrese el monto de compra para el Cliente 3: 906

Ingrese el monto de compra para el Cliente 4: 1200

Ingrese el monto de compra para el Cliente 5: 1104

Ingrese el monto de compra para el Cliente 6: 359

Ingrese el monto de compra para el Cliente 7: 875

Ingrese el monto de compra para el Cliente 8: 1300

Ingrese el monto de compra para el Cliente 9: 534

Ingrese el monto de compra para el Cliente 10: 546

Buen trabajo. Va en buen camino.

Seudocodigo

Definir clientesTotales = 10

Definir porcentajeMinimo = 0.5

contCategoriaA = 0

contCategoriaB = 0

contCategoriaC =

Para cada cliente de 1 a clientesTotales

Imprimir "Ingrese el monto de compra para el Cliente ", cliente, ": "

Leer montoCompra

Si montoCompra <= 500

contCategoriaC = contCategoriaC + 1

Sino Si montoCompra <= 1500

contCategoriaB = contCategoriaB + 1

Sino

contCategoriaA = contCategoriaA + 1

Fin Si

Fin Para
PorcentajeCategoriaA = contCategoriaA / clientesTotales

PorcentajeCategoriaB = contCategoriaB / clientesTotales

PorcentajeCategoriaC = contCategoriaC / clientesTotales

Si PorcentajeCategoriaA >= porcentajeMinimo

Imprimir "Felicitaciones, excelente gestión de ventas."

Sino Si PorcentajeCategoriaB >= porcentajeMinimo

Imprimir "Buen trabajo. Va en buen camino."

Sino Si PorcentajeCategoriaC >= porcentajeMinimo

Imprimir "Buen trabajo. Seguir trabajando."

Fin Si

4. En un departamento se está realizando la lista de cumpleaños del mes. El usuario debe indicar la
cantidad de personas que cumplen años en el mes. Para cada cumpleañero se debe leer su sexo y el
día del cumpleaños. En el departamento se cantan los cumpleaños los 15 y 30 de cada mes, por lo que
es importante saber cuántas personas cumplen hasta el 15 y cuántas personas cumplen del 16 al
último día del mes. También es importante conocer de los cumpleañeros de cada ronda (15 o 30)
cuántos son mujeres y cuántos son hombres. En los cumpleaños se entregan certificados de regalo del
departamento de damas o caballeros dependiendo del sexo del cumpleañero.

Variable de entrada Proceso Variable de salida


“total_personas” dia_cumple <= 15 entonces
“sexo” cumple_15 = cumple_15 + 1 certificados_hombres_15
“dia_cumple” Si sexo == "M" entonces certificados_mujeres_15
hombres_15 = certificados_hombres_30
hombres_15 + 1 certificados_mujeres_30
mujeres_15 = mujeres_15 + 1

dia_cumple > 15 entonces


cumple_30 = cumple_30 + 1
Si sexo == "M" entonces
hombres_30 =
hombres_30 + 1
mujeres_30 = mujeres_30 + 1

Diseño y prueba de escritorio

Ingrese la cantidad total de personas que cumplen años en el mes: 2

Datos de la persona 1:

Ingrese el sexo (M/F): M

Ingrese el día de cumpleaños (1-30): 29


Datos de la persona 2:

Ingrese el sexo (M/F): F

Ingrese el día de cumpleaños (1-30): 25

Resultados

Personas que cumplen hasta el 15: 0

Hombres que cumplen hasta el 15: 0

Mujeres que cumplen hasta el 15: 0

Personas que cumplen del 16 al 30: 2

Hombres que cumplen del 16 al 30: 1

Mujeres que cumplen del 16 al 30: 1

Certificados de regalo:

Se entregan certificados a 0 hombres y 0 mujeres en el cumpleaños del 15.

Se entregan certificados a 1 hombres y 1 mujeres en el cumpleaños del 30.

Seudocodigo

total_personas = leer_entero("Ingrese la cantidad total de personas que cumplen años en el mes")

cumple_15 = 0

cumple_30 = 0

mujeres_15 = 0

hombres_15 = 0

mujeres_30 = 0

hombres_30 = 0

for i = 1 hasta total_personas hacer

escribir("Datos de la persona ", i, ":")

sexo = leer_cadena("Ingrese el sexo (M/F)")

dia_cumple = leer_entero("Ingrese el día de cumpleaños (1-30)")

si dia_cumple <= 15 entonces

cumple_15 = cumple_15 + 1

si sexo == "M" entonces

hombres_15 = hombres_15 + 1

sino
mujeres_15 = mujeres_15 + 1

fin si

sino

cumple_30 = cumple_30 + 1

si sexo == "M" entonces

hombres_30 = hombres_30 + 1

sino

mujeres_30 = mujeres_30 + 1

fin si

fin si

fin para

escribir("\nResultados:")

escribir("Personas que cumplen hasta el 15: ", cumple_15)

escribir("Hombres que cumplen hasta el 15: ", hombres_15)

escribir("Mujeres que cumplen hasta el 15: ", mujeres_15)

escribir("\nPersonas que cumplen del 16 al 30: ", cumple_30)

escribir("Hombres que cumplen del 16 al 30: ", hombres_30)

escribir("Mujeres que cumplen del 16 al 30: ", mujeres_30)

escribir("\nCertificados de regalo:")

escribir("Se entregan certificados a ", hombres_15, " hombres y ", mujeres_15, " mujeres en el
cumpleaños del 15.")

escribir("Se entregan certificados a ", hombres_30, " hombres y ", mujeres_30, " mujeres en el
cumpleaños del 30.")

5.En un almacén se ha realizado el inventario de un grupo de sillas de gamer. Las sillas son del
mismo modelo, pero según el color cambia el precio. De las sillas se tienen 15 en total, pero se
necesitan clasificar según el color para obtener el monto en inventario de las sillas.

Color Precio
Negro, líneas rojas 350.00
Negro, líneas gris 370.00
Negro, líneas azul 400.00
Negro, líneas verde 325.00
El programa debe suministrar el valor en inventario por cada color de silla y la cantidad por cada
color de silla.
Variable de entrada Proceso Variable de salida
“cantidad_total_silla sobre cada color en el diccionario “precio_unitario”
s” inventario.
“inventario” Calcula el valor del inventario para ese “valor_color”
“precio” color: “valor_total_inventario”
“valor_color” = cantidad *
“cantidad”
“precio_unitario”.
“color”
Agrega valor_color a
“valor_total_inventario”.

Diseño de pantalla y prueba de escritorio

Datos de la silla 1:

Ingrese el color de la silla: Negro, líneas rojas

Datos de la silla 2:

Ingrese el color de la silla: Negro, líneas gris

Datos de la silla 3:

Ingrese el color de la silla: Negro, líneas verde

Datos de la silla 4:

Ingrese el color de la silla: Negro, líneas azul

Datos de la silla 5:

Ingrese el color de la silla: Negro, líneas gris

Datos de la silla 6:

Ingrese el color de la silla: Negro, líneas gris

Datos de la silla 7:

Ingrese el color de la silla: Negro, líneas verde

Datos de la silla 8:

Ingrese el color de la silla: Negro, líneas verde

Datos de la silla 9:

Ingrese el color de la silla: Negro, líneas verde

Datos de la silla 10:

Ingrese el color de la silla: Negro, líneas verde

Datos de la silla 11:

Ingrese el color de la silla: Negro, líneas rojas


Datos de la silla 12:

Ingrese el color de la silla: Negro, líneas rojas

Datos de la silla 13:

Ingrese el color de la silla: Negro, líneas azul

Datos de la silla 14:

Ingrese el color de la silla: Negro, líneas azul

Datos de la silla 15:

Ingrese el color de la silla: Negro, líneas verde

Color: Negro, líneas rojas

Cantidad: 3

Precio unitario: 350.0

Valor en inventario: 1050.0

Color: Negro, líneas gris

Cantidad: 3

Precio unitario: 370.0

Valor en inventario: 1110.0

Color: Negro, líneas azul

Cantidad: 3

Precio unitario: 400.0

Valor en inventario: 1200.0

Color: Negro, líneas verde

Cantidad: 6

Precio unitario: 325.0

Valor en inventario: 1950.0

Valor total en inventario: 5310.0


Seudocódigo

cantidad_total_sillas = 15

inventario = {

'Negro, líneas rojas': {'precio': 350.00, 'cantidad': 0},

'Negro, líneas gris': {'precio': 370.00, 'cantidad': 0},

'Negro, líneas azul': {'precio': 400.00, 'cantidad': 0},

'Negro, líneas verde': {'precio': 325.00, 'cantidad': 0}

Para cada i desde 1 hasta cantidad_total_sillas hacer

Escribir("Datos de la silla ", i, ":")

color = LeerCadena("Ingrese el color de la silla: ")

Si color está en inventario entonces

inventario[color]['cantidad'] = inventario[color]['cantidad'] + 1

Sino

Escribir("Color no válido. Intente nuevamente.")

Fin Si

Fin Para

valor_total_inventario = 0

Para cada color, detalles en inventario hacer

cantidad = detalles['cantidad']

precio_unitario = detalles['precio']

valor_color = cantidad * precio_unitario

valor_total_inventario = valor_total_inventario + valor_color

Escribir("\nColor: ", color)

Escribir("Cantidad: ", cantidad)

Escribir("Precio unitario: ", precio_unitario)

Escribir("Valor en inventario: ", valor_color)

Fin Para
Escribir("\nValor total en inventario: ", valor_total_inventario)

También podría gustarte