3
respostas

Resolvendo o loop infinito

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 --; //adicionando um decremento assim como esta em uma das alternativas.
}

let media = soma / qtdNumeros;

console.log(media);
3 respostas

Há um pequeno problema. O valor de qtdNumeros que você obtém do prompt é uma string, e ao utilizá-lo na condição do while, pode causar resultados inesperados, pois a comparação será de string em vez de números.

Para corrigir isso, você pode converter qtdNumeros para um número inteiro usando parseInt() antes de usá-lo no while. Aqui está o código ajustado:

let qtdNumeros = parseInt(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);

Ao converter qtdNumeros para um número inteiro, você garante que a condição contador > 0 no while seja avaliada corretamente. Dessa forma, seu código agora deverá calcular a média dos números conforme esperado.

Sim! não tive contato com essa sintaxe ainda, e realmente foi de grande ajuda sua correção, um grande aprendizado, obrigado!

Eu também estava com dúvida sobre o uso do parseInt... Obrigada pela orientação