Está en la página 1de 10

Ingeniera Metalrgica

MENU IMC

Pedimos la altura y el peso para calcular el IMC y lo guardamos en dos variables distintas.
Utilizamos la funcin IMC creada anteriormente
Descripcin: Programa que pidiendo los valor del el peso y la altura de una persona calcula el ndice de masa
corporal de esa persona utilizando una funcin creada anteriormente.
Creamos estas variables para que luego en el bucle podamos modificarlas
FIN=0;
IMC1=0;
h=0;
p=0;
h cargado=0;
p cargado=0;
%Iniciar un bucle para que el programa impra siempre por pantalla el men a no ser que el usuario pulse el 0
while FIN==0;
%Pedimos la altura y el peso para calcular el IMC y lo guardamos en dos variables distintas.
disp ('1. Introducir la altura (m)')
disp ('2. Introducir el peso (kg)')
%Creamos el if para que la opcin del men tres no se muestre sin que
%antes se hayan introducido el peso y la altura
if h cargado==1 && p cargado==1
disp ('3. Calcular IMC, Categora y Peso Ideal ')
end
%Creamos el if para que la opcin del men cuatro no se muestre sin que antes se haya utilizado la opcin tres
if IMC1==1
disp ('4. Mostrar resultados')
end
disp ('5. Reiniciar Men')
disp ('0. Salir')
opcion=input ('seleccione una opcin del men: ');
%Introducimos la variable switch para que el programa realice las diferentes funciones que hay en cada apartado
del men
switch opcion
case 0
%Si el usuario pulsa cero el programa debe de salir del bucle y por lo tanto finalizar el programa
FIN=1;
case 1
%Creamos un bucle para que si el usuario introduce un valor de la altura <=0 te vuelva a preguntar por el valor
de la altura sin tener que pasar por el men.
h=-1;
while h<0

Ingeniera Metalrgica
h=input('Dame el valor de la altura en metros: ');
end
%Para pasar la altura en metros a centmetros
hcm=h*100;
%Cambiamos el valor de la variable para que aparezca la opcin tres del men una vez que tambin marquemos
el peso
h cargado=1;
case 2
%Creamos un bucle para que si el usuario introduce un valor de la altura <=0 te vuelva a preguntar por el valor
de la altura sin tener que pasar por el men
p=-1;
while p<0
p=input('Dame el valor del peso en kilogramos: ');
end
%Cambiamos el valor de la variable para que aparezca la opcin tres del men una vez que tambin marquemos
la altura
p cargado=1;
case 3
%Introducimos la funcin creada anteriormente en otro scrip
[IMC,categoria, pideal]= calculoIMC(h,p);
%Cambiamos el valor de esta variable para que se pueda mostrar la opcin de men 4
IMC1=1;
case 4
%Utilizando el fprintf imprimimos por pantalla un mensaje que nos indica los resultados obtenidos en la
funcin
fprintf('Un individuo con peso %.1f Kgs y altura %3d cms tiene %s (IMC= %.2f) y su peso ideal sera %.1f
Kgs\n',p,hcm,categoria,IMC,pideal)
case 5
%Cambiamos el valor de todas la variables de nuevo a cero para que cuando el usuario pulse la opcin 5 del
men el programa se reinicie y pregunte otra vez por los valores.
IMC1=0;
h=0;
p=0;
h cargado=0;
p cargado=0;

end
end

CALCULO DE IMC
function [IMC,categoria,pideal]=calculoIMC(h,p)

Ingeniera Metalrgica
%[Altura,Peso]=calculoIMC(h,p) : crear una funcin en la cual metiendo los valores de la altura y el peso nos calcula el
ndice de masa corporal de cada persona
% Argumentos de entrada:
h:altura de la persona
p: peso de la persona
%

Argumentos de salida:

IMC: ndice de masa corporal


p ideal: el peso ideal para las personas con infra peso o sobrepeso
categora: son los diferentes tipos de peso de cada persona
%Calculamos el IMC
IMC = p/(h^2);
Creamos un if para saber en funcin del resultado del IMC nos indique la categora del peso de esa persona.
if IMC>=19 && IMC<=25
categora= 'Peso normal';
%Como las personas que estn en esta categora ya estn en su peso ideal igualamos el peso que ha
introducido la persona en la variable p a la variable p ideal
p ideal=p;
elseif IMC<19
categoria= 'Infrapeso';
%Calculamos el peso ideal para las personas con infra peso
%calculamos cual sera su peso ideal sabiendo que el mnimo
%IMC para tener un peso normal es 19
p ideal=19*(h^2);
else
categora='Sobrepeso';
%Calculamos el peso ideal para las personas con sobrepeso
%calculamos cual sera su peso ideal sabiendo que el mximo
%IMC para tener un peso normal es 25
pideal=25*(h^2);
end

Ingeniera Metalrgica

Ingeniera Metalrgica

Ingeniera Metalrgica

Ingeniera Metalrgica

Ingeniera Metalrgica

Ingeniera Metalrgica

Ingeniera Metalrgica

También podría gustarte