Está en la página 1de 5

Introducción a la Programación

Unidad 1

Estructuras de Control Anidadas

Prof. Lic. Laura Noussan Lettry

Laura Noussan Lettry Página 1 de 5


Caso Modelo – Estructuras de Control Alternativas Anidadas

Se necesita realizar un algoritmo en pseudocódigo


para facilitar la tarea de los profesores. Estos
deben tres notas de procesos y el algoritmo
calculará el promedio e indicará si el alumno está
aprobado, desaprobado o aplazado.

Lo analizaremos por partes!! pensando y aplicando los conceptos que hemos visto
hasta ahora.

Recordar que es importante separar los rangos de notas: no pueden ser menores a
uno ni mayores a 10, y tenemos dos grandes intervalos: aprobado y no-aprobado
(desaprobado)

Laura Noussan Lettry Página 2 de 5


Entonces, una primera aproximación sería:

Inicio
Definir nota1,nota2,nota3,promedio:Real
nota1 ← 10
nota2 ← 5
nota3 ← 8.5
promedio ← (nota1 + nota2 + nota3) / 3
Si (promedio >= 7 [y] promedio <= 10) entonces

Escribir promedio, “ Alumno Aprobado”

sino
Escribir promedio, “ Alumno Desaprobado”

Fin Si
Fin

Pero este algoritmo es muy rígido!!!!


No le estamos pidiendo al usuario que ingrese
los valores de las notas
sino que a las 3 notas les estamos asignando
valores fijos y los algoritmos tienen que ser lo
más generales posibles.

Una mejora entonces es:

Inicio
Definir nota1,nota2, nota3, promedio: Real
Leer nota1, nota2, nota3
promedio ← (nota1 + nota2 + nota3) / 3
Si (promedio >= 7 [y] promedio <= 10) entonces

Escribir promedio, “ Alumno Aprobado”

sino

Escribir promedio, “ Alumno Desaprobado”

Fin Si
Fin

Laura Noussan Lettry Página 3 de 5


Ahora tenemos que darnos cuenta que la consigna
nos pide también conocer si el alumno está
aplazado!!!.

Los aplazados son un subconjunto de números reales comprendidos en el intervalo [1, 4),
es decir, sin considerar el 4

[1, 4) [4, 7) [7, 10]

intervalo [1, 4)

intervalo [1, 7) intervalo [7, 10]

O sea, los aplazados forman parte también del intervalo de los


desaprobados!!!, motivo por el cual la estructura alternativa anidada debe
ir dentro del intervalo de los desaprobados.

Inicio
Definir nota1,nota2, nota3, promedio: Real;
Leer nota1, nota2, nota3
promedio ← (nota1 + nota2 + nota3) / 3

Si (promedio >= 7 [y] promedio <= 10) entonces


Escribir promedio, “ Alumno Aprobado”

Sino
Si (nota > = 4) entonces

Escribir promedio, “ Alumno Desaprobado”

Sino

Escribir promedio, “Alumno Aplazado”


Fin Si

Fin Si

Fin

Laura Noussan Lettry Página 4 de 5


¿Está todo OK? ¿Qué pasa si el usuario ingresa un número
negativo o bien un número que esté fuera del intervalo
cerrado [1, 10] ?

Tenemos que considerar esta posibilidad, o cometeríamos un error


lógico al no considerar los casos fuera del problema:

[1, 4) [4, 7) [7, 10]

Intervalo para resolver el problema: [1, 10]

Fuera del problema: (…., 1) Fuera del problema: (10, ...)

Inicio
Definir nota1,nota2, nota3, promedio: Real;
Leer nota1, nota2, nota3
Si ( nota1 >= 1 [y] nota1 <= 10 [y] nota2 >= 1 [y] nota2 <=10 [y]
nota3 >= 1 [y] nota3 <=10) entonces

promedio ← (nota1 + nota2 + nota3) / 3

Si (promedio >= 7 [y] promedio <= 10) entonces


Escribir promedio, “Alumno Aprobado”

Sino
Si (nota > = 4) entonces

Escribir promedio, “ Alumno Desaprobado”

Sino

Escribir promedio, “ Alumno Aplazado”


Fin Si

Fin Si

Sino

Escribir “Debe ingresar notas comprendidas entre 1 y 10”

Fin Si

Fin

Laura Noussan Lettry Página 5 de 5

También podría gustarte