Estructuras de Decisión
Veremos estructuras básicas de los lenguajes de programación parte dos.
¿Qué son las estructuras de decisión?, ¿a qué llamamos condición?, tipo de decisiones, estructuras de decisión propiamente dichas y ejemplo de las mismas.
Las estructuras de decisión en la ejecución de un programa son expresiones que están supeditadas al cumplimiento de determinadas condiciones.
El programador tiene que identificar esas situaciones y especificar en el mismo programa, en el mismo algoritmo qué hacer en cada caso.
Esto hace que los programas no sean secuencias simples de instrucciones, sino estructuras un poco más complejas que implementan saltos y bifurcaciones según el valor de las variables y las condiciones definidas sobre las mismas.
También se debe mostrar si se muestra un mensaje por error.
Implementar una decisión, como decíamos antes, implica evaluar variables, determinar si se cumplen o no proponer las condiciones y establecer un flujo de acciones para cada resultado posible.
Estas acciones pueden consistir en ejecutar una o más expresiones o también en omitirlas.
También se puede seleccionar una secuencia de instrucciones entre dos o más alternativas posibles, también sino se implementa una decisión al ejecutarse el programa, la variable puede tomar el valor cero o representar un error de cálculo.
¿A qué llamamos condición?.
Condición es una expresión relacional o lógica que puedo o no cumplirse dependiendo de los valores de las variables involucradas o de las expresiones de las mismas.
La condición es una comparación entre dos variables del mismo tipo o una variable y una constante mientras que se utilice una expresión puede ser lógica, se tiene una más expresiones relacionales combinadas con operadores logicos, por ejemplo, y, o, y no cuyo resultado depende de la tabla de verdad del correspondiente operador.
Vemos acá ejemplos de lo que podría ser una condición relacional o una condición lógica.
Vamos a ver los tipos de decisiones que podemos tomar, son tres.
Tenemos las decisiones simples que consiste en decidir si ejecutar u omitir una instrucción o un conjunto de instrucciones.
En este caso se determina qué se debe hacer el programa y que condición es verdadera pero si esta no
lo es, simplemente se pasa el control a la instrucción que está después de la estructura de decisión.
Después vemos la decisión doble, se presenta cuando se tienen dos alternativas de ejecución y dependiendo del resultado de la evaluación de la condición, se ejecuta una o la otra.
Si la condición es verdadera se ejecuta la primera instrucción o bloque instrucciones y si falsa la segunda.
Por último vemos la decisión múltiple que consiste en evaluar el contenido de una variable y, dependiendo del valor de esta, ejecutar una secuencia de acciones.
En este caso, el conjunto de valores para la variable debe ser mayor a dos y sólo se evalúa la condición de igualdad.
Cada posible valor está asociado a una secuencia de ejecución y estas son mutuamente excluyentes.
Este tipo de decisiones es el que vamos a ver como él según sea.
Ahora vemos las estructuras de decisión.
Por ejemplo, la estructura sí.
Esta instrucción evalúa un valor lógico, una expresión relacional o una expresión lógica y retorna un valor lógico con base en este, se toma una decisión simple o doble.
Por ejemplo, cada decisión simple, su sintaxis de pseudocódigo es la siguiente.
Si tal condición entonces se hace algo, ¿qué se hace?, el conjunto de instrucciones, cuando se termina ese conjunto de instrucciones se le pone fin al proceso.
Vemos el diagrama de flujo para una estructura si simple.
Vamos a ver un ejemplo.
Por ejemplo, calcular el valor absoluto de un número, el valor absoluto en la distancia que hay entre el cero al número y como las distancias no pueden ser negativas, éste siempre debe ser positivo.
Entonces lo que necesitamos es ingresar un valor, o sea, ver un número, leerlo, preguntarnos a qué distancia está del cero y ahí obtendríamos el valor absoluto.
Lo vemos en pseudocódigo y cómo lo representaríamos en el diagrama de flujo.
Vamos a ver para la estructura si, la decisión doble.
Se implementa una decisión cuando se cuenta con dos opciones para continuar la ejecución del algoritmo y éstas dependen de una condición.
La sintaxis es la siguiente: Si hay una condición, entonces se van a ejecutar las instrucciones por el verdadero si no se van a ejecutar instrucciones por el falso.
Vemos aquí el diagrama de flujo de un sí doble.
Y también vamos a ver un ejemplo, vamos a ejecutar una división.
Es necesario verificar antes de ejecutar una división, que el divisor sea diferente de cero ya que que sino va a generar un error y el programa se va a cancelar.
Entonces vamos a ver el pseudocódigo bajo estas condiciones, lo que nos estamos preguntando si el divisor es distinto de cero y también el diagrama de flujo.
Esa sería la condición doble.
Vamos a ver otra estructura que es la según sea.
Muchas decisiones deben tomarse no sólo entre dos alternativas, sino de un conjunto mayor.
Esto significa que para tener mayor claridad el algoritmo y mayor facilidad para el programador, se genera una estructura de decisión múltiple.
Esto facilita para poder hacerlo en cualquier lenguaje de programación y también para poder incluir lo que sería la instrucción de fin o de final.
Las instrucciones según sea, determinan un valor de una variable y dependiendo de este se sigue un curso de acción.
Es importante tener en cuenta que sólo se verifica la condición de igualdad entre la variable y la constante.
Vemos acá lo que sería la sintaxis para una estructura según sea.
Entonces, como dijimos antes, según el valor de una variable, hacer diferentes acciones.
También poner para si no corresponde a ninguno de esos valores.
Lo vemos en el diagrama de flujo como sería la notación y vamos a ver un ejemplo.
Por ejemplo, vamos, queremos obtener el día de la semana.
¿Qué hacemos?, leemos un número entre uno y siete que obviamente corresponde el día de la semana y vemos que resultado nos va a brindar esta estructura.
Vemos el pseudocódigo siempre, recuerdan con la lectura de un entero define si está dentro de esos valores y si no va a decir que el número no es válido.
Lo mismo verlo en la estructura del flujo.
Y veremos las decisiones anidadas, ¿qué son?, son decisiones que se escriben una dentro de la otra, lo que significa es que después de haber tomado una decisión es necesario tomar otra.
Esto significa que al haberme dado un valor por el si vuelvo a tomar otra decisión por el sí.
Entonces se combinan bien lo que llamamos el según sea y si no va a haber, en lo contrario, tantos niveles para poder resolverlo en otros casos.
También nunca olviden que siempre también estamos por el sí no, obviamente, esto significa que no cumple con esas condiciones.
Acá vemos por ejemplo, una estructura de algoritmo y también lo podemos ver en el diagrama de flujos.
Siempre se van anidando por condiciones y no debemos olvidar o la condición del no.
Un ejemplo sería comparar dos números y ver si esos dos números enteros son iguales o diferentes.
Entonces nos iremos preguntando en el pseudocódigo a partir de que ingresan dos números si son iguales o si uno es mayor o es menor que el otro.
También lo podemos ver en el diagrama de flujos.
En este ejemplo podemos contemplar igualdad, también podríamos contemplar, obviamente, mayores o menores.