Olá, Levi!
Entendo que a lógica de programação pode ser um desafio no começo, mas com o tempo tudo vai ficando mais claro.
Vamos lá, quando estamos lidando com loops, como o while
, precisamos de uma condição que eventualmente será falsa para que o loop pare. No seu caso, a condição é contador > 0
. O loop continuará executando enquanto essa condição for verdadeira.
A "decrementação" é uma maneira de alterar o valor de uma variável, neste caso, diminuindo seu valor em 1 a cada iteração do loop. Quando você vê contador--
, pode ler isso como "diminua o valor de contador em 1".
No exemplo do exercício, o contador começa com o valor de qtdNumeros
(a quantidade de números que o usuário quer calcular a média) e a cada número que o usuário insere, o contador deve ser decrementado em 1 (contador--
). Isso faz com que, eventualmente, o contador chegue a 0 e a condição do while
(contador > 0
) se torne falsa, parando o loop.
Vamos ver como ficaria o código com a decrementação:
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--; // Aqui está a decrementação
}
let media = soma / qtdNumeros;
console.log(media);
Com essa alteração, o código agora funciona como esperado, calculando a média dos números inseridos pelo usuário e evitando o loop infinito.
Bons estudos!