Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Программные модули

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

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

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

Модули, приводимые в данном учебнике, ориентированы на некоторый вид работ (алгоритмов) или обработку типичных объектов.

К ним относятся модули:

Inputs - содержит подпрограммы контролируемого ввода данных разных типов;
Files - содержит вспомогательные операции для работ с файлами.

 

Состав и структура модуля

Модуль в системе Турбо Паскаль состоит из нескольких следующих друг за другом частей:

-           заголовок модуля,
-           интерфейсная часть (секция межпрограммного интерфейса),
-           реализационная часть (секция реализации),
-           инициализационная часть.

Ниже приведена схема структуры модуля с комментариями относительно состава и назначения каждой части:

unit {заголовок модуля) <имя модуля>;
uses <перечень модулей, объекты которых используются в секция межпрограммного интерфейса>;
interface {секция межпрограммного интерфейса}
<Спецификация (объявление) экспортируемых объектов модуля, т.е. доступных (видимых) использующим его модулям и программам>
implementation {секция реализации экспортируемых функций и процедур}
Описание локальных объектов модуля, используемых в последующих описаниях экспортируемых функций и процедур модуля>
<Описание указанных в секции интерфейса экспортируемых функций и проце-
дур>
begin {секция инициализации)
<операторы, исполняемые при вызове модуля>
end.

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

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

Созданный пользователем модуль становится доступен для использования. если он откомпилирован без ошибок (в режиме Compile с записью на диск). Он автоматически записывается в текущую директорию в файл заданным именем и расширением .tpu.

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

unit Inputs;
{модуль содержит ряд модификаций операции ввода данных разных типов, которые в целях надежности программы выполняют:
а)         запрос значения данного с подсказкой его имени или назначения,
б)         контроль правильности представления значения рассматриваемого типа
в)         контроль задания значения в допустимом диапазоне,
г)         программное сообщение о неправильном значении,
д)         повторный запрос значения.}
{------секция интерфейса------}
interface
procedure InputInt(var р: integer);
{ввод integer с контролем}
procedure inputNamlnt(s: string; var p: integer);
{ввод integer с указанием имени и контролем}
procedure InputNamReal(s:string; var p: real);
{ввод real с указанием имени и контролем}
procedure InpNamlntCont(s:string; var p; integer; nl, n2: integer);
{ввод integer с указанием имени и в интервале [nl, п2]}
procedure InpNamRealCont(s: string; var p: real; nl, n2: real);
{ввод real с указанием имени и в интервале [nl, п2]}
procedure InpRealCont(var р: real; nl, n2: real);
{ввод real с контролем в интервале [nl, п2]}
{------секция реализации-------}

implementation
{------в этой секции описываются указанные выше процедуры------}
(------здесь их описание не приводится------}
{------секция инициализации------}           
begin
end. {Unit Inputs}

 




 

Комментарии:


Добавить свой комментарий:


Введите значение:
 









   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru