Advertisement
Guest User

algoritmo

a guest
May 16th, 2013
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.07 KB | None | 0 0
  1. Program ficha5 ;
  2. Var
  3. IdAlt : array [1..2,1..30] of Integer ;
  4. n , op : Integer ;
  5. mediaaltura , mediaidade : Real ;
  6.  
  7. Procedure LerDados;
  8. Var
  9. i : Integer;
  10. Begin
  11. Writeln('Introduza o número de alunos');
  12. Readln(n);
  13. For i := 1 To n Do
  14. Begin
  15. Writeln('Introduza a idade do ', i ,' aluno');
  16. Readln(IdAlt[1,i]);
  17.  
  18. Writeln('Introduza a altura do ', i ,' aluno');
  19. Readln(IdAlt[2,i]);
  20. End;
  21. Writeln;
  22. Writeln('Pressione qualquer tecla para voltar ao menu');
  23. Readkey;
  24. ClrScr;
  25. End;
  26.  
  27.  
  28. Procedure VerDados ;
  29. Var
  30. i : Integer;
  31. Begin
  32. Writeln('Número Idade Altura');
  33. For i := 1 To n Do
  34. Begin
  35. Write(i ,' ', IdAlt[1,i] ,' ', IdAlt[2,i]);
  36. Writeln;
  37. End ;
  38. Writeln;
  39. Writeln('Pressione qualquer tecla para voltar ao menu');
  40. Readkey;
  41. ClrScr;
  42. End ;
  43.  
  44.  
  45. Procedure RetificarDados ;
  46. Var
  47. retificar , i : Integer ;
  48. Begin
  49. Writeln('Introduza o número do aluno que pretende retificar');
  50. Readln(retificar);
  51. For i := 1 To n Do
  52. Begin
  53. If (retificar = i) Then
  54. Begin
  55. Writeln('Introduza a idade do ', i ,' aluno');
  56. Readln(IdAlt[1,i]);
  57.  
  58. Writeln('Introduza a altura do ', i ,' aluno');
  59. Readln(IdAlt[2,i]);
  60. End;
  61. End ;
  62. Writeln;
  63. Writeln('Pressione qualquer tecla para voltar ao menu');
  64. Readkey;
  65. ClrScr;
  66. End ;
  67.  
  68.  
  69. Procedure MediaIdades ;
  70. Var
  71. i , soma : Integer ;
  72. Begin
  73. Soma := 0 ;
  74. For i := 1 To n Do
  75. Begin
  76. Soma := Soma + IdAlt[1,i] ;
  77. End ;
  78. Mediaidade := soma/n ;
  79. Writeln('Média de idades = ', mediaidade:3:2);
  80. Writeln;
  81. Writeln('Pressione qualquer tecla para voltar ao menu');
  82. Readkey;
  83. ClrScr;
  84. End ;
  85.  
  86. Procedure MediaAlturas ;
  87. Var
  88. i , soma : Integer ;
  89. Begin
  90. Soma := 0 ;
  91. For i := 1 To n Do
  92. Begin
  93. Soma := Soma + IdAlt[2,i] ;
  94. End ;
  95. Mediaaltura := soma/n ;
  96. Writeln('Média de alturas = ', mediaaltura:3:2);
  97. Writeln;
  98. Writeln('Pressione qualquer tecla para voltar ao menu');
  99. Readkey;
  100. ClrScr;
  101. End ;
  102.  
  103. Procedure Mais16AlturaInferior ;
  104. Var
  105. i : Integer ;
  106. Begin
  107. Writeln('Número Idade Altura');
  108. For i := 1 To n Do
  109. Begin
  110. If (IdAlt[1,i] > 16) and (IdAlt[2,i] < mediaaltura) Then
  111. Begin
  112. Write(i ,' ', IdAlt[1,i] ,' ', IdAlt[2,i]);
  113. Writeln;
  114. End ;
  115. End ;
  116. Writeln;
  117. Writeln('Pressione qualquer tecla para voltar ao menu');
  118. Readkey;
  119. ClrScr;
  120. End ;
  121.  
  122. Procedure IdadeSuperiorMedia ;
  123. Var
  124. i : Integer ;
  125. Begin
  126. Writeln('Número Idade Altura');
  127. For i := 1 To n Do
  128. Begin
  129. If (IdAlt[1,i] > mediaidade) Then
  130. Begin
  131. Write(i ,' ', IdAlt[1,i] ,' ', IdAlt[2,i]);
  132. Writeln;
  133. End ;
  134. End ;
  135. Writeln;
  136. Writeln('Pressione qualquer tecla para voltar ao menu');
  137. Readkey;
  138. ClrScr;
  139. End ;
  140.  
  141. Procedure AlunoMaisAlto ;
  142. Var
  143. i , maximo , auxiliarnumero , auxiliaridade : Integer ;
  144. Begin
  145. maximo := 0 ;
  146. For i := 1 To n Do
  147. Begin
  148. If (IdAlt[2,i] > maximo) Then
  149. Begin
  150. maximo := IdAlt[2,i] ;
  151. auxiliarnumero := i ;
  152. auxiliaridade := IdAlt[1,i] ;
  153. End ;
  154. End ;
  155. Writeln('Número Idade Altura');
  156. Write(auxiliarnumero ,' ', auxiliaridade ,' ', maximo);
  157. Writeln;
  158. Writeln('Pressione qualquer tecla para voltar ao menu');
  159. Readkey;
  160. ClrScr;
  161. End ;
  162.  
  163. Begin
  164. Repeat
  165. Writeln(' ');
  166. Writeln('____________________________ MENU ____________________________');
  167. Writeln('1 - Introduzir dados');
  168. Writeln('2 - Visualizar dados');
  169. Writeln('3 - Retificar a idade/altura dado o número do aluno');
  170. Writeln('4 - Média de idades da turma');
  171. Writeln('5 - Média de alturas da turma');
  172. Writeln('6 - Número de alunos com mais de 16 anos com altura inferior à média');
  173. Writeln('7 - Número de alunos com idade superior à media de idades');
  174. Writeln('8 - Aluno mais alto');
  175. Writeln('9 - Sair');
  176. Readln(op);
  177.  
  178. Case op of
  179. 1 : LerDados ;
  180. 2 : VerDados ;
  181. 3 : RetificarDados ;
  182. 4 : MediaIdades ;
  183. 5 : MediaAlturas ;
  184. 6 : Mais16AlturaInferior ;
  185. 7 : IdadeSuperiorMedia ;
  186. 8 : AlunoMaisAlto ;
  187. End ;
  188. Until op = 9 ;
  189. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement