DMarlon Studio

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.

Dart · for, while y do-while en DMarlon Studio: el código del ejemplo y su salida en la terminal

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.
  • continue pasa a la vuelta siguiente; break sale.

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.