Está en la página 1de 4

“ESTRUCTURAS DE DECISIÓN”

1. Definición de una estructura de decisión:

Las estructuras de decisión, como su nombre lo indican, son estructuras que se


usan en caso tal de que un algoritmo tenga alguna pregunta o tenga que
decidir sobre una operación cualquiera.

Para realizar las condiciones, se debe repasar los operadores relacionales:


 IGUAL (=)
 MAYOR QUE (>)
 MENOR QUE (<)
 MAYOR IGUAL QUE (> =)
 MENOR IGUAL QUE (<)
 DIFERENTE (<>) o (!=).

Las condiciones se pueden realizar de la siguiente manera:

VARIABLE contra VARIABLE: SI (SALARIO = SALARIONETO) ENTONCES


VARIABLE contra CONSTANTE: SI (SALARIO > 5´000.000) ENTONCES
CONSTANTE contra VARIABLE: SI (500.000 < SALARIONETO) ENTONCES
VARIABLE contra CÁLCULO: SI (SALARIO >= SALARIO+AUMENTO) ENT..
CÁLCULO contra VARIABLE: SI (SALARIO–AUMENTO <= SALNETO) ENT..
CONSTANTE contra CÁLCULO: SI (450.000 != SALARIO - DISMIN) ENT..
CÁLCULO contra CONSTANTE: SI (NETO + AUMENTO = 550.000) ENT..
CÁLCULO contra CÁLCULO: SI (SALBAS – RETEF > SALBAS + AUM) ENT..

2. Tipos de estructuras de decisión

2.1. Estructuras de Decisión Simples:


Cuando sólo se requiere de una sólo estructura o una sola pregunta. Su
sintaxis es la palabra SI, seguida de una pregunta o condición (la cual va
encerrada en medio de paréntesis), y por último termina con la palabra
ENTONCES (algunos colocan sólo sus 3 primeras letras: ENT), que significa
ENTONCES. Así como todo algoritmo tiene su FIN, todas estructura de
decisión OBLIGATORIAMENTE, tiene su fin, el cual se escribe FIN-SI.

Ejemplo:

SI (CONDICIÓN) ENTONCES
...Instrucciones, cálculos y/operaciones
FIN-SI

En medio de la estructura, SOLO se colocan las instrucciones, cálculos u


operaciones que se deban desarrollar cuando la pregunta sea verdadera. Las
demás operaciones van fuera de la estructura de decisión. Las instrucciones o
cálculos se deben poner un poco corridos hacia la derecha para identificar
perfectamente donde empieza la estructura y donde termina.
Ejemplo:
Desarrolle un algoritmo que lea dos números y calcule la división del primero
por el segundo. Tenga en cuenta que sólo se puede dividir si el segundo
número no es igual a cero.

INICIO
LEER num1, num2
SI (num2 != 0) ENT
div = num1/num2
IMPRIMIR div
FIN-SI
FIN

2.2. Estructuras de Decisión Dobles:


Es cuando sólo se requiere de dos estructuras, dos preguntas o sólo se tienen
dos posibilidades. Su sintaxis es idéntica a la estructura simple, sólo que como
se manejan dos posibilidades se agrega la palabra SINO, en medio de la
estructura. Ej:

SI (CONDICIÓN) ENTONCES
...Instrucciones, cálculos y/ operaciones (pregunta verdadera)
SINO
...Instrucciones, cálculos y/ operaciones (pregunta falsa)
FIN-SI.

En este caso la primera instrucción se desarrollará cuando la pregunta sea


verdadera, y la otra, cuando sea falsa.

Ejemplo:
Desarrolle un algoritmo que lea dos número y calcule división del primero por el
segundo sólo si el segundo número no es igual a cero, de lo contrario calcule
su multiplicación.

INICIO
LEER num1, num2
SI (num2 != 0) ENT
div = num1 / num2
IMPRIMIR div
SINO
mult = num1 * num2
IMPRIMIR mult
FIN-SI
FIN

2.3. Estructuras de Decisión Múltiples:


Es cuando se requiere el uso de mas de dos estructuras, dos preguntas o tiene
muchas posibilidades. Su sintaxis es una combinación de las dos estructuras
anteriores. Se debe utilizar un SI-SINO para cada una de las probabilidades,
EXCEPTO PARA LA ÚLTIMA. Y se debe tener en cuanta que el número de SI
que tenga un algoritmo, TIENE que ser igual al de FIN-SI. Cada estructura se
debe desplazar un poco hacia la derecha al momento de abrirla, pero se
cierran hacia el lado izquierdo. Ejemplo:

SI (CONDICIÓN1) ENTONCES
...Instrucciones, cálculos y/ operaciones (pregunta1 verdadera)
SINO
SI (CONDICIÓN2) ENTONCES
...Instrucciones, cálculos y/ operaciones (pregunta2 verdadera)
SINO
SI (CONDICIÓN-n) ENTONCES
...Instrucciones, cálculos y/ operaciones (pregunta-n
verdadera)
FIN-SI
FIN-SI
FIN-SI

En este caso las primeras instrucciones (de cada SI) se desarrollarán cuando la
pregunta sea verdadera, y las otras, cuando sea falsa.

Ejemplo:
Desarrolle un algoritmo que lea dos número y calcule división del primero por el
segundo sólo si el segundo es menor que el primero. Si el segundo es mayor
que el primero calcule su suma y si son iguales calcule su resta.

INICIO
LEER num1, num2
SI (num1 < num2) ENT
div = num1 / num2
IMPRIMIR div
SINO
SI (num2 > num1) ENT
sum = num1 + num2
IMPRIMIR sum
SINO
SI (num2 = num1)
resta = num1 –num2
IMPRIMIR resta
FIN-SI
FIN-SI
FIN-SI
FIN

Para evitar el uso de muchas variables y el algoritmo se realice de una manera


optima se recomienda utilizar una sola variable para mostrar el resultados de
las operaciones. Observe el siguiente ejemplo:

INICIO
LEER num1, num2
SI (num1 < num2) ENT
resultado = num1 / num2
SINO
SI (num2 > num1) ENT
resultado = num1 + num2
SINO
SI (num2 = num1)
resultado = num1 –num2
FIN-SI
FIN-SI
FIN-SI
IMPRIMIR resultado
FIN

Además observe, y tenga muy en cuenta que CUANDO SE REALIZA UNA


OPERACIÓN, O UN CÁLCULO EN TODAS LAS ESTRUCTURAS DE
DECISIÓN, ÉSTA INTRUCCIÓN SE PUEDE COLOCAR DESPUÉS DE
CERRAR TODAS LAS ESTRUCTURAS DE DECISIÓN. Ese es el caso de la
instrucción IMPRIMIR resultado, que se podría colocar después de cada
cálculo, pero como se repite en todas las condiciones, es recomendable
colocarlo al final, después de cerrar las estructuras.

Algunas preguntas dentro de un ejercicio, requerirán de preguntas con varias


condiciones, para lo cual se usan los operadores booleanos para separarlas:

 And o ^ que es Disyunción Y


 Or o v que es Conjunción O
 Not o ! que es Negación

En los algoritmos manejaremos los operadores ^, v y !.

Por ejemplo: Se pide determinar si un triangulo es equilátero, escaleno o


isósceles. Se leen sus 3 lados.

INICIO
LEER Lado1, Lado2, Lado3
SI (Lado1=Lado2) ^ (Lado1=Lado3) ENT
IMP “ES EQUILÁTERO”
SINO
SI (Lado1!=Lado2) ^ (Lado1!=Lado3) ^ (Lado2!=Lado3) ENT
IMP “ES ESCALENO”
SINO
IMP “ES ISOSCELES”
FIN-SI
FIN-SI
FIN

Para entender mejor las estructuras de decisión, vamos a realizar varios


ejercicios del tema; pero basado en el último taller de algoritmos secuenciales.

También podría gustarte