|
CarlosPes.com
> Curso
de Diseño de Algoritmos
> Anidamiento Alternativa Doble en Doble |
|
Anidamiento de una
Instrucción Alternativa Doble en otra también
Doble
|
|
|
|
|
¿Cómo se
anida una instrucción alternativa doble en otra
también doble?
|
|
En
pseudocódigo, para anidar una alternativa
doble en otra, se
utiliza la sintaxis: |
|
si (
<expresión_lógica_1> )
/* Inicio del anidamiento */
si (
<expresión_lógica_2> )
<bloque_de_instrucciones_1>
sino
<bloque_de_instrucciones_2>
fin_si
/* Fin del anidamiento */
sino
<bloque_de_instrucciones_3>
fin_si |
|
|
O
también: |
|
si (
<expresión_lógica_1> )
<bloque_de_instrucciones_1>
sino
/* Inicio del anidamiento */
si (
<expresión_lógica_2> )
<bloque_de_instrucciones_2>
sino
<bloque_de_instrucciones_3>
fin_si
/* Fin del anidamiento */
fin_si |
|
|
Ejemplo: Se quiere diseñar el
algoritmo de un programa que:
1º) Pida por teclado la nota (real) de una asignatura.
2º) Muestre por pantalla:
"APTO", en el caso de que la nota sea mayor o igual que 5 y menor o
igual que 10.
"NO APTO", en el caso de que la nota sea mayor o igual que 0 y menor
que 5.
"ERROR: Nota incorrecta.", en el caso de que la nota sea menor que 0 o
mayor que 10.
En pantalla: |
|
|
|
Una
solución al problema es: |
|
algoritmo Calificacion_segun_nota
variables
real nota
inicio
escribir( "Introduzca nota (real): " )
leer( nota )
si ( nota >= 5 y nota <= 10 )
escribir( "APTO" )
sino
/* Inicio del
anidamiento */
si ( nota >=
0 y nota < 5 )
escribir( "NO APTO" )
sino
escribir( "ERROR: Nota incorrecta." )
fin_si
/* Fin del
anidamiento */
fin_si
fin |
|
|
En
ordinograma: |
|
|
Como se
puede observar, el anidamiento de instrucciones alternativas permite ir
descartando valores hasta llegar al bloque de instrucciones que se debe
ejecutar. |
|