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

Depois de tanta dificuldade, entendi o desafio e espero ajudar quem também ainda não entendeu.

Gente, eu já estava quase arrancando os cabelos por causa desse desafio, pois estava sem entender nada! Mas ai, eu entrei em um forum aqui e um usuário que acabei esquecendo o nome deu uma bela explicada sobre o que estava acontecendo com muitos usuários! Só quero dizer à ele, muuuuito obrigada e após a explicação dele, também entendi uma coisa que tem gente com dúvida.

Eu fui rever o código e coloquei a decrementação conforme explicado:


let qtdNumeros = prompt('Digite a quantidade de números para o cálculo da média:');
let soma = 0;
let contador = qtdNumeros;

while(contador > 0){
    let numero = parseInt(prompt('Digite o numero:'));
    soma += numero;
}

let media = soma / qtdNumeros;

console.log(media);

Só que tem gente (assim como eu) que ficou na dúvida sobre o prompt encerrar sem mostrar a média! Foi aqui eu eu entendi: no fim do código, a media está aparecendo como console.log, então só vai aparecer quando a gente abrir o console! Cara, parece bobo, mas então eu mudei para:

alert(`A média é ${media}`);

e finalmente o valor retornou no mesmo prompt, sem necessidade de abrir o console.

Outra coisa: tem gente falando que está colocando o número no primeiro prompt e ele aparece várias e várias vezes, eu também fiquei sem entender, mas ai foi um erro de interpretação da minha parte, pois é o seguinte, na primeira linha do código ele não está pedindo um valor para calcular a média, ele está pedindo que coloque a QUANTIDADE DE NÚMEROS que a gente vai usar para calcular a média. RSRSRSRS

Jesus! Quase taquei a cabeça na parede de tanta raiva kkkkkk

É por isso que quando ele pergunta:

let qtdNumeros = prompt('Digite a quantidade de números para o cálculo da média:');

Se você colocar que a quantidade de números é 4, ele vai pedir para você colocar 4 números diferentes para calcular a média no final!

Gente, gostei do desafio e aprendi muita coisa, mas também quase desisti por minha falta de interpretação. rsrsrsrs

Espero ter ajudado vocês também!

4 respostas
solução!

Olá, Shara! Muito obrigado por compartilhar sua experiência e solução. Isso com certeza vai ajudar muitos estudantes que estão enfrentando a mesma dificuldade.

Você está absolutamente correta. O problema inicial do código era que ele entrava em um loop infinito, porque o contador nunca era decrementado. Então, mesmo que a condição do while fosse satisfeita, o loop continuava porque o valor do contador permanecia o mesmo. Adicionar contador-- dentro do loop foi a solução perfeita para isso, pois a cada iteração o valor do contador diminui, até que eventualmente a condição do while não seja mais satisfeita e o loop termine.

Além disso, sua observação sobre a saída do resultado é muito relevante. Usar console.log para exibir a média significa que ela só será visível no console. Alterar para alert faz com que a média seja exibida diretamente para o usuário, sem a necessidade de abrir o console. Isso torna o programa muito mais amigável para o usuário.

Por fim, sua explicação sobre a entrada de dados também é muito importante. O prompt inicial está pedindo a quantidade de números que serão usados para calcular a média, não um dos números em si. Entender isso é fundamental para usar o programa corretamente.

Parabéns pela sua dedicação e por superar essa dificuldade! Sua explicação foi clara e detalhada, e tenho certeza de que será de grande ajuda para outros estudantes. Espero ter ajudado e bons estudos!

explicacao perfeita! segundo forum que vejo da Shara, que a duvida e a mesma que a minha e eu aprendo mais ainda kkk obrigada

Oi pessoal,

Não estou conseguindo resolver esse desafio. Não aparece nada no console. Confesso que estou perdidaaa!!!

Enfim, consegui com o meu esposo que é programador e apesar de não conhecer a linguagem JS, conseguiu me explicar.

let qtdNumeros = prompt('Digite a quantidade de números para o cálculo da média:'); let soma = 0; let contador = qtdNumeros;

while(contador > 0){ let numero = parseInt(prompt('Digite o numero:')); soma += numero; contador -- }

let media = soma / qtdNumeros;

console.log(media);