
- •Для студентов, обучающихся по направлению 090303 «Информационная безопасность автоматизированных систем»
- •Принципы модульного программирования
- •2. Назначение модулей
- •3. Структура модулей
- •3.1. Заголовок модуля
- •3.2 Интерфейс модуля
- •3.3 Исполнительная часть модуля
- •3.4 Секция инициализации
- •4. Создание модуля
- •5. Компиляция модуля
- •6. Контрольный пример
- •7. Модули и принцип сокрытия информации
- •Объявленные здесь идентификаторы Len и t_mas могут исполнять роль глобальных величин для всех модулей, где в предложении uses стоит имя модуля Global.
- •Задания
- •Пояснения к заданию
- •Советы по реализации модулей
- •9. Контрольные вопросы
- •10. Библиографический список
- •Корректура составителей
- •394000 Воронеж, пр. Революции, 193
3.4 Секция инициализации
В некоторых случаях перед обращением к модулю следует провести его инициализацию (например, установить связи с теми или иными файлами с мощью процедуры Аssign, инициализировать какие-то переменные и т.д.). Необходимые действия можно выполнить в секции инициализации модуля. Эта секция начинается словом begin после которого идут операторы, а затем помещается слово end. (с точкой), например:
begin
Аssigп (f,’a.dat’)
end.
Следует иметь в виду, что операторы секции инициализации выполняются единственный раз в момент запуска программы.
Если инициализация модуля не нужна, то в секции помещается лишь слово епd. (с точкой).
4. Создание модуля
Создание модуля ничем не отличается от процесса создания программы. Текст модуля надо набрать в окне редактора текста и сохранить в файле с расширением . PAS.
Внимание!! Имя файла, содержащего модуль, однозначно определено именем самого модуля, заданным в заголовке модуля, т.е. имя файла с модулем, заголовок которого:
Unit Proba;
должно быть PROBA. PAS.
5. Компиляция модуля
Компилируется модуль точно так же, как и обычная программа, т. е. выбором из меню Соmрile команды Соmрile.
Система сама определяет структуру компилируемого файла и создает соответственно .TPU-файл (при обнаружении unit) или .ЕХЕ-файл (при отсутствии unit). TPU - сокращение от Turbo Раsсal Unit. В первом случае формируется библиотечный модуль, во втором — готовый к выполнению файл в машинных кодах.
Внимание!! Надо установить директиву Destination = Disk
Откомпилированный модуль будет помещен в каталог, предназначенный для выполняемых программ. Имя этого каталога указано в поле EXE&TPU диалогового окна Directores, которое появляется при выборе команды Directores из меню Оptions. Процедура настройки среды Turbo Раsсal будет описана подробно в след. разделе.
6. Контрольный пример
Последовательность действий такова.
Загрузить среду Turbo Раsсal Для правильной компиляции и выполнения программ, содержащих модули, надо правильно настроить среду, а именно, указать каталоги, в которых находятся файлы с модулями и основной программой, а также каталоги с внешними стандартными модулями среды Turbo Раsсal и т. д. Задание необходимых каталогов и режимов работы системы Турбо Паскаль осуществляется с помощью меню пункта Options. В данной лабораторной работе в этом меню будет использоваться только подпункт Directories (задание каталогов), в котором находится следующая последовательность строк:
ЕХЕ&TPU Directory |
каталог, куда происходит запись объектных файлов модулей программы и загрузочного файла программы: |
Include Directories |
каталоги с файлами, подключаемыми к программе с помощью директивы {$I-} |
Unit Directories |
каталоги с объектными файлами модулей, созданных пользователем, и объектными файлами внешних стандартных модулей системы Турбо Паскаль; из этих каталогов берутся файлы, необходимые для компоновки загрузочного файла программы; |
Object Directories |
каталоги с объектными файлами используемых в программе функций (процедур), написанных на языке Ассемблера. |
Переход от одной строки к другой осуществляется при нажатии Tab. Для правильной компиляции многомодульной программы надо выбрать в меню команду Options / Directories произвести следующую настройку:
EХЕ & TPU Directory: D:\TP-WORK
Include directories: не указываются
Unit directories: дополнить список каталогом D:\TP-WORK
Object directories: не указывается
Завершив настройку каталогов нажать клавишу <OK>.
Набрать в открывшемся окне текст модуля:
unit modd;
interface
uses crt;
type mm=array [1..10] of integer;
function sm1(g:mm):real;
implementation
function sm1;
var i:integer;
begin
for i:=1 to 10 do
begin
g[i]:=random(20);
write(g[i]:4);
end;
writeln;
end;
begin
randomize
end.
Сохранить текст на диске в файле MODD. PAS. Для этого выбрать команду File/ Save as и в появившемся окне задать имя MODD <Enter>.
При этом будет создан файл MODD.PAS.
При помощи команды Соmрile/ Соmрile откомпилировать файл. Если текст был набран без ошибок, будет создан файл MODD.TPU. В случае наличия ошибок надо их исправить и повторить команду компиляции.
Открыть новое окно File/ New. Набрать текст головной программы:
program proba;
uses modd;
var
x,y:mm;
begin
writeln;
sm1(x);
sm1(y);
end.
Как видим, тип mm массивов x и y определяется не в головной программе, а в интерфейсной части модуля modd.
5. Сохранить головную программу в файле. Для этого выбрать команду File/ Save as и в появившемся окне задать любое имя, например PRIMER. <Enter>. При этом будет создан файл PRIMER .PAS.
6. Задать команду компиляции и запуска на прогон нажав клавиши <Cnrl> + <F9>, или, что тоже самое, Run / Run.
Если в тексте нет ошибок, на экране будет распечатано 2 строки целых цифр.
Если были допущены ошибки, то надо их исправить и повторить команду запуска программы.