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

[Duda] Tengo un problema con el calculo de IMC (Video 01.07)

Mi problema es que una vez realizado el código para el calculo de IMC, no me devuelve nunca ninguno de mis if, independientemente del valor que le este dando y no me estoy dando cuenta de mi error. Video 07 de la seccion 01 de Logica de Programacion.

 <script>

        function saltarLinea() {

            document.write("<br>") 

        }

        function imprimir(frase) {

            document.write(frase) 
            saltarLinea();

        }

        function calcularImc(peso, altura) {

            imc = peso / (altura * altura);
            imprimir("El IMC calculado es de: " + imc);

        }

        function calcularImc2(peso, altura, nombre) {

            imc = peso / (altura * altura);
            imprimir("El IMC calculado de " + nombre + " es de: " + imc);

        }

        var nombre = prompt("Informe su nombre")
        var pesoInformado = prompt(nombre + " Informe su peso")
        var alturaInformado = prompt(nombre + " Informe su altura")

        var imcCalculado = calcularImc(pesoInformado, alturaInformado);

        imprimir(nombre + " su IMC calculado es de: " + imcCalculado)

        if (imcCalculado < 18.5) {

            imprimir("La persona tiene insuficiencia ponderal");

        } 

        if (imcCalculado >= 18.5) {

            if (imcCalculado < 25) {

                imprimir ("La persona tiene un intervalo normal");

            }


        }

        if (imcCalculado >= 25) {

            if (imcCalculado < 30) {

                imprimir ("La persona tiene sobrepeso");

            }


        }

        if (imcCalculado >= 30) {

            imprimir("La persona tiene obesidad");

        }



    </script>
1 respuesta

¡Hola Franco!

Gracias por compartir tu duda con nosotros. Parece que estás teniendo problemas con el cálculo del IMC en tu código. Después de revisar tu código, noté que el problema está en cómo estás llamando a la función calcularImc.

En lugar de asignar el resultado de la función calcularImc a la variable imcCalculado, estás asignando el resultado de la función imprimir. Esto significa que imcCalculado no está recibiendo el valor correcto y, por lo tanto, tus condicionales if no se están evaluando correctamente.

Para solucionar este problema, debes modificar la línea donde llamas a la función calcularImc y asignar el resultado a la variable imcCalculado de la siguiente manera:

var imcCalculado = calcularImc(pesoInformado, alturaInformado);

De esta manera, imcCalculado recibirá el valor correcto y tus condicionales if se evaluarán correctamente.

Espero que esto resuelva tu problema. Si tienes alguna otra pregunta, no dudes en preguntar. ¡Buena suerte con tu código!

Espero haber ayudado y buenos estudios!

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