русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Использование модулей


Дата добавления: 2015-07-23; просмотров: 612; Нарушение авторских прав


Модуль компилируется так же, как и обычные программы, но так как модуль сам по себе не выполняем, то в результате получается специальный файл с расширением TPU (Turbo Pascal Unit).

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

USES <список модулей>;

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

Program Prim;

Uses Complex;

Var R,X,Y,Z: Complex;

Begin

Read (X.RE,X.IM,Y.RE,Y.IM,Z.RE,Z.IM);

R := CADD(CMUL(X,Y),CADD(CMUL(X,Z),CMUL(Y,Z)));

Writeln(R.RE,'+',R.IM,'i')

end.

Правила использования.

1. Иногда некоторые имена используемого модуля могут совпадать с именами использующей его программы. Тогда интерфейсные имена модуля, указанного в списке первым, образуют самый внешний блок программы, имена второго модуля образуют блок, вложенный в первый и т.д.

Например, в программе есть спецификация:

Uses A,B;

то вложенность блоков будет следующей:

То есть имена выполняемой программы «экранируют» одинаковые имена модулей А и В. Получить доступ к одноименным переменным модуля можно, используя составное имя.

Пусть есть модуль:

Unit A;

Interface

Var X:Real;

Procedure Pr(Y:integer);

implementation

... ...

end.

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

Program P;

Uses A;

Var X:Integer;

Begin

... ...

X:=8; { определение внутренней целой переменной }

A.X:=2.5; { переменная модуля (составное имя) }

Pr(X); { X - фактический целый параметр-значение }

... ...

end.

2. Разрешены косвенные использования модулей. Причем в спецификации использования указываются только модули, непосредственно используемые в программе. Пример косвенного использования модуля А в программе Р:



Unit A; Unit B; Program P;

Interfase Interfase Uses B;

... ... Uses A; ... ..

end. ... ... end.

end.

3. Схема взаимного использования модулей может иметь структуру любой сложности, но недопустимо явное или косвенное обращение модуля к самому себе.

Unit A; Unit B;

Interfase Interfase

Uses B; Uses A; <- недопустимо

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

4. При наличии раздела инициализации операторы модуля выполняются первыми в порядке описания:

Program P;

Uses A,B;

... ...

Выполняются:

1. операторы модуля А;

2. операторы модуля В;

3. операторы программы Р.

5. Рекомендуется, чтобы имя модуля совпадало с именем файла на внешнем носителе информации, например:

Unit Module1;

... ...

Текст программы необходимо поместить в файл Module1.pas, а оттранслированный модуль будет находиться в файле Module1.tpu. При необходимости хранить код модуля в файле с другим именем используют директиву компилятора $U. Она имеет параметр дискового имени файла с данным модулем и должна находится непосредственно перед именем модуля в спецификации пользователя. Например, запись

Uses {$U MY} MyUnit;

приведет к тому, что компилятор будет искать код модуля MyUnit в файле MY.TPU.



<== предыдущая лекция | следующая лекция ==>
Implementation | Стандартные модули


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.075 сек.