馃挬

programierds

Volver al curso
Lecciones 10 / 32

While

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 break y continue dentro 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:

  1. estado inicial
  2. condici贸n de continuaci贸n
  3. 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

  • i vale 1
  • se imprime 1
  • i pasa a valer 2

Iteraci贸n 2

  • i vale 2
  • se imprime 2
  • i pasa a valer 3

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

  • while repite un bloque mientras una condici贸n sea verdadera
  • para dise帽ar bien un while ten茅s que pensar estado inicial, condici贸n y actualizaci贸n
  • si la condici贸n nunca se vuelve falsa, aparece un ciclo infinito
  • break corta el ciclo
  • continue salta 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.