1
resposta

Código informando o quanto abaixo e o quanto acima está

<meta charset="UTF-8">

<script>
    function pularLinha() {
        document.write("<br>");
    }

    function mostra(texto) {
        document.write(texto);
        pularLinha();
    }

    function calculaImc(peso, altura) {
    return peso/(altura*altura);
    }    

    var nome = prompt("Qual o seu nome?");
    var alturaInformada = prompt(nome + ", informe sua altura: ");
    var pesoInformado = prompt(nome + ", informe seu peso: ");

    var imc = calculaImc(pesoInformado,alturaInformada);

    if (imc < 18.5) {
        mostra("O seu IMC é " + Math.round(imc) + ". Você está " + (18.5 - Math.round(imc)) + " unidades abaixo do recomendado.");
    }
    else if (imc < 35) {
        mostra("O seu IMC é " + Math.round(imc) + ". Você está dentro do recomendado.");
    }    
        else {
            mostra("O seu IMC é " + Math.round(imc) + ". Você está " + (Math.round(imc) - 35) + " unidades acima do recomendado.");    
        }


</script>
1 resposta

Olá, Heloísa! Tudo bem contigo?

Desculpe a demora em dar um retorno!

Gostei muito da sua lógica utilizando (18.5 - Math.round(imc)ou(Math.round(imc) - 35).

Perfeito!

Eu só colocaria ele dentro de uma variável para evitar fazer esse cálculo dentro da impressão. Por exemplo

var imc = calculaImc(pesoInformado,alturaInformada);

var acimaPeso = (Math.round(imc) - 35);
var abaixoPeso = (18.5 - Math.round(imc));

E depois chamaria eles dentro da minha função mostranos lugares dos cálculos

if (imc < 18.5) {
    mostra("O seu IMC é " + Math.round(imc) + ". Você está " + abaixoPeso + " unidades abaixo do recomendado.");
}
else if (imc < 35) {
    mostra("O seu IMC é " + Math.round(imc) + ". Você está dentro do recomendado.");
}    
else {
    mostra("O seu IMC é " + Math.round(imc) + ". Você está " + acimaPeso + " unidades acima do recomendado.");    
}

Espero ter contribuído, Heloísa!

Parabéns!

Um abraço e bons estudos!