Oi, Crislaine. Vou tentar explicar da forma que eu uso para entender, ok? Veja se lhe ajuda
Resumo: O algoritmo pergunta do usuário quantos números serão utilizados para calcular média; depois recebe os números e faz um somatório deles, para então calcular a média (somatório dos números / pela quantidade de números) e mostrar no console.
// Perguntar quantos números serão utilizados pra calcular média
let qtdNumeros = prompt('Digite a quantidade de números para o cálculo da média:');
let soma = 0;
// Iniciar o contador baseado na quantidade de números
let contador = qtdNumeros;
// Enquanto o contador for maior que 0:
while(contador > 0){
// Peça ao usuário para inserir um número
let numero = parseInt(prompt('Digite o numero:'));
// Some esse número ao valor que já tem em soma
soma += numero;
// Para evitar o loop infinito, mude o contador subtraindo 1
// Cada vez que entrar no while, o contador diminui em 1, até chegar no valor 0 e então o loop acaba
contador--; // ou contador = contador - 1;
}
let media = soma / qtdNumeros;
console.log(media);
/*
Aplicando em um exemplo:
qtdNumeros = 3;
contador = qtdNumeros; // contador = 3;
while 3 > 0 {
pede número
soma número ao valor da soma;
contador = 3-1 // contador = 2
}
while 2 > 0 {
pede número
soma número ao valor da soma;
contador = 2-1 // contador = 1
}
while 1 > 0 {
pede número
soma número ao valor da soma;
contador = 1-1 // contador = 0
}
while 0 > 0 {...} FALSO - Não entra no loop, segue o resto do código
Se tivesse dado como números, por exemplo: 7, 9, 5
A soma seria: 21
Média seria: 21/3 = 7
*/
O mais importante para evitar o loop infinito é mudar o contador, do contrário, a condição do while nunca deixa de ser verdadeira.
Espero ter ajudado, mas se não tiver sido clara, é só comentar que tento responder.