Loops WHILE e DO WHILE
Descrição e diferentes usos dos dois tipos de loops WHILE com alguns exemplos.
Vejamos agora os dois tipos de loops WHILE que podemos utilizar em Javascript e os usos de cada um.
Loop WHILE
Estes loops se utilizam quando queremos repetir um número indefinido de vezes a execução de umas sentenças, sempre que se cumpra uma condição. Sim, que é mais simples de compreender que o loop FOR, pois não incorpora na mesma linha a iniciação das variáveis, sua condição para continuar executando e sua atualização. Somente se indica, como veremos a seguir, a condição que tem que se cumprir para que se realize uma repetição.
while (condição){ sentenças a executar } Um exemplo de código onde se utiliza este loop pode ser visto a seguir: var color = "" while (color != "vermelho") color = me dá uma cor }
Este é um exemplo do mais simples do que se pode fazer com um loop while. O que faz é pedir que o usuário introduza uma cor, mas que não seja a cor vermelha. Para executar um loop como este primeiro temos que iniciar a variável que vamos utilizar na condição de repetição do loop. Com a variável iniciada podemos escrever o loop, que comprovará para executar que a cor da variável seja diferente de "vermelha". Em cada repetição do loop pede-se uma nova cor ao usuário para atualizar a variável cor e termina-se a repetição, com o que retornamos ao princípio do loop, onde temos que voltar a avaliar se o que há na variável cor é "vermelha" e assim sucessivamente enquanto não seja introduzido como cor o texto "vermelho". Obviamente, a expressão "me dá uma cor" não é Javascript, mas como ainda não sabemos como escrever isso em Javascript, é melhor vê-lo mais adiante.
Loop DO...WHILE
É o último dos loops que há em Javascript. Utiliza-se geralmente quando não sabemos quantas vezes haverá de se executar o loop, assim como o loop WHILE, com a diferença de que sabemos ao certo que o loop pelo menos se executará uma vez.
Este tipo de loop se introduziu em Javascript 1.2, portanto, nem todos os navegadores o suportam, somente os de versão 4 ou superior. Em qualquer caso, qualquer código que se queira escrever com DO...WHILE pode ser escrito também utilizando um loop WHILE, com o qual em navegadores antigos deverá traduzir o loop DO...WHILE por um loop WHILE.
A sintaxe é a seguinte:
do { sentenças do loop } while (condição)
O loop se executa sempre uma vez e ao final se avalia a condição para dizer se se executa outra vez o loop ou se termina sua execução.
Vejamos o exemplo que escrevemos para um loop WHILE neste outro tipo de loop:
var color do { color = me dá uma cor } while (color != "vermelho")
Este exemplo funciona exatamente igual que o anterior, exceto que não tivemos que iniciar a variável cor antes de introduzirmos no loop. Pede uma cor contanto que a cor introduzida seja diferente de "vermelho".
Exemplo
Vamos ver a seguir um exemplo mais prático sobre como trabalhar com um loop WHILE. Como é muito difícil fazer exemplos práticos, com o pouco que sabemos sobre Javascript, vamos adiantar uma instrução que ainda não conhecemos.
Neste exemplo vamos declarar uma variável e iniciá-la a 0. Logo, iremos somando a essa variável um número aleatório do 1 ao 100 até somarmos 1.000 ou mais, imprimindo o valor da variável soma depois de cada operação. Será necessário utilizar o loop WHILE porque não sabemos exatamente o número de repetições que teremos que realizar.
var soma = 0 while (soma < 1000){ soma += parseInt(Math.random() * 100) document.write (soma + "<br>")
}
Supomos que no que diz respeito ao loop WHILE não haverá problemas, mas onde sim que pode haver é na sentença utilizada para tomar um número aleatório. Entretanto, não é necessário explicar aqui a sentença porque já temos planejado fazer mais adiante.
Podemos ver uma página com o exemplo em funcionamento.