1
resposta

estou conseguindo imprimir, porém o calculo não está batendo.

<meta charset="UTF-8">


<script>

   function pulaLinha()    {

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

 }

   function mostra(frase) {

document.write(frase);
 pulaLinha();

}
    function calculaImc (peso, altura)     {

    return peso / (altura * altura);

    }

    var nome = prompt("Informe seu nome ");

       var alturaInformada =parseFloat(prompt("Informe a sua altura"));

             var pesoInformado =parseFloat(prompt("Informe o seu peso"));


                   var imc = calculaImc (alturaInformada, pesoInformado);


 mostra(nome + " O seu imc é :" + imc);

   if (imc < 18.5)    {
mostra("Você esta abaixo do recomendado");

   }

   if (imc > 35)      {
mostra("Você esta acima do recomendado");

   }





if(imc >= 18.5)  {

if(imc <= 35)    {

  mostra("O seu IMC está exelente ");

}
   }












</script>
1 resposta

A sua função calculaImc recebe dois parâmetros na seguinte ordem: peso e altura. Porém, na chamada da função, você inverteu essa ordem, fazendo com que seja calculado altura / peso².

Para resolver isso, troque var imc = calculaImc (alturaInformada, pesoInformado); por var imc = calculaImc (pesoInformado, alturaInformada);.

Ou altere a função de function calculaImc (peso, altura) para function calculaImc (altura, peso).

Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software