Hasta ahora viste cómo un programa puede ejecutar acciones en secuencia y cómo puede elegir entre distintos caminos.
Ahora aparece otro problema fundamental: repetir acciones.
Ahí entran en juego las sentencias de iteración. La primera que vas a estudiar es while.
En esta lección vas a aprender:
- qué significa iterar
- cómo funciona
while - cómo pensar un ciclo con estado inicial, condición y actualización
- qué es un ciclo infinito
- cómo usar
breakycontinuedentro de un ciclo
¿Qué es una iteración?
Una iteración es cada repetición de un conjunto de instrucciones.
Si un ciclo imprime cinco números, entonces hubo cinco iteraciones.
¿Qué hace while?
La sentencia while repite un bloque de código mientras una condición sea verdadera.
Sintaxis
while (condicion) {
instrucciones;
}
Idea mental correcta para leer un while
Un ciclo while tiene tres elementos fundamentales:
- estado inicial
- condición de continuación
- actualización del estado
Si te olvidás de uno de esos tres, normalmente el ciclo queda mal pensado.
Ejemplo básico
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
printf("%d\n", i);
i = i + 1;
}
return 0;
}
Lectura paso a paso
- estado inicial:
i = 1 - condición:
i <= 5 - actualización:
i = i + 1
Mientras la condición sea verdadera, el bloque sigue ejecutándose.
¿Qué pasa en cada iteración?
Iteración 1
ivale1- se imprime
1 ipasa a valer2
Iteración 2
ivale2- se imprime
2 ipasa a valer3
Y así sucesivamente hasta que i deja de cumplir la condición.
Ciclo infinito
Un ciclo infinito ocurre cuando la condición nunca se vuelve falsa.
Ejemplo incorrecto
while (i <= 5) {
printf("%d\n", i);
}
Si i no cambia, el ciclo puede repetirse para siempre.
Por eso tenés que pensar siempre:
¿qué acción dentro del ciclo acerca al programa al final del ciclo?
Uso de break en un while
break permite salir inmediatamente del ciclo.
while (i <= 10) {
if (i == 5) {
break;
}
printf("%d\n", i);
i = i + 1;
}
Cuando i vale 5, el ciclo se corta.
Uso de continue en un while
continue hace que el ciclo salte directamente a la siguiente iteración.
while (i <= 5) {
i = i + 1;
if (i == 3) {
continue;
}
printf("%d\n", i);
}
No hace falta dominarlo al detalle todavía, pero sí entender su idea general: altera el flujo normal del ciclo.
¿Cuándo conviene usar while?
while conviene mucho cuando la repetición depende de una condición y no querés pensar primero en una cantidad exacta de repeticiones.
Resumen
whilerepite un bloque mientras una condición sea verdadera- para diseñar bien un
whiletenés que pensar estado inicial, condición y actualización - si la condición nunca se vuelve falsa, aparece un ciclo infinito
breakcorta el ciclocontinuesalta a la siguiente iteración
Idea final
while te enseña una de las ideas más profundas de la programación: repetir no es copiar código muchas veces, sino controlar cómo evoluciona un estado mientras una condición siga cumpliéndose.