sábado, 19 de junho de 2010

programa

  1. Program ex28;
  2. Uses CRT;
  3. Type TDados = Record
  4. Nome:String[20];
  5. CPF:String[11];
  6. Altura:Real;
  7. Peso:Real;
  8. Sexo:Char;
  9. Idade:Integer;
  10. End;
  11. Var Dados:Array[1..20] Of TDados;
  12. I:Integer;
  13. IMC:Array[1..20] Of Real;
  14. AcimaP,QtdObesas:Integer;
  15. MediaP,Perc:Real;
  16. Procedure Entrada;
  17. Begin
  18. For I:=1 To 20 Do
  19. Begin
  20. Clrscr;
  21. Writeln(' - ',I,#166, ' Pessoa - ');
  22. Writeln;
  23. Write('Nome.....: ');Readln(Dados[I].Nome);
  24. Write('CPF......: ');Readln(Dados[I].CPF);
  25. Write('Altura...: ');Readln(Dados[I].Altura);
  26. Write('Peso.....: ');;Readln(Dados[I].Peso);
  27. Write('Sexo M/F.: ');;Readln(Dados[I].Sexo);
  28. Write('Idade....: ');;Readln(Dados[I].Idade);
  29. End;
  30. End;
  31. Procedure Caucula;
  32. var F,AbaixoP:Integer;
  33. Begin
  34. AcimaP:=0;
  35. MediaP:=0;
  36. AbaixoP:=0;
  37. QtdObesas:=0;
  38. For I:=1 To 20 Do
  39. Begin
  40. IMC[I]:=Dados[I].Peso/(SQR(Dados[I].Altura));
  41. MediaP:=MediaP+Dados[I].Peso;
  42. If (IMC[I] >= 25) Then
  43. Begin
  44. AcimaP:=AcimaP+1;
  45. If (Dados[I].Idade >= 20) And (Dados[I].Idade <= 30) Then
  46. QtdObesas:=QtdObesas+1;
  47. End;
  48. Dados[I].Sexo:= UPCASE(Dados[I].Sexo);
  49. If (Dados[I].Sexo='F') And (Dados[I].Peso <= 18.5) Then
  50. Begin
  51. F:=F+1;
  52. AbaixoP:=AbaixoP+1;
  53. End;
  54. End;
  55. MediaP:=MediaP/20;
  56. If (F >= 1) Then
  57. Perc:=(AbaixoP*100)/F
  58. Else
  59. Perc:=0;
  60. End;
  61. Procedure Mostra;
  62. Begin
  63. Caucula;
  64. Clrscr;
  65. Writeln(' * Resultados da Pesquisa * ');
  66. Writeln;
  67. Writeln('Qtd de pessoas com sobrepeso/obesas......: ',AcimaP);
  68. Writeln('Peso medio da populacao..................: ',MediaP:3:2);
  69. Writeln('Percentual de mulheres abaixo do peso....: ',Perc:3:2,'%');
  70. Writeln('Qtd de pessoas entre 20 e 30 anos obesas.: ',QtdObesas);
  71. Readkey;
  72. End;
  73. Begin
  74. Entrada;
  75. Mostra;
  76. End.

Nenhum comentário:

Postar um comentário