Sei sulla pagina 1di 4

ESTRUCTURAS DE DECISIN

1. Definicin de una estructura de decisin:


Las estructuras de decisin, 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 operacin 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 > 5000.000) ENTONCES
CONSTANTE contra VARIABLE: SI (500.000 < SALARIONETO) ENTONCES
VARIABLE contra CLCULO: SI (SALARIO >= SALARIO+AUMENTO) ENT..
CLCULO contra VARIABLE: SI (SALARIOAUMENTO <= SALNETO) ENT..
CONSTANTE contra CLCULO: SI (450.000 != SALARIO - DISMIN) ENT..
CLCULO contra CONSTANTE: SI (NETO + AUMENTO = 550.000) ENT..
CLCULO contra CLCULO: SI (SALBAS RETEF > SALBAS + AUM) ENT..
2. Tipos de estructuras de decisin
2.1. Estructuras de Decisin Simples:
Cuando slo se requiere de una slo estructura o una sola pregunta. Su
sintaxis es la palabra SI, seguida de una pregunta o condicin (la cual va
encerrada en medio de parntesis), y por ltimo termina con la palabra
ENTONCES (algunos colocan slo sus 3 primeras letras: ENT), que significa
ENTONCES. As como todo algoritmo tiene su FIN, todas estructura de
decisin OBLIGATORIAMENTE, tiene su fin, el cual se escribe FIN-SI.
Ejemplo:
SI (CONDICIN) ENTONCES
...Instrucciones, clculos y/operaciones
FIN-SI
En medio de la estructura, SOLO se colocan las instrucciones, clculos u
operaciones que se deban desarrollar cuando la pregunta sea verdadera. Las
dems operaciones van fuera de la estructura de decisin. Las instrucciones o
clculos 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 nmeros y calcule la divisin del primero
por el segundo. Tenga en cuenta que slo se puede dividir si el segundo
nmero 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 Decisin Dobles:
Es cuando slo se requiere de dos estructuras, dos preguntas o slo se tienen
dos posibilidades. Su sintaxis es idntica a la estructura simple, slo que como
se manejan dos posibilidades se agrega la palabra SINO, en medio de la
estructura. Ej:
SI (CONDICIN) ENTONCES
...Instrucciones, clculos y/ operaciones (pregunta verdadera)
SINO
...Instrucciones, clculos y/ operaciones (pregunta falsa)
FIN-SI.
En este caso la primera instruccin se desarrollar cuando la pregunta sea
verdadera, y la otra, cuando sea falsa.
Ejemplo:
Desarrolle un algoritmo que lea dos nmero y calcule divisin del primero por el
segundo slo si el segundo nmero no es igual a cero, de lo contrario calcule
su multiplicacin.
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 Decisin Mltiples:
Es cuando se requiere el uso de mas de dos estructuras, dos preguntas o tiene
muchas posibilidades. Su sintaxis es una combinacin 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 nmero 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 (CONDICIN1) ENTONCES
...Instrucciones, clculos y/ operaciones (pregunta1 verdadera)
SINO
SI (CONDICIN2) ENTONCES
...Instrucciones, clculos y/ operaciones (pregunta2 verdadera)
SINO
SI (CONDICIN-n) ENTONCES
...Instrucciones, clculos y/ operaciones (pregunta-n
verdadera)
FIN-SI
FIN-SI
FIN-SI
En este caso las primeras instrucciones (de cada SI) se desarrollarn cuando la
pregunta sea verdadera, y las otras, cuando sea falsa.
Ejemplo:
Desarrolle un algoritmo que lea dos nmero y calcule divisin del primero por el
segundo slo 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
Adems observe, y tenga muy en cuenta que CUANDO SE REALIZA UNA
OPERACIN, O UN CLCULO EN TODAS LAS ESTRUCTURAS DE
DECISIN, STA INTRUCCIN SE PUEDE COLOCAR DESPUS DE
CERRAR TODAS LAS ESTRUCTURAS DE DECISIN. Ese es el caso de la
instruccin IMPRIMIR resultado, que se podra colocar despus de cada
clculo, pero como se repite en todas las condiciones, es recomendable
colocarlo al final, despus de cerrar las estructuras.
Algunas preguntas dentro de un ejercicio, requerirn de preguntas con varias
condiciones, para lo cual se usan los operadores booleanos para separarlas:

And o ^ que es Disyuncin Y


Or o v que es Conjuncin O
Not o ! que es Negacin

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


Por ejemplo: Se pide determinar si un triangulo es equiltero, escaleno o
issceles. Se leen sus 3 lados.
INICIO
LEER Lado1, Lado2, Lado3
SI (Lado1=Lado2) ^ (Lado1=Lado3) ENT
IMP ES EQUILTERO
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 decisin, vamos a realizar varios
ejercicios del tema; pero basado en el ltimo taller de algoritmos secuenciales.

Potrebbero piacerti anche