1
resposta

Exercício gerações! Está correto assim?

<meta charset="UTF-8">

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

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

   var media= 28;
   var anoDeInicio= 1500;
   var anoAtual= 2021;

   mostra("Desde 1500 até o ano atual, quantas gerações se passaram? A resposta é " + (anoAtual - anoDeInicio) + " anos!");
   pulaLinha();
   mostra("Em " + (anoAtual - anoDeInicio) + " anos, " + "já tivemos " + Math.round(anoAtual - anoDeInicio/media) + " gerações.");

</script>
1 resposta

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!