-
Necesito una corrección
Hola he comensado a estudiar programación y me esta costando, le pongo empeño pero aun asi se me dificulta.
Dejo un problemita que me dieron a resolver con pseudocodigo y mi solución para saber si lo hice bien:
1.- Leer importes de facturas, seleccionar e imprimir aquellos
importes mayores a 100 y menores o iguales a 400. Calcular además
cual fue el mayor importe leído. El fin del proceso está dado por
un importe de factura igual a cero.
ImpF: importe factura
ImpM: importe mayor
-------------------------------------------
Inicio
ImpM = 0
Leer (F)
mientras (F <> 0) hacer
si (F > 100) y (F <= 400) entonces
imprimir (F)
si (F > ImpM) entonces
ImpM = F
fin si
fin si
fin mientras
Imprimir (impM)
fin
--------------------------------------------
Gracias.
-
Hola parece bien, aunque segun el enunciado me parece que los If o "Si" no deberian estar anidados, osea uno dentro de otro sino separados y lo otro que le cambiaria es en vez de iniciar impM (que deberias llamar LeiM bajo tu notacion) en 0 lo haria en F:
Código:
Inicio
Leer (F)
ImpM = F
mientras (F <> 0) hacer
si (F > 100) y (F <= 400) entonces
imprimir (F)
fin si
si (F > ImpM) entonces
ImpM = F
fin si
fin mientras
Imprimir (impM)
fin
-
Muchas gracias, estaba mas o menos encaminado entonces... Por un segundo dudé sobre los de iniciar ImpF (o LeiM) en F, pero creo que está clarísimo que el primer importe ya le dá valor mayor a esa variable.
Estoy seguro que voy a preguntar muchas tonteras en el futuro, pero bueno, hace un par de semanas que empecé con esto de cero en un grupo que está adelantado 2 meses, espero que no les molesten.