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

exercício usando função for()

Estava reproduzindo o exercicio mostrado sobre a média das idades usando função for() ao invés da while(), porém o resultado sempre mostra uma dizima mesmo colocando parseInt() em todas as idades. Alguém pode me ajudar a entender o que acontece? minha programação abaixo:

<meta charset = "UTF-8">
<script>
    var numeroDeFamiliares = parseInt(prompt("Digite a quantidade de familiares."));
    var totalFamiliares = 1;
    var totalIdades = 1;
    function pulaLinha(){
        document.write("<br>");
    }
    function mostra(frase){
        document.write(frase);
        pulaLinha();
    }
    for(totalFamiliares;totalFamiliares<= numeroDeFamiliares;totalFamiliares++){
        var idade = parseInt(prompt("Insira a idade do familiar."));
        totalIdades += idade;
    }
    var mediaIdades = totalIdades/numeroDeFamiliares;
    mostra("A média das idades é " + mediaIdades);
    mostra("FIM");
</script>
1 resposta
solução!

Olá, Gustavo. Tudo bem?

Quando pedimos algo para o usuário utilizando o prompt, o que foi digitado é considerado uma string. Então para que seja possível fazer operações matemáticas precisamos utilizar o parseInt() para considerar essa informação um número. O parseInt() não impede que, por exemplo, a divisão de (3 + 2 + 5)/3 seja igual a 3,333333. Caso queira limitar as casas decimais ou arredondar o número podemos fazer da seguinte forma:

  • Caso você queira que a média seja um número inteiro:
    var mediaIdades = totalIdades/numeroDeFamiliares;
    mostra("A média das idades é " +  Math.round(mediaIdades));
    mostra("FIM");
  • Caso você queira limitar o número de casas decimais:
      var mediaIdades = totalIdades/numeroDeFamiliares;
      mostra("A média das idades é " +  mediaIdades.toFixed(2));
      mostra("FIM");
    Sendo que o 2 no toFixed significa que limita para duas casas decimais. Você pode escolher quantas casas decimais preferir.

Espero que tenha te ajudado. Caso ainda não esteja claro, estou à disposição. Bons estudos :)

Abraços!