SlideShare a Scribd company logo
1 of 19
Download to read offline
1
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.
2
1
Introducción a las sentencias de control
INSTRUCCIONES DE CONTROL
3
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.
Secuenciales
Entrada
Salida
Asignación
Condicionales
Simples
Múltiples
Cíclicas
Hacer para
Hacer mientras
Repetir hasta
Estructuras
Algorítmicas
INSTRUCCIONES DE CONTROL
4
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.
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 IF y SWITCH
Sentencias WHILE, DO-WHILE y FOR
INSTRUCCIONES DE CONTROL
5
2
Instrucciones o sentencias condicionales
IF, IF-ELSE, SWITCH
INSTRUCCIONES DE CONTROL
6
Instrucción condicional simple: IF
Se corresponde con la estructura algorítmica
El formato general de una
sentencia if es la siguiente:
Instrucciones Condicionales
si ?
condición
Instrucción (es )
no
if (condición)
instrucción;
if (condició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
ejecutan.Atención !!!
7
Instrucción condicional simple: IF
Ejemplos:
Instrucciones Condicionales
#include <iostream.h>
int main()
{
int a, x = 0, y;
cin >> a;
if (a==0)
x = 1;
cout << x;
return 0;
}
#include <iostream.h>
int main()
{
...
if (cantidad > 100)
{
descuento = 0.2;
precio = n*descuento;
}
...
return 0;
}
8
Instrucción condicional doble : IF-ELSE
nosi ?
condición
Instrucción(es )1 Instrucción(es )2
Instrucciones Condicionales
Estructura algorítmica asociada:
Formato general de la
sentencia if-else
if (condición)
instrucción 1;
else
instrucción 2;
if (condición)
{
varias instrucciones 1;
}
else
{
varias instrucciones 2;
}
Si se cumple la condición, se ejecutan las
instrucciones del primer bloque;
si no, se ejecutan las instrucciones del segundo
bloque.
9
Instrucción condicional IF, IF-ELSE
Instrucciones Condicionales
Diagrama sintáctico:
if ( )condición instrucción ;
{ }instrucción ;
else instrucción ;
{ }instrucción ;
10
Instrucción condicional doble : IF-ELSE
Ejemplos:
Instrucciones Condicionales
#include <iostream.h>
int main()
{
int a, x;
cin >> a;
if (a==0)
x = 1;
else
x= 0;
cout << x;
return 0;
}
#include <iostream.h>
int main()
{
...
if (cantidad > 100)
{
descuento = 0.2;
precio = n*descuento;
}
else
precio = n;
...
return 0;
}
11
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.
Instrucciones Condicionales
nosi ?
condición1
Acción (es) nosi ?
condición2
Acción (es) Acción (es)
12
Instrucción condicional doble : IF-ELSE anidadas
.
Instrucciones Condicionales
if (condición1)
instrucción 1;
else
if (condición2)
instrucción 2;
else
instrucción 3;
La sintaxis de
instrucciones IF-ELSE anidadas
if (condición1)
instrucción 1;
else
if (condición2)
instrucción 2;
else
if (condición3)
instrucción 3;
else
instrucción 4;
La escritura en sangría facilita la
comprensión del código así como el
chequeo del buen funcionamiento.
13
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;
return 0;
}
#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;
cout << “fin del programa”;
return 0;
}
A B
¿Qué hacen
éstos
códigos ?
14
Instrucción condicional múltiple : SWITCH
Instrucciones Condicionales
Estructura algorítmica asociada
Formato general de la
sentencia witch
switch (selector)
{
case constante1:
instrucción1 ó bloque de instrucciones
break;
case constante2:
instrucción2 ó bloque de instrucciones
break;
defeault:
instrucción2 ó bloque de instrucciones
}
Constante 1 ?
DATO
Acción (es)
Acción (es)
Constante 2
. . .
Acción (es)
ConstanteN
. . .
Permiten comparar una
‘variable’ con distintos
valores posibles, ejecutando
para cada caso una serie de
instrucciones específicas.
15
Instrucción condicional múltiple : SWITCH
Instrucciones Condicionales
Formato general de la
sentencia witch
switch (selector)
{
case constante1:
instrucción1 ó bloque de instrucciones
break;
case constante2:
instrucción2 ó bloque de instrucciones
break;
defeault:
instrucción3 ó bloque de instrucciones
}
El valor de selector debe ser un número
entero. Puede ser una variable, una expresión
ó una llamada a una función.
Cada caso comienza con un
case y termina con un break
¿Qué ocurre si se me
olvida algún break ?
16
Instrucción condicional múltiple : SWITCH
Instrucciones Condicionales
#include <iostream.h>
int main ()
{
cin>> num;
switch (num)
{
case 1:
cout << “Ha introducido el nº 1n”;
case 2:
cout << “Ha introducido el nº 2n”;
break;
defeault:
cout << “Ha introducido otro nº”;
}
return 0;
}
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’
Ejemplo
17
3
Instrucciones o sentencias repetitivas o iterativas
WHILE, DO-WHILE, FOR
INSTRUCCIONES DE CONTROL
18
Instrucciones de control repetitivas
Son aquellas que controlan la repetición de un conjunto de instrucciones
denominado bloque o cuerpo del bucle, mediante la evaluación de una
condición o mediante un contador.
Sentencias WHILE, DO-WHILE y FOR
Instrucciones Iterativas o repetitivas
19
Instrucción de control repetitiva : WHILE
Instrucciones Iterativas o repetitivas
Se corresponde con la estructura algorítmica
hacer_mientras:
while ( condición )
instrucción;
no?
condición
si
Acción(es)Cuerpo del bucle
Controla la ejecución de un bloque de
instrucciones de tal forma que éstas se ejecutan
mientras se cumpla la condición, que será
evaluada siempre antes de cada repetición.
while ( condición )
{
instrucción 1;
…
instrucción n;
}
Cada repetición del cuerpo
del bucle se denomina
iteración
Formato general de la
sentencia while
20
Instrucción de control repetitiva : WHILE
Ejemplo:
#include <iostream.h>
int main()
{
…
contador = 0;
while (contador < 100)
{
cout << “Hola”;
contador ++;
}
...
return 0;
}
cuerpo
El cuerpo del bucle while se repite
mientras la condición sea cierta.
La condición será evaluada
siempre antes de cada iteración.
El cuerpo de un bucle while
se ejecutará cero o más veces.
Instrucciones Iterativas o repetitivas
21
La variable que representa la
condición del bucle se denomina
variable de control del bucle.
Dicha variable debe ser:
- inicializada
- comprobada
- actualizada
…
contador = 0;
while (contador < 100)
{
cout << “Hola”;
contador ++;
}
...
cuerpo
Inicialización
Se realiza antes de la instrucción while
Comprobación
Se comprueba el valor de la variable
antes de comenzar la repeticiónActualización
Se realiza dentro del cuerpo del bucle
durante cada iteración
Instrucción de control repetitiva : WHILE
Instrucciones Iterativas o repetitivas
22
int main()
{
const bool continuar = true;
bool a = true;
int n;
while (a ==continuar)
{
cin >> n;
if (n<0)
{
cout << "No se admiten negativos";
a = false;
}
else
cout << "Muy bien, otro más: " ;
}
return 0;
}
Instrucciones Iterativas o repetitivas
Instrucción de control repetitiva : WHILE
Inicialización
Comprobación
Actualización
Es importante comprobar que en
algún momento, la condición del
bucle se hace falsa, de forma que
no obtengamos bucles infinitos.
23
Instrucción de control repetitiva : DO-WHILE
Instrucciones Iterativas o repetitivas
Se corresponde con la estructura algorítmica
do
instrucción;
while ( condición );
Se utiliza para ejecutar un bloque de
instrucciones al menos una vez.
El cuerpo del bucle se repite mientras se
verifica la condición. Dicha condición será
evaluada después de cada repetición.
do
{
instrucción 1;
…
instrucción n;
} while ( condición );
Formato general de la
sentencia do-while si
?
condición
Acción(es)
no
24
#include <iostream.h>
int main()
{
char n;
do
{
cout << "introducir número: ";
cin >> n;
if ((isdigit(n))== false)
cout << ”Solo se admiten números";
} while ((isdigit(n)) != false);
return 0;
}
Instrucción de control repetitiva : DO-WHILE
Ejemplo:
El cuerpo del bucle do-while
se repite mientras la
condición sea cierta.
La condición será evaluada
siempre después de cada
iteración.
El cuerpo de un bucle do-while
se ejecutará una o más veces.
cuerpo
Instrucciones Iterativas o repetitivas
25
Diferencias entre las instrucciones
WHILE y DO-WHILE
En while primero se tiene que cumplir
la condición, y luego se ejecuta el
bloque de instrucciones.
si
?
condición
Acción(es)
no
no?
condición
si
Acción(es)
En do-while primero se ejecuta el
bloque de instrucciones y luego se
comprueba la condición.
Instrucciones Iterativas o repetitivas
26
Traducción de WHILE a DO-WHILE
Instrucciones Iterativas o repetitivas
while ( condición )
{
instrucción 1;
…
instrucción n;
}
if (condición)
do
{
instrucción 1;
…
instrucción n;
} while ( condición );
27
Instrucción de control repetitiva : FOR
Instrucciones Iterativas o repetitivas
Se corresponde con la estructura algorítmica
hacer_para:
for ( inicialización ; condición ; actualización )
{
instrucción 1;
…
instrucción n;
} Formato general de la
sentencia for
no
Se utiliza para ejecutar un bloque de
instrucciones un número fijo de veces que
se conoce de antemano.
si ?
i ≤ sup
Acción(es)
i k i + 1
i k inf
28
Instrucción de control repetitiva : FOR
Instrucciones Iterativas o repetitivas
for ( inicialización; condición; actualización )
{
instrucción 1;
…
instrucción n;
}
La instrucción for se vale de una variable de control del ciclo. El ciclo se
repite desde el límite inferior, hasta que la variable de control llegue la límite
superior.
Una diferencia con el bucle while es que en el for, las operaciones de
control del bucle (inicialización, comprobación y actualización ) se
realizan en un solo sitio: la cabecera del for.
Cabecera del for
29
 Parte de inicialización: Inicializa la variable de control del bucle. Se
pueden utilizar una o varias variables.
 Parte de iteración: Expresión lógica.
El cuerpo del bucle se repite mientras
la expresión sea verdadera.
 Parte de incremento: Incrementa
o decrementa el valor de la variable
o variables de control.
Instrucción de control repetitiva : FOR
En la cabecera del for nos podemos encontrar con 3 partes o secciones:
Instrucciones Iterativas o repetitivas
int main()
{
….
for (int i = 0; i10; i++)
{
cout  “Número: ”  i ;
cout   endl;
}
….
return 0;
}
30
En la primera iteración ó pasada, el valor de n es 1, en la segunda pasada
n vale 3. La última pasada se realiza cuando n vale 9.
int main()
{
….
for (int n = 1; n=10; n=n+2)
{
cout  “Número: ”  n “t”  n*n ;
cout   endl;
}
….
return 0;
}
Instrucciones Iterativas o repetitivas
Instrucción de control repetitiva : FOR
Ejemplo: La variable de control es n
Es de tipo entero, su valor inicial es 1
Su valor final es 10
Se incrementa de 2 en 2.
Pasada Valor de n
1 1
2 3
3 5
4 7
5 9
31
int main()
{
….
for ( int i = 0, j = 100; ij ; i++, j--)
{
int k;
k = i+2*j ;
cout  k  endl;
}
….
return 0;
}
Instrucciones Iterativas o repetitivas
Instrucción de control repetitiva : FOR
Se puede inicializar más de una variable, se puede poner más de una
condición ó más de un incremento.
Se declaran 2 variables de control: i y j
Se inicializan a 0 y 100
respectivamente
El cuerpo se ejecutará
mientras i sea menor que j
Se incrementa la variable i y se
decrementa la variable j
32
int main()
{
….
for ( int i = 0, j = 5; i+j 100 ; i++, j =j+5 )
{
cout  i “t” j  (i+j) ;
cout  endl;
}
….
return 0;
}
Instrucciones Iterativas o repetitivas
Instrucción de control repetitiva : FOR
valor de i valor de j i+j
0 5 5
1 10 11
2 15 17
3 20 23
4 25 29
5 30 35
6 35 41
7 40 47
8 45 53
9 50 59
10 55 65
11 60 71
12 65 77
13 70 83
14 75 89
15 80 95
Se realizan un total
de 16 pasadas.
Se ejecuta el cuerpo de la instrucción for mientras
se cumpla la condición.
Valor de las variables
de control en cada pasada
33
int main()
{
….
contador = 1;
for ( ; contador 10 ; )
{
cout  contador ;
contador++ ;
}
….
return 0;
}
Instrucciones Iterativas o repetitivas
Instrucción de control repetitiva : FOR
Se puede omitir cualquiera de las partes de la cabecera del for
(inicialización, condición o incremento).
Se comporta igual que un while
int main()
{
….
for ( ; ; )
{
...
}
….
return 0;
}
Bucle infinito
34
4
Sentencias BREAK y CONTINUE
INSTRUCCIONES DE CONTROL
35
Instrucciones break y continue
La instrucción break, además de terminar los case de una instrucción
switch, sirve para forzar la terminación inmediata de un bucle.
La instrucción continue , interrumpe la ejecución del cuerpo del bucle y
fuerza una nueva iteración.
{
instrucción 1;
break;
…
instrucción n;
}
...
{
instrucción 1;
continue;
…
instrucción n;
}
...
Instrucciones Iterativas o repetitivas
36
int main()
{
….
for ( int t = 0; t 100 ; t++ )
{
cout  t;
if (t==10)
break; // salir del for
}
….
return 0;
}
Instrucciones break y continue
int main()
{
….
for ( int t = 0; t 100 ; t++ )
{
if (t%10==0)
continue;
cout  t;
}
….
return 0;
}
Instrucciones Iterativas o repetitivas
Ejemplos
37
int main()
{
….
do
{
cin  x;
if ( x  0 )
continue;
cout  x;
}while (x !=100);
….
return 0;
}
Instrucciones break y continue
Instrucciones Iterativas o repetitivas
Ignora lo que sigue y vuelve a
comprobar la condición.
Ejemplo

More Related Content

What's hot

ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++GabrielFVilla15
 
Tipos de mantenimiento diferencias similitudes y relaciones
Tipos de mantenimiento diferencias  similitudes y relacionesTipos de mantenimiento diferencias  similitudes y relaciones
Tipos de mantenimiento diferencias similitudes y relacionesJose Suescun
 
PARADIGMA FUNCIONAL
PARADIGMA FUNCIONALPARADIGMA FUNCIONAL
PARADIGMA FUNCIONALFredy Olaya
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuarioUVM
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacionLuis Peralta
 
Pseudocodigo
PseudocodigoPseudocodigo
PseudocodigoAPILUZ1
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Sergio Sanchez
 
Estructuras repetitivas (bloques de instrucciones)
Estructuras repetitivas (bloques de instrucciones)Estructuras repetitivas (bloques de instrucciones)
Estructuras repetitivas (bloques de instrucciones)Royer Lopez Nuñez
 
Estructuras de ciclo: while,for,do while
Estructuras de  ciclo: while,for,do whileEstructuras de  ciclo: while,for,do while
Estructuras de ciclo: while,for,do whileAlfredo Huamani Escobar
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++Rosbelia Balza
 
Unidad 4. estructuras de control
Unidad 4. estructuras de controlUnidad 4. estructuras de control
Unidad 4. estructuras de controlssusercfcb50
 

What's hot (20)

Control de sistemas no lineales
Control de sistemas no linealesControl de sistemas no lineales
Control de sistemas no lineales
 
Confiabilidad y mantenibilidad
Confiabilidad y mantenibilidadConfiabilidad y mantenibilidad
Confiabilidad y mantenibilidad
 
ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++
 
Tipos de mantenimiento diferencias similitudes y relaciones
Tipos de mantenimiento diferencias  similitudes y relacionesTipos de mantenimiento diferencias  similitudes y relaciones
Tipos de mantenimiento diferencias similitudes y relaciones
 
Procesamiento superescalar
Procesamiento superescalarProcesamiento superescalar
Procesamiento superescalar
 
Presentacion bucle
Presentacion buclePresentacion bucle
Presentacion bucle
 
PARADIGMA FUNCIONAL
PARADIGMA FUNCIONALPARADIGMA FUNCIONAL
PARADIGMA FUNCIONAL
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
 
Estructuras Repetitivas C++
Estructuras Repetitivas C++Estructuras Repetitivas C++
Estructuras Repetitivas C++
 
MAntenimiento u2
MAntenimiento u2MAntenimiento u2
MAntenimiento u2
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacion
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
 
Control automatico
Control automaticoControl automatico
Control automatico
 
Estructuras repetitivas (bloques de instrucciones)
Estructuras repetitivas (bloques de instrucciones)Estructuras repetitivas (bloques de instrucciones)
Estructuras repetitivas (bloques de instrucciones)
 
Estructuras de ciclo: while,for,do while
Estructuras de  ciclo: while,for,do whileEstructuras de  ciclo: while,for,do while
Estructuras de ciclo: while,for,do while
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativos
 
Unidad 4. estructuras de control
Unidad 4. estructuras de controlUnidad 4. estructuras de control
Unidad 4. estructuras de control
 
Funciones Internas
Funciones Internas Funciones Internas
Funciones Internas
 

Viewers also liked

Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlFernando Solis
 
Estructuras en C
Estructuras en CEstructuras en C
Estructuras en CVane Borjas
 
Auditoria de fórmulas
Auditoria de fórmulasAuditoria de fórmulas
Auditoria de fórmulasvkalvarez
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwaresergio
 

Viewers also liked (10)

Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Funciones
FuncionesFunciones
Funciones
 
Elementos
ElementosElementos
Elementos
 
Arrays
ArraysArrays
Arrays
 
Estructuras en C
Estructuras en CEstructuras en C
Estructuras en C
 
Preguntas
PreguntasPreguntas
Preguntas
 
Auditoria de fórmulas
Auditoria de fórmulasAuditoria de fórmulas
Auditoria de fórmulas
 
Estudio de Factibilidad
Estudio de FactibilidadEstudio de Factibilidad
Estudio de Factibilidad
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
 
Norma APA con ejemplos
Norma APA con ejemplosNorma APA con ejemplos
Norma APA con ejemplos
 

Similar to Sentencias de control (20)

Estructuras de control C++
Estructuras de control C++Estructuras de control C++
Estructuras de control C++
 
Clase 2
Clase 2Clase 2
Clase 2
 
Instrucciones de control en c++
Instrucciones de control en c++Instrucciones de control en c++
Instrucciones de control en c++
 
D6 a sentencias de control de flujo
D6 a sentencias de control de flujoD6 a sentencias de control de flujo
D6 a sentencias de control de flujo
 
Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
 
Sentencias
SentenciasSentencias
Sentencias
 
Sentencias
SentenciasSentencias
Sentencias
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Iteraciones y decisiones en c++
Iteraciones y decisiones en c++Iteraciones y decisiones en c++
Iteraciones y decisiones en c++
 
1clase e12 estructurasderepeticionc
1clase e12 estructurasderepeticionc1clase e12 estructurasderepeticionc
1clase e12 estructurasderepeticionc
 
Ciclos
CiclosCiclos
Ciclos
 
3. ESTRUCTURAS DE CONTROL C.pptx
3. ESTRUCTURAS DE CONTROL C.pptx3. ESTRUCTURAS DE CONTROL C.pptx
3. ESTRUCTURAS DE CONTROL C.pptx
 
While y Do While
While y Do WhileWhile y Do While
While y Do While
 
Estructura de control repetitivo diapositivas
Estructura de control repetitivo diapositivasEstructura de control repetitivo diapositivas
Estructura de control repetitivo diapositivas
 
Estructura de control repetitiva
Estructura de control repetitivaEstructura de control repetitiva
Estructura de control repetitiva
 
Lenguaje Borland C - Estructuras de Control
Lenguaje Borland C - Estructuras de ControlLenguaje Borland C - Estructuras de Control
Lenguaje Borland C - Estructuras de Control
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
 
While do while
While do whileWhile do while
While do while
 
Guia 4
Guia 4Guia 4
Guia 4
 

More from Fernando Solis

BÚSQUEDA DE SUBCADENAS EN C
BÚSQUEDA DE SUBCADENAS EN CBÚSQUEDA DE SUBCADENAS EN C
BÚSQUEDA DE SUBCADENAS EN CFernando Solis
 
Almacenamiento de informacion en una estructura
Almacenamiento de informacion en una estructuraAlmacenamiento de informacion en una estructura
Almacenamiento de informacion en una estructuraFernando Solis
 
Entrada y salida de datos
Entrada y salida de datosEntrada y salida de datos
Entrada y salida de datosFernando Solis
 
Longitud y Concatenacion
Longitud y ConcatenacionLongitud y Concatenacion
Longitud y ConcatenacionFernando Solis
 
Lectura de datos de cadena
Lectura de datos de cadenaLectura de datos de cadena
Lectura de datos de cadenaFernando Solis
 
Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)Fernando Solis
 
Archivos Binarios vs Archivos de Texto
Archivos Binarios vs Archivos de TextoArchivos Binarios vs Archivos de Texto
Archivos Binarios vs Archivos de TextoFernando Solis
 
DEFINICION DE CADENAS O STRINGS
DEFINICION DE CADENAS O STRINGSDEFINICION DE CADENAS O STRINGS
DEFINICION DE CADENAS O STRINGSFernando Solis
 
Declaración e inicialización de variables de tipo cadena
Declaración e inicialización de variables de tipo cadenaDeclaración e inicialización de variables de tipo cadena
Declaración e inicialización de variables de tipo cadenaFernando Solis
 
Comparacion de arreglos Strings
Comparacion de arreglos StringsComparacion de arreglos Strings
Comparacion de arreglos StringsFernando Solis
 
Acceso en tipos de datos abstractos
Acceso en tipos de datos abstractosAcceso en tipos de datos abstractos
Acceso en tipos de datos abstractosFernando Solis
 
Arreglo Orden Seleccion
Arreglo  Orden SeleccionArreglo  Orden Seleccion
Arreglo Orden SeleccionFernando Solis
 
Algoritmos de Busqueda
Algoritmos de BusquedaAlgoritmos de Busqueda
Algoritmos de BusquedaFernando Solis
 

More from Fernando Solis (20)

AULA INVERTIDA.pdf
AULA INVERTIDA.pdfAULA INVERTIDA.pdf
AULA INVERTIDA.pdf
 
Subcadenas-en-C
Subcadenas-en-CSubcadenas-en-C
Subcadenas-en-C
 
BÚSQUEDA DE SUBCADENAS EN C
BÚSQUEDA DE SUBCADENAS EN CBÚSQUEDA DE SUBCADENAS EN C
BÚSQUEDA DE SUBCADENAS EN C
 
Almacenamiento de informacion en una estructura
Almacenamiento de informacion en una estructuraAlmacenamiento de informacion en una estructura
Almacenamiento de informacion en una estructura
 
Entrada y salida de datos
Entrada y salida de datosEntrada y salida de datos
Entrada y salida de datos
 
Longitud y Concatenacion
Longitud y ConcatenacionLongitud y Concatenacion
Longitud y Concatenacion
 
Lectura de datos de cadena
Lectura de datos de cadenaLectura de datos de cadena
Lectura de datos de cadena
 
Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)
 
Archivos Binarios vs Archivos de Texto
Archivos Binarios vs Archivos de TextoArchivos Binarios vs Archivos de Texto
Archivos Binarios vs Archivos de Texto
 
DEFINICION DE CADENAS O STRINGS
DEFINICION DE CADENAS O STRINGSDEFINICION DE CADENAS O STRINGS
DEFINICION DE CADENAS O STRINGS
 
Declaración e inicialización de variables de tipo cadena
Declaración e inicialización de variables de tipo cadenaDeclaración e inicialización de variables de tipo cadena
Declaración e inicialización de variables de tipo cadena
 
Conversion de Strings
Conversion de StringsConversion de Strings
Conversion de Strings
 
Comparacion de arreglos Strings
Comparacion de arreglos StringsComparacion de arreglos Strings
Comparacion de arreglos Strings
 
Cadenas y/o strings
Cadenas y/o stringsCadenas y/o strings
Cadenas y/o strings
 
Asignacion
AsignacionAsignacion
Asignacion
 
Acceso en tipos de datos abstractos
Acceso en tipos de datos abstractosAcceso en tipos de datos abstractos
Acceso en tipos de datos abstractos
 
Arreglo Orden Seleccion
Arreglo  Orden SeleccionArreglo  Orden Seleccion
Arreglo Orden Seleccion
 
Algoritmos de Busqueda
Algoritmos de BusquedaAlgoritmos de Busqueda
Algoritmos de Busqueda
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
Ordenacion Radix
Ordenacion RadixOrdenacion Radix
Ordenacion Radix
 

Recently uploaded

MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfSarayLuciaSnchezFigu
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 

Recently uploaded (20)

MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 

Sentencias de control

  • 1. 1 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. 2 1 Introducción a las sentencias de control INSTRUCCIONES DE CONTROL
  • 2. 3 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. Secuenciales Entrada Salida Asignación Condicionales Simples Múltiples Cíclicas Hacer para Hacer mientras Repetir hasta Estructuras Algorítmicas INSTRUCCIONES DE CONTROL 4 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. 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 IF y SWITCH Sentencias WHILE, DO-WHILE y FOR INSTRUCCIONES DE CONTROL
  • 3. 5 2 Instrucciones o sentencias condicionales IF, IF-ELSE, SWITCH INSTRUCCIONES DE CONTROL 6 Instrucción condicional simple: IF Se corresponde con la estructura algorítmica El formato general de una sentencia if es la siguiente: Instrucciones Condicionales si ? condición Instrucción (es ) no if (condición) instrucción; if (condició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 ejecutan.Atención !!!
  • 4. 7 Instrucción condicional simple: IF Ejemplos: Instrucciones Condicionales #include <iostream.h> int main() { int a, x = 0, y; cin >> a; if (a==0) x = 1; cout << x; return 0; } #include <iostream.h> int main() { ... if (cantidad > 100) { descuento = 0.2; precio = n*descuento; } ... return 0; } 8 Instrucción condicional doble : IF-ELSE nosi ? condición Instrucción(es )1 Instrucción(es )2 Instrucciones Condicionales Estructura algorítmica asociada: Formato general de la sentencia if-else if (condición) instrucción 1; else instrucción 2; if (condición) { varias instrucciones 1; } else { varias instrucciones 2; } Si se cumple la condición, se ejecutan las instrucciones del primer bloque; si no, se ejecutan las instrucciones del segundo bloque.
  • 5. 9 Instrucción condicional IF, IF-ELSE Instrucciones Condicionales Diagrama sintáctico: if ( )condición instrucción ; { }instrucción ; else instrucción ; { }instrucción ; 10 Instrucción condicional doble : IF-ELSE Ejemplos: Instrucciones Condicionales #include <iostream.h> int main() { int a, x; cin >> a; if (a==0) x = 1; else x= 0; cout << x; return 0; } #include <iostream.h> int main() { ... if (cantidad > 100) { descuento = 0.2; precio = n*descuento; } else precio = n; ... return 0; }
  • 6. 11 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. Instrucciones Condicionales nosi ? condición1 Acción (es) nosi ? condición2 Acción (es) Acción (es) 12 Instrucción condicional doble : IF-ELSE anidadas . Instrucciones Condicionales if (condición1) instrucción 1; else if (condición2) instrucción 2; else instrucción 3; La sintaxis de instrucciones IF-ELSE anidadas if (condición1) instrucción 1; else if (condición2) instrucción 2; else if (condición3) instrucción 3; else instrucción 4; La escritura en sangría facilita la comprensión del código así como el chequeo del buen funcionamiento.
  • 7. 13 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; return 0; } #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; cout << “fin del programa”; return 0; } A B ¿Qué hacen éstos códigos ? 14 Instrucción condicional múltiple : SWITCH Instrucciones Condicionales Estructura algorítmica asociada Formato general de la sentencia witch switch (selector) { case constante1: instrucción1 ó bloque de instrucciones break; case constante2: instrucción2 ó bloque de instrucciones break; defeault: instrucción2 ó bloque de instrucciones } Constante 1 ? DATO Acción (es) Acción (es) Constante 2 . . . Acción (es) ConstanteN . . . Permiten comparar una ‘variable’ con distintos valores posibles, ejecutando para cada caso una serie de instrucciones específicas.
  • 8. 15 Instrucción condicional múltiple : SWITCH Instrucciones Condicionales Formato general de la sentencia witch switch (selector) { case constante1: instrucción1 ó bloque de instrucciones break; case constante2: instrucción2 ó bloque de instrucciones break; defeault: instrucción3 ó bloque de instrucciones } El valor de selector debe ser un número entero. Puede ser una variable, una expresión ó una llamada a una función. Cada caso comienza con un case y termina con un break ¿Qué ocurre si se me olvida algún break ? 16 Instrucción condicional múltiple : SWITCH Instrucciones Condicionales #include <iostream.h> int main () { cin>> num; switch (num) { case 1: cout << “Ha introducido el nº 1n”; case 2: cout << “Ha introducido el nº 2n”; break; defeault: cout << “Ha introducido otro nº”; } return 0; } 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’ Ejemplo
  • 9. 17 3 Instrucciones o sentencias repetitivas o iterativas WHILE, DO-WHILE, FOR INSTRUCCIONES DE CONTROL 18 Instrucciones de control repetitivas Son aquellas que controlan la repetición de un conjunto de instrucciones denominado bloque o cuerpo del bucle, mediante la evaluación de una condición o mediante un contador. Sentencias WHILE, DO-WHILE y FOR Instrucciones Iterativas o repetitivas
  • 10. 19 Instrucción de control repetitiva : WHILE Instrucciones Iterativas o repetitivas Se corresponde con la estructura algorítmica hacer_mientras: while ( condición ) instrucción; no? condición si Acción(es)Cuerpo del bucle Controla la ejecución de un bloque de instrucciones de tal forma que éstas se ejecutan mientras se cumpla la condición, que será evaluada siempre antes de cada repetición. while ( condición ) { instrucción 1; … instrucción n; } Cada repetición del cuerpo del bucle se denomina iteración Formato general de la sentencia while 20 Instrucción de control repetitiva : WHILE Ejemplo: #include <iostream.h> int main() { … contador = 0; while (contador < 100) { cout << “Hola”; contador ++; } ... return 0; } cuerpo El cuerpo del bucle while se repite mientras la condición sea cierta. La condición será evaluada siempre antes de cada iteración. El cuerpo de un bucle while se ejecutará cero o más veces. Instrucciones Iterativas o repetitivas
  • 11. 21 La variable que representa la condición del bucle se denomina variable de control del bucle. Dicha variable debe ser: - inicializada - comprobada - actualizada … contador = 0; while (contador < 100) { cout << “Hola”; contador ++; } ... cuerpo Inicialización Se realiza antes de la instrucción while Comprobación Se comprueba el valor de la variable antes de comenzar la repeticiónActualización Se realiza dentro del cuerpo del bucle durante cada iteración Instrucción de control repetitiva : WHILE Instrucciones Iterativas o repetitivas 22 int main() { const bool continuar = true; bool a = true; int n; while (a ==continuar) { cin >> n; if (n<0) { cout << "No se admiten negativos"; a = false; } else cout << "Muy bien, otro más: " ; } return 0; } Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : WHILE Inicialización Comprobación Actualización Es importante comprobar que en algún momento, la condición del bucle se hace falsa, de forma que no obtengamos bucles infinitos.
  • 12. 23 Instrucción de control repetitiva : DO-WHILE Instrucciones Iterativas o repetitivas Se corresponde con la estructura algorítmica do instrucción; while ( condición ); Se utiliza para ejecutar un bloque de instrucciones al menos una vez. El cuerpo del bucle se repite mientras se verifica la condición. Dicha condición será evaluada después de cada repetición. do { instrucción 1; … instrucción n; } while ( condición ); Formato general de la sentencia do-while si ? condición Acción(es) no 24 #include <iostream.h> int main() { char n; do { cout << "introducir número: "; cin >> n; if ((isdigit(n))== false) cout << ”Solo se admiten números"; } while ((isdigit(n)) != false); return 0; } Instrucción de control repetitiva : DO-WHILE Ejemplo: El cuerpo del bucle do-while se repite mientras la condición sea cierta. La condición será evaluada siempre después de cada iteración. El cuerpo de un bucle do-while se ejecutará una o más veces. cuerpo Instrucciones Iterativas o repetitivas
  • 13. 25 Diferencias entre las instrucciones WHILE y DO-WHILE En while primero se tiene que cumplir la condición, y luego se ejecuta el bloque de instrucciones. si ? condición Acción(es) no no? condición si Acción(es) En do-while primero se ejecuta el bloque de instrucciones y luego se comprueba la condición. Instrucciones Iterativas o repetitivas 26 Traducción de WHILE a DO-WHILE Instrucciones Iterativas o repetitivas while ( condición ) { instrucción 1; … instrucción n; } if (condición) do { instrucción 1; … instrucción n; } while ( condición );
  • 14. 27 Instrucción de control repetitiva : FOR Instrucciones Iterativas o repetitivas Se corresponde con la estructura algorítmica hacer_para: for ( inicialización ; condición ; actualización ) { instrucción 1; … instrucción n; } Formato general de la sentencia for no Se utiliza para ejecutar un bloque de instrucciones un número fijo de veces que se conoce de antemano. si ? i ≤ sup Acción(es) i k i + 1 i k inf 28 Instrucción de control repetitiva : FOR Instrucciones Iterativas o repetitivas for ( inicialización; condición; actualización ) { instrucción 1; … instrucción n; } La instrucción for se vale de una variable de control del ciclo. El ciclo se repite desde el límite inferior, hasta que la variable de control llegue la límite superior. Una diferencia con el bucle while es que en el for, las operaciones de control del bucle (inicialización, comprobación y actualización ) se realizan en un solo sitio: la cabecera del for. Cabecera del for
  • 15. 29 Parte de inicialización: Inicializa la variable de control del bucle. Se pueden utilizar una o varias variables. Parte de iteración: Expresión lógica. El cuerpo del bucle se repite mientras la expresión sea verdadera. Parte de incremento: Incrementa o decrementa el valor de la variable o variables de control. Instrucción de control repetitiva : FOR En la cabecera del for nos podemos encontrar con 3 partes o secciones: Instrucciones Iterativas o repetitivas int main() { …. for (int i = 0; i10; i++) { cout “Número: ” i ; cout endl; } …. return 0; } 30 En la primera iteración ó pasada, el valor de n es 1, en la segunda pasada n vale 3. La última pasada se realiza cuando n vale 9. int main() { …. for (int n = 1; n=10; n=n+2) { cout “Número: ” n “t” n*n ; cout endl; } …. return 0; } Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : FOR Ejemplo: La variable de control es n Es de tipo entero, su valor inicial es 1 Su valor final es 10 Se incrementa de 2 en 2. Pasada Valor de n 1 1 2 3 3 5 4 7 5 9
  • 16. 31 int main() { …. for ( int i = 0, j = 100; ij ; i++, j--) { int k; k = i+2*j ; cout k endl; } …. return 0; } Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : FOR Se puede inicializar más de una variable, se puede poner más de una condición ó más de un incremento. Se declaran 2 variables de control: i y j Se inicializan a 0 y 100 respectivamente El cuerpo se ejecutará mientras i sea menor que j Se incrementa la variable i y se decrementa la variable j 32 int main() { …. for ( int i = 0, j = 5; i+j 100 ; i++, j =j+5 ) { cout i “t” j (i+j) ; cout endl; } …. return 0; } Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : FOR valor de i valor de j i+j 0 5 5 1 10 11 2 15 17 3 20 23 4 25 29 5 30 35 6 35 41 7 40 47 8 45 53 9 50 59 10 55 65 11 60 71 12 65 77 13 70 83 14 75 89 15 80 95 Se realizan un total de 16 pasadas. Se ejecuta el cuerpo de la instrucción for mientras se cumpla la condición. Valor de las variables de control en cada pasada
  • 17. 33 int main() { …. contador = 1; for ( ; contador 10 ; ) { cout contador ; contador++ ; } …. return 0; } Instrucciones Iterativas o repetitivas Instrucción de control repetitiva : FOR Se puede omitir cualquiera de las partes de la cabecera del for (inicialización, condición o incremento). Se comporta igual que un while int main() { …. for ( ; ; ) { ... } …. return 0; } Bucle infinito 34 4 Sentencias BREAK y CONTINUE INSTRUCCIONES DE CONTROL
  • 18. 35 Instrucciones break y continue La instrucción break, además de terminar los case de una instrucción switch, sirve para forzar la terminación inmediata de un bucle. La instrucción continue , interrumpe la ejecución del cuerpo del bucle y fuerza una nueva iteración. { instrucción 1; break; … instrucción n; } ... { instrucción 1; continue; … instrucción n; } ... Instrucciones Iterativas o repetitivas 36 int main() { …. for ( int t = 0; t 100 ; t++ ) { cout t; if (t==10) break; // salir del for } …. return 0; } Instrucciones break y continue int main() { …. for ( int t = 0; t 100 ; t++ ) { if (t%10==0) continue; cout t; } …. return 0; } Instrucciones Iterativas o repetitivas Ejemplos
  • 19. 37 int main() { …. do { cin x; if ( x 0 ) continue; cout x; }while (x !=100); …. return 0; } Instrucciones break y continue Instrucciones Iterativas o repetitivas Ignora lo que sigue y vuelve a comprobar la condición. Ejemplo