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] Por que no imprimir directamente CalcularIMC?

Tengo una duda con respecto al código de la clase.

Inicialmente, se define la función: calcularImc(pesoChristian,alturaChristian)

Luego se define una variable que guardará el valor de la función anterior: imcChristian = calcularImc(pesoChristian,alturaChristian)

Mi duda es: ¿por qué cuando usa la funcion imprimir(), no imprime directamente la función calcularImc(pesoChristian,alturaChristian), se supone que es en esta función donde se guarda el IMC. Es decir, ¿Por qué tiene que asignar la variable imcChristian y no imprimirlo directamente?

En pocas palabras.

Por que es así: **imprimir("El IMC de Christian es " + imcChristian)**

Y no así: **imprimir("El IMC de Christian es " + calcularImc)**

Por ejemplo: si el IMC = 25. Se supone que la función: calcularImc(pesoChristian,alturaChristian) hace el calculo y devuelve 25. De modo que, cuando coloco esa función en imprimir( ) tendría que devolverme 25, sin tener que asignar una variable. Por que al final, cuando digo: imcChristian = calcularImc(pesoChristian,alturaChristian) lo que estoy diciendo es que imcChristian = 25 ¿cierto?. Entonces por que no simplemente poner en la función imprimir la función calcularImc()

Pregunto por que lo intente y no me funcionó.

5 respuestas

Hola, buen día. ¿Podrías compartir tu código para un mejor entendimiento del problema?. Según lo que describes si debería haber funcionado concatenar lo devuelto por la función dentro de imprimir.

De acuerdo, comparto mi código con la imagen de como se muestra en pantalla:

<meta charset="utf-8">

<h1> Calculo del Indice de Masa Corporal IMC</h1>
<hr>

<script>

    function saltarlinea() {

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

    }

    function imprimir(sentencia) {

        document.write(sentencia)

    }

    function calculoIMC(peso,altura,nombre) {

        imc = peso / (altura * altura)
        return imc

    }

    var nombre = "Alex";
    var pesoAlex = 110;
    var alturaAlex = 1.85;

    imprimir("El IMC de " + nombre + " es de " + calculoIMC);

</script>

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

solución!

Bien, lo que veo es que la función esta definido con 3 parámetros "function calculoIMC(peso,altura,nombre)" y al momento de llamar a la función dentro de imprimir, no le estas pasando ninguno de los parametros "calculoIMC". Es por eso que la funcion no puede calcular el imc.

Solución: Hacer el llamado a la función de la siguiente manera: imprimir("El IMC de " + nombre + " es de " + calculoIMC(pesoAlex,alturaAlex,nombre));

Hola compañero, sí se puede concatenar la función calcularIMC con que lo que esta dentro de la función imprimir, como explicaste. No te esta devolviendo el resultado porque no le estas dando los datos a la función calcularIMC, solo declaraste las variables, por eso no te esta dando el resultado

¿Y cómo le doy los datos? Recuerda, debes poner: calcularIMC(pesoAlex,alturaAlex,nombre)

en ese orden porque cuando le diste los parámetros a la función, pusiste primero peso y despues altura, ese es el orden que tienes que tienes seguir a la hora de dar los datos

Wow, ya comprendí.

Muchisimas gracias a ambos: Steven Manuel Navarro Plaza y Mayra María Torres Enríquez, me ayudaron mucho. Estuve dandole vueltas pero no encontraba la solución.

Buen día, exitos!