1
resposta

Dúvida media idade familiares

<script>

function pulaLinha() {

    document.write("<br>");
    document.write("<br>");

}

function mostra(frase) {

    document.write(frase);
    pulaLinha();

}

var totalFamiliares = parseInt(prompt("Quantidade de familiares?"));

var numero = 1;
while(numero <= totalFamiliares) {
var totalIdades = 0;
    var idade = parseInt(prompt("Informe idade do familiar"));
    totalIdades = totalIdades + idade;
    numero++;

}

mostra("FIM");

</script>

O código não funciona porque o resultado dá 10 e teria que dar 20. Na aula explica que isso acontece pelo totalIdades estar dentro do while, mas não sei onde deveria deixar ele pra que funcione. Tentei de algumas formas e nao consegui. Alguém pode ajudar?

1 resposta

Olá, Jéssica, para o programa mostrar o resultado esperado, devemos colocar a variável totalIdades para fora do bloco de instruções do laço de repetição while (fora das chaves). Assim, essa variável não será zerada a cada vez que a instrução for repetida mas, sim, somada às idades que serão informadas pelo usuário, veja:

    var numero = 1;
    var totalIdades = 0;

    while(numero <= totalFamiliares) {

        var idade = parseInt(prompt("Informe idade do familiar"));
        totalIdades = totalIdades + idade;

        numero++;

    }

Além disso, precisamos declarar a variável mediaIdades e pedir para que o resultado dela seja mostrado na página:

    var mediaIdades = totalIdades / totalFamiliares;
    mostra("A média das idades dos familiares é " + mediaIdades);
    mostra("FIM");

Então, o código completo ficaria assim:

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");

    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();

    }

    var totalFamiliares = parseInt(prompt("Quantidade de familiares?"));

    var numero = 1;
    var totalIdades = 0;

        while(numero <= totalFamiliares) {

            var idade = parseInt(prompt("Informe idade do familiar"));
            totalIdades = totalIdades + idade;

            numero++;

        }

    var mediaIdades = totalIdades / totalFamiliares;
    mostra("A média das idades dos familiares é " + mediaIdades);
    mostra("FIM");

    </script>

Espero ter contribuído para o esclarecimento da sua dúvida. Bons estudos!