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
**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
Publicar un comentario