Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

imc is not defined

O programa calcula o IMC certo, mas não o classifica:

<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);
        mostra ("O imc calculado é " + imc);}

var pesoGustavo = 74;
var alturaGustavo = 1.75; 

calculaImc (pesoGustavo, alturaGustavo);



if (imc < 18.5)
    {mostra("Vocé está abaixo do IMC recomendado pela OMS")};
if (imc > 35) 
    {mostra("Vocé está acima do IMC recomendado pela OMS")};
if (imc >= 18.5 && imc <=35) 
    {mostra("O seu IMC está bom")};




</script>

onde está o erro?

1 resposta
solução!

Oi, Gustavo, como vai?

Faltou utilizar a palavra chave return para retornar o valor do cálculo do imc. Faltou também declarar a variável imc para receber o valor retornado da chamada da função calculaImc.

Então, o código correto ficaria assim:

function calculaImc (peso, altura ) 
{
        var imc = peso / (altura * altura);
        mostra ("O imc calculado é " + imc);
        return imc;
}

var pesoGustavo = 74;
var alturaGustavo = 1.75; 

var imc = calculaImc (pesoGustavo, alturaGustavo);

if (imc < 18.5){
    mostra("Vocé está abaixo do IMC recomendado pela OMS")
};
if (imc > 35) {
    mostra("Vocé está acima do IMC recomendado pela OMS")
};
if (imc >= 18.5 && imc <=35) {
    mostra("O seu IMC está bom")
};

Espero ter ajudado.

Abraços e bons estudos!