Ejemplo en JavaScript para mostrar el IMC (Índice de Masa Corporal) a partir de un sexo (hombre o mujer), un peso y una altura. Todo el código principal está desarrollado en JavaScript. Únicamente se usa HTML para cargar la página y cargar el código JavaScript. Servirá como ejemplo de uso de funciones de JavaScript para solicitar datos al usuario y mostrar datos al usuario.
- Ejemplo JavaScript para calcular el ICM en función del sexo, peso y estatura.
- Probar aplicación JavaScript de ejemplo para calcular IMC.
Ejemplo JavaScript para calcular el ICM en función del sexo, peso y estatura
El código HTML y JavaScript de la página completa icm.html. Cada función JavaScript del ejemplo está comentada para explicar su funcionamiento:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Cálculo del IMC - ProyectoA</title> <script> //Función para calcular el índice de masa corporal (IMC) function CalcularIMC(sexo, altura, peso) { //La función Math.roud sirve para redondear valores altura = Math.round(altura) / 100; peso = Math.round(peso); //La función Math.pow sirve para calcular potencias var indice = (peso / Math.pow(altura, 2)); var resultado = ""; //Sexo, si es "m" mujer y si es "h" hombre switch (sexo) { case "m": if (indice < 20) { resultado = "Peso inferior al normal."; } else if (indice >= 20 && indice < 24) { resultado = "Peso Normal."; } else if (indice >= 24 && indice < 29) { resultado = "Peso superior al normal."; } else { resultado = "Obesidad."; } break case "h": if (indice < 21) { resultado = "Peso inferior al normal."; } else if (indice >= 21 && indice < 25) { resultado = "Peso Normal."; } else if (indice >= 25 && indice < 30) { resultado = "Peso superior al normal."; } else { resultado = "Obesidad"; } break default: resultado = "No se ha podido calcular. No ha indicado h (hombre) o m (mujer)."; } //Con toFixed reduciremos a 2 el número de decimales a mostrar return "Su IMC es: " + indice.toFixed(2) + " y su clasificación es: " + resultado; } //Función para mostrar el resultado por pantalla function MostrarResultadoIMC (sexo, altura, peso, indice) { var mensaje = "Usted mide " + altura / 100 + " metros y pesa " + peso + " Kg. \n \n " + indice; alert (mensaje); } //Petición de datos al usuario (sexo, altura, peso) var sexo = prompt("Indique su sexo, una 'h' para hombre o una 'm' para mujer:", ""); //La función parseInt permite convertir un string en número var altura = parseInt(prompt("Indique su altura en centímetros:", "")); var peso = parseInt(prompt("Indique su peso en kilógramos:", "")); //Llamamos a las funciones anteriores para el cálculo y para mostrar los resultados var resultado = CalcularIMC(sexo, altura, peso); MostrarResultadoIMC(sexo, altura, peso, resultado); </script> </head> <body> </body> </html> |
Probar aplicación JavaScript de ejemplo para calcular IMC
Para probarlo, guardaremos el código anterior en un fichero llamado, por ejemplo, icm.html. Lo colocaremos en nuestro servidor web y lo abriremos. Nos irá solicitando los datos que requiere, en primer lugar el sexo, introduciremos una h para hombre o bien una m para mujer:
A continuación nos solicitará la altura, en centímetros:
Por último nos pedirá el peso en kilógramos:
Y nos mostrará el resultado en un cuadro de diálogo. Por ejemplo:
Usted mide 1.71 metros y pesa 77 kg.
Su IMC es: 26.33 y su clasificación es: Peso superior al normal