Definición:
En lenguajes de programación, las estructuras de control permiten modificar
el flujo de ejecución de las instrucciones de un programa.
Características:
- Sentencias que agrupan otras sentencias.
- Tiene su propio bloque definido de inicio y fin.
Sentencias de decisión, condicional o de
selección
- Tiene su propio bloque definido de inicio y fin.
Sentencias de decisión, condicional o de selección
Las sentencias de decisión o también llamadas de control de flujo son
estructuras de control que realizan una pregunta la cual retorna verdadero o
falso (evalúa una condición) y selecciona la siguiente instrucción a ejecutar
dependiendo la respuesta o resultado.
En algún momento dentro de nuestros algoritmos, es preciso cambiar el flujo
de ejecución de las instrucciones, es decir, el orden en que las instrucciones
son ejecutadas. Muchas de las veces tenemos que tomar una decisión en cuanto a
que se debe ejecutar basándonos en una respuesta de verdadero o falso
(condición).
La ejecución de las instrucciones incluyendo una estructura de control como el
condicional funcionan de esta manera:
- Las instrucciones comienzan a ejecutarse de forma secuencial (en orden) y cuando se llega a una estructura condicional, la cual esta asociada a una condición, se decide que camino tomar dependiendo siempre del resultado de la condición siendo esta falsa o verdadera.
- Cuando se termina de ejecutar este bloque de instrucciones se reanuda la ejecución en la instrucción siguiente a la de la condicional.
La instrucción if es, por excelencia, la más utilizada
para construir estructuras de control de flujo.
Sintaxis:
if (condición)
sentencia_por_verdad;
else
sentencia_por_falso;
Notas: El término else es opcional en caso que la decisión
sea solo simple.
En caso de dos o más sentencias, estas se agrupan entre llaves
{ }.
Sentencia Switch
switch es otra de las instrucciones que permiten la construcción de
estructuras de control. A diferencia de if, para controlar el flujo
por medio de una sentencia switch se debe de combinar con el
uso de las sentencias case y break.
Sintaxis:
switch ( variable) // la
variable es de tipo entero o caracter //
{
case valor1 :
accion1;
break;
case valor2 :
accion2;
break;
case valorN :
acciónN;
break;
default:
accionD;
}
Notas: cualquier número de casos a evaluar por switch así
como la sentencia default son opcionales. La sentencia switch es
muy útil en los casos de presentación de menus.
Las Sentencias de Iteración o Ciclos son
estructuras de control que repiten la ejecución de un grupo de instrucciones.
Básicamente, una sentencia de iteración es una estructura de control
condicional, ya que dentro de la misma se repite la ejecución de una o más
instrucciones mientras o hasta que una a
condición especifica se cumpla. Muchas veces tenemos que repetir un número
definido o indefinido de veces un grupo de instrucciones por lo que en estos
casos utilizamos este tipo de sentencias. en C++ los ciclos o bucles se
construyen por medio de las sentencias for, while y do
- while. La sentencia for es útil para los casos en donde
se conoce de antemano el número de veces que una o más sentencias han de
repetirse. Por otro lado, la sentencia while es útil en
aquellos casos en donde no se conoce de antemano el número de veces que una o
más sentencias se tienen que repetir.
Sentencias For
Sintaxis:
for (contador; final; incremento)
{
código a repetir;
}
donde:
1. contador es una variable
numérica
2. final es la condición
que se evalúa, o sea, el valor final para contador
3. incremento es el valor
que se suma o resta al contador
Ejemplo 1:
for(i=1; i<=10; i++)
{
printf("Hola Mundo\n");
}
Esto indica que el contador "i" inicia desde 1 y finaliza cuando
el contador "i" sea menor o igual a 10 ( en este caso llegará hasta
10) e "i++" realiza la sumatoria por unidad lo que hace que el for y
el contador se sumen. repitiendo 10 veces "Hola Mundo" en pantalla.
Sintaxis:
while (condición)
{
código a Repetir;
}
donde:
1. condición es la
expresión a evaluar
Ejemplo 1:
int contador = 0;
while(contador<=10)
{
contador=contador+1;
printf ("Hola Mundo\n");
}
El contador Indica que hasta que este llegue a el total de 10 entonces se
detendrá y ya no se realizará el código contenido dentro de la sentencia while,
de lo contrario mientras el "contador" sea menor a 10 entonces el
código contenido se ejecutará desplegando hasta 10 veces "Hola Mundo"
en pantalla.
Sentencia do - while
La sentencia do es usada generalmente en cooperación
con while para garantizar que una o más instrucciones se
ejecuten al menos una vez. Por ejemplo, en la siguiente construcción no se
ejecuta nada dentro del ciclo while, el hecho es que el contador inicialmente
vale cero y la condición para que se ejecute lo que está dentro del while es
"mientras el contador sea mayor que diez". Es evidente que a la
primera evaluación hecha por while la condición deja de cumplirse.
int contador = 0;
while(contador > 10)
{
contador ++;
printf ("Hola Mundo\n");
}
Al modificar el segmento de código anterior usando do tenemos:
int contador = 0;
do
{
contador ++;
printf ("Hola Mundo\n");
}
while(contador > 10);
Observe cómo en el caso de do la condición es evaluada al
final en lugar de al principio del bloque de instrucciones y, por lo tanto, el
código que le sigue al do se ejecuta al menos la primera vez.
- Las instrucciones comienzan a ejecutarse de forma secuencial (en orden) y cuando se llega a una estructura condicional, la cual esta asociada a una condición, se decide que camino tomar dependiendo siempre del resultado de la condición siendo esta falsa o verdadera.
- Cuando se termina de ejecutar este bloque de instrucciones se reanuda la ejecución en la instrucción siguiente a la de la condicional.
donde:
}
}