Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Turbo_Pascal_lectures.doc
Скачиваний:
8
Добавлен:
23.03.2015
Размер:
190 Кб
Скачать
☆
  1. Модульное программирование в TurboPascal

    1. Общие понятия о модулях

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

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

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

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

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

Одним из первых языков, реализующих концепцию модульности, был язык Modula, предложенный автором Паскаля Никласом Виртом. Дальнейшее развитие она получила в языке Modula-2 того же автора и в языке Ada, разработанном по заказу американских военных ведомств. Также она была реализована в Turbo Pascal, где, в дополнение к своим основным задачам, модульная структура программы позволила оптимизировать использование сегментной адресации памяти, присущей IBM-совместимым персональным компьютерам на основе процессоров x86 и Pentium.

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

<модуль> ::= <заголовок модуля> ";"

<раздел интерфейса>";"

<раздел реализации>";".

["Begin" <раздел инициализации] "End" ".".

Модуль оформляется в виде отдельного файла с расширением ".pas". Имя файла должно быть таким же, как и имя модуля (поэтому в Turbo Pascal, предназначенном для работы в операционной системе MS DOS, длина имени модуля не должна превышать 8 символов – такая длина разрешена для имен файлов в MS DOS).

Файлы исходных текстов модулей должны размещаться в каталоге (папке), объявленном в меню Options-Compiler-Directories-Unit Directories.

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

<заголовок модуля> ::= "Unit" <имя модуля>.

Имя модуля должно соответствовать синтаксису имен Паскаля, но не должно быть длиннее 8 символов. Имя должно быть уникальным для данной программы и для каталога, в котором хранится модуль.

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