КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Использование идентификаторов элементов модуля
Использование модуля в основной программе Секция инициализации В некоторых случаях перед обращением к модулю следует провести его инициализацию (например, установить связь с теми или иными файлами с помощью процедуры Assign, инициализировать какие-то переменные и т. д.). Необходимые действия можно выполнить в секции инициализации модуля. Эта секция начинается словом begin, после которого идут исполняемые операторы, а затем помещается слово «end..» (с точкой), например: begin Assign (Fl, 'FILE1.DAT') end. Следует иметь в виду, что операторы секции инициализации выполняются единственный раз в момент запуска программы. Если инициализация модуля не нужна, то в секции помещается лишь слово end. (с точкой). Чтобы использовать подпрограммы, константы, типы, переменные, описанные в интерфейсе модуля, в основной программе следует записать слово uses, после которого указать имя (имена) модуля (модулей). После этого в основной программе можно использовать любые идентификаторы (констант, типов, переменных, подпрограмм), указанные в интерфейсах перечисленных модулей. Пример. Программа, меняющая в массиве максимальное и минимальное числа. program EXAMPLE26; {заголовок программы} uses Unitl, Unit2; {используемые модули} var i: Integer; begin Change(Arr); {процедура замены в Unitl, массив Arr - в Unit2} for i:= 1 to N do {N-B Unit2} WriteLn(Arr(i]) end.
{модули, расположенные в других файлах} unit Unitl; {модуль с основной подпрограммой} interface {интерфейс первого модуля} uses Unit2; {использование модуля с параметрами} procedure Change (var Arr: Mass); {заголовок процедуры} implementation {исполнительная часть} uses UnitS; {использование модуля с вспомогательной подпрограммой} procedure Change; {сокращенный заголовок} var Max, Min, i; Integer; begin Max:= 1; Min:= 1; for i:= 1 to N do {N-в Units} begin if Arr[i] > Arr[Max] then Max:= i; if Arrti] < Arr[Min] then Min:= i end; Swap(Arr[Max], Arr[Min]) {замена местами макс.и мин.чисел, процедура в Units} end end. {конец Unitl}
unit Unit2; {модуль с параметрами} interface {интерфейс второго модуля} const N = 5; {число элементов} type Mass = array!1..N] of Real; {тип массива} const Arr: Mass = (0.5, -2.0, 1.0, 3.5, 7.0); {типизированная константа} implementation {исполнительная часть} end. {конец UNIT2}
unit UnitS; {модуль с вспомогательной подпрограммой} interface {интерфейс третьего модуля} procedure Swap(var X, Y: Real} implementation {исполнительная часть} procedure Swap(var X, Y: Real) {перемещение двух чисел} var Z: Real; begin Z:= X; X:- Y; Y:= Z end end. {конец UNITS} Как правило, идентификаторы объектов модуля используются в основной программе (или другом модуле) обычным образом. Однако может оказаться, что используемый идентификатор элемента модуля совпадает с идентификатором использующей его программы. Чтобы различить их, при обращении к элементу модуля указывается имя модуля, а затем через точку - идентификатор объекта (аналогично использованию полей записи). Пример, program EXAMPLE; uses Unitl; var Result, X: Real; begin Read (X); {чтение переменной программы} Read (Unitl.X); {чтение переменной модуля} Result:= X {переменная программы} +Unitl.X {переменная модуля} end
. unit Unitl; interface var X: Real; {переменная модуля} implementation end. Литература: 1. Острейковский В.А. Информатика. М. – Высшая школа. 200г. 2. Информатика. Макарова 3. Симонович. 4. Лекции по общей информатике. Под ред. проф. Атрощенко В.А. КубГТУ, Краснодар 2004г. 5. Не знаю,что. 6. А. Епанешников, В. Епанешников. Программирование в среде Turbo Pascal 7.0. М.: «Диалог-МИФИ», 1993. 288 с. 7. Зуев Е.А. Язык программирования Turbo Pascal 6.0., 7.0. М.: Веста, Радио и связь, 1993.- 384 с.: ил.
Дата добавления: 2014-01-04; Просмотров: 391; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |