You are on page 1of 8

INSTRUCCIONES DE CONTROL

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).

Sentencias WHILE, DO-WHILE y FOR


4

INSTRUCCIONES DE CONTROL

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

Instrucciones Condicionales
Instruccin condicional simple: IF
si

Se corresponde con la estructura algortmica

no

condicin

El formato general de una


sentencia if es la siguiente:
if (condicin)
{
instruccin 1;

instruccin n;
}
Atencin !!!
6

Instruccin (es )

if (condicin)
instruccin;

Si se cumple la condicin, entonces se


ejecuta la instruccin el bloque de
instrucciones; en caso contrario, no se
ejecutan.

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 (cantidad > 100)


{
descuento = 0.2;
precio = n*descuento;
}

if (a==0)
x = 1;

...
return 0;

cout << x;
return 0;

Instrucciones Condicionales
Instruccin condicional doble : IF-ELSE

si

no

condicin

Estructura algortmica asociada:


Formato general de la
sentencia if-else
if (condicin)
{
varias instrucciones 1;
}
else
{
varias instrucciones 2;
}

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;

if (cantidad > 100)


{
descuento = 0.2;
precio = n*descuento;
}
else
precio = n;

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;

La escritura en sangra facilita la


comprensin del cdigo as como el
chequeo del buen funcionamiento.

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)

...

...

Permiten comparar una


variable con distintos
valores posibles, ejecutando
para cada caso una serie de
instrucciones especficas.

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
}

Cada caso comienza con un


case y termina con un break

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

You might also like