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.