Está en la página 1de 7

ESTRUCTURAS DE CONTROL:

Controlan el flujo de ejecución de un programa o función. Permiten


combinar instrucciones o sentencias individuales en una simple unidad
lógica con un punto de entrada y un punto de salida.
Las instrucciones o sentencias se organizan en tres tipos de estructuras de
control que sirven para controlar el flujo de la ejecución: secuencia
(bloque), selección (decisión) e iteraciones (bucle, repeticiones).

Secuencia: es un conjunto de sentencias encerradas entre llaves ({ y })


que se utiliza para especificar un flujo de instrucciones de un programa.
Ejemplo:

Lenguaje Natural C/C++


#include <stdio.h>
{
main()
sentencia1;
{
sentencia2;
float numero;

printf(“Int. un número positivo o negativo: ”);
sentenciaN;
scanf(“%f”,&numero);
}
printf(“El número es: %f ”, numero);
}
Sentencia de Control if
En C, la estructura de control de selección principal es una sentencia if.
La sentencia if tiene dos alternativas o formatos posibles. El formato
más sencillo tiene la sintaxis siguiente:

if (Expresión) Acción / if (Expresión) Acción1 else Acción2


Expresión -> condición que determina SI la acción se ha de ejecutar
Acción -> instrucción/secuencia que se ejecuta si la expresión lógica es
verdadera
Ejemplos
(1) if (n == 0) printf ("%d es divisible por %d\n",n,d);
(2) if (numero > 0)
printf ("%f es mayor que cero\n" ,numero);
(3) if (numero > 0)
{ printf ("%f es mayor que cero\n" ,numero);
contar = contar + 1; }
(4) if (numero > 0)
printf ("%f es mayor que cero\n" ,numero);
else
printf ("%f es menor que cero\n" ,numero);
Sentencia de Control switch
La sentencia switch es una sentencia C que se utiliza para seleccionar una
de entre múltiples alternativas. La sentencia switch es especialmente Útil
cuando la selección se basa en el valor de una variable simple o de una
expresión simple denominada expresicín de control o selector. El valor
de esta expresión puede ser de tipo int o char, pero no de tipo float ni
double, ni cadena. Si el valor de la expresión selector es igual a una de
las etiquetas case -por ejemplo, etiqueta - entonces la ejecución
comenzará con la primera sentencia de la secuencia sentencia y
continuará hasta que se encuentra el final de la sentencia de control
switch, o hasta encontrar la sentencia break. Es habitual que después
de cada bloque de sentencias correspondiente a una secuencia se
desee terminar la ejecución del switch; para ello se sitúa la sentencia
break como última sentencia del bloque. break hace que siga la
ejecución en la siguiente sentencia switch.

switch (selector)
{
case etiqueta, … : sentencias,…;
break;

default: sentencias,…; /* opcional. */
}
Selector -> condición que determina SI la acción se ha de ejecutar
Etiqueta -> valor implícito de la condición
Ejemplo
(1) switch (nota)
{ case 'A': puts( "Examen superado");
break;
case 'B': puts( " Suficiencia");
break;
case 'C ': puts( "Aprobado" );
break;
case 'D ': puts( "Reprobado" );
break;
default:
puts("No es posible esta nota"); }
Sentencia de Control Iteraciones: es la ejecución de una tarea
muchas (repetidas) veces con gran velocidad, precisión y fiabilidad. C
soporta tres tipos de estructuras de control: los bucles while, for y do-
while. Estas estructuras de control o sentencias repetitivas controlan el
número de veces que una sentencia o listas de sentencias se ejecutan.

Tipos:
While For Do - While
while (expresión) for (inicialización; do
{ condición/iteración; incremento) { sentencia;
sentencia; sentencia; …
… }
} while (expresión);
Expresión -> condición que determina SI la acción se ha de ejecutar
Sentencia -> instrucciones que se ejecuta si la expresión lógica es
verdadera
Ejemplo:
contador = 0; int i=0; int digito=0;
while (contador < 10) for (i = 0; i < 10; i++) do
{ { printf(“Hola! \n”); {
printf(“ * ") ; printf (“Van: %d”, i); Printf(“Introduzca un
contador++; } dígito (0-9): “);
} scanf("%i", &digito);
}while (digito < 0 ||
digito > 9);

Consideraciones/Recomendaciones
While El uso más frecuente es cuando la repetición no está
controlada por un contador; el test de condición precede a
cada repetición de la iteración; el cuerpo de la iteración
puede no ser ejecutado. Se debe utilizar cuando se desea
saltar el bucle si la condición es falsa.
For El uso recomendado es cuando el número de repeticiones
se conoce por anticipado y puede ser controlado por un
contador; el test de la condición precede a la ejecución del
cuerpo del bucle.
Do-While Es adecuada para asegurar que al menos se ejecuta el bucle
una vez.

La sentencia break
La sentencia break en los bucles, la sentencia break se utiliza, a veces,
para realizar una terminación anormal del bucle. Dicho de otro modo,
una terminación antes de lo previsto. Su sintaxis es: break;
La sentencia break se utiliza para la salida de un bucle while o do-while,
aunque también se puede utilizar dentro de una sentencia switch, siendo
éste su uso más frecuente.
Ejercicios:

EJERCICIOS:
(1) ¿Qué errores de sintaxis tiene la siguiente sentencia?
if x > 25.0
y=x
else
y = z;
(2) ¿Qué valor se asigna a consumo en la sentencia if siguiente si
velocidad es 120?
if (velocidad > 80)
consumo = 10.00;
else if (velocidad > 100)
consumo = 12.00;
else if (velocidad > 120)
consumo = 15.00;
(3) Codificar un programa que escriba la calificación correspondiente
a una nota, de acuerdo con el siguiente criterio:
0 a < 5.0 Suspenso
5 a < 6.5 Aprobado
6.5 a < 8.5 Notable
8.5 a < 10 Sobresaliente
10 Matrícula de honor.
(4) Encontrar el número mayor de una serie de números.
(5) Escribir un programa que calcule la suma de los 50 primeros números
enteros.
(6) Realice un programa que determine el numero más grande y el más
pequeño de N números. El valor de N será solicitado al inicio del
programa y los números serán introducidos uno a uno por el usuario
final.
(7) En una empresa X, el sueldo de los trabajadores se incrementaran
según las siguientes condiciones:

Escala de Sueldo (BsF) Incremento (%)


0 a 9000 45
9001 a 15000 30
150001 a 20000 15
más de 20000 5

Elabore un programa que realice el calculo correspondiente (incremento


de sueldo para el trabajador), muestre el sueldo actual, incremento,
sueldo propuesto y trabajador; con un fin determinado por el usuario
final.