7.-Estructuras de decisión

Estructuras de decisión

Estructura de decisión If-Else
Cuando el programador desea especificar en un algoritmo o programa 2 o más caminos alternativos se debe utilizar una estructura de decisión, la cual evalúa una condición y en función del resultado, realiza una parte de la estructura u otra. Las condiciones se especifican mediante expresiones lógicas. Una de las estructuras de decisión es la estructura if-else y su sintaxis es la siguiente:
 //Si se trata de dos o más instrucciones, estas van entre llaves { }
 if (condición)
 
  Instrucciones a ejecutar cuando la condición es verdadera;
  
 else
 
  Instrucciones a ejecutar cuando la condición es falsa;

Ejemplo:
 #include <stdio.h>
 #include <conio.h>

 void main(){
 
 int year;
 
 clrscr(); //Limpia la pantalla
 
 printf ("Progama para determinar si un año es bisiesto");
 printf ("\nIntroduce un numero de año\n");
 
 scanf ("%i", &year);
 
 if (year%4 == 0 && year%100 != 0 || year%400 == 0)

  printf ("\a\nEl año %i si es bisiesto", year);
  
 else
  
  printf ("\a\nEl año %i no es bisiesto", year);
  
 getch(); 
 }

If’s anidados
 if (condición) 
  
  if (condición)
  
   Instrucciones a ejecutar cuando la condición es verdadera;
   
  else 
  
   Instrucciones a ejecutar cuando la condición es falsa;
   
 else 
 
  Instrucciones a ejecutar cuando la condición es falsa;

Ejemplo:
 #include <stdio.h>
 #include <conio.h>

 void main(){
 
 int a, b, c, d, mayor;
 
 clrscr ();
 
 printf ("Programa que indica cual de 4 numeros es el mayor\n");
 printf ("Introduce 4 numeros enteros:\n");
 
 scanf ("%i%i%i%i", &a, &b, &c, &d);
 
 if (a > b)
  if (a > c)
   if (a > d)
    mayor = a;
    
   else
    mayor = d;

  else 
   if (c > d) 
    mayor = c;
    
   else
    mayor = d;
 else
  if (b > c)
   if (b > d)
    mayor = b;
    
   else 
    mayor = a;
    
  else 
   if (c > d)
    mayor = c;

   else 
    mayor = d;

 printf ("El mayor es %i", mayor);
 
 getch();
 }

Estructura de decisión múltiple (switch)
La estructura switch evalúa una expresión que puede tomar n valores distintos, según con cual de estos valores coincida, se ejecutaran ciertas acciones, es decir, el programa o algoritmo seguirá un determinado camino entre los n posibles.
La sintaxis de la estructura switch es:
 switch (expresión entera) {

 case exp_constante_1: 
  acciones a realizar cuando la expresión tiene el valor exp_constante_1;
 break;

 case exp_constante_2: 
  acciones a realizar cuando la expresión tiene el valor exp_constante_2;
 break;

 ...especificar todos los casos

 default: 
  acciones a realizar cuando la expresión no coincide con ninguno de los casos;
 break;
 
 }

1 comentario: