- Program ex28;
- Uses CRT;
- Type TDados = Record
- Nome:String[20];
- CPF:String[11];
- Altura:Real;
- Peso:Real;
- Sexo:Char;
- Idade:Integer;
- End;
- Var Dados:Array[1..20] Of TDados;
- I:Integer;
- IMC:Array[1..20] Of Real;
- AcimaP,QtdObesas:Integer;
- MediaP,Perc:Real;
- Procedure Entrada;
- Begin
- For I:=1 To 20 Do
- Begin
- Clrscr;
- Writeln(' - ',I,#166, ' Pessoa - ');
- Writeln;
- Write('Nome.....: ');Readln(Dados[I].Nome);
- Write('CPF......: ');Readln(Dados[I].CPF);
- Write('Altura...: ');Readln(Dados[I].Altura);
- Write('Peso.....: ');;Readln(Dados[I].Peso);
- Write('Sexo M/F.: ');;Readln(Dados[I].Sexo);
- Write('Idade....: ');;Readln(Dados[I].Idade);
- End;
- End;
- Procedure Caucula;
- var F,AbaixoP:Integer;
- Begin
- AcimaP:=0;
- MediaP:=0;
- AbaixoP:=0;
- QtdObesas:=0;
- For I:=1 To 20 Do
- Begin
- IMC[I]:=Dados[I].Peso/(SQR(Dados[I].Altura));
- MediaP:=MediaP+Dados[I].Peso;
- If (IMC[I] >= 25) Then
- Begin
- AcimaP:=AcimaP+1;
- If (Dados[I].Idade >= 20) And (Dados[I].Idade <= 30) Then
- QtdObesas:=QtdObesas+1;
- End;
- Dados[I].Sexo:= UPCASE(Dados[I].Sexo);
- If (Dados[I].Sexo='F') And (Dados[I].Peso <= 18.5) Then
- Begin
- F:=F+1;
- AbaixoP:=AbaixoP+1;
- End;
- End;
- MediaP:=MediaP/20;
- If (F >= 1) Then
- Perc:=(AbaixoP*100)/F
- Else
- Perc:=0;
- End;
- Procedure Mostra;
- Begin
- Caucula;
- Clrscr;
- Writeln(' * Resultados da Pesquisa * ');
- Writeln;
- Writeln('Qtd de pessoas com sobrepeso/obesas......: ',AcimaP);
- Writeln('Peso medio da populacao..................: ',MediaP:3:2);
- Writeln('Percentual de mulheres abaixo do peso....: ',Perc:3:2,'%');
- Writeln('Qtd de pessoas entre 20 e 30 anos obesas.: ',QtdObesas);
- Readkey;
- End;
- Begin
- Entrada;
- Mostra;
- End.
sábado, 19 de junho de 2010
programa
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário