Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Pq não dá certo fazendo while(contador<=20)

Em vez de colocar contador>=0

usei contador<=20

Pq não dá certo?

var contador = 20;

    while(contador<=20) {
        mostra(contador);
        contador = contador-1;
    }
6 respostas

No titulo da pergunta você indicou usar contador <= 0 porém na pergunta tu comentou estar usando contador >= 0...

pelo que pude entender, se seu caso realmente for como no titulo o while só sera executado para registros onde a variavel contador for inferior a zero, já no segundo caso deveria funcionar este seu while.

Obrigado por me avisar Giovane. Houve erro de digitação e agora editei o tópico. Então a questão é esta: pq não da certo usando 'contador<=20'?

Olá Marcelo, Aparentemente é para funcionar. Mas coloque aí o código do.método mostra

Aí vai o código:

<meta charset="utf-8">
<script type="text/javascript">

    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    var contador = 20;

    while(contador >= 0) {
        mostra(contador);
        contador = contador-1;
    }    

    mostra("fim");

</script>
solução!

Oi Marcelo todo loop ou estrutura de repetição precisa de uma condição de parada, no caso se colocarmos como condição de parada:

while(contador<=20)

o algoritmo inicia com o valor 20 e vai decrementando , vai chegar no 0 e vai -1, -2 , -3...-infinito. sem nunca parar entrando num loop infinito, o navegador fica processando e processando infinitamente e a página nunca carrega.

Se você quer que a condição de parada seja <=20 você deve iniciar a contageme colocar outra condição quando o valor for 0.

 while(contador <=20 && contador>=0) {
        mostra(contador);
        contador = contador-1;
    }   

Espero ter ajudado e bons estudos.

Obrigado Maison!