Está en la página 1de 8

INSTRUCCIONES DE CONTROL

CONTENIDOS

1. Introducción a las sentencias de control.

2. Instrucciones o sentencias condicionales: IF, IF-ELSE, SWITCH.

3. Instrucciones o sentencias repetitivas o iterativas:


WHILE, DO-WHILE, FOR.

4. Sentencias BREAK y CONTINUE.

INSTRUCCIONES DE CONTROL

1
Introducción a las sentencias de control

2
INSTRUCCIONES DE CONTROL

Introducción
Hasta ahora solo hemos visto la codificación en el lenguaje C++ de las
estructuras secuenciales, lo que nos proporciona programas lineales, es
decir, comienzan por la primera instrucción y acababan por la última,
ejecutándose todas una sola vez.
Entrada
Secuenciales Salida
Asignación
Estructuras Simples
Condicionales
Algorítmicas Múltiples
Hacer para
Cíclicas Hacer mientras
Repetir hasta

INSTRUCCIONES DE CONTROL

Esta forma de programación sólo me permite resolver problemas


sencillos.

Para resolver problemas más complejos, nos puede interesar que


dependiendo de los valores de los datos, se ejecuten unas instrucciones u
otras. Las instrucciones condicionales nos van a permitir representar
éste tipo de comportamiento.
Sentencias IF y SWITCH

En otro casos, nos encontraremos con la necesidad de repetir una


instrucción ó instrucciones un número determinado de veces. En éstos
casos utilizaremos instrucciones de control iterativas ó repetitivas
(ciclos).

Sentencias WHILE, DO-WHILE y FOR

4
INSTRUCCIONES DE CONTROL

2
Instrucciones o sentencias condicionales
IF, IF-ELSE, SWITCH

Instrucciones Condicionales

Instrucción condicional simple: IF


Se corresponde con la estructura algorítmica si ? no
condición

El formato general de una Instrucción (es )


sentencia if es la siguiente:

if (condición) if (condición)
{ instrucción;
instrucción 1;

instrucción n; Si se cumple la condición, entonces se
} ejecuta la instrucción ó el bloque de
instrucciones; en caso contrario, no se
Atención !!! ejecutan.

6
Instrucciones Condicionales

Instrucción condicional simple: IF

#include <iostream.h>
Ejemplos: int main()
{
...
#include <iostream.h>
int main()
if (cantidad > 100)
{
{
int a, x = 0, y;
descuento = 0.2;
cin >> a;
precio = n*descuento;
}
if (a==0)
x = 1;
...
return 0;
cout << x;
}
return 0;
}

Instrucciones Condicionales

Instrucción condicional doble : IF-ELSE


si ? no
condición
Estructura algorítmica asociada:

Formato general de la Instrucción(es )1 Instrucción(es )2


sentencia if-else

if (condición) if (condición)
{ instrucción 1;
varias instrucciones 1; else
} instrucción 2;
else
{ Si se cumple la condición, se ejecutan las
varias instrucciones 2; instrucciones del primer bloque;
} si no, se ejecutan las instrucciones del segundo
bloque.

8
Instrucciones Condicionales

Instrucción condicional IF, IF-ELSE


Diagrama sintáctico:

if ( condición ) instrucción ;

{ instrucción ; }

else instrucción ;

{ instrucción ; }

Instrucciones Condicionales

Instrucción condicional doble : IF-ELSE


Ejemplos:
#include <iostream.h>
int main()
#include <iostream.h> {
int main() ...
{
int a, x; if (cantidad > 100)
cin >> a; {
descuento = 0.2;
if (a==0) precio = n*descuento;
x = 1; }
else else
x= 0; precio = n;

cout << x; ...


return 0; return 0;
} }

10
Instrucciones Condicionales

Instrucción condicional doble : IF-ELSE anidadas

Hemos visto dos tipos de instrucciones condicionales, con una o dos


alternativas. Podemos utilizar las instrucciones IF-ELSE anidadas, es
decir, que alguna de las ramas sea a su vez otra instrucción IF-ELSE. Así
podemos implementar decisiones que implican más de dos alternativas.

si ? no
condición1
Acción (es) si ? no
condición2
Acción (es) Acción (es)

11

Instrucciones Condicionales

Instrucción condicional doble : IF-ELSE anidadas

La sintaxis de
.
if (condición1) instrucciones IF-ELSE anidadas
instrucción 1;
else
if (condición2) if (condición1)
instrucción 2; instrucción 1;
else else
instrucción 3; if (condición2)
instrucción 2;
else
La escritura en sangría facilita la if (condición3)
comprensión del código así como el instrucción 3;
chequeo del buen funcionamiento. else
instrucción 4;

12
Instrucciones Condicionales

#include <iostream.h> #include <iostream.h>


int main() A int main() B
{ {
int a, b, c, max; int a, b, c, max;
cin >> a >> b >> c; cin >> a >> b >> c;

if (a > b) if (a > b)
if (a > c) if (a > c)
cout << a; ¿Qué hacen cout << a;
else éstos else
cout << c; cout << c;
códigos ?
else else
if (b > c) if (b > c)
cout << b; cout << b;
else else
cout << c; cout << c;
cout << “fin del programa”;
return 0; return 0;
} }

13

Instrucciones Condicionales

Instrucción condicional múltiple : SWITCH


Estructura algorítmica asociada Constante 1 ConstanteN
?
DATO
Formato general de la
sentencia witch Acción (es) Constante 2 Acción (es)

switch (selector) Acción (es) ... ...


{
case constante1:
instrucción1 ó bloque de instrucciones
break;
case constante2: Permiten comparar una
instrucción2 ó bloque de instrucciones
‘variable’ con distintos
break;
defeault: valores posibles, ejecutando
instrucción2 ó bloque de instrucciones para cada caso una serie de
} instrucciones específicas.

14
Instrucciones Condicionales

Instrucción condicional múltiple : SWITCH


Formato general de la
sentencia witch
El valor de selector debe ser un número
switch (selector) entero. Puede ser una variable, una expresión
{ ó una llamada a una función.
case constante1:
instrucción1 ó bloque de instrucciones
break; Cada caso comienza con un
case constante2: case y termina con un break
instrucción2 ó bloque de instrucciones
break;
defeault:
instrucción3 ó bloque de instrucciones ¿Qué ocurre si se me
} olvida algún break ?

15

Instrucciones Condicionales

Instrucción condicional múltiple : SWITCH

#include <iostream.h> Ejemplo


int main ()
{ Si al ejecutar el programa
cin>> num; introducimos un 2, obtenemos
switch (num) el mensaje:
{ ‘Ha introducido el nº 2’
case 1:
cout << “Ha introducido el nº 1\n”;
case 2:
Si al ejecutar el programa
cout << “Ha introducido el nº 2\n”;
break; introducimos un 1, obtenemos
defeault: el mensaje:
cout << “Ha introducido otro nº”; ‘Ha introducido el nº 1’
} ‘Ha introducido el nº 2’
return 0;
}

16

También podría gustarte