Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

A resolução do loop de fato é...

Olá,

Entendi o uso do while, e a importância de amarrar uma informação para que o código não vire um loop. Sendo assim o que imaginei sobre a construção do código seria essa:

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

let media = soma / qtdNumeros;

console.log(media);

Usando como base o código passado no exercício, e utilizando a resolução. inclui o código "contador--;" na linha do while, porém, mesmo com essa alteração o loop chega de fato ao fim quando utilizamos como resposta o -1 por exemplo?

Incluir os código no Visual Studio, no jogo, e ainda sim com qualquer resposta a pergunta se repete. Levando isso em consideração, o loop de fato so chegar ao fim se incluirmos mais linhas de código com "if" e "else" ?

1 resposta
solução!

Olá Weslley, tudo bem?

Você já incluiu a linha contador--; dentro do seu loop while, o que é essencial para garantir que o loop eventualmente chegue ao fim. No entanto, você mencionou que o loop continua repetindo a pergunta, mesmo após essa alteração.

Um ponto importante a verificar é se a variável qtdNumeros está sendo corretamente convertida para um número. Quando você usa prompt, o valor retornado é uma string, então é crucial garantir que qtdNumeros seja um número ao realizar operações matemáticas. Você pode fazer isso usando parseInt ou Number quando atribuir o valor a qtdNumeros. Veja como ficaria:

let qtdNumeros = parseInt(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--;
}

let media = soma / qtdNumeros;

console.log(media);

Além disso, se você deseja que o loop termine ao digitar -1, você pode adicionar uma condição if dentro do loop para verificar se o número digitado é -1 e, se for, usar break para sair do loop. Veja o exemplo:

while(contador > 0){
    let numero = parseInt(prompt('Digite o numero:'));
    if (numero === -1) {
        break;
    }
    soma += numero;
    contador--;
}

Com essas alterações, o loop deve funcionar conforme o esperado, parando quando o contador atingir zero ou quando -1 for digitado.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.