2
respostas

Erro NaN no cálculo. O que fazer? (resolvido)

Estou tentando fazer esse código funcionar, mas não consigo entender aonde está o erro, mesmo após olhar o gabarito.

<meta charset="UTF-8">
<script>
        var anoAtual = 2022;
        var quantidadeDeGeracoes = (anoAtual - 1500) / idadeMediaQuandoTemFilhos;
        var idadeMediaQuandoTemFilhos = 28;



    function pulaLinha () {
        document.write("<br>");
    }

    function mostra (texto) {
        document.write(texto);
        pulaLinha ();
    }

    mostra("Desde 1500 até o ano atual se passaram " + quantidadeDeGeracoes + " gerações");

</script>

GABARITO:

<meta charset="UTF-8">

    <script>
        function pulaLinha() {
            document.write("<br>");
        }

        function mostra(frase) {
            document.write(frase);
            pulaLinha();
        }

        var idadeMediaQuandoTemFilhos = 28;
        var anoAtual = 2016; 

        var quantidadeDeGeracoes = (anoAtual - 1500) / idadeMediaQuandoTemFilhos;



         mostra("Desde 1500 até o ano atual se passaram " + quantidadeDeGeracoes + " gerações");
    </script>
2 respostas

Perceba este bloco de código

var anoAtual = 2022;
 var quantidadeDeGeracoes = (anoAtual - 1500) / idadeMediaQuandoTemFilhos; // Você está usando a variável antes de declarar ela
 var idadeMediaQuandoTemFilhos = 28; //Só aqui você declarou a variável

A variável precisa ser declarada antes do código que a utiliza para funcionar corretamente.

Como em:

var anoAtual = 2022;
var idadeMediaQuandoTemFilhos = 28; //Declarei a variável primeiro
var quantidadeDeGeracoes = (anoAtual - 1500) / idadeMediaQuandoTemFilhos; //Depois eu uso ela

Faz sentido. Mas eu nunca teria tentado isso, obrigada pela dica.