1
resposta

Usei o Return para retornar o texto contendo o nome e o Imc de cada

<meta charset="UTF-8">
<script>

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

    function paragrafo(recebeParagrafo){
        document.write("<p><big>" + recebeParagrafo + "</big></p>");
    }

    function titulo(recebeTitulo){
        document.write("<h3>" + recebeTitulo + "</h3>");
    }

    function calculaImc(nome, peso, altura){

        var imc = " O Imc de " + nome + " é " + Math.floor(peso / Math.pow(altura, 2));
            // A variável imc está armazenando texo concatenado com o cálculo de Imc.
        return imc;   // e o return vai voltar esse texto para a variável que chamou a função no momento.

    }

    titulo("Cálculo de IMC !!");

    var imcRoner = calculaImc("Rôner", 72, 1.72);   // A variável imcRoner = "O Imc de Rôner é 24" devido ao retorno da função calculaImc
    var imcFlavio = calculaImc("Flávio", 75, 1.42); // A variável imcFlavio = "O Imc de Flávio é 37" devido ao retorno da função calculaImc

    paragrafo(imcRoner);
    pulaLinha();

    paragrafo(imcFlavio);
    pulaLinha();


</script>
1 resposta

Olá, Roner. Tudo bem?

Parabéns, funciona direitinho. Só uma sugestão: tente fazer com que suas funções sejam especializadas, façam somente uma coisa e façam bem. No caso da função “calculaImc", acho que seria uma boa prática ela apenas retornar o valor calculado, assim fica mais condizente com o nome dela e com a função que se espera que ela desempenhe. Para mostrar o imc, talvez você possa fazer uma função que receba o valor calculado e concatena com o texto de apresentação.

É só uma observação para que você se acostume a seguir algumas boas práticas. Nos nossos códigos de iniciante talvez não dê pra notar tanta diferença, mas na medida em que eles vão crescendo, faz toda a diferença. Mas seu cogito está correto e resolve bem o problema.

Parabéns e bons estudos!