2
respostas

[Dúvida] Nao coompreendo?

Estou com duvida nessa attvd nao entendi muito bem.

2 respostas

Olá, Levi!

A atividade apresenta um problema de loop infinito no código do Willian. Isso acontece porque a condição de parada do loop while nunca é atingida. No caso, contador > 0 sempre será verdadeiro, pois o contador nunca é decrementado dentro do loop.

A solução para o problema é garantir que o contador seja decrementado a cada iteração do loop. Isso pode ser feito adicionando a linha contador-- dentro do bloco while. Assim, a cada iteração, o valor de contador diminuirá em 1, até que eventualmente contador > 0 será falso, interrompendo o loop.

Aqui está um exemplo de como o código corrigido ficaria:

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--; // decrementando o contador
}

let media = soma / qtdNumeros;

console.log(media);

Portanto, a opção correta da atividade é a A) "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 sem valor alterado e para resolver o loop infinito basta decrementá-lo a cada iteração, adicionando a linha contador-- dentro do loop."

Bons estudos!

Bom dia,

Eu até acertei a opção. O que não entendi foi qual seria a função deste código? Teria mesmo alguma serventia para calcular médias aritméticas? Com qual objetivo?

att, Turí Souza