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

Operador && - en remplazo de dos condiciones if en cascada.

<meta charset="UTF-8">

<h1>Programa para Calcular IMC </h1>

<script>
    function saltarLinea() {
        document.write("<br><hr><br>");
    }
    function imprimir(frase) {
        document.write(frase);
        saltarLinea();
    }
    function calcularImc(p,a) { // p=peso, a=altura

        return (p/(a*a)) //de acuerdo a los parametros anteriores, queda asi.
    }

    nombre = prompt("Digite su nombre")  
    peso_Informado = prompt(nombre + " Digite su peso.... Sin Mentir. ");
    altura_Informada = prompt(nombre + " Digite su altura... Que importa Pitufin");

    imc_Calculado = calcularImc(peso_Informado,altura_Informada);

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

    if(imc_Calculado < 18.5){
        imprimir("Fido dido te queda en pañales, abre el OJO!!!!! COMEEEE")
    }
    if(imc_Calculado <= 24.9 && imc_Calculado > 18.6){  //utilice El operador AND lógico ( && )
                imprimir("No eres ni gordo, ni flaco, arranca de aqui!!!!")
    }
    if(imc_Calculado < 29.9 && imc_Calculado > 25.0){
        imprimir("Eres un Pre Gorditooo!!!!")
    }
    if(imc_Calculado < 34.9 && imc_Calculado > 30.0){
                imprimir("Eres todo un Buñuelo, NECESITAS ADELGAZAR!!!!")
    }
    if(imc_Calculado < 39.9 && imc_Calculado > 35.0){
                imprimir("Si lees esto, eres porque eres mas que un BUÑUELO, NECESITAS ADELGAZAR!!!!")
    }
    if(imc_Calculado > 40.0){
                imprimir("YOKOSUNAAAAAAAAAAAAAAAAAAAA!!!! Adelgaza o Muere, Att.Dr.Nowzaradan")
    }

document.write("Todos los datos son veridicos, los valores en referencia son tomados de una tabla en la pagina web de la OMS: https://www.obesidadlopeznava.com/obesidad-y-sobrepeso-por-la-oms/");    


</script>
2 respuestas
solución!

Operador lógico &&.

El operador && se entiende como si fuera un "y". Es decir, en la condición de la sentencia IF, se puede añadir este operador para que en vez de una sola condición, se cumplan 2 o más condiciones.

Entonces, para que se ejecuten las instrucciones del IF, se tienen que cumplir todas las condiciones que escribamos con el operador &&.

Así es, para optimizar el código y que se vea más formal habría que utilizar los operadores lógicos, en este caso Y ( && ) para la denotación de intervalos de valores. Siento que el vídeo confunde mucho a las personas al hacerlo en cascada