Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
INFORMATIKA.doc
Скачиваний:
52
Добавлен:
31.05.2015
Размер:
343.04 Кб
Скачать

Вопрос 4: модули в Паскале. Определения, назначения и использование.

I) Модули, формируемые пользователем.

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

Как правило модули используются для написания библиотек, процедур и функций, котор затем можно многократно использовать в разных программах. Чтобы использ модуль и сделать видимым его содержимое нужно указать его имя в разделе модулей.

Usesимя модуля;

Структура модуля:

Заголовок модуля

I. Unit<имя модуля>;

Интерфейсный раздел

II. Interface

Внутри него 1) раздел указаний использ модуля

2) раздел описания констант

3) раздел описания типов данных

4) раздел описания переменных

5) раздел задания имен процедур и фун-ий.

III. Implemention раздел реализации.

1) раздел указания использ модулей

2) раздел описания меток

3) раздел описания констант

4) раздел описания типов данных

5) раздел описания переменных

IV. Раздел инициализации.

Begin

Операторы;

End.

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

В разделе реализации наход полное описание всех процедур и функций, а также описание констант, типов ит.д для внутреннего использования, которые не будут видны извне.

Раздел инициализации содержит операторы, кот будут выполнены до начала работы программы. Если их нет- бегин не указывается.

Храниться модуль должен в одноименном файле.

Пример: Модуль, содержащий средства работы со связанными списками.

Unit stack;

Interface

Type

Plist=^TElement;

TElement=record;

R: real;

Next: plist;

End;

Procedure nul(var list: plist);

Procedure push(var list: plist);

Function pop(var list: plist);

Implementation

Procedure nul;

Begin

List:=nil;

End;

Procedure push;

Var p: plist;

Begin

New(P);

P^.R:=R;

P^.Next:=list;

List:=P;

End;

Function pop:real;

Var p: plist;

Begin

If list<>nil then

Begin

Pop:=list^.R;

P:=list;

List:= p^.next;

Dispose(p);

End; end; end;

Использование

Uses stack;

Var: L:plist;

R: real;

Begin

Nul(L);

Push(L,1);

Push(L,2);

R:= pop(L);

Writeln(R);

End;

II) Стандартные модули.

Стандартные процедуры Турбо Паскаля расположены в модулях, которые поставляются в оттранслированном виде вместе с компилятором:

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

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

  3. Модуль DOSобеспечивает доступ к некоторым возможностям ОС. В нем содержатся средства обработки даты и времени, работы с каталогами и отдельными файлами, имеется возможность запуска других программ.

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

Подробную информацию о константах, функциях и процедурах стандартных модулей можно найти воспользовавшись встроенной справочной системой среды Паскаль, которая активизируется комбинацией клавиш CTRL+F1.

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