Como vimos en el post anterior, las estructuras selectivas nos permite escoger entre dos o más acciones, estás evalúan una condición y a continuación ejecutan una sentencia, debes tener presente que no se ejecutan todas a la vez, o es una o es otra, pero no todas a la vez. Las estructuras selectivas se dividen en tres:
simples
dobles
múltiples
Vamos a estudiar cada una y veremos su sintaxis.
Este tipo alternativa es la más simple de todas, evalúa una condición y de ser cierta, ejecuta una acción, de ser falsa, no hace nada. Su sintaxis es la siguiente:
Si (condición) entonces
// Sentencias...
Finsi
Nota: observa que las palabras si y finsi se alinean verticalmente para identarse, ten en cuenta esto para hacer un algoritmo más legible.
Puesto que la estructura anterior es muy limitada, se creó una forma que acepta dos opciones, de esta forma siempre va a ocurrir algo porque se va a evaluar una condición, si es verdadera, entonces ejecuta una sentencia, si es falsa, se ejecuta otra. Su sintaxis es como sigue: Si (condición) entonces
Escribir "Aprender a programar";
Sino
Escribir "Aprender algoritmos";
Finsi
Ejemplos:
Hacer un algoritmo que diga si un número es positivo o negativo.
Definir num como entero;
Escribir "Ingresa un número";
Leer num;
Si (num > 0) entonces
Escribir "El número es positivo";
Sino
Escribir " El número es negativo ";
Finsi
Finalgoritmo
Hacer un algoritmo que diga si un número es par o impar.
Definir num como entero;
Escribir "Ingresa un número";
Leer num;
Si (num mod 2 = 0) entonces
Escribir "El número es par";
Sino
Escribir " El número es impar";
Finsi
Finalgoritmo
Nota: la condición siempre va encerrada dentro de paréntesis.
Como vimos en el ejemplo de la comida en el post pasado, siempre habrá un punto en donde tengamos múltiples opciones, para resolver este problema utilizamos una estructura de alternativas múltiples ya que en ocasiones puede ser más cómodo de utilizar, luego veremos que también lo podemos hacer con alternativas dobles anidadas. La alternativa múltiple (según-hacer-caso) va a evaluar una condición que podrá tomar distintos valores, según sea el resultado de esta condición, se va a ejecutar una acción especifica. Su sintaxis es:
Segun (condición) hacer
Caso 1:
Escribir "Aprender a programar";
Caso 2:
Escribir "Aprender algoritmos";
Caso 3:
Escribir "Aprender a crear juegos";
.
.
.
Caso n:
Escribir "Aprender n cosas";
De otro modo:
Escribir "No aprender nada";
Finsegun
Se va a evaluar la condición, si esta llega a ser igual que el valor de algunos de los casos, entonces ejecutará las sentencias de ese caso. Si la condición no es igual a ninguno de los casos, entonces ejecuta la parte de De otro modo.
Ejemplo:
Hacer un algoritmo que escriba el día de la semana.
Algoritmo dia_semana
Definir dia como entero;
leer dia;
segun (dia) hacer
caso 1: escribir "Lunes";
caso 2: escribir "Martes";
caso 3: escribir "Miércoles";
caso 4: escribir "Jueves";
caso 5: escribir "Viernes";
caso 6: escribir "Sábado";
caso 7: escribir "Domingo";
de otro modo: Escribir "Día no valido";
finsegun
finalgoritmo
Observa que según el valor que tome la variable dia, se va a ejecutar una acción especifica.
Nota:el uso de De otro modo es totalmente opcional.