Advertisement
CyberPascal

Untitled

Apr 19th, 2014
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.27 KB | None | 0 0
  1. {***************************************************************************}
  2. { Сибирский Государственный Университет Путей Сообщения (СГУПС)             }
  3. { Кафедра "Информационные технологии транспорта"                            }
  4. {                                                                           }
  5. { Лабораторная работа №8 Вариант 18. Задание 4.                             }
  6. { Тема "Модульное программирование. Процедуры-подпрограммы".                }
  7. {                                                                           }
  8. { Выполнила:                                                                }
  9. { Cтудент группы МЛ-112, Фомин Александр Сергеевич                          }
  10. { Новосибирск, 2014                                                         }
  11. {***************************************************************************}
  12.  
  13. Program Lab8_18; uses crt;
  14.  
  15. const size_n=5; size_m=7; size_ni=9; size_mi=11;
  16.  
  17. type vector=array [1..size_mi] of real; {Описываем тип для вектора}
  18.  
  19. var a,b,c,d,f:vector;
  20.     max:real;
  21.  
  22. {----- Генерируем вектор Start -----}
  23. Procedure GenerateVector(var x:vector; n:byte);
  24. var i:byte;
  25. Begin
  26. for i:=1 to n do X[i]:=Random(51)-25.;
  27. end;
  28. {----- Генерируем вектор End -----}
  29.  
  30. {----- Выводим вектор на экран Start -----}
  31. Procedure OutPutVector(x:vector; name:string; n:byte);
  32. var i:byte;
  33. Begin
  34. Write('--------------------------------------------------------------------------------');
  35. Writeln(' Вектор '+Name+':');
  36. for i:=1 to n do Write(X[i]:7:2);
  37. Writeln;
  38. end;
  39. {----- Выводим вектор на экран End -----}
  40.  
  41. {----- Поиск максимального элемента вектора Start -----}
  42. Function SearchMaximum(x:vector; n:byte):real;
  43. var max:real;
  44.     i:byte;
  45. Begin
  46. Max:=X[1]; {Принимаем за максимум}
  47. for i:=2 to n do if (X[i] > Max) then Max:=X[i];
  48. SearchMaximum:=Max; {Присваиваем}
  49. end;
  50. {----- Поиск максимального элемента вектора End -----}
  51.  
  52. {----- Объединяем все процедуры в одну Start -----}
  53. Procedure CombineVector(var x:vector; var max:real; n:byte; name:string);
  54. Begin
  55. GenerateVector(X,N);
  56. OutPutVector(X,Name,N);
  57. Max:=SearchMaximum(X,N)
  58. end;
  59. {----- Объединяем все процедуры в одну End -----}
  60.  
  61. Begin clrscr;
  62. Randomize;
  63. CombineVector(A,F[1],Size_N,#65);
  64. CombineVector(B,F[2],Size_M,#66);
  65. CombineVector(C,F[3],Size_Ni,#67);
  66. CombineVector(D,F[4],Size_Mi,#68);
  67.  
  68. Write('--------------------------------------------------------------------------------');
  69. Writeln(' Максимальный элемент вектора F[4]: ',SearchMaximum(F,4):7:2);
  70. Write('--------------------------------------------------------------------------------');
  71. GotoXY(15,WhereY); Writeln('Для выхода из программы нажмите клавишу "Enter"');
  72. Write('--------------------------------------------------------------------------------');
  73. Readln;
  74. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement