Programming Concept

Bucles

Bucles while, for, do-while y foreach; anidamiento, bucles infinitos y equivalencia de bucles.

Capítulo 4 (pp. 95–132) de Computer Science I.

Temas

SecciónPáginaContenido
Bucles While97Iteración con condición al inicio.
Bucles For99Iteración basada en contador.
Bucles Do-While100Ejecutar y luego evaluar.
Bucles Foreach102Iteración sobre colecciones.
Otros Aspectos103Bucles anidados, bucles infinitos, errores comunes, equivalencia de bucles.
Resolución de Problemas Con Bucles106Aplicar iteración a problemas.
Ejemplos107For vs While, Primality Testing, Paying the Piper.

Ideas Clave

  • Todas las formas de bucle son equivalentes en poder expresivo; la elección es estilística/de claridad.
  • Los bucles infinitos y los errores por uno (off-by-one) son los modos de falla clásicos.
  • Los ejemplos Paying the Piper y de bucles anidados reaparecen en las partes de lenguajes.
  • Foreach se relaciona con arrays y colecciones.

Ejemplos

Sumatoria con mientras

suma ← 0
i ← 1
mientras i ≤ n:
  suma ← suma + i
  i ← i + 1

Acumula 1..n.

Factorial con para

fact ← 1
para i desde 2 hasta n:
  fact ← fact × i

El mismo resultado que un bucle mientras — las formas de bucle son equivalentes.

En Java

int sum = 0;
for (int i = 1; i <= n; i++)   // suma 1..n
    sum += i;

long fact = 1;
for (int i = 2; i <= n; i++)   // n!
    fact *= i;

Citas

[1] Computer Science I, Cap. 4, pp. 95–132.