Добавил:
sofyvits@ya.ru на позитиве Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
497
Добавлен:
10.01.2016
Размер:
919.04 Кб
Скачать

Interface

type

Complex = record

re, im : real;

end;

procedure AddC (x, y: Complex; var z: Complex);

procedure MulC (x, y: Complex; var z: Complex);

Если теперь в основной программе написать предложение

Uses Cmplx;

то в программе станут доступными тип Complexи две процедуры –AddCиMulCих модуляCmplx.

Все константы и переменные, объявленные в интерфейсной части модуля, объединяются с глобальными константами и переменными основной программы и помещаются компилятором в общий сегмент памяти.Порядок появления различных разделов объявлений в тексте модуля произвольный.

Исполняемая часть модуля начинается зарезервированным словом IMPLEMENTATION и содержит описания подпрограмм, объявленных в интерфейсной части. В ней могут объявляться локальные для модуля объекты – вспомогательные типы, константы, переменные, а также метки, если они используются в инициирующей части.

Все подпрограммы, заголовки которых присутствуют в интерфейсной части, должны быть описаны в исполняемой части. При этом в исполняемой части можно не повторять список формальных параметров (и тип результата для функции). Исполняемая часть модуля может содержать локальные подпрограммы, доступные только в пределах данного модуля.

Инициирующая часть завершает модуль. Она может отсутствовать вместе с начинающим ее словом beginили быть пустой – тогда сразу заbegin следует признак конца модуля (end с точкой).Не рекомендуется делать инициирующую часть пустой – лучше ее опустить.

В инициирующей части размещаются исполняемые операторы, составляющие некоторый фрагмент программы. Эти операторы исполняются до передачи управления основной программе и обычно используются для подготовки ее работы. Например, в этой части могут инициироваться переменные, открываться нужные файлы и т.п.

Пример реализации модуля, включающего две процедуры – сложение и умножение комплексных чисел – приведен ниже.

Unit Cmplx;

Interface

type

Complex = record

re, im : real;

end;

procedure AddC (x, y: Complex; var z: Complex);

procedure MulC (x, y: Complex; var z: Complex);

Implementation

procedure AddC;

begin

z.re := x.re + y.re;

z.im := x.im + y.im

end;

procedure MulC;

begin

z.re := x.re * y.re - x.im * y.im;

z.im := x.re * y.im + x.im * y.re

end;

end.

При компиляции модулей Паскаль создает специальный файл, который самостоятельно не выполняется. Определены три режима компиляции: COMPILE(<Alt>+<F9>),MAKE<F9> иBUILD. Рекомендуется компилировать модули в режимеCOMPILE, используя комбинацию клавиш <Alt>+<F9>, а основную программу – в режимеRUNили просто нажав <Ctrl>+<F9>. При компиляции основной программы в текущем каталоге, а затем в каталоге, объявленном опциейUnitDirectoriesосуществляется поиск подключаемых модули. Если какой-либо из файлов не обнаружен, система ищет одноименный файл с расширениемPASи компилирует его. При этом система следит за возможными изменениями исходного текста любого используемого модуля. Если вPAS-файл (исходный текст модуля) внесены изменения, то независимо от наличия скомпилированного модуля система осуществляет его перекомпиляцию. Более того, если изменения внесены в интерфейсную часть модуля, то будут перекомпилированы также и все другие модули, обращающиеся к нему.

Соседние файлы в папке Лекции Информатика и программирование