Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
30-40.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
35.12 Кб
Скачать
  1. Модульность программ. Стандартные модули языка Pascal. Подключение модулей.

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

Стандартные модули языка Pascal

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

Crt - служит для организации "хорошего" вывода на экран.

Wincrt - предназначен для создания программ, поддерживающих простейший оконный интерфейс.

Printer - позволяет производить вывод информации не на консоль, а на принтер

Winprn - является аналогом модуля Printer для операционной системы Windows.

Dos - позволяет обмениваться информацией с операционной системой.

Windos - является аналогом модуля Dos.

Strings - позволяет перейти от стандартных строк языка Pascal к строкам, ограниченным нулем

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

Overlay - предоставляет возможность делать большие программы оверлейными (многократно использующими одну и ту же область памяти).

Winapi - отвечает за создание динамических библиотек.

Подключение модулей

Для того чтобы подключить к программе какой-либо модуль, необходимо сразу после заголовка программы поместить следующую строку:

uses <имя_модуля>;

Если подключаемых модулей несколько, эта строка примет вид:

uses <имя_модуля_1>,...,<имя_модуля_N>;

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

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

39.Структура модуля. Секция внешних связей. Секция реализации. Секция инициализации.

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

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

unit <имя_модуля>;

interface {секция внешних связей}

implementation {секция реализаций}

begin {секция инициализации}

end.

Секция внешних связей

Эта секция содержит объявления тех типов данных, констант, переменных, подпрограмм и т.п., которые должны быть видны вне модуля.

Если для объявления какого-либо объекта нужны сведения об объекте, объявленном в другом модуле, то имя этого модуля необходимо указать в этой же секции:

interface

[uses <список_вспомогательных_модулей>;]

[const <список_внешних_констант>;]

[type <список_внешних_типов_данных>;]

[var <список_внешних_переменных>;]

[procedure <объявление_внешней_процедуры>;]

[function <объявление_внешней_функции>;]

Секция инициализации

Секции инициализации всех подключенных к программе модулей исполняются один раз, перед началом работы основной программы:

begin

<произвольные_операторы>

end.

  • Если сразу несколько модулей содержат секции инициализации, то порядок выполнения этих секций будет следующим:

  • Если модуль А подключает модуль В (не важно, в какой именно секции), то секция инициализации модуля В будет выполнена раньше, чем секция инициализации, содержащаяся в модуле А.

  • Если два модуля В и С подключаются на одном уровне (считаются равноправными), то их секции инициализации будут выполнены в том порядке, в каком имена этих модулей указаны в разделе uses.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]