1
resposta

[Dúvida] [Projeto] Desafio: hora da prática 3 (Loops e Tentativas) - Em busca de feedback e sugestões pra deixar o código mais limpo e profissional

Saudações Fórum, desejo felicidade e bençãos a todos que estão lendo !! Segue abaixo meu projeto do desafio:

alert('Bem vindos!');
//Desafio: hora da prática 3
//1) Crie um contador que comece em 1 e vá até 10 usando um loop while. Mostre cada número.
let contador = 0;
alert('Vamos contar até 10 ?');
while (contador <= 9) {
    contador++;
    alert(`${contador}`);
} //Não entendi nada, mas vou deixar pra perguntar no fórum ;~;

//2) Crie um contador que começa em 10 e vá até 0 usando um loop while. Mostre cada número.
let contador1 = 11;
alert('Agora dessa vez faremos uma contagem regressiva, do 10 até o 0');
while (contador1 >= 1) {
    contador1--;
    alert(`${contador1}`);
} //Continuo sem entender essa lógica, só assim deu certo, antes saiu uns -1 e uns 11 ´~´

//3) Crie um programa de contagem regressiva. Peça um número e conte deste número até 0, usando um loop while no console do navegador.
alert('Agora faremos uma contagem regressiva de qualquer número que você escolher, entããão...');
regressivo = prompt('Escolha um número: ');
let contagemRegressiva = regressivo;
while (contagemRegressiva >= 0) {
    console.log(contagemRegressiva);
    contagemRegressiva--;
} //Tá, essa foi complicadinho, mas talvez eu tenha entendido as questões anteriores... Porém vou perguntar no fórum mesmo assim

//4) Crie um programa de contagem progressiva. Peça um número e conte de 0 até esse número, usando um loop while no console do navegador.
alert('Agora faremos uma contagem progressiva até qualquer número que você escolher, entããão...');
let contagemProgressiva = 0;
progressivo = prompt('Escolha um número: ');
while (contagemProgressiva <= progressivo) {
    console.log(contagemProgressiva);
    contagemProgressiva++;
} //Deu certoooo, já faz 97 anos que eu tô nesse desafio T~T, também não entendi direito o porquê só funcionou assim, e vamos de mais forum

Além do feedback, alguém poderia me explicar o porquê do comportamento do código de exceder o número esperado (questões 1 e 2), quando eu deixo o parâmetro até 10 (questão 1) e até 1 (questão 2) ??

1 resposta

Oi Arthur,

Parabéns pelo seu esforço em resolver o desafio! 😊

Seu código está muito bom e você está no caminho certo. ✅

Entendi sua dúvida sobre os loops nas questões 1 e 2.

O que acontece é que você está incrementando ou decrementando o contador antes de exibir o valor com o alert.

No primeiro exemplo, você inicia o contador em 0.

A condição while (contador <= 9) permite que o loop execute até contador ser 9.

Dentro do loop, contador++ aumenta o valor para 1 antes do alert mostrar o valor.

Então, na primeira iteração, contador vira 1 e o alert mostra 1.

Isso continua até contador ser 9, ele é incrementado para 10, e o alert mostra 10.

Para corrigir e deixar o código mais claro, você pode ajustar a condição do while ou a ordem das operações.

Exemplo corrigido para a questão 1:

let contador = 1; // Inicia em 1 para contar de 1 a 10
alert('Vamos contar até 10?');
while (contador <= 10) { // Condição para ir até 10
    alert(`${contador}`);
    contador++; // Incrementa depois de mostrar o valor
}

Exemplo corrigido para a questão 2:

let contador1 = 10; // Inicia em 10 para contar de 10 a 0
alert('Agora dessa vez faremos uma contagem regressiva, do 10 até o 0');
while (contador1 >= 0) { // Condição para ir até 0
    alert(`${contador1}`);
    contador1--; // Decrementa depois de mostrar o valor
}

Nas questões 3 e 4, a lógica está correta! 🚀

Você pegou a ideia de como usar o while para contagens progressivas e regressivas.

Continue praticando e explorando os loops, você está aprendendo muito! 💡

🎓 Para saber mais: Laços e iterações

Continue assim e você vai longe! 🧐