En el artículo anterior estuvimos analizando cómo utilizar la estructura If, la cual nos ayuda a ejecutar una acción si una determinada condición se cumple. Ahora analizaremos la estructura If – Else, que es muy parecida, con la diferencia de que ahora además de ejecutar una acción cuando una condición se cumple, podremos indicarle una acción cuando esa condición no se cumpla.
Estructura If – Else: Estructura que realizará una acción cuando una condición sea verdadera y otra acción cuando esa condición sea falsa. Por ejemplo, si queremos analizar que ropa utilizar con respecto al clima podríamos hacerlo asi: Si (If) hace frio, utiliza abrigo, si no (Else), utiliza camiseta.
Si se requiere utilizar una condición If-Else en donde solo se ejecutará una acción se realiza de la siguiente manera, en este caso la instrucción 1 se ejecuta si la condición se cumple, si no, se ejecuta la instrucción 2:
Código:
If(Condicion) Instrucción1; Else Instrucción2; |
---|
Si se quiere utilizar una condición If-Else en donde se ejecutarán varias acciones se debe utilizar un bloque de sentencias de la siguiente manera, en este caso la instrucción 1 y 2 se ejecuta si la condición se cumple, si no, se ejecuta la instrucción 3 y 4:
Código:
If(Condicion) { Instrucción1; Instrucción2; } Else { Instrucción3; Instrucción4; } |
---|
Else If: Si se quieren evaluar más de dos condiciones por separados se utiliza la estructura Else If además del If – Else. Por ejemplo, si queremos catalogar de la siguiente manera: Menor a 10 años es un niño, Mayor de 10 y menor de 18 es un adolescente, y mayor a 18 es un adulto. En este caso tendríamos que realizarlo de la siguiente manera:
Código:
If(Edad<10) { printf("Niño"); } Else If(10>Edad<18) { printf("Adolescente"); } Else { printf("Adulto"); } |
---|
Anidamiento If-Else-If: En ocasiones queremos analizar una condición, y si esa condición no se cumple analizar otra condición. Para ese tipo de situaciones se utiliza el anidamiento de If-Else-If, que consiste en una vez programado el If-Else, insertar la evaluación de una condición (If) en el Else creado; básicamente es anidar una estructura dentro de otra. Por ejemplo si queremos analizar el color de un carro, podríamos hacerlo con If-Else anidado:
Código:
If(Rojo==1) { printf("El carro es rojo"); } Else { If(Azul==1) { printf("El carro es azul"); } Else { printf("El carro no es rojo ni azul"); } } |
---|
Como podemos ver, primero analizamos si el carro es rojo, si no, anidamos dentro del Else y ahí dentro preguntamos si el carro es azul.
Realizar un programa que permita calcular el precio de un pasaje de ida y de vuelta en ferrocarril por medio de una función, conociendo tanto la distancia entre las dos ciudades como el tiempo que se quedara en la ciudad de destino. Si el número de días de estancia es superior a 11 y la distancia total (ida y vuelta) a recorrer es superior a 400 Km., el precio del pasaje se reduce en 15%. El precio por Km. es de $40.
Código:
/* Estructura de control selectiva (IF-ELSE) - Por Solución Ingenieril*/ #include <stdio.h>/* Declaración librerías*/ #include <stdlib.h> void calculo(float km, int dias); //Declaramos función que realizara los cálculos int main(){ float kil,di; //Declaramos variables flotantes printf("Ingresa la distancia en KM a recorrer: \n"); scanf("%f",&kil); //Guardamos la distancia printf("Ingresa el número de días de estancia: \n"); scanf("%f",&di); //Guardamos los días de estancia calculo(kil,di); //Llamamos a la función para cálculos y enviamos las variables system("PAUSE"); return 0; } void calculo(float km, int dias){ //Funcion que realizara los calculos, recibe las variables float costo,des; //Declaramos viarables costo=km*40; //Realizamos el cálculo del costo if(km>400 && dias>11){ //Si recorrió más de 400 km, y su estancia es de más de 11 días... des=costo*.15; //Calcula y aplica descuento printf("El precio (con descuento) del pasaje sera: %.2f \n",costo-des);} else //Si no... printf("El precio del pasaje sera: %.2f \n",costo); //Aplica el costo sin descuento } |
---|
1.- Caso en el que no se aplica descuento
2.- Caso en el que se aplica descuento
La estructura de control selectiva If-Else es una de las más utilizadas dentro del ámbito de la programación, pues nos permite realizar una acción en base a una condición, y tener una acción alternativa en caso de que dicha condición no se cumpla. En este artículo analizamos como utilizarla, vimos ejemplos, además de explorar temas más profundos como son los If-Else anidados.