Projeto Atual:

Programando Aplicativos com Javascript

14/07/2022

Repetindo Blocos de Instruções – while, do e for

Outra estrutura de programação muito importante são os comandos que causam a repetição de partes do código. Em Javascript, há dois comandos próprios para isso: while e for, que, em Português, poderiam ser traduzidos como enquanto e para todo, respectivamente. Existe ainda uma variante do comando while: do... while.

while

O formato do comando while é o seguinte:

while (<condição>) {
  <bloco de comandos>
}

O bloco de comandos que segue a condição é executado enquanto a mesma tiver valor true. Caso contrário, o programa segue executando as instruções que vêm depois do bloco. Veja um exemplo:

<!DOCTYPE HTML>
<html lang="pt-br">
  <head>
    <meta charset="utf-8" />
    <title>Exemplo Javascript - while</title>
  </head>
  <body>
    <p id="resultado">
    </p>
  </body>
  <script type="text/javascript">
    var areaResultado = document.getElementById('resultado'); 
var linhasMensagem = []; /* Utilitário para imprimir uma mensagem na tela. */ function mostrarMensagem(msg) { linhasMensagem.push(msg.toString()); areaResultado.innerHTML = linhasMensagem.join('<br />'); } </script> <script type="text/javascript"> var valor = 16; while (valor > 1) { mostrarMensagem("<p>A metade de " + valor.toString() + " é " + (valor / 2).toString()); valor = valor / 2; } </script> </html>



Ao utilizar o comando while, você deve tomar cuidado para garantir que a condição testada deixe de ser verdadeira em algum ponto. No exemplo, usamos a propriedade da divisão sucessiva de um inteiro positivo por dois, em que o resultado vai diminuir, e eventualmente chegar a um valor menor ou igual a 1.

A variável valor aparece dos dois lados do operador de atribuição. A ordem das operações executadas é: a expressão à direita do operador = é avaliada, utilizando o conteúdo corrente da variável. Somente depois disso, a atribuição é executada, alterando o valor da variável. Daí, quando executamos essa, o conteúdo de valor é 16 antes da primeira execução, e 8 ao completar a atribuição.

Uma variante do comando while é o do ... while. O formato é como abaixo:

do {
  <bloco de comandos>
} while (<condição>);

Neste caso, o bloco de comandos é executado, e só depois disso a condição é testada. Enquanto for verdadeira, o bloco de comandos será executado novamente. Esta construção garante que o código no bloco seja executado pelo menos uma vez.

Pode haver situações em que se deseje terminar a execução do bloco de comandos no meio. Para isso, há um outro comando: break. Ao executar este comando, o programa pula todos os comandos até o fim do bloco de repetição e passa a executar os comandos que vêm depois do bloco. Só faz sentido usar um comando break associado a um comando if.

for

Já o comando for executa um bloco de comandos usando uma variável de controle, que para cada passo assume um dos valores de uma sequência. Uma das formas do comando em que a sequência a percorrer é numérica é:

for (<declaração de variável>; <condição>; <incremento>) {
  <bloco de comandos>
}
Quando a condição deixa de valer true, o programa segue nos comandos após o bloco controlado pelo comando for. Veja um exemplo concreto:
<!DOCTYPE HTML>
<html lang="pt-br">
  <head>
    <meta charset="utf-8" />
    <title>Exemplo Javascript - for</title>
  </head>
  <body>
    <p>Números pares</p>
    <p id="resultado">
    </p>
  </body>
  <script type="text/javascript">
    var areaResultado = document.getElementById('resultado'); 

    const limite = 16;
    var mensagem = "";
    
    for (let num = 2; num <= limite; num = num + 2) {
      mensagem = mensagem + num.toString() + ", "
    }
    areaResultado.innerHTML = mensagem;
  </script>
</html>

Próxima
Voltar ao Sumário

Nenhum comentário:

Postar um comentário