1. Ejercicios resueltos el Jueves 12-04-2012
4. 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 Infrapeso
de 17 a <18 Bajo peso
de 18 a <25 Peso normal (saludable)
de 25 a <30 Sobrepeso (obesidad de grado I)
de 30 a <35 Sobrepeso crónico (obesidad de grado II)
de 35 a <40 Obesidad premórbida (obesidad de grado III)
>=40 Obesidad mórbida (obesidad de grado IV)
/* Programa que calcula el índice de masa corporal de una persona (IMC = peso [kg] / altura2 [m]) e indica 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 infrapeso
de 17 a <18 bajo peso
de 18 a <25 peso normal (saludable)
de 25 a <30 sobrepeso (obesidad de grado I)
de 30 a <35 sobrepeso crónico (obesidad de grado II)
de 35 a 40 obesidad premórbida (obesidad de grado III)
>=40 obesidad mórbida (obesidad de grado IV)
*/
# include<stdio.h>
# include<conio.h>
int main(){
float peso;
float altura;
float imc;
printf("Ingrese el Peso de la Persona (KGs): ");
scanf("%f",&peso);
printf("nnIngrese la Altura de la Persona (MTs): ");
scanf("%f",&altura);
imc = peso / (altura*altura); /* Calculo del Indice de Masa Corporal */
printf("nnSu Indice de Masa Corporal es de %f. ",imc);
if (imc <16){
printf ("Debe ingresar a un hospital");
}
else{
if ((imc>=16)&&(imc<17)){
2. printf ("Infrapeso");
}
else{
if ((imc>=17)&&(imc<18)){
printf ("Bajo peso");
}
else{
if ((imc>=18)&&(imc<25)){
printf ("Peso Normal (Saludable)");
}
else{
if ((imc>=25)&&(imc<30)){
printf ("Sobrepeso (Obesidad Grado I)");
}
else{
if ((imc>=30)&&(imc<35)){
printf ("Sobrepeao Crónico (Obesidad Grado II)");
}
else{
if ((imc>=35)&&(imc<40)){
printf ("Obesidad Pre-Mórbidad (Obesidad Grado III)");
}
else{
printf ("Obesidad Mórbida (Obesidad Grado IV)");
}
}
}
}
}
}
}
printf("nPresione cualquier tecla para continuar");getch(); /*esperar hasta que presione una tecla, lo cual permite
ver el resultado antes de que se cierre la ventana*/
return(0);
}
3. 5. Diseñar un algoritmo que lea las longitudes de los tres lados de un triángulo (L1,L2,L3) y determine qué tipo
de triángulo es, de acuerdo a los siguientes casos. Suponiendo que A determina el mayor de los tres lados y B y
C corresponden con los otros dos, entonces:
Si A>=B + C No se trata de un triángulo
Si A2 = B2 + C2 Es un triángulo rectángulo
Si A2 > B2 + C2 Es un triángulo obtusángulo
Si A2 < B2 + C2 Es un triángulo acutángulo
/* Programa que lee las longitudes de los tres lados de un triángulo (L1,L2,L3) y determina qué tipo de triángulo
es, de acuerdo a los siguientes casos. Suponiendo que A determina el mayor de los tres lados B y C corresponden
con los otros dos, entonces:
Si A>=B + C No se trata de un triángulo
Si A2 = B2 + C2 Es un triángulo rectángulo
Si A2 > B2 + C2 Es un triángulo obtusángulo
Si A2 < B2 + C2 Es un triángulo acutángulo
*/
# include<stdio.h>
# include<conio.h>
int main(){
float l1, l2, l3;
float a,b,c;
printf("Ingrese la longitud del primer lado: ");
scanf("%f",&l1);
printf("Ingrese la longitud del segundo lado: ");
scanf("%f",&l2);
printf("Ingrese la longitud del tercer lado: ");
scanf("%f",&l3);
/*Determinar cual de los lados es el mayor*/
if ((l1>l2)&&(l1>l3)){ /* Si el mayor es l1*/
a=l1;
b=l2;
c=l3;
}
else{
if ((l2>l1)&&(l2>l3)){/*Si el mayor es l2*/
a=l2;
b=l1;
c=l3;
}
else{
if ((l3>l1)&&(l3>l2)){/*Si el mayor es l3*/
a=l3;
4. b=l1;
c=l2;
}
else{/*Si todos son iguales*/
a=l1;
b=l2;
c=l3;
}
}
}
/*Comprobar el tipo de triángulo*/
if (a>=b+c){
printf("nnNo se trata de un triángulo");
}
else{
if (a*2==b*2+c*2){
printf("nnEs un triángulo rectángulo");
}
else{
if (a*2>b*2+c*2){
printf("nnEs un triángulo obtusángulo");
}
else{
printf("nnEs un triángulo acutángulo");
}
}
}
printf("nPresione cualquier tecla para continuar");getch(); /*esperar hasta que presione una tecla, lo cual permite
ver el resultado antes de que se cierre la ventana*/
return(0);
}