Tema 4 Repeticion
ETSID
Tema 4: Estructuras de
Repetición (Bucles).
Departamento de Sistemas Informáticos y Computación
Universidad Politécnica de Valencia
Índice
1.
2.
3.
4.
5.
6.
7.
8.
Introducción
Bucle for
Bucle while
Bucle do-while
Bucle infinito
Utilización de cada tipo de bucle
Ficheros y bucles
Bucles anidados
1
Objetivos
z
z
z
z
Entender los conceptos de la repeticiónde
instrucciones
Conocer funcionamiento y utilización de
sentencias while, do...while y for
Combinar estructuras de repetición
Reforzar conocimientos adquiridos en temas
anteriores
1. Introducción
Bucle: instrucción que permite repetir
otra instrucción o un conjunto de
instrucciones (bloque) un número de
veces.
Instrucción 1
Instrucción 2
Instrucción 3
2
Finalización de un bucle
El bucle puederepetirse:
z
Un número fijo de veces.
Repetir 100 veces
Leer un número
Sumarlo a la variable total
z
Otras veces finalizará cuando se cumpla una
condición.
Repetir hasta que la variable total llegue a 10.000
Leer un numero
Sumarlo a la variable total
Partes de un bucle
Repetir 100 veces
Cabecera del bucle
Leer dos números enteros
Sumarlos
Cuerpo del bucle
Restarlos
A cada ejecución delbloque de instrucciones
del cuerpo del bucle se le llama iteración.
3
Tipos de bucles
for
while
do-while
La diferencia entre ellos depende de:
z
z
La forma de gestionar el número de veces que se
repite el bucle.
El número mínimo de repeticiones del bucle.
Bucle for
4
2. Bucle for
for (inicialización; condición; incremento)
instrucciones;
z
z
z
z
z
Ejecuta el cuerpo del bucle un númerodeterminado
de veces.
Necesita una variable de control. Puede ser de
cualquier tipo, incluso real.
Inicialización: sentencia de asignación que establece
el valor inicial de la variable de control del bucle.
Condición: expresión relacional que determina
cuando finalizará el bucle.
Incremento: define cómo cambiará la variable de
control del bucle en cada pasada del bucle.
Inicialización: le da a lavariable i el valor 1.
Ejemplo:
Condición: debe cumplirse
mientras se ejecuta el bucle.
for (i=1; i<10; i++)
printf(“%d\n”, i);
La variable de
control del
bucle es i
Incremento: en cada
iteración del bucle la variable
i se incrementa en 1.
5
for (inicialización; condición; incremento)
instrucciones;
z
z
z
Se ejecuta mientras la
condición sea cierta.
Cuando la condición
sea falsa laejecución
del bucle terminará y
se reanudará en la
instrucción siguiente al
bucle.
El bucle no se ejecuta
si la condición es falsa
al entrar en el bucle.
Ejemplo
¿Cuál es la salida por
pantalla?
i=1
i<=5
Falso
for (i=1; i<=5; i++)
printf(“%d\n”,i);
Cierto
printf(“%d\n”,i);
1
2
i++
3
4
5
Resto de Instrucciones
6
Cuerpo del bucle
Si el cuerpo del bucle contiene más de una instrucción
hay queponer llaves.
Muy importante:
identación
for (i=1; i<=5; i++)
{
printf(“El valor del contador es: ”);
printf(“%d\n”,i);
}
for (i=1; i<=5; i++)
printf(“El valor del contador es: %d\n”,i);
Ejemplo
¿Cuál es la salida por pantalla del
siguiente bucle for?
1
for (i=1; i<=5; i++)
printf(“%d\n”,i);
printf(“Fuera: %d\n”,i);
2
3
4
5
Fuera: 6
7
1
Ejemplo
for (i=1; i<=10; i++)
printf(“i=%d\n”, i);
2
3
45
6
1
7
2
8
3
9
4
10
5
for (i=0; i<10; i++)
printf(“i=%d\n”, i+1);
6
7
8
9
10
25
Ejemplo
for (i=25; i!=200; i=i+25)
printf(“%d\n”, i);
50
75
100
125
150
175
a
b
c
d
e
for (i=’a’; i<=’z’; i++)
printf(“%c\n”, i);
f
g
…
z
8
Ejemplo
for (i=10; i>0; i--)
printf(“%d\n”,i);
printf(“Valor final: %d\n”,i);
23
21
19
17
15
13
11
Valor final: 9
10
9
8
7
6
5
4
3
2
1
Valor final: 0
for(i=23; i>10; i-2)
printf(“%d\n”,i);
printf(“Valor final: %d\n”,i);
Cuando usar el bucle for
z
z
Se utiliza siempre que se conoce el número exacto
de iteraciones antes de ejecutar el bucle
Si no se conoce previamente el número de
iteraciones, no usar for:
z
z
z
Si al menos se debe ejecutar una vez: do..while
Si puede no ejecutarse nunca: while
Se puede alterar el contenido de variables de...
Regístrate para leer el documento completo.