JavaScript faz… while Loop

Resumo : neste tutorial, você aprenderá como usar a do...whileinstrução JavaScript para criar um loop que executa um bloco até que uma condição seja false.

Introdução à instrução JavaScript do…while

A do...whileinstrução loop cria um loop que executa um bloco até que uma condição seja avaliada como false. A instrução a seguir ilustra a sintaxe do do...whileloop:

do {
  statement;
} while(expression);Linguagem de código:  JavaScript  ( javascript )

Ao contrário do whileloop, o do-whileloop sempre executa statementpelo menos uma vez antes de avaliar o expression.

Como o do...whileloop avalia a expressão após cada iteração, ele costuma ser chamado de loop pós-teste.

Dentro do corpo do loop, você precisa fazer alterações em algumas  variáveis ​​para garantir que isso expressionocorra falseapós algumas iterações. Caso contrário, você terá um loop indefinido.

Observe que começando com ES6+, o ponto e vírgula ( ;) após while(expression)é opcional. Então você pode usar a seguinte sintaxe:

do {
  statement;
} while(expression)Linguagem de código:  JavaScript  ( javascript )

O fluxograma a seguir ilustra a do-whileinstrução de loop:

JavaScript faz enquanto

Na prática, você costuma usar a do...whileinstrução quando deseja executar o corpo do loop pelo menos uma vez antes de verificar a condição.

Exemplos de instruções JavaScript do while

Vejamos alguns exemplos de uso da do...whiledeclaração.

1) Exemplo simples de instrução do while em JavaScript

O exemplo a seguir usa a do...whileinstrução para gerar cinco números de 0 a 4 no console:

let count = 0;
do {
  console.log(count);
  count++;
} while (count < 5)Linguagem de código:  JavaScript  ( javascript )

Saída:

0
1
2
3
4

Neste exemplo:

  • Primeiro, declare e inicialize a countvariável com zero.
  • Segundo, mostre counte aumente seu valor em um em cada iteração até que seu valor seja maior ou igual a 5.

2) Usando a instrução JavaScript do while para fazer um jogo simples de adivinhação de números

O exemplo a seguir usa a do...whileinstrução para gerar um jogo de adivinhação de números.

O script gera um número inteiro aleatório entre 1 e 10. E você tem que fazer uma série de suposições até que seu número corresponda ao número aleatório.

// generate a secret number between 1 and 10
const MIN = 1;
const MAX = 10;

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

let guesses = 0; // for storing the number of guesses
let hint = ''; // for storing hint
let number = 0;
do {
  // get input from user
  let input = prompt(`Please enter a number between ${MIN} and ${MAX}` + hint);

  // get the integer
  number = parseInt(input);

  // increase the number of guesses
  guesses++;

  // check input number with the secret number provide hint if needed
  if (number > secretNumber) {
    hint = ', and less than ' + number;
  } else if (number < secretNumber) {
    hint = ', and greater than ' + number;
  } else if (number == secretNumber) {
    alert(`Bravo! you're correct after ${guesses} guess(es).`);
  }
} while (number != secretNumber);
Linguagem de código:  JavaScript  ( javascript )

Como funciona.

Primeiro, declare as constantes MIN e MAX e inicialize seus valores como 1 e 10:

const MIN = 1;
const MAX = 10;Linguagem de código:  JavaScript  ( javascript )

Segundo, use Math.random()a função para gerar um número aleatório de ponto flutuante com valor no intervalo de 0 e 1 (incluindo zero, mas não um).

Para gerar um número aleatório entre MIN e MAX (exclusivo), você usa a seguinte expressão:

Math.random() * (MAX - MIN + 1)Linguagem de código:  JavaScript  ( javascript )

No entanto, o resultado é um número de ponto flutuante. Portanto, você precisa usar a Math.floor()função para convertê-lo em um número inteiro:

Math.floor(Math.random() * (MAX - MIN + 1))Linguagem de código:  JavaScript  ( javascript )

Para gerar um número aleatório entre mínimo e máximo, você usa a seguinte expressão:

let secretNumber = Math.floor(Math.random() * (MAX - MIN + 1)) + MIN;Linguagem de código:  JavaScript  ( javascript )

Terceiro, defina três variáveis ​​para armazenar o número de suposições, dicas e o número de entrada do usuário:

let guesses = 0; // for storing the number of guesses
let hint = ''; // for storing hint
let number = 0;Linguagem de código:  JavaScript  ( javascript )

Quarto, use a input()função para obter a entrada do usuário:

let input = prompt(`Please enter a number between ${MIN} and ${MAX}` + hint);Linguagem de código:  JavaScript  ( javascript )

Observe que a input()função funciona apenas em navegadores da web. Se você executar o código em outro ambiente, como node.js, verifique a função correspondente.

A input()função retorna uma string, portanto, você precisa usar a parseInt()função para convertê-la em um número inteiro:

 number = parseInt(input);Linguagem de código:  JavaScript  ( javascript )

Quinto, aumente o número de suposições em cada iteração:

 guesses++;

Sexto, verifique o número de entrada com o número secreto (aleatório) e dê uma dica. Se os números corresponderem, mostre a mensagem usando a alert()função:

if (number > secretNumber) {
  hint = ', and less than ' + number;
} else if (number < secretNumber) {
  hint = ', and greater than ' + number;
} else if (number == secretNumber) {
  alert(`Bravo! you're correct after ${guesses} guess(es).`);
}Linguagem de código:  JavaScript  ( javascript )

Sétimo, execute a próxima iteração até que o número corresponda ao número secreto.

while (number != secretNumber);Linguagem de código:  JavaScript  ( javascript )

Resumo

  • Use a do…whileinstrução para criar um loop que executa um bloco de código até que uma condição seja false.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *