Saltear al contenido principal
Título curso Aprende a programar (con Javascript)

Bucles while y do...while

Bucle while

El bucle while es muy similar al bucle for. While es la palabra inglesa para ‘mientras’ y cuando la incluimos en nuestro código la podríamos traducir al castellano por: “mientras se cumpla una condición, ejecuta las siguientes instrucciones….“.
Vemos su sintaxis con un sencillo ejemplo:

Básicamente consiste en:

  • Declarar una variable ‘i’ que nos servirá de contador, asignándole un valor ‘0’ (es lo habitual, como vimos en ‘for’, pero podemos poner cualquier nombre a la variable y asignarle cualquier valor)
  • Iniciar el bucle que se ejecutará mientras se cumpla la condición que hemos indicado en este caso (i <= 5)
  • Ejecutar las instrucciones encerradas entre llaves ( {……} ); en este caso imprimir el valor de i y aumentar el contador ‘i’ en una unidad

Bucle do…while

Hay una variación que podemos utilizar, el bucle do…while, muy similar al anterior pero con una diferencia de comportamiento y no solo de escritura. Vemos el ejemplo anterior con este tipo de bucle:

Como podemos observar, declaramos igualmente el contador, pero en vez de indicar la condición que ha de cumplirse a continuación, incluimos la palabra clave ‘do’ (hacer), que ejecuta las instrucciones que incluimos entre las llaves y ya después de ese bloque, incluimos la condición expresada con un while.
¿Qué diferencia representa éste bucle? Pues que las instrucciones incluidas en el bloque ‘do‘ siempre se ejecuta al menos una vez, independientemente de la condición final que pongamos, ya que ésta se comprueba después, y no antes de dichas instrucciones.
Comprueba el resultado de ambos ejemplos en el editor online y verás que son iguales. Haz luego una prueba cambiando la condición “i <= 5” y poniendo por ejemplo: “i < 0” (condición que no se cumple nunca porque el valor de “i” es siempre igual o mayor que cero) y comprueba de nuevo el resultado para ver la diferencia:

Ejercicio

Para ver la similitud de los bucle for y while, prueba a trasladar el script ejemplo que vimos en el apartado anterior (un sencillo test online), y en vez de utilizar un bucle for, emplea en esta ocasión un bucle while.
Te volvemos a copiar el ejemplo aquí para más comodidad:
Solución:
[restrict paid=true]

[/restrict]
Volver arriba
Esta web usa cookies para su correcto funcionamiento. No hay cookies de publicidad, aunque algunos de los contenidos mostrados (videos o documentos insertados) están alojados en servicios externos (Youtube, Vimeo, Box...) que sí pueden implementar sus propias cookies.    Más información
Privacidad