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!