Alguém poderia me explicar de forma mais clara?
Alguém poderia me explicar de forma mais clara?
Olá, Gabriel.
Tudo bem?
O código que você está analisando é este:
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;
}
let media = soma / qtdNumeros;
console.log(media);
O problema aqui é que o contador
nunca é alterado dentro do loop while
. Isso faz com que a condição contador > 0
seja sempre verdadeira, resultando em um loop infinito.
Para resolver isso, você precisa decrementar o valor do contador
a cada iteração do loop. Assim, o contador
eventualmente chegará a 0, e o loop irá parar. A linha que falta no seu código é contador--
dentro do while
.
Veja como o código deve ficar:
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--; // Decrementa o contador a cada iteração
}
let media = soma / qtdNumeros;
console.log(media);
Com essa alteração, o contador
será decrementado a cada iteração do loop, eventualmente atingindo 0 e parando o loop.
Seria isso? Espero ter ajudado. Qualquer dúvida manda aqui.
Bons estudos!
Oi Gabriel.
Também estou iniciando nesse mundo, mas acho que entendi qual a sua dúvida.
Primeiro, vou definir 2 coisas pra facilitar: Números = N que vai inserir ( ex: vou inserir 2 valores) Valores = valor dos N (ex: 3 e 4);
A ideia é que qtdNumeros são quantos números você quer adicionar para o cálculo (que é a primeira box que abre). Após ela começa um loop de prompt, deixando digitarmos quais os valores do qual queremos fazer a média.
Contador = a qtdNumeros , portanto, é a quantidade de números que vamos querer calcular, e não os valores deles. Mas, a condição que está no while é (contador > 0), mas em nenhum momento tinhamos colocado para ele diminuir onúmero dos contadores a cada valor adicionado, foi aí que entrou o contador--, que vai se comportar como contador = contador - 1
ex: qtdNumero = 2 > queremos inserir dois valores e queremos a média deles. Rodando o programa, ele permite que coloquemos 2 valores. A cada valor inserido, ele tira um do contador de números a ser adicionado. Quando ele chega a 0, ele para, e no console podemos ver qual a média que ele calculou.
Espero ter ajudado (:
Muito obrigado Larissa, minha dúvida era exatamente essa.
Basicamente o loop infinito acontecia porque a quantidade de valores a serem calculados na média nunca chegava a 0, então o prompt para adição de valores continua a aparecer.