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)
6
respuestas

Calculando IMC - Mi versión y una duda

<meta charset="UTF-8">

<h1>Programa de cálculo de 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, nombre) {
    var imc = peso / (altura * altura);
    imprimir("El IMC calculado para " + nombre + " es: " + imc);
  }

  calcularImc(98.5, 1.82, "Ricardo");
  calcularImc(75, 1.73, "Felipe");

</script>

Noto que en la mayoría de los ejemplos el profesor declara las variables sin anteponerles el var, buscando la diferencia encontré que al no usar var la variable se declara como global y puede ser considerado una mala practica. Esto es así? o es ser demasiado estricto? Así mismo noto que varias veces se omite finalizar las líneas con el ";"

6 respuestas

hola Ricardo, buena observación y tengo la misma duda :)

Hola Ricardo, comentando: "Noto que en la mayoría de los ejemplos el profesor declara las variables sin anteponerles el var, buscando la diferencia encontré que al no usar var la variable se declara como global y puede ser considerado una mala practica. Esto es así? o es ser demasiado estricto? Así mismo noto que varias veces se omite finalizar las líneas con el ";"". Me llamó la atención lo mismo, la omisión de "var" me descolocó un poco y tuve que probar poniéndolo y quitándolo. Efectivamente al no usar "var" el código se ejecuta igual. Supongo que lo hizo para mostrar los cambios hechos al código para hacerlo más eficiente ya que finalmente los terminaría borrando, repito, supongo.

El ejercicio lo resolví así:

<meta charset="UTF-8">

<h1>PROGRAMA CÁLCULO IMC</h1>

<script>

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

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

    function calcularImc(peso,altura,nombre){
        var imc = peso/(altura * altura);
        imprimir("El IMC calculado de " + nombre + " es " + Math.round(imc));
    }

    calcularImc(99,1.66,"LEMM");
    calcularImc(60,1.60,"Mati");

</script>

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

solución!

Hola buenas tardes, la diferencia entre var y let es que una variable declara con var puede ser declarada nuevamente y cambiar su valor algo tipo así

    var a = "hola";
    var a = 22;
    var a = [];
    // No va a generar ningún conflicto 

En cambio las variables declaradas con let solo pueden ser declaras una vez. pero puedes cambiar su valor.

    let a = "hola";
    let a = 22;
    let a = [];
    // Esto genera conflicto ya que la variable ya fue declarada
    //#######################################
    let a = "hola";
    a = 22;
    a = [];
    //Puedes asignarle un nuevo valor sin necesidad de declararla otra vez

En cuanto al ámbito de la variable estas funcionan algo así

function fun() {
      let a = "hola"
    }
    fun()
    console.log(a)
    // cuando está declara con let o var dentro de una función o un bloque de código, solo puede ser accedida por  
    // ese bloque de código, hasta ahí se limita su scope o alcance

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

function fun() {
     a = "hola"
    }
    fun()
    console.log(a)
    // cuando está es declara sin let o var dentro de una función o un bloque de código, puede ser accedida desde 
    // cualquier lugar. una vez que la función ya haya sido llamada

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

Muchas gracias a todos por su aportes ayudan a aclarar dudas e incrementar el conocimiento.

Yo también noté que no declaraba con var. Puede ser considerado como una mala práctica en un trabajo en donde nos hagan cumplir a rajatabla el tema de estructura. Pero bueno. Seguimos aprendiendo. Para que se rian un ratico... Así terminó mi código.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Ejercicio de calculo de IMC</title>
</head>

<body>
    <h1>Calcular IMC</h1>

    <h3>Calcular Indice de Masa Corporal</h3>

    <br>
    <br>
    <br>
<script>

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

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

        function calcularImc(peso,altura,nombre) {

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



        //pesoConny = 59
        //alturaConny = 1.56
        //imcConny = pesoConny / (alturaConny * alturaConny)

        //imcConny = calcularImc(pesoConny,alturaConny);
        //imprimir("El IMC de Conny es: " + imcConny);

        calcularImc(59,1.56, "Conny");
        calcularImc(85,1.73, "Jairo");



        //pesoJairo = 85
        //alturaJairo = 1.73
        //imcJairo = pesoJairo / (alturaJairo * alturaJairo);

        //imcJairo = calcularImc(pesoJairo,alturaJairo);
        //imprimir("El IMC de Jairo es: " + imcJairo);

</script>

</body>
</html>

Tengo las mismas dudas, gracias por las aclaraciones.