Professional Documents
Culture Documents
CONTENIDOS
1. Introduccin 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
Introduccin a las sentencias de control
INSTRUCCIONES DE CONTROL
Introduccin
Hasta ahora solo hemos visto la codificacin en el lenguaje C++ de las
estructuras secuenciales, lo que nos proporciona programas lineales, es
decir, comienzan por la primera instruccin y acababan por la ltima,
ejecutndose todas una sola vez.
Secuenciales
Estructuras
Algortmicas
Condicionales
Cclicas
Entrada
Salida
Asignacin
Simples
Mltiples
Hacer para
Hacer mientras
Repetir hasta
INSTRUCCIONES DE CONTROL
Esta forma de programacin slo me permite resolver problemas
sencillos.
Para resolver problemas ms 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
instruccin instrucciones un nmero determinado de veces. En stos
casos utilizaremos instrucciones de control iterativas repetitivas
(ciclos).
INSTRUCCIONES DE CONTROL
2
Instrucciones o sentencias condicionales
IF, IF-ELSE, SWITCH
Instrucciones Condicionales
Instruccin condicional simple: IF
si
no
condicin
instruccin n;
}
Atencin !!!
6
Instruccin (es )
if (condicin)
instruccin;
Instrucciones Condicionales
Instruccin condicional simple: IF
#include <iostream.h>
int main()
{
...
Ejemplos:
#include <iostream.h>
int main()
{
int a, x = 0, y;
cin >> a;
if (a==0)
x = 1;
...
return 0;
cout << x;
return 0;
Instrucciones Condicionales
Instruccin condicional doble : IF-ELSE
si
no
condicin
Instruccin(es )1
Instruccin(es )2
if (condicin)
instruccin 1;
else
instruccin 2;
Si se cumple la condicin, se ejecutan las
instrucciones del primer bloque;
si no, se ejecutan las instrucciones del segundo
bloque.
Instrucciones Condicionales
Instruccin condicional IF, IF-ELSE
Diagrama sintctico:
if
condicin
instruccin
instruccin
instruccin
else
{
;
;
instruccin
Instrucciones Condicionales
Instruccin condicional doble : IF-ELSE
Ejemplos:
#include <iostream.h>
int main()
{
int a, x;
cin >> a;
10
#include <iostream.h>
int main()
{
...
if (a==0)
x = 1;
else
x= 0;
cout << x;
return 0;
...
return 0;
}
Instrucciones Condicionales
Instruccin 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 instruccin IF-ELSE. As
podemos implementar decisiones que implican ms de dos alternativas.
si
no
condicin1
si
Accin (es)
no
condicin2
Accin (es)
Accin (es)
11
Instrucciones Condicionales
Instruccin condicional doble : IF-ELSE anidadas
.
if (condicin1)
instruccin 1;
else
if (condicin2)
instruccin 2;
else
instruccin 3;
12
La sintaxis de
instrucciones IF-ELSE anidadas
if (condicin1)
instruccin 1;
else
if (condicin2)
instruccin 2;
else
if (condicin3)
instruccin 3;
else
instruccin 4;
Instrucciones Condicionales
#include <iostream.h>
int main()
{
int a, b, c, max;
cin >> a >> b >> c;
if (a > b)
if (a > c)
cout << a;
else
cout << c;
else
if (b > c)
cout << b;
else
cout << c;
#include <iostream.h>
int main()
{
int a, b, c, max;
cin >> a >> b >> c;
Qu hacen
stos
cdigos ?
return 0;
}
if (a > b)
if (a > c)
cout << a;
else
cout << c;
else
if (b > c)
cout << b;
else
cout << c;
cout << fin del programa;
return 0;
13
Instrucciones Condicionales
Instruccin condicional mltiple : SWITCH
Estructura algortmica asociada
Formato general de la
sentencia witch
switch (selector)
{
case constante1:
instruccin1 bloque de instrucciones
break;
case constante2:
instruccin2 bloque de instrucciones
break;
defeault:
instruccin2 bloque de instrucciones
}
14
Constante 1
Accin (es)
ConstanteN
?
DATO
Accin (es)
Constante 2
Accin (es)
...
...
Instrucciones Condicionales
Instruccin condicional mltiple : SWITCH
Formato general de la
sentencia witch
El valor de selector debe ser un nmero
entero. Puede ser una variable, una expresin
una llamada a una funcin.
switch (selector)
{
case constante1:
instruccin1 bloque de instrucciones
break;
case constante2:
instruccin2 bloque de instrucciones
break;
defeault:
instruccin3 bloque de instrucciones
}
Qu ocurre si se me
olvida algn break ?
15
Instrucciones Condicionales
Instruccin condicional mltiple : SWITCH
Ejemplo
#include <iostream.h>
int main ()
{
cin>> num;
switch (num)
{
case 1:
cout << Ha introducido el n 1\n;
case 2:
cout << Ha introducido el n 2\n;
break;
defeault:
cout << Ha introducido otro n;
}
return 0;
}
16
Si al ejecutar el programa
introducimos un 2, obtenemos
el mensaje:
Ha introducido el n 2
Si al ejecutar el programa
introducimos un 1, obtenemos
el mensaje:
Ha introducido el n 1
Ha introducido el n 2