You are on page 1of 6

ESTRUCTURA DE DECISIÓN O CONDICIONANTE

La unidad aritmética y lógica es uno de los componentes más 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 cálculo se especifica en una expresión numérica.

Por ejemplo:

Suponga que tiene dos variables numéricas, denominadas A y B, que tienen valores
diferentes, y suponga que desea imprimir el valor de la mas grande. Si A es mayor que
B, debe imprimir el valor de A; pero, por otro lado, si B es mayor que A, debe
imprimirse el valor de B. La elección de que alternativa tomar depende de la decisión
de si la variable A es o no mayor que B. Esta estructura se representa mediante el
diagrama siguiente:

Suponga que A tiene el valor de 5 y B el valor de 3. Como 5 es mayor que 3, la


condición A>B es verdadera, de lo que resulta que se tomara la acción de la izquierda
y se imprime el valor de A, es decir 5. Ahora supóngase que estos valores están
invertidos, de manera que A tiene el valor 3 y B el valor 5, entonces A>B es falsa ya
que 3 es menor que 5, y se tomara la acción de la derecha y se imprime el valor de B,
es decir, 5. En ambos casos el valor impreso es le mas alto, como se requería.

Las estructuras de decisión se dividen en

 Simples
 Dobles
 Anidadas

Estructura de demisión simple

Es la que se ejecuta cuando la condicion propuesta es verdadera, ejemplo de ello


tenemos

1 <?php

3 if(2 > 1){

4 //si 2 es mayor que 1 entonces:

5
6 echo "La condición se cumple";

8 }

10 echo "<br />";

11

12 echo "El mensaje anterior se muestra si y solo si, la condición es verdadera";

13

14 ?>

Estructura de decisión doble

Es la estructura que nos permite tomar un camino diferente si la condición establecida


no es verdadera, para esto haremos uso de la palabra clave else, que seria como decir
sino (o de lo contrario)

1 <?php

3 if(1 > 1){

4 //si 1 es mayor que 1 entonces:

6 echo "La condición se cumple";

8 }else{

9 echo "La condición no se cumple";

10 }

11

12 echo "<br />";

13

14 echo "El mensaje anterior se muestra si y solo si, la condición es verdadera";

15

16 ?>
Estructuras de decisión anidadas

Este tipo de estructuras nos permite tomar mas de un camino para una condicion y
esta estructura puede ser expresada de dos formas, anidando estructuras, o con el
uso de la palabra elseif, lo que podria traducirse como, sino, si…

Bueno veamos un ejemplo de cada uno, primero usando las anidadas

1 <?php

3 if(1 > 1){

4 //si 1 es mayor que 1 entonces:

6 echo "La condición se cumple";

8 }else{

9 if(1 < 1){

10 echo "La condición se cumple";

11 }else{

12 echo "un else anidado";

13 }

14 }

15

16 echo "<br />";

17

18 echo "El mensaje anterior se muestra si y solo si, la condición es verdadera";

19

20 ?>

SENTENCIA SI ENTONCES

Una sentencia condicional es una instrucción o grupo de instrucciones que se pueden


ejecutar o no en función del valor de una condición.

Los tipos más conocidos de sentencias condicionales son el SI..ENTONCES (if..then),


el SI..ENTONCES..SI NO (if..then..else) y el SEGÚN (case o switch), aunque también
podríamos mencionar al manejo de excepciones como una alternativa más moderna
para evitar el "anidamiento" de sentencias condicionales.

Las sentencias condicionales constituyen, junto con los bucles, los pilares de la
programación estructurada, y su uso es una evolución de una sentencia en lenguaje
ensamblador que ejecutaba la siguiente línea o no en función del valor de una
condición.

Lanzamiento de errores

En el caso de algoritmos donde se ejecutan muchas instrucciones que pueden


devolver errores se vuelve a tener el caso de condicionales añadidos que dificultan la
lectura. Por ejemplo:

Si bien es un problema que este anidamiento puede llegar a ser muy grande, la
principal razón para utilizar el lanzamiento de errores es que con el tipo de estructura
anterior se pierde la noción del camino principal, y cuesta mucho más encontrar las
sentencias de ejecución normal, (en este caso Cuerpo), por la presencia de las
condiciones de error que entorpecen la legibilidad.

Algunos lenguajes como Java han tenido esto en cuenta y desarrollaron el


lanzamiento de errores, que consiste en separar el tratamiento de errores al final de la
instrucción, para no perder de vista el hilo de continuidad. Para esto, los métodos en
lugar de devolver un valor lógico (verdadero o falso) para determinar si la operación se
efectuó correctamente, deben "lanzar" excepciones.

El código es ejecutado normalmente hasta que ocurre una excepción, en este caso
"salta" al manejo de errores adecuado; es decir las sentencias pueden o no ejecutarse,
en función de si previamente se haya lanzado un error o no. En algunos casos puede
darse que exista código que debe ejecutarse al final, independientemente de si se
haya lanzado o no un error (en nuestro caso podría ser la operación de cerrar el
archivo para que otros puedan acceder a él), para lo cual también hay sentencias
especiales.
A su vez los procedimientos que lanzan excepciones deben contener alguna línea con
el siguiente código:

LANZAR Tipo Excepción

El código que llama a una subrutina que puede lanzar un error, tiene dos alternativas:
o la trata él mismo (con la estructura anterior) o la "LANZA" a la subrutina superior que
la invocó. Algunas veces no es obligatorio tratar estos errores.

En Java la estructura es la siguiente:

SI – ENTONCES CASO CONTRARIO

El Si-Entonces sirve para condicionar la ejecución de algún código. Dicho código se


ejecuta si la condición del Sí-Entonces evalúa a verdadero.El código bajo control se
encuentra entre el Si y el FinSi. Este código puede ser apenas una línea o cientos de
líneas con todo tipo de instrucciones y estructuras de control.

Si «condición» Entonces

«código»

FinSi
La condición es una expresión lógica o relacional que da como resultado un valor
lógico Verdadero o Falso. El arte de usar el Si-Entonces es la correcta construcción de
la condición, la Némesis de los alumnos.

Supongamos que en una tienda se aplica un 15% de descuento si el cliente lleva más
de 3 productos. El si del enunciado nos lleva al Si-Entonces del código:

La condición puede ser más o menos compleja. Supongamos que la tienda se pone
más exigente para el descuento, y ahora se requiere no sólo que lleve más de 3
productos, sino que el precio sea mayor o igual a $5.000 y que el día sea lunes.

El Si-Entonces tiene una cláusula opcional Sino que sirve para poner código que se
ejecuta en caso que la condición evalúa a Falso.

Si «condición» Entonces
«código si condición evalúa a Verdadero»
Sino
«código si condición evalúa a Falso»
FinSi
Volvamos a la tienda y su promoción. Si el cliente lleva más de 3 artículos se le regala
un osito de peluche, caso contrario se le regala un loli.

El Sino es opcional.

You might also like