Declaración do...while de JavaScript para crear un bucle o ciclo

Estrada Web Group
Estrada Web Group
Declaración do...while de JavaScript para crear un bucle o ciclo

Resumen: en este tutorial, aprenderás a usar la declaración do...while de JavaScript para crear un bucle o ciclo que ejecute un bloque de código hasta que una condición no se cumpla.

Introducción a la declaración do…while de JavaScript

La declaración do...while crea un bucle que ejecuta un bloque de código hasta que una condición se evalúa como falsa. La siguiente instrucción ilustra la sintaxis del bucle do...while:

do {
  statement;
} while(expression);

A diferencia del bucle while, el bucle do-while siempre se ejecuta la declaración al menos una vez antes de evaluar la expresión.

Debido a que el ciclo do...while evalúa la expresión después de cada iteración, a menudo se le denomina ciclo posterior a la prueba.

Dentro del cuerpo del bucle, se debe realizar cambios en algunas variables para asegurarse de que la expresión sea falsa después de algunas iteraciones. De lo contrario, tendrás un bucle infinito.

El siguiente diagrama de flujo ilustra la instrucción del ciclo do-while:

do while de JavaScript

En la práctica, a menudo se usa la instrucción do...while cuando deseas ejecutar el cuerpo del bucle al menos una vez antes de verificar la condición.

Ejemplos de instrucciones do while de JavaScript

Tomemos algunos ejemplos del uso de la sentencia do...while.

1) Ejemplo simple de instrucción do while de JavaScript

El siguiente ejemplo usa la instrucción do...while para enviar cinco números del 0 al 4 a la consola:

let count = 0;
do {
  console.log(count);
  count++;
} while (count < 5)

Resultado:

0
1
2
3
4

En este ejemplo:

  •      Primero, declara e inicializa la variable de count a cero.
  •      Segundo, mostrar el valor de count e incrementar su valor en uno en cada iteración hasta que su valor sea mayor o igual a 5.

2) Usar la declaración do while de JavaScript para hacer un juego simple de adivinanzas de números

El siguiente ejemplo usa la instrucción do...while para generar un juego de adivinanzas.

El script genera un número entero aleatorio entre 1 y 10. Y tienes que hacer una serie de intentos hasta que tu número coincida con el número aleatorio.

// generar un número secreto entre 1 y 10
const MIN = 1;
const MAX = 10;

let secretNumber = Math.floor(Math.random() * (MAX - MIN + 1)) + MIN;

let guesses = 0; // para almacenar el número de intentos
let hint = ''; // para almacenar pistas
let number = 0;
do {
  // Obtener entrada de la usuaria
  let input = prompt('Por favor ingresa un número entre ${MIN} y ${MAX}' + hint);

  // obtener el entero
  number = parseInt(input);

  // aumentar el número de intentos
  guesses++;

  // verifica el número de entrada con el número secreto y proporciona una pista si es necesario
  if (number > secretNumber) {
    hint = ', y menos que ' + number;
  } else if (number < secretNumber) {
    hint = ', y mayor que ' + number;
  } else if (number == secretNumber) {
    alert('¡Bravo! tienes razon despues de ${guesses} intentos.');
  }
} while (number != secretNumber);


Cómo funciona.

Primero, declare las constantes MIN y MAX e inicialice sus valores en 1 y 10:

const MIN = 1;
const MAX = 10;

En segundo lugar, utilice la función Math.random() para generar un número de punto flotante aleatorio con un valor entre 0 y 1 (incluido cero pero no uno).

Para generar un número aleatorio entre MIN y MAX (exclusivo), utiliza la siguiente expresión:

Math.random() * (MAX - MIN + 1)

Sin embargo, el resultado es un número de coma flotante. Por lo tanto, se debe usar la función Math.floor() para convertirlo en un número entero:

Math.floor(Math.random() * (MAX - MIN + 1))

Para generar un número aleatorio entre min y max, utiliza la siguiente expresión:

let secretNumber = Math.floor(Math.random() * (MAX - MIN + 1)) + MIN;

En tercer lugar, define tres variables para almacenar la cantidad de intentos, sugerencias y el número de entrada del usuario:

let guesses = 0; // para almacenar los intentos
let hint = ''; // para almacenar pistas
let number = 0;

Cuarto, se usa la función input() para obtener la entrada del usuario:

 let input = prompt('Por favor ingresa un número entre ${MIN} y ${MAX}' + hint);

Ten en cuenta que la función input() solo funciona en navegadores web. Si ejecutas el código en otro entorno, como node.js, verifique la función correspondiente.

La función input() devuelve una cadena, por lo tanto, debes usar la función parseInt() para convertirla en un número entero:

number = parseInt(input);

Quinto, aumenta el número de intentos en cada iteración:

guesses++;

Sexto, verifica el número de entrada con el número secreto (aleatorio) y da una pista. Si los números coinciden, muestra el mensaje usando la función alert():

if (number &gt; secretNumber) {
    hint = ', y menos que ' + number;
  } else if (number < secretNumber) {
    hint = ', y mayor que ' + number;
  } else if (number == secretNumber) {
    alert('¡Bravo! tienes razon despues de ${guesses} intentos.';
  }

Séptimo, realiza la siguiente iteración hasta que el número coincida con el número secreto.

while (number != secretNumber);

Resumen

Utiliza la instrucción do...while para crear un bucle que ejecute un bloque de código hasta que una condición sea falsa.

 

Compartir artículo:

Más artículos geniales

Var, Let y Const en JavaScript: ¿cuál es la diferencia?

Var, Let y Const en JavaScript: ¿cuál es la diferencia?

En este artículo, analizare y tratare de explicar las diferencias entre var, let y const de JavaScript, además analizare su alcance, uso y sus mejoras. Una de las características que viene con ES6 es la adición de let y const, que se puede usar para la declaración de variables.

Ver artículo completo
Cómo usar los bucles en JavaScript con For, While o Do While

Cómo usar los bucles en JavaScript con For, While o Do While

En este artículo, explicare el uso básico de las estructuras de control para producir bucles o repeticiones. Los bucles pueden ejecutar bloques de código cualquier cantidad de veces que sea necesario.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla