Qué son las estructuras condicionales en los lenguajes de programación. Para qué nos sirven y qué tipos de estructuras condicionales podemos usar para expresar los algoritmos. Veremos ejemplos tanto en diagrama de flujo como en pseudocódigo.
En el manual de iniciación a la programación estamos explicando las principales estructuras de los lenguajes de programación, con las que realizamos los algoritmos. En el pasado artículo presentamos la estructura secuencial y ahora vamos a ver las estructuras condicionales.
Qué son estructuras condicionales
Las estructuras condicionales sirven para la toma de decisiones en los algoritmos: Si ocurre algo entonces ejecutamos unas sentencias y en caso contrario ejecutamos otras.
Toda toma de decisión tiene una evaluación a realizar para, en función de ella, tomar la decisión. Esa evaluación generalmente compara una variable con otra o contra otro valor, para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa.
Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos de estructuras condicionales, en función de las ramas que puedan tener: las simples, las dobles y las múltiples.
Estructuras condicionales Simples
Las estructuras condicionales simples se les conoce como Tomas de decisión y realizan una acción únicamente cuando la expresión a evaluar resulta en un resultado positivo.
Estas tomas de decisión tienen la siguiente forma:
Pseudocódigo:
Diagrama de flujo:
Estructuras condicionales Dobles:
Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles, en función del cumplimiento o no de una determinada condición.
Por tanto, las estructuras condicionales dobles presentan dos caminos diferentes que puede tomar el flujo de ejecución del programa. Si la expresión a evaluar sale con resultado positivo, el programa se irá por una rama y si tiene resultado negativo se va por otra rama.
Se representa de la siguiente forma:
Pseudocódigo:
Diagrama de flujo:
Para los diagramas anteriores aplican las siguientes notaciones que encontramos a continuación:
- Si: Indica el comando de comparación
- Condición: Indica la condición a evaluar
- Entonces: Precede a las acciones a realizar cuando se cumple la condición
- Instrucción(es): Son las acciones a realizar cuando se cumple o no la condición
- Si no: Precede a las acciones a realizar cuando no se cumple la condición
Estructuras condicionales Múltiples:
Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas.
Por tanto, en estas estructuras condicionales podemos tener no solamente uno o dos caminos, sino tantos como podamos llegar a necesitar en un algorimo.
Esta estructura en realidad la puedes ver simplemente como una anidación de estructuras condicionales múltipes de las que hemos visto anteriormente. En algoritmos complejos es habitual que las ramificaciones incluyan la toma de diversos caminos en función de varias condiciones que se van encadenando.
La forma común de las estructuras condicionales múltiples es la siguiente:
Pseudocódigo:
Diagrama de flujo:
Múltiples (En caso de):Las estructuras de comparación múltiples (en caso de) permiten comparar una variable, o constante, ante diversos posibles valores. Esta estructura es una toma de decisión especializada que permite crear varias ramas dentro de un algoritmo con base a distintos posibles valores de la variable, ejecutando para cada caso una serie de instrucciones especificas.
Aunque llame mucho la atención la posibilidad de tener muchos caminos en las condicionales múltiples, en lugar de uno o dos como las otras estructuras condicionales, lo cierto es que se usan mucho menos en el día a día de la programación.
La forma es la siguiente:
Pseudocódigo:
Diagrama de flujo:
Ejemplos de estructuras condicionales
Antes de acabar vamos a ver algunos ejemplos donde se aplica el uso de las estructuras condicionales que acabamos de conocer.
Ejemplo 1: Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de edad debe aparecer un mensaje indicándolo. Expresarlo en Pseudocódigo y Diagrama de flujos.
Pseudocódigo:
Diagrama de flujo:
Ejemplo 2: Se pide leer tres notas del alumno, calcular su definitiva en un rango de 0-5 y enviar un mensaje donde diga si el alumno aprobó o reprobó el curso. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.
Pseudocódigo:
INICIO
Not1, Not2, Not 3 :REAL
Def: REAL
LEA Nota1, Nota2, Nota3
Def ß (Not1 + Not2 + Not3) /3
Si Def < 3 entonces
Escriba Reprobó el curso
Sino
Escriba Aprobó el curso
Fin-Si
FIN
Diagrama de flujo:
Ejemplo 3: Se desea escribir un algoritmo que pida la altura de una persona, si la altura es menor o igual a 150 cm envíe el mensaje: Persona de altura baja; si la altura está entre 151 y 170 escriba el mensaje: Persona de altura media y si la altura es mayor al 171 escriba el mensaje: Persona alta. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.
Pseudocódigo:
INICIO
Altura: ENTERO
ESCRIBA Cuál es tu altura?
LEA Altura
Si Altura <=150 entonces
ESCRIBA persona de altura baja
Sino
Si Altura <=170 entonces
ESCRIBA persona de altura media
Sino
Si Altura>170 ENTONCES
ESCRIBA persona alta
Fin-Si
Fin-Si
Fin-Si
FIN
¡Es importante ser ordenado al escribir el código de nuestros algoritmos!
Diagrama de flujo:
Ejemplo 4: Dado un numero entre 1 y 7 escriba su correspondiente día de la semana así:
1- Lunes 2- Martes 3- Miércoles 4- Jueves 5- Viernes 6- Sábado 7- Domingo
Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.
Pseudocódigo:
INICIO
Dia: ENTERO
ESCRIBA "Diga un número para escribir su día"
LEA Dia
En-caso-de Dia haga
Caso 1: ESCRIBA "Lunes"
Caso 2: ESCRIBA "Martes"
Caso 3: ESCRIBA "Miércoles"
Caso 4: ESCRIBA "Jueves"
Caso 5: ESCRIBA "Viernes"
Caso 6: ESCRIBA "Sábado"
Caso 7: ESCRIBA "Domingo"
SINO: ESCRIBA "Escribió un numero fuera del rango 1-7"
Fin-Caso
FIN
Diagrama de flujo:
Wilder Urbaez