Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Está certo?

Fiz um pouco diferente, e não sei se está certo

<meta charset="utf-8">
<script>
    function pulaLinha() {
        document.write("<br><br>");
    }

    function mostra(geracoes) {
        document.write("*********************");
        pulaLinha();
        document.write(geracoes);
        pulaLinha();
        document.write("*********************");
        pulaLinha();
    }

    var idadeMedia = 28;
    var anoAtual = 2016;
    var anoInicial = 1500;
    var quantidadeDeGeracoes = anoAtual - anoInicial;
    mostra("Passaram-se " + Math.round(quantidadeDeGeracoes / idadeMedia) + " gerações");
</script>
3 respostas

Está muito bem formatado e escrito! Está certo sim Fabio.

solução!

Olá Fábio! Parabéns pelo código! Ele está correto pois atende ao que espera-se dele, que é imprimir na tela do navegador a quantidade de gerações. Mas, dá uma olhada neste trecho:

var quantidadeDeGeracoes = anoAtual - anoInicial;
mostra("Passaram-se " + Math.round(quantidadeDeGeracoes / idadeMedia) + " gerações");

Apesar de funcionar, a variável quantidadeDeGeracoes realmente representa o que ela significa? Se outro desenvolvedor, ou você mesmo depois de um tempo, olhasse para essa variável o que esperaria que ela nos fornecesse? A quantidade de gerações, correto? Mas não é exatamente isso que ela retorna. Ela está retornando apenas uma subtração de dois anos. Então, você não acha que ficaria mais fácil a leitura e manutenção do código no futuro se ela fosse assim:

var quantidadeDeGeracoes = (anoAtual - anoInicial) / idadeMedia;

E, pra facilitar mais ainda, essa variável já poderia nos devolver esse cálculo com o valor arredondado:

var quantidadeDeGeracoes = Math.round((anoAtual - anoInicial) / idadeMedia);

E a chamada da função mostra()? Qual o objetivo dela? É imprimir na tela do navegador alguma informação e não realizar cálculos. Sua interpretação ficaria mais fácil se fosse simplificada assim:

mostra("Passaram-se " + quantidadeDeGeracoes + " gerações");

Veja que o resultado final no navegador é o mesmo porém a leitura do código ficaria mais legível.

Abraços e sucesso nos estudos!

Muito obrigado pela explicação.