2
respuestas

IMC, duda con parámetros

Hola les comparto mi solución al ejercicio de IMC. no le coloque los parámetros a la función, me daba error undefined cuando lo ponía. Así como esta funciona. pero no me quedo claro el tema de parámetros si ya la función tiene todos los elementos necesarios para funcionar.

   <h1>Cálculo de indice de masa corporal</h1>
<script>
    function saltarLinea(){
        document.write("<br><br><br>")
    }
    function imprimir(frase){
        document.write(frase)
        saltarLinea()
    }

    function calcularImc(){
        let alturaAlCuadrado = (alturaUser/100)*(alturaUser/100)
        let imcUser = parseInt(pesoUser / alturaAlCuadrado)
        return imcUser
    }

    let pesoUser = parseInt(prompt("ingrese su peso"))
    let alturaUser = parseInt(prompt("ingrese su altura en cm"))


    imprimir("Tu IMC es: " + calcularImc())


</script>
2 respuestas

Hola, lo que pasa es que estas usando variables que ya están declaradas, por eso no te da error el codigo, sin embargo los parámetros son para ingresar valores que no tienen que ser precisamente guardados o alojados en variables, ejm: function sumar(b,c){ return b+c; } En este caso puedo darle cualquier valor a 'b' y a 'c'; pero si no pusiera los parámetros, la función no entendería que es b o c, no podría saber sus valores ni modificarlos, tu función la entendió porque nombraste variables ya declaradas. Espero haber aclarado tu duda, si es así, por favor califica mi respuesta, cualquier otra cosa, con el mayor de los gustos. Este sería tu codigo con la corrección que sugiero, espero te sirva.

<!DOCTYPE html>
    <meta charset="utf-8">
    <h1>Cálculo de indice de masa corporal</h1>
    <script>
        function saltarLinea(){
            document.write("<br><br><br>")
        }
        function imprimir(frase){
            document.write(frase)
            saltarLinea()
        }
        let pesoUser = Number.parseFloat(prompt("ingrese su peso"))
        let alturaUser = Number.parseFloat(prompt("ingrese su altura"))
        function calcularImc(peso,altura){
            let imcUser = peso/(altura*altura);
            return imcUser
        }

        imprimir("Tu IMC es: " + calcularImc(pesoUser,alturaUser));


    </script>
    </html>

Te dejo el script corregido:

<h1>Cálculo de indice de masa corporal</h1>
<script>
    function saltarLinea(){
        document.write("<br><br><br>")
    }
    function imprimir(frase){
        document.write(frase)
        saltarLinea()
    }

    function calcularImc(altura, peso){
        let alturaAlCuadrado = (altura/100)*(altura/100)
        let imcUser = parseInt(peso / alturaAlCuadrado)
        return imcUser
    }

    let pesoUser = parseInt(prompt("ingrese su peso"))
    let alturaUser = parseInt(prompt("ingrese su altura en cm"))


    imprimir("Tu IMC es: " + calcularImc(alturaUser, pesoUser))


</script>