1
resposta

Loop infinito

Eu não estava entendendo o motivo do loop infinito, mas logo de primeira identifiquei que a media poderia ser apresentada melhor por um "alert". Porem eu bati cabeça até que decidi vir ao fórum, onde um rapas disse que resolve o problema com usando o contador.

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:'));
    contador --;
    soma += numero;
}

let media = soma / qtdNumeros;

alert(`a media é ${media}`);

Porem eu não entendi qual a função desse "--" no código ao lado do contador, ficaria bem feliz em entender isso melhor.

1 resposta

Oii Gustavo, tudo bem?

A instrução -- que você está vendo no código é um operador de decremento em JavaScript. Isso significa que ele subtrai 1 do valor da variável a cada vez que é executado.

No contexto do seu código, o contador está sendo decrementado (ou seja, subtraindo 1) a cada passagem pelo loop while. Isso é feito para garantir que o loop não se torne infinito.

O loop while continuará executando enquanto a condição (contador > 0) for verdadeira. Inicialmente, o contador é definido como qtdNumeros, que é o número de vezes que você deseja que o loop execute. A cada passagem pelo loop, o contador é decrementado em 1 (contador--). Isso significa que, eventualmente, o contador chegará a 0 e a condição do loop while não será mais verdadeira, fazendo com que o loop pare.

Se você quiser ler mais sobre expressões e operadores deixo aqui o link da documentação MDN.

Um abraço e bons estudos.