A alternativa correta é:
Quando utilizamos loops com contadores, precisamos garantir que um dia eles cheguem até a condição de parada do loop. No código acima, o contador não tem seu valor alterado e para resolver o loop infinito basta decrementá-lo a cada iteração, adicionando a linha contador-- dentro do loop.Explicação:
No código abaixo:
let qtdNumeros = parseInt(prompt('Digite a quantidade de números para o cálculo da média:'));
let soma = 0;
let contador = 0;
while (contador < qtdNumeros) {
let entrada = prompt(Digite o número ${contador + 1}:
);
let numero = parseFloat(entrada);
// Verifica se a entrada é um número válido
if (!isNaN(numero)) {
soma += numero;
contador++;
} else {
alert('Por favor, digite um número válido!');
}
}
let media = soma / qtdNumeros;
alert('A média é: ' + media);
- O valor de contador nunca muda dentro do loop.
A condição contador > 0 sempre será verdadeira, resultando em um loop infinito.
Para que o loop pare, é necessário diminuir o valor do contador a cada iteração:
contador--;
- Alternativas incorretas:
"contador++": Isso aumentaria o valor, afastando ainda mais da condição de parada (contador > 0).
"qtdNumeros++": Alterar a quantidade total de números não resolve o loop.
"while(contador > qtdNumeros)": Isso não faz sentido lógico, pois o contador inicia com o mesmo valor de qtdNumeros.