viernes, 19 de noviembre de 2010

Estructuras de Selección

A veces, a la hora de programar, necesitamos que nuestro programa realize ciertas operaciones que determinen cuando algo es verdadero o falso (de acuerdo a nuestro critterio), ésto se puede lograr gracias a las sentencias de selección, esto, claro está, nos permitirá manipular la siguiente acción del programa que elaboremos.

Las estructuras de selección son las siguientes:

-----------------------------------------------------------------

Sintaxis de la estructura de selección IF
if (expresión) instrucción1;
Cabe señalar, que ésta estructura únicamente se va a ejecutar cuando el valor sea verdadero.
Un ejemplo sencillo de ésta estructura sería el siguiente:

  1. #include <conio.h>
  2. #include <stdio.h>
  3. #include <iostream.h>
  4.  
  5. main() {
  6. int area, a;                        // Para este ejemplo escogeremos valores de tipo entero, después se podrá cambiar a flotantes si se desea.
  7.    cout<<"Programa que calcula el area de un cuadrado \n";
  8.    cout<<"Introduzca la medidas del cuadrado: \n";
  9.    cin>>a;                          // Se recibe la medida del cuadrado.
  10.    if (a<0)                           // En este momento entra la estructura, la cual validará si el valor que ingresemos es negativo (menor que cero).
  11.     cout<<"No se puede calcular un area negativa. Presione cualquier tecla para salir\n";
  12. area=a*a;                      // Se declara la operación que se realizará.
  13.    cout<<"El area del cuadrado es: "<<area;
  14.    getch();                          // getch(); indica que tras pulsar una tecla el programa se terminará existosamente.
  15.    }
-----------------------------------------------------------------

Sintaxis de la estructura de selección IF-ELSE
Ésta estructura le indica al programa que hagamos, que haga una instrucción si la comparación es verdadera, y que haga otra si la comparación es falsa.
Un ejemplo usando ésta estructura vendría siendo el siguiente:

  1. ~~
  2. ~~
  3. ~~
  4.  
  5. main() {
  6. int a;
  7.   cout<<"PROGRAMA QUE DEDUCE SI UN NUMERO ES POSITIVO O ES NEGATIVO";
  8.   cout<<"INTRODUCE UN NUMERO ENTERO \n";
  9.   cin>>a;
  10.   if (a<0)         // Éste if evalúa la comparación, si el valor es menor que cero imprime la instrucción.
  11.   cout<<"EL NUMERO "<<a<<" ES NEGATIVO.\n";
  12.     else            // El else ubicado aquí, indica qué hacer cuando la condición sea falsa.
  13.       cout<<"EL NUMERO "<<a<<" ES POSITIVO.\n";
  14. }
-----------------------------------------------------------------

Sintaxis de la estructura de selección IF-ELSE (anidada):
if (condición)
      sentencia;
   else
        if (condición)
             sentencia;
         else
               if (condición)
                  sentencia;
              else
                     sentencia;

if (expresión)
    instrucción1;
else
    instrucción2;


Ésta estructura, al igual que la anterior hace lo mismo, solamente que nos encontramos con la novedad de que ejecuta varias comparaciones, una seguida de otra.

Un código ejemplo sería el siguiente:

  1.  ~
  2. ~
  3. ~
  4.  
  5. main () {
  6. float calif;
  7.   cout<<"Ingresa la calificacion del alumno: \n";
  8.   cin>>calif;
  9.   if (calif >= 90)   {
  10.     cout << “Nota: A \n”;
  11.                              }
  12.      else
  13.           {
  14.          if (calif >= 80)  {
  15.            cout << “Nota: B \n”;
  16.                                    }
  17.              else
  18.                 {
  19.                 if (calif >= 70)  {
  20.                    cout << “Nota: C \n”;
  21.                                          }
  22.                        else
  23.                          {
  24.                           if (calif >= 60)  {
  25.                              cout << “Nota: D \n”;
  26.                                                      }
  27.                                  else
  28.                                      {
  29.                                      cout << “Nota : F \n”;
  30.                                       }
  31.                          }
  32.                 }
  33.       }
  34. getch();
  35. }

Para una mejor lectura de código, al trabajar con estructuras anidadas se recomienda usar llaves.

Ir a la sección de estructuras selectivas.
-----------------------------------------------------------------
Sintaxis de la estructura de selección SWITCH-CASE:
La sintaxis general de ésta estructura es:

swtich (expresión)
{                                // Inicio de instrucciones compuestas
  case valor_1:             // Verifica que termine con 2 puntos.
       instruccion1;
       instruccion2;
              .
              .
       break;
 case valor_2:              // Termina con 2 puntos
      instruccion1;
      instruccion2;
             .
             .
     break;
             .
             .
 case valor_n:               // Termina con 2 puntos
     instruccionw;
     instruccionx;
             .
             .
     break;
  default:                       // Termina con 2 puntos
     instruccionaa;
     instruccionbb;
             .
            // fin de switch e instrucciones compuestas
          }

Un código ejemplo sería el siguiente:

  1. ~
  2. main () {
  3. int op;
  4. double a, b;
  5.  
  6. cout<<"INTRODUCE 2 NUMEROS: \b";
  7. cin>>a>>b;
  8. cout<<"ESCOJA UN CODIGO DE SELECCION: ";
  9. cout<<"\n     Suma (1)";
  10. cout<<"\n     Multiplicacion (2)";
  11. cout<<"\n     Division (3)";
  12. cin>>op;
  13.  
  14. swtich (op)
  15. {
  16.   case 1:
  17.     cout<<"La suma de los numeros introducidos es: "<<a+b;
  18.     break;
  19.   case 2:
  20.     cout<<"El producto de los numeros introducidos es: "<<a*b;
  21.     break;
  22.   case 3:
  23.     cout<<"El primer numero dividido entre el segundo es: "<<a/b;
  24.     break;
  25.                         // fin de switch
  26.   }
  27. cout<<"\n";
  28. getch();
  29. }
-----------------------------------------------------------------
Ir a la sección de estructuras selectivas.

No hay comentarios:

Publicar un comentario