1
resposta

[Dúvida] corrigir código e sintaxe

alert ('Desafio 1');
let contador = 0;

while (contador < 10) {
    contador++;
    console.log (contador);
}



alert ('Desafio 2');
let contador = 11;

while (contador > 0) {
    contador--;
    console.log(contador);
}


alert ('Desafio 3: programa de contagem regressiva');
let numero = prompt ('Digite um número:');
console.log (numero);

while (numero > 0) {
    numero--;
    console.log (numero);
}


alert ('Desafio 4: programa de contagem progressiva');
let contador = 0;
let numero = prompt ('Digite um número:');
console.log (contador);

while (numero != contador) {
    contador++;
    console.log (contador);
}
1 resposta

Olá, Raiane. Como vai?

Parabéns por enfrentar os desafios de lógica! Criar laços de repetição com o while é um passo muito importante no aprendizado de programação.

Analisando o seu código, a sua lógica para resolver os problemas está muito boa. Porém, o JavaScript vai apresentar erros de sintaxe no console do navegador e interromper a execução do script por conta de um detalhe importante: a redeclaração de variáveis.

No JavaScript, quando usamos o comando let para criar uma variável (como let contador), nós não podemos usar o let novamente para a mesma variável no mesmo arquivo.

Abaixo, detalho as correções para cada desafio e o código completo corrigido:

O que precisa ser corrigido?

  • Redeclaração com let: Nos Desafios 2 e 4, você usou let contador = ... novamente. Para corrigir, basta mudar o valor da variável sem colocar a palavra let na frente, ou criar variáveis com nomes diferentes (ex: let contadorRegressivo).
  • Redeclaração da variável numero: No Desafio 4, você redeclarou a variável numero que já tinha sido criada no Desafio 3.
  • A ordem do incremento no Desafio 1: Do jeito que está, seu loop começa em 0, mas a primeira linha dentro do while faz contador++. Isso significa que o primeiro número impresso no console será 1 e o último será 10. A lógica funciona, mas se você quisesse exibir o 0, o console.log deveria vir antes do contador++.

Código Completo Corrigido

Veja como o seu script deve ficar para rodar perfeitamente sem erros no console:

alert ('Desafio 1');
let contador1 = 1; // Iniciando em 1 para contar de 1 até 10
while (contador1 <= 10) {
    console.log(contador1);
    contador1++;
}

alert ('Desafio 2');
let contador2 = 10; // Iniciando em 10 para contagem regressiva
while (contador2 >= 0) {
    console.log(contador2);
    contador2--;
}

alert ('Desafio 3: programa de contagem regressiva');
let numeroRegressivo = prompt('Digite um número para a contagem regressiva:');
while (numeroRegressivo >= 0) {
    console.log(numeroRegressivo);
    numeroRegressivo--;
}

alert ('Desafio 4: programa de contagem progressiva');
let contadorProgressivo = 0;
let numeroProgressivo = prompt('Digite um número para a contagem progressiva:');
while (contadorProgressivo <= numeroProgressivo) {
    console.log(contadorProgressivo);
    contadorProgressivo++;
}

O que foi mudado para melhorar o funcionamento:

  • Diferenciamos os nomes das variáveis (contador1, contador2, numeroRegressivo, etc.) para que o navegador não se confunda.
  • Ajustamos a ordem dos comandos dentro dos blocos while (colocando o console.log antes de somar ou subtrair) e usamos os operadores >= e <= para garantir que as contagens incluam o número digitado pelo usuário e também o número zero.

Você está no caminho certo! Ajustando esses detalhes de sintaxe, sua lógica vai funcionar perfeitamente.

Espero que possa ter lhe ajudado!