Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Repite impresión pantalla calculo siguiente

Hola, me pueden ayudar a validar por que cuando el programa hace el calculo del IMC y el valor da menor que 18,5 me imprime en pantalla el mensaje que corresponde, pero a su vez me imprime en pantalla el siguiente calculo

<meta charset="UTF-8">
<h1>PROGRAMA CALCULO IMC</h1>
<script>
    function saltarLinea() {
        document.write("<br>");    
        document.write("<br>");    
        document.write("<br>");
        document.write("<hr>");
        document.write("<br>");        
    }
    function imprimir(frase) {

        document.write("<big>" + frase + "</big>");
        saltarLinea();
    }
    function calcularImc(peso,altura) {
        return (peso / (altura * altura))
    }
    nombre = prompt("Informe su nombre");
    pesoInformado = prompt(nombre + ", informe su peso");
    alturaInformada = prompt(nombre + ", informe su altura");
    imcCalculado = calcularImc(pesoInformado,alturaInformada);
    imprimir(nombre + ", su imc calculado es: " + imcCalculado);

    if (imcCalculado < 18) {
    imprimir("IMC debajo de lo Normal!");
    }

    if (imcCalculado >= 18,5 && imcCalculado < 25) {
    imprimir("IMC dentro del intervalo normal");
    }

    if (imcCalculado >= 25 && imcCalculado < 30) {
    imprimir("IMC considerado como sobrepeso");
    }

    if (imcCalculado > 30) {
    imprimir("IMC considerado Obesidad Morbida");
    }  
</script>
1 respuesta

¡Hola, estudiante! ¿Cómo estás?

¡Felicitaciones por tu aprendizaje y por estudiar con tanto entusiasmo!

Creo que el error se debe por no usar el punto, sino la coma.

Cuando trabajamos con operaciones matematicas, debemos siempre utilizar el punto.

Sigue la corrección:

if (imcCalculado >= 18.5 && imcCalculado < 25) {
    imprimir("IMC dentro del intervalo normal");
}

Otra manera de hacer seria quedarse solo con el número 18 sin el .5. Por lo que los números entre 18 y 18.5 también son válidos.

if (imcCalculado >= 18 && imcCalculado < 25) {
    imprimir("IMC dentro del intervalo normal");
}

¡Continúa con tus estudios y hasta la próxima!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios