2
respostas

Todos os números de 20 a 0.

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

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

 var contador = 21;
while( contador >= 1 ) {
    contador = contador - 1;
    mostra("contador " + contador);
}
mostra("fim");
2 respostas

Tenho uma dúvida: Se eu coloca o código assim o contador incial é 19 e o final -1,

var contador = 20;
while( contador >= 0 ) {
    contador = contador - 1;
    mostra("contador " + contador);

}
mostra("fim");

porém se for o contrário o contador inicial é 20 e o final é 0, porque isso acontece?

var contador = 20;
while( contador >= 0 ) {
    contador = contador - 1;
    mostra("contador " + contador);

}
mostra("fim");

Olá, Jeferson, como você está? Espero que esteja bem.

Agradeço o aguardo da resposta.

Analisei o seu código das duas perguntas e ambos os códigos estão corretos. Caso, a sua pergunta seja o porquê do programa esteja imprimindo o contador com um valor a menos do que declarado na variável contador, é porque a iteração está sendo realizada antes da chamada da função mostra. Com isso, o primeiro contador, não chega a ser impresso, pois a operação é feita antes de imprimir.

No primeiro código, ao invés de mostrar 21 como primeiro contador, ele imprimirá 20. E no segundo código, ao invés de 20, será 19.

Segue os códigos com as devidas correções abaixo:

var contador = 21;
while( contador >= 1 ) {
    mostra("contador " + contador);
    contador = contador - 1;
}
mostra("fim");
var contador = 20;
while( contador >= 0 ) {    
    mostra("contador " + contador);
    contador = contador - 1;

}
mostra("fim");

Espero ter ajudado!

Abraços.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!