Olá, Hugo! Tudo bem?
O problema de um loop infinito é que ele pode fazer com que seu programa nunca termine de executar, o que pode causar travamentos e consumir muitos recursos do sistema. No código que você compartilhou, o loop se torna infinito porque a variável contador
nunca é decrementada, então a condição contador > 0
é sempre verdadeira.
Para corrigir isso, você deve decrementar o contador
em cada iteração do loop, assim:
while(contador > 0){
let numero = parseInt(prompt('Digite o numero:'));
soma += numero;
contador--;
}
Sobre o operador +=
, ele é um atalho para soma = soma + numero
. Isso significa que o valor de numero
é adicionado ao valor atual de soma
. Se você usasse soma = numero
, estaria substituindo o valor de soma
pelo valor de numero
a cada iteração, o que não permitiria calcular a soma total.
Por fim, o Alert vs console.log: você pode usar alert
em vez de console.log
se quiser exibir a média para o usuário de uma forma mais visível. No entanto, alert
é geralmente usado para mensagens curtas e simples, enquanto console.log
é mais adequado para depuração e para exibir informações mais complexas. De forma resumida, o alert
você usará para mostrar informações na página HTML e o console.log
você mostrará informações no terminal.
Portanto, o código corrigido ficaria assim:
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;
alert(`A média do seu número é: ${media}`);
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.