1. Programa 5
a) 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:
b) Análisis de datos (datos de: entrada / salida, condiciones y diccionario de
datos).
Primero que nada le pedí al usuario el peso datos de entrada (p) y la altura(a)
considerando que son datos flotantes luego se hizo el cálculo del imc = p/(a*2)
Seguidamente vienen una serie de deciciones donde si
imc<16
Se imprime criterio de ingreso a hospital
imc>16&&imc<=17
se imprime infrapeso
……
….
imc>40
se imprime obesidad mórbida
DICCIONARIO:
p= dato de entrada, peso, puede ser entero o decimal
a= dato de entrada, altura, puede ser entero o decimal
imc= calculo del índice de masa corporal
b) Diseño de solución (Diagrama de flujo usando el programa DFD)
2. c) Prueba de escritorio.
Peso=84
Altura=1.65
Imc= 25.454
“Obesidad grado 1”
d) Programa fuente (codificación en java)
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ejercicio5;
/**
*
* @author Eduardo Avila
*/
import javax.swing.*;
public class Ejercicio5 {
/**
3. * @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
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)
{
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)
{
4. JOptionPane.showMessageDialog(null, "SU MASA CORPORAL
ES: "+imc+", SU ESTADO ES: SOBREPESO CRONICO (OBESIDAD
GRADO II)");
}
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)");
}
}
}
f) Depuración.- La forma de comprobar que su programa es funcional será
imprimiendo sus pantallas de salida, las cuales deberán estar previamente
diseñadas con presentación en su JOptionPane ver material de clases.
g) Conclusión de su práctica.
5. Este es uno de los programas mas sencillitos por el pequeño calculo
realizado y las condiciones fáciles aplicadas en el, la única novedad es usar
datos flotantes.