Instrucción alternativa múltiple (Segun) en Pseudocódigo
Una instrucción alternativa múltiple (o simplemente alternativa múltiple) permite seleccionar, por medio de una expresión, el siguiente bloque de instrucciones a ejecutar de entre varios posibles.
En pseudocódigo, para escribir una alternativa múltiple, se puede utilizar la sintaxis siguiente (compatible con PSeInt):
Segun <expresión> Hacer
<lista_de_valores_1>: <bloque_de_instrucciones_1>
<lista_de_valores_2>: <bloque_de_instrucciones_2>
...
<lista_de_valores_n>: <bloque_de_instrucciones_n>
[ De Otro Modo: <bloque_de_instrucciones_n+1> ]
FinSegun
El resultado de evaluar la <expresión> debe ser un valor perteneciente a un tipo de dato finito y ordenado, es decir, entero, lógico, carácter, enumerado o subrango.
Dependiendo del valor obtenido al evaluar la <expresión>, se ejecutará un bloque de instrucciones u otro.
En las listas de valores se deben escribir los valores que determinan el bloque de instrucciones a ejecutar, teniendo en cuenta que un valor solamente puede aparecer en una lista de valores.
Opcionalmente, se puede escribir un <bloque_de_instrucciones_n+1> después de:
De Otro Modo:
Este bloque de instrucciones se ejecutará en el caso de que el valor obtenido al evaluar la <expresión>, no se encuentre en ninguna de las listas de valores especificadas.
EJEMPLO Se quiere diseñar el algoritmo de un programa que:
1º) Pida por teclado el número (dato entero) de un día de la semana.
2º) Muestre por pantalla el nombre (dato cadena) correspondiente a dicho día.
Nota: si el número de día introducido es menor que 1 o mayor que 7, se mostrará el mensaje:
- "ERROR: Día incorrecto."
Por pantalla se verá, por ejemplo:
Si el día es incorrecto, en pantalla se podrá ver:
Algoritmo propuesto:
// Ejemplo: Día de la semana
Algoritmo Dia_de_la_Semana
Definir dia Como Entero
Escribir Sin Saltar "Introduzca día de la semana: "
Leer dia
Segun dia Hacer
1: Escribir "Lunes"
2: Escribir "Martes"
3: Escribir "Miércoles"
4: Escribir "Jueves"
5: Escribir "Viernes"
6: Escribir "Sábado"
7: Escribir "Domingo"
De Otro Modo: Escribir "ERROR: Día incorrecto."
FinSegun
FinAlgoritmo
Cuando en una lista de valores de una alternativa múltiple aparece más de un valor, estos se escriben separados por el carácter coma (,). Estúdiese el siguiente ejemplo.
EJEMPLO Sabiendo que las categorías a las que pertenecen los signos del zodíaco son:
Signo | Categoría |
---|---|
1. Aries |
Fuego |
2. Tauro |
Tierra |
3. Géminis |
Aire |
4. Cáncer |
Agua |
5. Leo |
Fuego |
6. Virgo |
Tierra |
7. Libra |
Aire |
8. Escorpio |
Agua |
9. Sagitario |
Fuego |
10. Capricornio |
Tierra |
11. Acuario |
Aire |
12. Piscis |
Agua |
Se quiere diseñar el algoritmo de un programa que:
1º) Muestre un listado de los signos del zodíaco, con sus números asociados.
2º) Pida por teclado un número (dato entero) asociado a un signo del zodíaco.
3º) Muestre la categoría a la que pertenece el signo del zodíaco seleccionado.
Nota: Si el número introducido por el usuario, no está asociado a ningún signo del zodíaco, se mostrará el mensaje:
- "ERROR: <número> no está asociado a ningún signo."
En la pantalla se verá, por ejemplo:
Al introducir un número no asociado a ningún signo, por ejemplo el 35, se verá:
Una posible solución es:
// Ejemplo: Signo del zodiáco
Algoritmo Signo_del_Zodiaco
Definir n Como Entero
Escribir "Listado de signos del zodíaco:"
Escribir "1. Aries"
Escribir "2. Tauro"
Escribir "3. Géminis"
Escribir "4. Cáncer"
Escribir "5. Leo"
Escribir "6. Virgo"
Escribir "7. Libra"
Escribir "8. Escorpio"
Escribir "9. Sagitario"
Escribir "10. Capricornio"
Escribir "11. Acuario"
Escribir "12. Piscis"
Escribir Sin Saltar "Introduzca número de signo: "
Leer n
Segun n Hacer
1, 5, 9: Escribir "Es un signo de Fuego."
2, 6, 10: Escribir "Es un signo de Tierra."
3, 7, 11: Escribir "Es un signo de Aire."
4, 8, 12: Escribir "Es un signo de Agua."
De Otro Modo: Escribir "ERROR: ", n, " no está asociado a ningún signo."
FinSegun
FinAlgoritmo