Advertisement
CyberPascal

Untitled

Apr 21st, 2014
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.04 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=10; {Размер массива}
  16.  
  17. type vector=array [1..size_n] of real; {Описываем тип для вектора}
  18.  
  19. var a:vector;
  20.  
  21. {----- Генерируем вектор Start -----}
  22. Procedure GenerateVector(var x:vector; n:byte);
  23. var i:byte;
  24. Begin
  25. for i:=1 to n do X[i]:=Random(21)-10.;
  26. end;
  27. {----- Генерируем вектор End -----}
  28.  
  29. {----- Выводим вектор на экран Start -----}
  30. Procedure OutPutVector(x:vector; name:string; n:byte);
  31. var i:byte;
  32. Begin
  33. Write('--------------------------------------------------------------------------------');
  34. Writeln(' Вектор '+Name+':');
  35. for i:=1 to n do Write(X[i]:7:2);
  36. Writeln;
  37. end;
  38. {----- Выводим вектор на экран End -----}
  39.  
  40. {----- Поиск максимального элемента вектора Start -----}
  41. Function SearchMaximum(x:vector; n:byte):real;
  42. var max:real;
  43.     i:byte;
  44. Begin
  45. Max:=X[1]; {Принимаем за максимум}
  46. for i:=2 to n do if (X[i] > Max) then Max:=X[i];
  47. SearchMaximum:=Max; {Присваиваем}
  48. end;
  49. {----- Поиск максимального элемента вектора End -----}
  50.  
  51. {----- Замена положительных элементов вектора Start -----}
  52. Procedure SubVector(var x:vector; sub:real; n:byte);
  53. var i:byte;
  54. Begin
  55. for i:=1 to n do if (X[i] > 0) then X[i]:=Sub;
  56. end;
  57. {----- Замена положительных элементов вектора End -----}
  58.  
  59. Begin clrscr;
  60. Randomize;
  61. GenerateVector(A,Size_N);
  62. OutPutVector(A,#65,Size_N);
  63. SubVector(A,SearchMaximum(A,Size_N),Size_N);
  64. OutPutVector(A,#66,Size_N);
  65. Write('--------------------------------------------------------------------------------');
  66. GotoXY(15,WhereY); Writeln('Для выхода из программы нажмите клавишу "Enter"');
  67. Write('--------------------------------------------------------------------------------');
  68. Readln;
  69. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement