Advertisement
Guest User

sim

a guest
May 16th, 2013
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.15 KB | None | 0 0
  1. Program ficha5 ;
  2. Var
  3. IdAlt : array [1..2,1..30] of Integer ;
  4. idade , altura , op , n , ret , somamed , somamedd , conta , max , aux: Integer ;
  5. totalmed, totalmedd : Real ;
  6.  
  7. Procedure LerDados ;
  8. Begin
  9. Writeln('Introduza o número de alunos');
  10. Readln(n);
  11.  
  12. For idade := 1 To n Do
  13. Begin
  14. Writeln('Introduza a idade e altura do ', idade ,' aluno');
  15. For altura := 1 To n Do
  16. Begin
  17. Readln(IdAlt[idade,altura]);
  18. End ;
  19. End ;
  20. ClrScr;
  21. End ;
  22.  
  23. Procedure VerDados ;
  24. Begin
  25. aux := 0 ;
  26. Writeln('Nr Id Alt');
  27. For idade := 1 To n Do
  28. Begin
  29. aux := aux + 1 ;
  30. Write(aux);
  31. For altura := 1 to n Do
  32. Begin
  33. Write(' ');
  34. Write(IdAlt[idade,altura]);
  35. End ;
  36. Writeln ;
  37. End ;
  38. ClrScr;
  39. End ;
  40.  
  41. Procedure RetificarDados ;
  42. Begin
  43. Writeln('Introduza o número do aluno que pretende retificar');
  44. Readln(ret);
  45.  
  46.  
  47. For idade := 1 To n Do
  48. Begin
  49. For altura := 1 To n Do
  50. Begin
  51. If idade = ret Then
  52. Writeln('Introduza a idade do aluno');
  53. Readln(IdAlt[ret,ret]);
  54. Writeln('Introduza a altura do aluno');
  55. Readln(IdAlt[ret,ret]);
  56. End ;
  57. End ;
  58. ClrScr;
  59. End ;
  60.  
  61. Procedure MediaIdades ;
  62. Begin
  63. Writeln('Média de idades da turma: ');
  64. For idade := 1 To n Do
  65. Begin
  66. For altura := 1 To n Do
  67. Begin
  68. Somamed := Somamed + IdAlt[idade,altura];
  69. End ;
  70. End ;
  71. totalmed := somamed / n ;
  72. Writeln(totalmed:3:2);
  73. End ;
  74.  
  75. Procedure MediaAlturas ;
  76. Begin
  77. Writeln('Média de alturas da turma: ');
  78. For altura := 1 To n Do
  79. Begin
  80. For idade := 1 To n Do
  81. Begin
  82. Somamedd := Somamedd + IdAlt[idade,altura];
  83. End ;
  84. End ;
  85. totalmedd := somamed / n ;
  86. Writeln(totalmedd:3:2);
  87. End ;
  88.  
  89. Procedure Mais16AlturaInferior ;
  90. Begin
  91. For idade := 1 To n Do
  92. Begin
  93. For altura := 1 To n Do
  94. Begin
  95.  
  96.  
  97. End ;
  98. End ;
  99. End ;
  100.  
  101. Procedure IdadeSuperiorMedia ;
  102. Begin
  103. For idade := 1 To n Do
  104. Begin
  105. For altura := 1 To n Do
  106. Begin
  107. If IdAlt[idade,altura] > totalmed Then
  108. conta := conta + 1 ;
  109. End ;
  110. End ;
  111. Writeln('Existem ',conta,' alunos com idade superior à media');
  112. End ;
  113.  
  114. Procedure AlunoMaisAlto ;
  115. Begin
  116. For idade := 1 To n Do
  117. Begin
  118. For altura := 1 To n Do
  119. Begin
  120. If IdAlt[idade,altura] > max Then
  121. max := IdAlt[idade,altura] ;
  122. End ;
  123. End ;
  124. Writeln('O aluno mais alto é o aluno número ', altura) ;
  125. End ;
  126.  
  127. Begin
  128. Somamed := 0 ;
  129. Somamedd := 0 ;
  130. Conta := 0 ;
  131. max := 0 ;
  132. Repeat
  133. Writeln('____________________________ MENU ____________________________');
  134. Writeln('1 - Introduzir dados');
  135. Writeln('2 - Visualizar dados');
  136. Writeln('3 - Retificar a idade/altura dado o número do aluno');
  137. Writeln('4 - Média de idades da turma');
  138. Writeln('5 - Média de alturas da turma');
  139. Writeln('6 - Número de alunos com mais de 16 anos com altura inferior à média');
  140. Writeln('7 - Número de alunos com idade superior à media de idades');
  141. Writeln('8 - Aluno mais alto');
  142. Writeln('9 - Sair');
  143. Readln(op);
  144.  
  145. Case op of
  146. 1 : LerDados ;
  147. 2 : VerDados ;
  148. 3 : RetificarDados ;
  149. 4 : MediaIdades ;
  150. 5 : MediaAlturas ;
  151. 6 : Mais16AlturaInferior ;
  152. 7 : IdadeSuperiorMedia ;
  153. 8 : AlunoMaisAlto ;
  154. End ;
  155. Until op = 9 ;
  156. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement