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

desafio while

1.Crie um contador que comece em 1 e vá até 10 usando um loop while. Mostre cada número.

let numero = Number(prompt('Digite um número inicial:'));
let contador = 1;
while (contador <= 10) {
    console.log(+contador + ' mississipi');
    contador = contador + 1;
}``

2.Crie um contador que começa em 10 e vá até 0 usando um loop while. Mostre cada número.

let numero = Number(prompt('Digite um número inicial:'));
let contador = 10;
while (contador >= 0) {
    console.log(+contador);
    contador = contador - 1;
}

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.

let numero = Number(prompt('Digite um número diferente de 0:'));
while (numero >= 0) {
    console.log('descendo ' + numero);
    numero--;
}

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.

let numero = Number(prompt('Digite um número diferente de 0:'));
let contador = 0;
while (numero >= 0) {
    console.log('subindo ' + contador);
    numero--;
    contador++;
}

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas
solução!

Olá, Kevin!

Parabéns por resolver os desafios de loop while! É fundamental dominar essa estrutura no início da sua jornada em JavaScript, e seus códigos demonstram que você entendeu os três elementos cruciais: inicialização, condição e incremento/decremento.

Seus códigos para as questões 1, 2 e 3 estão perfeitos e executam exatamente o que foi pedido!

Análise do Código (Ponto de Melhoria)
Seu código para o desafio 4 (Contagem Progressiva) funciona, mas tem um ponto de atenção na condição do seu while.

Desafio 4 - Contagem Progressiva: Peça um número e conte de 0 até esse número.

Seu código:

let numero = Number(prompt('Digite um número diferente de 0:'));
let contador = 0;
while (numero >= 0) { // <--- PROBLEMA AQUI
    console.log('subindo ' + contador);
    numero--;
    contador++;
}

O que acontece no seu código: Você está usando a variável numero (que é o limite final) para controlar o loop. E dentro do loop, você está decrementando essa variável (numero--).

O resultado: Se o usuário digitar 5, seu código fará 5, 4, 3, 2, 1, 0 iterações (6 no total), mas o contador irá até 5. O loop para quando o numero chega a -1. Isso funciona, mas pode ser confuso.

A Solução mais limpa e direta:

O while deve usar o contador como variável de controle, pois ele é quem está subindo de 0 até o limite (o número digitado pelo usuário).

let numeroFinal = Number(prompt('Digite um número diferente de 0:'));
let contador = 0;

// O loop deve continuar ENQUANTO o contador (variável que sobe)
// for menor ou igual ao número final (limite).
while (contador <= numeroFinal) {
    console.log('subindo ' + contador);
    contador++; // Incrementamos a variável de controle
}

Dessa forma, a lógica fica mais intuitiva: o contador é a variável que se move, e o numeroFinal é a âncora que define onde parar.

Parabéns por sua dedicação! Continue assim.

entendi, obrigado pela explicação vou me atentar mais a isso :)