1
resposta

Tabela de IMC completa

Me desafiei melhorando o código e deixando a tabela mais completa.

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

    function mostra(frase) {

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

    function calculaImc(altura, peso) {

        return peso / (altura * altura);
}

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

var imc = calculaImc(alturaInformada, pesoInformado);

mostra(nome + ", o seu IMC é " + imc);

if (imc <= 18.5) {
    mostra(" Você está abaixo do peso");
}

if (imc >= 18.6 && imc <= 24.9) {
    mostra(" Você está no peso ideal");
}

if (imc >= 25 && imc <= 29.9) {
    mostra(" Você está levemente acima do peso");
}

if (imc >= 30 && imc <= 34.9) {
    mostra("Você está com obsesidade grau 1");
}

if (imc >= 35 && imc <= 39.9) {
    mostra("Você está com obsesidade grau 2 (Severa)");
}

if (imc >= 40) {
    mostra("Você está com obsesidade grau 3 (mórbida)");
}
</script>
1 resposta

Olá Antônio. tudo bem? Parabéns pelo programa. Confesso que tive a mesma ideia, porém trabalhei com valores arredondados. Vou compartilhar também com vocês.

<meta charset="UTF-8">

<script>

    function texto(frase) {
        document.write(frase);
        document.write("<br>");
    }

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

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

    alert("Calculadora de IMC");

    var nome = prompt("Ola. Qual é seu nome?");
    var peso = prompt("Então " + nome + ", qual seu peso?");
    var altura = prompt("E sua altura? Use pontos, não virgulas...");

    alert("Calculando...");

    var imc = calculaImc(peso, altura);

    texto("<center>");

    texto("<h3> CALCULADORA IMC </h3>");

    texto(nome + ", seu imc é " + imc);

    if (imc < 18.5) {
        texto("Você esta abaixo do recomendado.");
    }

    if (imc >= 18.5 && imc < 25) {
        texto("Você está com o peso ideal. Parabéns.");
    }

    if (imc >=25 && imc < 30) {
        texto("Você está com sobre peso. Atenção.");
    }

    if (imc >=30 && imc < 35) {
        texto("Você está com obesidade I grau. Cuidado.");
    }

    if (imc >=35 && imc < 40) {
        texto("Você está com obesidade II grau. Procure ajuda.");
    }

    if (imc >= 40) {
        texto("Você está com obesidade III grau ou mórbida. Procure ajuda.");
    }

    texto("</center>");

</script>