2
respostas

Dúvida na atividade da geração atual

Fiquei com as seguintes dúvidas:

  1. É possivel passar uma função em um print = mostra(penúltima linha do código) ?
  2. O que estaria errado no meu script ?

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

        function geracaoAtual(){
            var idadeMediaParaFilhos = 28;
            var anoAtual = 2022;
            var chegadaDosPortugueses = 1500;
            var diferencaDosAnos = anoAtual - chegadaDosPortugueses;
            var geracaoAtual = diferencaDosAnos/idadeMediaParaFilhos;
            Math.trunc(geracaoAtual);
            return document.write(geracaoAtual);
        }

        mostra("Desde 1500 até o ano de 2022 passaram " + geracaoAtual() + " gerações");
    </script>
2 respostas

Oi Lucas,

Respostas para a suas duvidas:

  1. Sim, é possível ter uma função dentro de um print=mostra().
  2. Seu erro foi definir uma variável com o mesmo nome de uma função.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Realizei o ajuste em seu código para que você possa manter como exemplo, segue:

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

        function geracaoAtual(){
            var idadeMediaParaFilhos = 28;
            var anoAtual = 2022;
            var chegadaDosPortugueses = 1500;
            var diferencaDosAnos = anoAtual - chegadaDosPortugueses;
            var resultado = diferencaDosAnos/idadeMediaParaFilhos; //Alteração do nome da variável
            Math.trunc(resultado); //Alteração do nome da variável
            return document.write(resultado); 
        }

        mostra("Desde 1500 até o ano de 2022 passaram " + geracaoAtual() + " gerações");
    </script>

Obrigado Douglas!