Ensayo de el pensamiento logico aplicado a la programacion
Cálculo IMC e indicador estado salud
1. INSTITUTO TECNOLÓGICO DE CANCÚN
INGENIERÍA MECATRÓNICA
MATERIA:
PROGRAMACIÓN BÁSICA
PROFESORA:
MARÍA JACINTA MARTÍNEZ CASTILLO
“PROGRAMA 5”
AUTORES:
ALEJANDRO FIGUEROA ANDRÉS ALFONSO
CUA MAY JOEL DE LA CRUZ
MARTINEZ SOLIS ITZEL
CANCÚN QUINTANA ROO A 20 DE ABRIL DEL 2012
2. PLANTEAMIENTO DEL PROBLEMA
Construir un programa que calcule el índice de masa corporal de una persona
(IMC = peso [kg] / altura2 [m]) e indique el estado en el que se encuentra esa
persona en función del valor de IMC:
Valor de IMC Diagnóstico
<16 Criterio de ingreso en hospital
De 16 a 17 Infra peso
De 17 a 18 Bajo peso
De 18 a 25 Peso normal (saludable)
De 25 a 30 Sobrepeso (obesidad grado I)
De 30 a 35 Sobrepeso crónico (obesidad grado II)
De 35 a 40 Obesidad pre mórbida (obesidad de grado III)
>40 Obesidad mórbida (obesidad de grado IV)
ANÁLISIS DEL PROBLEMA
Si el IMC=al peso/altura, quiere decir que el IMC<16 Criterio de ingreso en hospital
pero si IMC>16 pero también <=18es infra peso y así hasta llegar la ultimo
criterio.
1
4. PRUEBA DE ESCRITORIO
Se ingresa dos valores peso y altura, luego se divide el peso sobre la altura y
obtienes el IMC, después usando la opción if vas dicen si el IMC= a el de las
cantidades mencionadas anteriormente te dirá a que es =.
Código de fuente
public class MasaCorporal {
public static void main(String[] args) {
float p,a,imc;
String P,A;
P= JOptionPane.showInputDialog(null, "¿Cual es tu peso?");
p= Float.parseFloat(P);
A= JOptionPane.showInputDialog(null, "¿Cual es tu altura?");
a= Float.parseFloat(A);
imc= p/(a*2);
if(imc<16)
{
JOptionPane.showMessageDialog(null, "SU MASA CORPORAL ES:
"+imc+", SU ESTADO ES: CRITERIO DE INGRESO A HOSPITAL");
}
else
if(imc>16&&imc<=17)
{
3
5. JOptionPane.showMessageDialog(null, "SU MASA CORPORAL ES:
"+imc+", SU ESTADO ES: INFRAPESO");
}
else
if(imc>17&&imc<=18)
{
JOptionPane.showMessageDialog(null, "SU MASA CORPORAL ES:
"+imc+", SU ESTADO ES: BAJO PESO");
}
else
if(imc>18&&imc<=25)
{
JOptionPane.showMessageDialog(null, "SU MASA CORPORAL ES:
"+imc+", SU ESTADO ES: PESO NORMAL (SALUDABLE)");
}
else
if(imc>25&&imc<=30)
{
JOptionPane.showMessageDialog(null, "SU MASA CORPORAL ES:
"+imc+", SU ESTADO ES: SOBREPESO (OBESIDAD GRADO I)");
}
else
if(imc>30&&imc<=35)
{
JOptionPane.showMessageDialog(null, "SU MASA CORPORAL ES:
"+imc+", SU ESTADO ES: SOBREPESO CRONICO (OBESIDAD GRADO II)");
}
4
6. else
if(imc>35&&imc<=40)
{
JOptionPane.showMessageDialog(null, "SU MASA CORPORAL ES:
"+imc+", SU ESTADO ES: OBESIDAD PREMORBIDA (OBESIDAD GRADO III)");
}
else
if(imc>40)
{
JOptionPane.showMessageDialog(null, "SU MASA CORPORAL ES: "+imc+",
SU ESTADO ES: OBESIDAD MORBIDA (OBESIDAD GRADO IV)");
}
}
}
Depuración
5
7. Conclusión
En este programa al igual que otro se usa el float, ya que el float tiene mayor
almacenamiento que el in, en la operación el resultado te da muchos decimales y
el in no podría leerlos todas.
6