estructura de control

 

  Las estructuras de control determinan la secuencia en la que se ejecutarán las instrucciones de un programa.

Las estructuras de control se dividen en tres categorías en función del flujo de ejecución:
Estructura secuencial.
Estructura alternativa o condicional.
Estructura iterativa o repetitiva.
1. ESTRUCTURA SECUENCIAL
La estructura secuencial está formada por una secuencia de instrucciones que se ejecutan en orden una a continuación de la otra.
Cada una de las instrucciones están separadas por el carácter punto y coma (;). No obstante, en algunos casos nos interesará agrupar en un bloque una serie de instrucciones, como veremos al explicar las estructuras de selección y de iteración. El bloque de sentencias se define por el carácter llave de apertura ({) para marcar el inicio del mismo, y el carácter llave de cierre (}) para marcar el final.

Ejemplo:
{
instrucción 1;
instrucción 2;
instrucción 3;
.....
instrucción N;
}
Sin embargo, en caso de que el bloque de sentencias este constituido por una única sentencia no es obligatorio el uso de las llaves de apertura y cierre ({ }).

#include <iostream>
using namespace std;
int main(void)
{
  int num;
  cout <<"Introduzca numero:";
  cin >> num;
  if ((num%2)==0)
      cout << "PAR" << endl;
  else
      cout << "IMPAR" << endl;
  system("pause");
}


Las instrucciones if-else se pueden anidar obteniéndose una estructura condicional múltiple:

if(condicion1)
   instrucción1;
else if(condicion2)    
        instrucción2;
      else if(condicion3)
              instrucción3;
             else if(condicion4)
                     instruccion4;
                    else

En este caso se evalúa la condicion1; si es cierta, se ejecuta la instrucción1 y se continúa por la instrucción 6 después del bloque de if-else anidados. Si la condición1 es falsa, se evalúa la condicion2, y así sucesivamente.
En caso de no ser cierta ninguna de las condiciones, la sentencia que se ejecuta es la del último else, es decir, la instrucción 5.
Ejemplo de estructura condicional múltiple en C++. Programa que lee un número entero que corresponde a una hora y muestra un mensaje según la hora que se haya leído.
                     instrucción5;

#include <iostream>
using namespace std;
int main(void)
{
   int hora;
   cout << "\nIntroduzca una hora (entre 0 y 24): ";
   cin >> hora;
   if ((hora >= 0) and (hora < 12))
        cout << "\nBuenos dias\n";
   else if ((hora >= 12) and (hora < 18))
             cout << "\nBuenas tardes\n";
        else if ((hora >= 18) and (hora < 24))
                  cout << "\nBuenas noches\n";
             else
                  cout << "\nHora no válida\n";
   system("pause");
}

instrucción switch
La sentencia switch selecciona una de entre múltiples alternativas.
La forma general de esta expresión es la siguiente:
switch (expresión)
{
     case constante1:
              instrucciones;
              break;
     case constante 2:
              instrucciones;
              break;
     · · ·
     default:
              instrucciones;
}

En una instrucción switch, expresión debe ser una expresión con un valor entero, y constante1, constante2, ..., deben ser constantes enteras, constantes de tipo carácter o una expresión constante de valor entero. Expresión también puede ser de tipo char, ya que los caracteres individuales tienen valores enteros
Dentro de un case puede aparecer una sola instrucción o un bloque de instrucciones.
La instrucción switch evalúa la expresión entre paréntesis y compara su valor con las constantes de cada case. Se ejecutarán las instrucciones de aquel case cuya constante coincida con el valor de la expresión, y continúa hasta el final del bloque o hasta una instrucción que transfiera el control fuera del bloque del switch (una instrucción break, o return). Si no existe una constante igual al valor de la expresión, entonces se ejecutan las sentencias que están a continuación de default si existe (no es obligatorio que exista, y no tiene porqué ponerse siempre al final).
Ejemplo de uso de la instrucción switch en C++. Programa que lee dos números y una operación y realiza la operación entre esos números.

Comentarios

Entradas más populares de este blog

conceptos BASICOS C+