1
resposta

[Projeto] Desafio 03

1-

let contador=1;
while(contador <10){
    alert(`${contador++}`);
    console.log(`${contador}`);
}

2-

let contador=10;
while(contador >1){
    alert(`${contador--}`);
    console.log(`${contador}`);
}

3-

let contagemregressiva=prompt("insira um numero.");

while(contagemregressiva >0){
    alert(`${contagemregressiva}`);
    console.log(`${contagemregressiva}`);
    contagemregressiva--;
}

4-

let contagemprogressiva=prompt("insira um numero.");
let contador=0;

while(contador<contagemprogressiva){
    alert(`${contador}`);
    console.log(`${contador}`);
    contador++;
}
1 resposta

Oii, Felipe! Tudo bem?

Parabéns pela dedicação em resolver os desafios! É muito legal ver você testando diferentes formas de exibir os resultados (usando tanto alert quanto console.log).

Analisei seu código e tenho algumas dicas bacanas para te ajudar a ajustar a lógica e chegar exatamente no resultado esperado:

1. A condição de parada do Loop (While)
Nos desafios, o objetivo geralmente é incluir o número final na contagem.

  • Quando usamos apenas < (menor que) ou > (maior que), o loop para antes de chegar no número limite.
  • Dica: Para incluir o número final (como o 10 ou o 0), precisamos usar o igual junto: <= (menor ou igual) ou >= (maior ou igual).

2. O incremento dentro do alert
Vi que você colocou contador++ direto dentro do alert. Isso funciona, mas pode causar uma pequena confusão: o valor é exibido no alert e imediatamente aumentado. Quando o código chega na linha de baixo (console.log), o número já mudou!

  • Sugestão: Para facilitar a leitura e garantir que o alert e o console mostrem o mesmo número, tente fazer o incremento (contador++) em uma linha separada, no final do bloco.

Como ficaria o código com esses ajustes:

Exemplo para o Desafio 1 (1 até 10):

let contador = 1;

// Usamos <= para incluir o 10
while (contador <= 10) {
    alert(contador);
    console.log(contador); // Agora o console mostra o mesmo valor do alert
    contador++; // Incrementamos depois de mostrar
}

Exemplo para o Desafio 3 (Contagem Regressiva até 0):

let contagemRegressiva = prompt("Insira um número:");

// Usamos >= para incluir o 0
while (contagemRegressiva >= 0) {
    console.log(contagemRegressiva);
    contagemRegressiva--;
}

Esses detalhes de lógica ("é maior que" vs "é maior ou igual a") são super comuns de confundir no começo, chamamos isso de erro de contagem por um (off-by-one error). Com a prática você tira isso de letra!

Continue praticando.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!