1
resposta

Não descubro o erro!

Olá! Tentei de várias formas, mas o IMC do amigo não aparece. Qual seria o erro?

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");

}

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
}

function calculaImc(x,y) {
    var Imc = peso/(altura*altura)
    calculaImc (78, 1.78);

}

var pesoFlavio = 70;
var alturaFlavio = 1.63;
var IMCFlavio = pesoFlavio/(alturaFlavio*alturaFlavio);

mostra ("O IMC do Flávio é " + Math.round(IMCFlavio))

mostra ("O IMC do meu amigo é " + Imc);


</script>
1 resposta

Olá, Cris! Tudo bem?

Ao declarar a função calculaImc podemos utilizar um return para que nossos valores de IMC possam ser armazenados em variáveis. Por exemplo, podemos escrever da seguinte forma:


function calculaImc(peso,altura) {
    var Imc = peso/(altura*altura)
    return Imc
}

Essa função irá receber como parâmetro o peso e a altura. Dessa forma, irá calcular o IMC através da fórmula passada e irá guardar o valor na variável Imc. Logo abaixo temos o return que significa que toda vez que essa função for chamada teremos como retorno o valor guardado na variável Imc.

Portanto, podemos calcular os IMC's que desejamos. Nesse caso, temos o IMC do amigo e do Flávio. Podemos fazer da seguinte forma:

IMCFlavio = calculaImc(70, 1.63);
Imc = calculaImc (78, 1.78);

Ou seja, para o peso igual a 70 e altura 1.63 a função será executada e irá armazenar na variável IMCFlavio o retorno da função calculaImc para esses valores. O mesmo acontece para o Imc do amigo. Vale ressaltar que os parâmetros devem estar nas ordens corretas.

Um outro ponto é que só podemos chamar a função fora dela. Com isso, o código ficaria assim:

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");

}

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
}

function calculaImc(peso,altura) {
    var Imc = peso/(altura*altura)
    return Imc
}

IMCFlavio = calculaImc(70, 1.63)
Imc = calculaImc (78, 1.78);

mostra ("O IMC do Flávio é " + Math.round(IMCFlavio))

mostra ("O IMC do meu amigo é " + Imc);


</script>

Caso eu não tenha conseguido deixar claro, estou à disposição!

Abraços!

Caso este post tenha resolvido sua dúvida, por favor, marque o tópico como solucionado ✓.Bons Estudos!