1
resposta

[Dúvida] Logica?

Poderiam me da uma explicação um pouco melhor pois senti um pouco de duvidas ainda relacionada a o exercicio

1 resposta

Oi, Levi! Tudo bem?

No código fornecido, o objetivo é calcular a média aritmética de uma quantidade de números inseridos pelo usuário. Para isso, é utilizado um loop while que repete a solicitação de números até que a quantidade desejada seja atingida, no entanto, o código apresenta um loop infinito.

Observando o código:

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);

Podemos observar que o problema é que a variável contador nunca é alterada dentro do loop while, o que significa que a condição contador > 0 será sempre verdadeira, resultando em um loop infinito.

Para resolver isso, precisamos garantir que o valor de contador seja decrementado a cada iteração do loop. Assim, eventualmente, contador se tornará 0 e a condição do while será falsa, encerrando o loop. A solução correta é adicionar contador-- dentro do loop, deixando-o da seguinte forma:

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
}

let media = soma / qtdNumeros;

console.log(media);

Espero ter ajudado!

Um forte abraço e bons estudos!