Indice de masa corporal


Se trata de implementar un programa en Java que permita aplicar el Cálculo del Índice de la Masa Corporal (IMC) definido por Dr.Garrow.

La fórmula para el cálculo es la siguiente:

Teniendo en cuenta que el Índice de Masa Corporal por las personas es:

hombres Mujeres
IMC Diagnóstico IMC Diagnóstico
25 (N) Normal 20 (N) Normal
30 (S) Sobrepeso 25 (S) Sobrepeso
40 (O) Obesidad 30 (O) Obesidad
50 (M) Ob. Mórbida 40 (M) Ob. mórbida

Concretamente, es necesario generar una Tabla en Pantalla que muestra el pesos por cierto IMC entrado por el usuario / a, tanto para los hombres como para las mujeres comprendidos en el rango de levantada y el incremento que establezca el usuario / a.

Es decir, el usuario introducirá cuatro datos: el diagnóstico, el límite inferior, el superior y el incremento.

Hay que controlar que los datos introducidos sean correctos, que el límite superior sea mayor que el inferior y que el incremento sea como mucho de 0.5 metros.

ÍNDICE DE MASA CORPORAL (IMC)

Datos de entrada Hombres Mujeres

Diag (N / S / O / M): N
límite inferior: 1,50
límite superior: 1.90
incremento: 12:05 01:50 Metros -> 56.25 Kilos | | 1:50 Metros -> 45.00 Kilos
01:55 Metros -> 60.06 Kilos | | 01:55 Metros -> 48.05 Kilos
1.60 Metros -> 64.00 Kilos | | 1.60 Metros -> 51.20 Kilos
1.65 Metros -> 68.06 Kilos | | 1.65 Metros -> 54.45 Kilos
1.70 Metros -> 72.25 Kilos | | 1.70 Metros -> 57.80 Kilos
1.75 Metros -> 76.56 Kilos | | 1.75 Metros -> 61.25 Kilos
1.80 Metros -> 81.00 Kilos | | 1.80 Metros -> 64.80 Kilos
1.85 Metros -> 85.56 Kilos | | 1.85 Metros -> 68.45 Kilos
1.90 Metros -> 90.25 Kilos | | 1.90 Metros -> 72.20 Kilos

Es necesario implementar el programa de forma que:

* Esté bien estructurado (programa principal llame diferentes módulos)

* Se emplea en todo momento Acciones y Funciones. No hay ninguna VECTOR!

* Utilizar siempre el paso de Parámetros. (No puede haber variables Globales).



  1. import java.io.*;
  2.    import java.util.*;
  3.    import java.text.*;
  4.    import java.util.StringTokenizer;
  5.    import cs1.Keyboard;
  6.    import java.lang.Math;
  7.    public class Fitness  {
  8.      
  9.       public static void Calcula_Peso (int imc, double lim_sup, double lim_inf, double inc) {
  10.          double peso=0;
  11.          for (double i = lim_inf;i<lim_sup;) {
  12.             peso = Math.pow(i,2)*imc;
  13.             DecimalFormat df = new DecimalFormat("#.##");
  14.             System.out.println(df.format(i)+" Metres -> "+df.format(peso)+" Quilos");
  15.          
  16.             i=i+inc;
  17.          }  
  18.      
  19.      
  20.       }
  21.      
  22.      
  23.       public static void main (String args [])
  24.       {
  25.      
  26.          int opcion=0;
  27.          boolean blnexit=false;
  28.        
  29.          int diag=0;
  30.          double lim_inf, lim_sup, increm;
  31.          int imc_h=0, imc_d=0;
  32.          System.out.print("Diag (1/2/3/4) : ");
  33.          diag = Keyboard.readInt();
  34.          System.out.print("límit inferior : ");
  35.          lim_inf = Keyboard.readDouble();
  36.          System.out.print("límit superior : ");
  37.          lim_sup = Keyboard.readDouble();
  38.          System.out.print("increment : ");
  39.          increm = Keyboard.readDouble();
  40.      
  41.          switch (diag) {
  42.              
  43.             case 1:
  44.                imc_h=25;
  45.                imc_d=20;
  46.                System.out.println("\nHomes\n");
  47.                Calcula_Peso (imc_h, lim_sup,lim_inf, increm);
  48.                System.out.println("\nDones\n");
  49.                Calcula_Peso (imc_d, lim_sup,lim_inf, increm);
  50.                break;
  51.             case 2:
  52.                imc_h=30;
  53.                imc_d=25;
  54.                System.out.println("\nHomes\n");
  55.                Calcula_Peso (imc_h, lim_sup,lim_inf, increm);
  56.                System.out.println("\nDones\n");
  57.                Calcula_Peso (imc_d, lim_sup,lim_inf, increm);
  58.                break;
  59.             case 3:
  60.                imc_h=40;
  61.                imc_d=30;
  62.                System.out.println("\nHomes\n");
  63.                Calcula_Peso (imc_h, lim_sup,lim_inf, increm);
  64.                System.out.println("\nDones\n");
  65.                Calcula_Peso (imc_d, lim_sup,lim_inf, increm);
  66.                break;
  67.             case 4:
  68.                imc_h=50;
  69.                imc_d=40;
  70.                System.out.println("\nHomes\n");
  71.                Calcula_Peso (imc_h, lim_sup,lim_inf, increm);
  72.                System.out.println("\nDones\n");
  73.                Calcula_Peso (imc_d, lim_sup,lim_inf, increm);
  74.                break;
  75.          }
  76.       }}

No hay comentarios:

Publicar un comentario