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 ✓.