Использование модуля программистаМодуль программиста, оформленный по описанным выше правилам, должен быть помещен в файл, имя которого совпадает с именем модуля, а расширение его должно быть.PAS Проверить его работу можно только с помощью программы. Сам по себе модуль на выполнение не запускается. Его нужно только откомпилировать на диск. Для этого в меню Compile нужно установить флажок не Distention Memory (установлен по умолчанию), а Distention Disk, левой клавишей мыши щелкнув по этому пункту. После успешной компиляции на диск (после устранения всех синтаксических ошибок) в текущем каталоге должен появиться файл с тем же именем, что и имя модуля и расширением.TPU Это означает, что модуль готов к работе и будет доступен любой программе, которая подключит данный модуль при помощи записи: Uses MyMod; { имя модуля программиста }
Теперь приступайте к созданию основной программы в отдельном файле. Основная программа может использовать типы, переменные, процедуры и функции подключенного модуля без их описания. Задача 14. Разработать модуль программиста, содержащий следующие процедуры и функции работы с одномерным массивом:
Используя процедуры и функции модуля программиста, разработать программу решения следующей задачи: Задать 2 одномерных числовых массива одинаковой размерности. В том их них, где четных элементов больше, чем нечетных, увеличить на 10 четные элементы и уменьшить на 10 нечетные элементы. Текст модуля программиста к задаче 14. Unit MyMod; Interface Type Mas=Array[1..15] of integer; { тип массив } Procedure Vvod (Var X: Mas); Procedure Vivod (Var X: Mas); Function Col1 (Var X: Mas): byte; Function Col2 (Var X: Mas): byte; Procedure Uvel (Var X: Mas; n: integer); Procedure Umen (Var X: Mas; n: integer);
Implementation Procedure Vvod; {процедура ввода массива} Var i: byte; Begin For i: =1 to 15 do X[i]: =Random(100)-25; End;
Procedure Vivod; {процедура вывода массива} Var i: byte; Begin For i: =1 to 15 do Write (X[i]: 5); Writeln; End; Function Col1 (Var X: Mas): byte; {функция подсчета кол-ва четных значений в массиве} Var i, z: byte; Begin z: =0; For i: =1 to 15 do begin if X[i] mod 2 =0 then z: =z+1; End; Col1: =z; End;
Function Col2 (Var X: Mas): byte; {функция подсчета кол-ва нечетных значений в массиве} Var i, z: byte; Begin z: =0; For i: =1 to 15 do begin if X[i] mod 2 < > 0 then z: =z+1; End; Col2: =z; End;
Procedure Uvel; {процедура увеличения четных эл-тов на значение n} Var i: byte; Begin For i: =1 to 15 do if X[i] mod 2 =0 then X[i]: =X[i]+n; End;
|