Lección 8 · 8 de 20
for, while y do-while · Dart
Repita instrucciones en Dart con los bucles for, while y do-while, y controle cada vuelta con break y continue: una tabla, unos ahorros y una cuenta atrás.

El bucle `for` tiene tres partes entre paréntesis, separadas por punto y coma: el inicio (int i = 1), la condición para seguir (i <= 5) y el paso de cada vuelta (i++). Así recorre los números del 1 al 5 y escribe la tabla del 7.
`while` repite mientras la condición sea verdadera, sin saber de antemano cuántas vueltas dará. Los ahorros crecen un 10 % al año (savings *= 1.10) hasta pasar de 150 euros, y years cuenta las vueltas: hacen falta 5 años.
`do-while` comprueba la condición al final, así que el bloque se ejecuta al menos una vez. La cuenta atrás escribe 3, 2 y 1, y se detiene cuando countdown llega a 0. Fíjese en el punto y coma tras while (...).
Dentro de un bucle, `continue` salta directamente a la vuelta siguiente y `break` sale del bucle del todo. El último for va del 1 al 20, pero se salta los pares con continue y se detiene en cuanto n pasa de 11 con break.
Código · main.dart
void main() { // for: a start, a condition and a step. for (int i = 1; i <= 5; i++) { print('7 x $i = ${7 * i}'); } // while repeats as long as the condition is true. double savings = 100; int years = 0; while (savings < 150) { savings *= 1.10; // 10% interest each year years++; } print('$years years to reach ${savings.toStringAsFixed(2)} euros'); // do-while checks at the end, so it runs at least once. int countdown = 3; do { print('Countdown: $countdown'); countdown--; } while (countdown > 0); // continue jumps to the next turn; break leaves the loop. String odds = ''; for (int n = 1; n <= 20; n++) { if (n % 2 == 0) continue; if (n > 11) break; odds += '$n '; } print('Odd numbers up to 11: $odds');}Salida · dart run main.dart
7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 5 years to reach 161.05 euros Countdown: 3 Countdown: 2 Countdown: 1 Odd numbers up to 11: 1 3 5 7 9 11
Para recordar
for (inicio; condición; paso)cuando se sabe cuántas vueltas.while (condición)mientras algo se cumpla.do { } while (condición);se ejecuta al menos una vez.continuepasa a la vuelta siguiente;breaksale.
Ejercicio
Con un while, calcule cuántas veces hay que doblar un folio (cada vez, el doble de grosor; empiece en 0,1 mm) hasta que su grosor pase de un metro.