Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
5
respuestas

[Duda] No encuentro el error

Antes de empezar la clase del IMC que se usara condicionales no consigo encontrar el error por el cual me da un imc muchisimo mas bajo.

utilizo 72 kg y 172 altura, me da "sergio, su imc calculado es: 0.0024337479718766902" y deberia darme 24.334---

<meta charset="UTF-8">
<h1>PROGRAMA CALCULAR IMC </h1>

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

    function imprimir (frase) {
        document.write(frase);
        saltarLinea();
    }

    function calcularImc(peso,altura) {

        return (peso / (altura * altura));

    }

    nombre = prompt("informe su nombre");
    pesoInformado = prompt(nombre + ", informe su peso");
    alturaInformado = prompt(nombre + ", informe su altura");

    imcCalculado = calcularImc(pesoInformado,alturaInformado);

    imprimir(nombre + ", su imc calculado es: " + imcCalculado);

</script>
5 respuestas

Cuando se usa promp() la información que se le ingresa se convierte en una cadena de caracteres, tienes que convertir esa cadena de caracteres en un numero para eso se usa el parseInt(). Entonces donde pusiste: pesoInformado = prompt(nombre + ", informe su peso");

tienes que cambiarlo por un 

pesoInformado =  parseInt(prompt(nombre + ", informe su peso"));

lo mismo tienes que hacer con la otra variable imcCalculado

Hola!! Copié tu código, lo ejecuté y me salió perfecto. Fijate de nuevo

Buenas Sergio, fue resuelta tu duda o aun necesitas ayuda?

solución!

Probe con "parseInt" y fue el mismo resultado, olvide de decir que antes si funcionaba cuando lo guarde, y ahora al abrirlo para hacer esta parte del curso ya no estaba funcionando como antes. lo analice mas de 10 veces pero no encontre ningun error, para mi deberia funcionar

Hola maria, si me fije de nuevo pero me sigue saliendo mal la operacion, pero me alegra que si te salga bien, entonces no es problema del codigo.

Hola Sergio

Estas teniendo este resultado debido a las unidades de medidas que estas usando al introducir los datos (Me explico mejor) la formula es Peso (Kg) / Altura al cuadrado (Metros)

la formula la tienes correcta: Peso / (altura * altura), pero al capturar 172 para la altura (supongo estas pensando en centimetros) por eso tienes un valor tan bajo, si conviertes los centimetros a metros seria 1.72 (divide los 172 entre 100) tendras el resultado deseado.

El calculo del IMC en el sistema metrico el peso va dado en Kilogramos y la estatura en Metros.

Espero haber sido de ayuda.