Olá Anne, tudo bem com você?
Peço desculpas pela demora em lhe responder.
Meus parabéns pela iniciativa e por compartilhar o seu código com a comunidade do fórum da Alura. No código postado será necessário realizar uma mudança no momento em que ocorre a chamada da função mostra()
para que o cálculo das gerações ocorra da forma correta, deixo abaixo a descrição do ponto de mudança.
Quando ocorre a segunda chamada da função mostra()
, as variáveis foram passadas para a função round()
da seguinte forma.
Math.round(anoAtual - anoDeInicio/media)
Resultado a execução do código anterior
1967
Da forma que o código está apresentado acima, o operador /
tem precedência mais alta do que o operador -
, o que significa que a expressão anoDeInicio / media
será avaliada primeiro. E logo após será realizado a subtração dos valores, apresentando um resultado não esperado, neste caso 19.
Para que o cálculo ocorra de forma correta, usaremos os parênteses ()
para informar que primeiro deve ser realizado a subtração e depois a divisão, conforme apresentado abaixo.
Math.round((anoAtual - anoDeInicio) / media)
Resultado a execução do código anterior
19
Chamada da função mostra()
completa
mostra("Em " + (anoAtual - anoDeInicio) + " anos, " + "já tivemos " + Math.round((anoAtual - anoDeInicio) / media) + " gerações.");
Resultado
Em 521 anos, já tivemos 19 gerações.
Espero ter lhe ajudado. Em caso de dúvidas estou à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!