3
respuestas

IMC Mejorado utilizando operador &&



<meta charset="UTF-8"> 

<h1>CALCULADORA DE (IMC) </h1>
<br>
<script>


function saltarlinea() {

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

 function imprimir(frase) {

        document.write(frase);
        saltarlinea();
    }



function calcularImc(peso,altura){

return (peso / (altura*altura));


}

nombre=prompt("ingrese su nombre")
pesoInformado=prompt("ingrese su peso")
alturaInformado=prompt("ingrese su altura")

imcCalculado=calcularImc(pesoInformado,alturaInformado)

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


if(imcCalculado<18.5){

     imprimir("abajo de lo recomendado");


}

if(imcCalculado>=18.5 && imcCalculado <25){

    imprimir("dentro del intervalo normal");


}

if(imcCalculado==25){

     imprimir("Sobrepeso");

}

if(imcCalculado>=25 && imcCalculado<30 ){

     imprimir("Pre-obesidad");

}



if(imcCalculado>= 30){

     imprimir("considerado como obesidad");


}


</script>
3 respuestas

Todo funciona bien, como sugerencia. En cada if el programa hace el proceso de verificación, pero si por ejemplo ya la primera es cierta no deberías seguir preguntando, por lo que es mejor anidar los if

if (imcCalculado < 18.5) {
    imprimir('abajo de lo recomendado');
} else if (imcCalculado < 25) {
    imprimir('dentro del intervalo normal');
} else if (imcCalculado == 25) {
    imprimir('Sobrepeso');
} else if (imcCalculado < 30) {
    imprimir('Pre-obesidad');
} else {
    imprimir('considerado como obesidad');
}

Imagina que por ejemplo es 26

  • falla < 18.5
  • falla < 25
  • falla =25
  • cumple < 30
  • imprime Pre-obesidad
  • Termina.

Imagina ahora 17

  • cumple < 18.5
  • imprime abajo de lo recomendado
  • Termina

Felicitaciones compañera paula, otra manera de hacer el codigo poniendo ambas condiciones en un mismo if.

También te felicito compañera Maria Paula, como dice la compañera Laura, es otra manera de usar if, agregando condicionales, en este caso usaste && y esta muy bien, es algo que también pensé en usarlo aunque no lo hice, pero ahora mismo lo probare, gracias por el aporte.