27. М О Д У Л И

Модуль (UNIT) в TURBO PASCAL - это особым образом оформленная биб-

лиотека подпрограмм. Модуль в отличие от программы не может быть за-

пущен на выполнение самостоятельно, он может только участвовать в

построении программ и других модулей.

Модули позволяют создавать личные библиотеки процедур и функций и

строить программы практически любого размера.

Модуль в TURBO PASCAL представляет собой отдельно хранимую и неза-

висимо компилируемую программную единицу.

В общем случае модуль - это совокупность программных ресурсов,

предназначенных для использования другими программами. Под программ-

ными ресурсами понимаются любые элементы языка TURBO PASCAL: констан-

ты, типы, переменные, подпрограммы. Модуль сам по себе не является

выполняемой программой, его элементы используются другими программны-

ми единицами.

Все программные элементы модуля можно разбить на две части:

- программные элементы, предназначенные для использования другими

программами или модулями, такие элементы называют видимыми вне моду-

ля;

- программные элементы, необходимые только для работы самого моду-

ля, их называют невидимыми или скрытыми.

В соответствии с этим модуль, кроме заголовка, содержит две основ-

ные части, называемые интерфейсом и реализацией.

В общем случае модуль имеет следующую структуру:

unit <имя модуля>; {заголовок модуля}

interface

{ описание видимых программных элементов модуля }

{ описание скрытых программных элементов модуля }

begin

{ операторы инициализации элементов модуля }

end.

В частном случае модуль может не содержать части реализации и час-

ти инициализации, тогда структура модуля будет такой:

unit <имя модуля>;  {заголовок модуля}

interface

{ описание видимых программных элементов модуля }

implementation

end.

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

Заголовок подпрограммы содержит все сведения, необходимые для ее вы-

зова: имя, перечень и тип параметров, тип результата для функций, эта

информация должна быть доступна для других программ и модулей. С дру-

гой стороны, текст подпрограммы, реализующий ее алгоритм, другими

программами и модулями не может быть использован. Поэтому заголовок

процедур и функций помещают в интерфейсную часть модуля, а текст - в

часть реализации.

Интерфейсная часть модуля содержит только видимые (доступные для

других программ и модулей) заголовки процедур и функций (без служеб-

ного слова forward). Полный текст процедуры или функции помещают в

часть реализации, причем заголовок может не содержать список формаль-

ных параметров.

Исходный текст модуля должен быть откомпилирован с помощью дирек-

тивы Make подменю Compile и записан на диск. Результатом компиляции

модуля является файл с расширением .TPU (Turbo Pascal Unit). Основное

имя модуля берется из заголовка модуля.

Для подключения модуля к программе необходимо указать его имя в

разделе описания модулей, например:

uses CRT, Graph;

В том случае, если имена переменных в интерфейсной части модуля и

в программе, использующей этот модуль, совпадают, обращение будет

происходить к переменной, описанной в программе. Для обращения к пе-

ременной, описанной в модуле, необходимо применить составное имя,

состоящее из имени модуля и имени переменной, разделенных точкой.

Например, пусть имеется модуль, в котором описана переменная К:

unit M;

interface

var K: Integer;

implementation

.................

end.

Пусть программа, использующая этот модуль, также содержит перемен-

ную К:

Program P;

uses M;

var K: Char;

begin

.............

end.

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

ля M, необходимо задать составное имя M.K.

Использование составных имен применяется не только к именам пере-

менных, а ко всем именам, описанным в интерфейсной части модуля.

Рекурсивное использование модулей запрещено.

Если в модуле имеется раздел инициализации, то операторы из этого

раздела будут выполнены перед началом выполнения программы, в которой

используется этот модуль.

28. М Н О Ж Е С Т В А

Понятие множества в языке ПАСКАЛЬ основывается на математическом

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

элементов. Для построения конкретного множественного типа использует-

ся перечисляемый или интервальный тип данных. Тип элементов, состав-

ляющих множество, называется базовым типом.

Множественный тип описывается с помощью служебных слов Set of,

например:

type M= Set of B;

Здесь М - множественный тип, В - базовый тип.

Пример описания переменной множественного типа:

type

M= Set of 'A'..'D';

var

MS: M;

Принадлежность переменных к множественному типу может быть опреде-

лена прямо в разделе описания переменных:

var

C: Set of 0..7;

Константы множественного типа записываются в виде заключенной в

квадратные скобки последовательности элементов или интервалов базово-

го типа, разделенных запятыми, например:

['A', 'C'] [0, 2, 7] [3, 7, 11..14].

Константа вида

[ ]

означает пустое подмножество.

Множество включает в себя набор элементов базового типа, все подм-

ножества данного множества, а также пустое подмножество. Если базовый

тип, на котором строится множество, имеет К элементов, то число подм-

ножеств, входящих в это множество, равно 2 в степени К. Пусть имеется

переменная Р интервального типа:

var P: 1..3;

Эта переменная может принимать три различных значения - либо 1,

либо 2, либо 3. Переменная Т множественного типа

var T: Set of 1..3;

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

[ ] [1,2]

 [1] [1,3]

[2] [2,3]

[3] [1,2,3]

Порядок перечисления элементов базового типа в константах безраз-

личен.

Значение переменной множественного типа может быть задано конс-

трукцией вида [T], где T - переменная базового типа.

К переменным и константам множественного типа применимы операции

присваивания(:=), объединения(+), пересечения(*) и вычитания(-):

['A','B'] + ['A','D'] даст ['A','B','D']

['A'] * ['A','B','C'] даст ['A']

['A','B','C'] - ['A','B'] даст ['C'].

Результат выполнения этих операций есть величина множественного

типа.

К множественным величинам применимы операции: тождественность (=),

нетождественность (<>), содержится в (<=), содержит (>=). Результат

выполнения этих операций имеет логический тип, например:

['A','B'] = ['A','C'] даст FALSE

['A','B'] <> ['A','C'] даст TRUE

['B'] <= ['B','C'] даст TRUE

['C','D'] >= ['A'] даст FALSE.

Кроме этих операций для работы с величинами множественного типа в

языке ПАСКАЛЬ используется операция

in

проверяющая принадлежность элемента базового типа, стоящего слева

от знака операции, множеству, стоящему справа от знака операции. Ре-

зультат выполнения этой операции - булевский. Операция проверки при-

надлежности элемента множеству часто используется вместо операций от-

ношения, например:

A in ['A', 'B'] даст TRUE,


Информация о работе «Основные понятия алгоритмического языка»
Раздел: Информатика, программирование
Количество знаков с пробелами: 91405
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
274963
85
0

... ячейка, а имя переменной превращается в адрес ячейки. Появление этого адреса происходит в результате работы специального оператора языка (NEW), однако его значение в большинстве случаев не используется при программировании на алгоритмических языках типа Паскаль. Условимся считать, что адрес ячейки, которая будет хранить переменную А, есть А. Или, другими словами, А - это общее имя переменной и ...

Скачать
112819
0
0

... . Объясните, для чего служат разрешения и привилегии в Windows NT. Зав. кафедрой --------------------------------------------------   Экзаменационный билет по предмету СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Билет № 22 Перечислите возможности и инструменты системы программирования Microsoft Developer Studio. Укажите для чего предназначается буфер в системах ввода-вывода, ...

Скачать
142378
5
0

... . Поэтому так легко путешествовать по Всемирной паутине (WWW — Worl Wide Web), переходя с сайта на сайт по гиперссылкам. Для отображения в «плоском* тексте смысловых связей между основными разделами или понятиями можно использовать гипертекст. Гипертекст позволяет структурировать документ путем выделения в нем слов-ссылок (гиперссылок). При активизации гиперссылки (например, с помощью щелчка мышью ...

Скачать
35650
0
0

... # будет тесно интегрирован с языком XML[1]. 2.2 Паскаль Паскаль [PASCAL - акроним с французского - Program Applique a la Selection et la Compilation Automatique de la Litterature] - Процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Назван в честь французского ...

0 комментариев


Наверх