Todo en esta vida son decisiones |
Como ya aprendiste en la lección anterior, la alternativa simple nos sirve para desviar el flujo de nuestro programa hacia una instrucción (o conjunto de instrucciones) dependiendo del cumplimiento de alguna condición.
En la escritura de algoritmos, la alternativa simple sigue esta sintaxis:
si (condición(es)) entonces
instruccion(es)
fin_si
La condición o condiciones que necesitamos que se cumplan para que las instrucciones se ejecuten podemos escribirlas usando las expresiones lógicas que ya conocimos en lecciones anteriores.
Pero para entender mejor esta estructura, vayamos a un ejemplo. Supongamos que necesitamos crear un programa que nos permita mostrar un mensaje en pantalla sólo si un número proporcionado por el usuario es mayor que cero. El pseudocódigo de dicho programa se vería algo asi:
algoritmo Mayor_que_cero
var
entero: num
inicio
escribir("Por favor proporciona un número:")
leer(num)
si (num > 0) entonces
escribir ("Yay! el número es mayor que cero!")
fin_si
fin
Como puede verse en el ejemplo, una vez que leemos un número podemos establecer una condición para verificar si es mayor que cero, en cuyo caso se ejecutará la instrucción escribir con el mensaje que se mostrará al usuario. Es importante resaltar que si la condición no se cumple el mensaje no se mostrará al usuario. Sencillo, ¿verdad?
Veamos otro ejemplo. Ahora necesitamos un programa que reciba un número y valide si dicho número es par y está entre 0 y 100. Si dichas condiciones no se cumplen, entonces el programa mostrará un mensaje al usuario indicándole que el número proporcionado no cumple los requisitos establecidos. El algoritmo sería escrito de este modo:
algoritmo Validar_Numero
var
entero: num
inicio
escribir("Por favor proporciona un número:")
leer(num)
si (num mod 2 = 1) or (num < 0) or (num > 100) entonces
escribir("¡El número proporcionado no es válido!")
fin_si
fin
En este caso, ha sido necesario crear una condición compuesta más compleja para poder evaluar el número dado por el usuario. La condición (num mod 2 = 1) verifica que el número sea impar (es decir, verifica que al dividir num entre 2 el residuo sea uno); esto es debido a que el número dado será válido sólo si es par. En seguida, se verifica que el número esté entre el rango de 0 y 100. Si el numero dado es menor que cero o mayor a 100, fallará en cumplir las condiciones dadas, por lo que no será válido. Usamos el operador or dado que sólo hace falta que una de las condiciones dadas sea verdadera para que el número no sea válido.
Otra manera de escribir la condición compuesta de este ejemplo es esta:
si not( (num mod 2 = 0) and (num >= 0) and (num <= 100) ) entonces
En esta variante, primero verificamos que el numero sea par, que sea mayor o igual que cero y que a la vez sea menor o igual que 100. Si se cumplen estas tres condiciones (si son verdaderas), entonces nuestro número será válido. Pero, dado que el mensaje debe mostrarse sólo si el número NO cumple con las condiciones, usamos el operador not para indicar a nuestro algoritmo que ejecute la instrucción escribir sólo si NO se cumplen esas condiciones.
Cualquiera que sea la forma en que escribamos nuestra condición, el resultado será el mismo.
En cualquiera de los ejemplos mostrados, vemos que las instrucciones sólo se ejecutan si las condiciones se cumplen. En caso contrario, no se hace nada y el programa simplemente termina. Pero ¿qué pasaría si necesito que se ejecute alguna acción distinta si la condición no se cumple? bueno, para eso sirve la estructura de selección doble, de la cual aprenderemos en la próxima lección. Por ahora, ¡es hora de practicar!
ACTIVIDADES DE APRENDIZAJE
1. Escribe un programa que solicite al usuario su edad y, en caso de ser mayor de edad, le muestre un mensaje que le avise que ya puede tramitar su credencial para votar con fotografía.
2. Escribe un algoritmo para determinar si una persona tiene sobrepeso, de acuerdo a su índice de masa corporal (tal como lo calculaste en el primer problema de la lección 9), sabiendo que el sobrepeso existe si el IMC es mayor o igual que 25.
3. Crea un programa para resolver una ecuación de segundo grado. Recuerda que las ecuaciones de segundo grado sólo tienen solución si el determinante (d= b**2 - 4*a*c) es mayor o igual que cero.
Enlace: Índice del curso
0 comentarios:
Publicar un comentario