1.4 DECISIONES

SENTENCIA DE DECISIONES
 Las sentencias de decisión o también llamadas de CONTROL DE FLUJO son estructuras de control que realizan una pregunta la cual retorna verdadero o falso (evalúa una condición) y selecciona la siguiente instrucción a ejecutar dependiendo la respuesta o resultado. 
Estructuras de decisión
(Selección de alternativas)

La unidad aritmética y lógica es uno de los componentes mas importantes de una computadora típica. El propósito de la unidad aritmética es el manejo de las operaciones aritméticas; la porción lógica da a la computadora la capacidad de tomar decisiones. Esto forma la base de la construcción algorítmica if-then-else (si-entonces-de lo contrario), la que permitirá la selección de acciones alternativas.
Una decisión se especifica en una expresión lógica de la misma forma en que una operación de calculo se especifica en una expresión numérica.
La construcción if-then-else (estructuras selectivas)
Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se suelan denominar también estructuras de decisión o alternativas.
En las estructuras selectivas se evalúa una condición y en función del resultado de la misma se realiza un opción u otra. las condiciones se especifican usando expresiones lógicas. la representación de una estructura selectiva se hace con palabras en pseudocódigo (if, then, else o bien en español si, entonces, sino), con una figura geométrica en forma de rombo o bien con un triángulo en el interior de una caja rectangular.
Las estructuras selectivas o alternativas pueden ser: - Simples - Dobles - Múltiples.
Alternativa simple (if-then/si-entonces)
La estructura alternativa simple si--entonces ejecuta una determinada acción cuando se cumple una determinada condición. La selección si-entonces evalúa la condición y
- si la condición es verdadera, entonces ejecuta la acción S1
- si la condición es falsa, entonces no hacer nada
REPRESENTACION GRAFICA: Pseudocódigo en español Pseudocódigo en inglés
**si <condición> if <condición>**
**entonces <acción S1> then <acción S1>**
**fin_si endif**


Alternativa doble (si-entonces-sino/if-then-else)
La estructura anterior es muy limitada y normalmente se necesitará una estructura que permita elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición.
Si la condición C es verdadera, se ejecuta la acción S1, y si es falsa, se ejecuta la acción S2.
 Ifs anidados

En algunas aplicaciones, una de las alternativas de una estructura if-then-else puede incluir un decisión adicional. Por ejemplo, después de que se elija una determinada acción sobre una determinada calificación de una prueba, podría quererse evitar la posibilidad de error en los datos de entrada. Esto requiere una comprobación adicional para verificar que los datos de entrada son validos, lo que sugiere el uso de una estructura if-then-else adicional incluida en cada una de las dos alternativas originales. Este proceso es un ejemplo de anidamiento.
Ejemplo:
Algoritmo MAX_3
•Este algoritmo lee tres números A, B, C, imprimiendo el valor del más grande. Se supone que los tres valores son diferentes.
•1.- Entrada de valores
•Read (A, B, C)
•2.- Se determina el valor más grande mediante comprobación por pares
•if A > B
•then if A > C
•then MAX ß A (A > B, A > C)
•else MAX ß C (C > A > B)
•else if B > C
•then MAX ß B (B > A, b > C)
•else MAX ß C (C > B > A)
•3.- Se imprime el valor más grande
•Write `El valor más grande es`, MAX
•4.- Termino
•Exit
Condiciones compuestas
Estas condiciones se obtienen a partir de las expresiones simples, utilizando los operadores lógicos and, or y not.
Los significados de estos operadores se describen adecuadamente por medio de las tablas de verdad.
Las condiciones compuestas pueden utilizarse ya sea en enunciados if o en repeticiones condicionales. Ejemplo:
Algoritmo MAX_3 (2a. versión)
Este algoritmo lee tres números A, B, C, imprime el valor del más grande de ellos. Se supone que los tres valores son distintos.
1. - Entrada de los datos
Read (A, B, C)
2. - Se determina el mayor valor
if A > B and A > C then MAX ß A
if B > A and B > C then MAX ß B
if C > A and C > B then MAX ß C
3. - Se imprime el valor más grande
Write `El valor más grande es`, MAX4. - Termino

Comentarios

Entradas populares de este blog

3. PROGRAMACIÓN UTILIZANDO UN LENGUAJE DE ALTO NIVEL

3.5 PALABRAS RESERVADAS

1.2 DIAGRAMAS DE FLUJO