![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Создание собственных модулей⇐ ПредыдущаяСтр 29 из 29
TP позволяет создавать собственные модули. Модуль состоит из заголовка, секции интерфейса, секции реализации, секции инициализации. Секции реализации и инициализации не являются обязательными. Заголовок модуля:
Идентификатор - имя модуля. Секция интерфейса:
В секции интерфейса подключаются модули, описываются программные объекты, которые будут доступны программам и модулям, подключающим данный модуль. Можно описать константы, переменные, типы, заголовки процедур и функций, тела этих подпрограмм описываются в секции реализации. Секция реализации:
В секции реализации могут подключаться модули, могут быть описаны константы, переменные, типы, подпрограммы, но к ним программы, подключающие этот модуль, доступа не имеют. Эти программные объекты используются при описании тех подпрограмм, заголовки которых включены в секцию интерфейса. При описании подпрограмм, перечисленных в секции интерфейса, в заголовках можно опускать списки параметров. Секция инициализации:
В секции инициализации присваиваются начальные значения переменным. Выполнение программы, подключающей модуль с секцией инициализации, начинается с выполнения операторов секции инициализации модуля. Порядок подключения модулей имеет значение. Если некоторый модуль А использует объекты, описанные в модуле В, то модуль В подключается раньше, чем модуль А. Если в программе описан программный объект, имя которого совпадает с именем объекта, описанного в секции интерфейса модуля, то такой объект имеет смысл, соответствующий программному описанию. Если же надо обратиться к объекту, описанному в модуле, следует использовать составное имя: < имя модуля >. < идентификатор>. Пример. Модуль для работы с комплексными числами: Unit Complex; interface type compl = record Re, Im: real end; procedure read_compl(var z: compl); {Ввод комплексного числи} procedure write_compl(z: compl); {Ввод комплексного числи} function mod_compl(z: compl): real; {Определение модуля компл. числа} {..............................................................................................................} {Продолжение описания заголовков подпрограмм для выполнения действий над комплексными числами}
implementation { описание подпрограмм } procedure read_compl; begin read(z.Re, z.Im); end; procedure write_compl; var s: char; begin if z.Im< 0 then s: =’ - ‘ else s: =’+’; write(z.Re: 4: 3, s, abs(z.Im), ‘* i ’); end; {……………………………………………………..……………} {Продолжение описания подпрограмм, объявленных в секции интерфейса} end.
Бывают случаи, когда модуль А использует модуль В и наоборот, В использует А. Такие циклические ссылки возможны только в случае, когда модули подключаются в секции реализации. После того как модуль описан, его нужно записать в файл с именем < имя модуля>.pas. Если длина имени модуля превышает 8, то первые 8 символов должны совпадать с именем файла. Далее надо компилировать модуль. Для компиляции используется пункт меню Compile или < Alt> +< F9>. В результате компиляции получим файл с расширением tpu. Все модули, созданные нами, можно собрать в одном каталоге и имя каталога указать в меню Options \ directories \ Unit directories. В одном модуле рекомендуется собирать константы, типы, подпрограммы для решения задач определенного класса. При внесении изменений в модуль его нужно перекомпилировать. Это можно сделать, используя меню Compile \ Make или < F9>. В пункте Primary file меню Compile указывается имя файла с текстом основной программы. Меню Compile \ Make проверяет даты создания файлов *.pas и *.tpu. Исходные файлы, в которые вносились изменения будут откомпилированы заново. Проверяется, вносились ли изменения в интерфейсы модулей, если да, то будут перекомпилированы все файлы, использующие этот модуль. Если изменения вносились только в секцию реализации какого-либо модуля, то вызывающие этот модуль модули и основная программа перекомпилироваться не будут. При использовании меню Compile пункт Build будет перекомпилирована вся программа и все модули, независимо от даты внесения изменений. Если в пункте Primary file меню Compile не указано имя файла, то компилируется файл из текущего окна. Модули позволяют разбить большую задачу на части и этим избежать ограничений, накладываемых на размер программы Допустимый. размер программы в ТР 64 кБ. При использовании модулей объем используемой памяти может быть увеличен до 640 кБ.
СПИСОК ЛИТЕРАТУРЫ
1. А б р а м о в В. Г., Т р и ф о н о в Н. П., Т р и ф о н о в а Г. Н. Введение в язык Паскаль: Учеб. пособие. - М.: Наука. Гл. ред. физ.-мат. лит., 1988. – 320 с. 2. А б р а м о в С. А., Г н е з д и л о в а Г. А. и др. Задачи по программированию. - М.: Наука. Гл. ред. физ.-мат. лит., 1988. - 243 c. (Библиотека программиста). 3. А б р а м о в С. А., З и м а Е. В. Начала информатики. - М.: Наука. Гл. ред. физ.-мат. лит., 1989. - 256 c. (Библиотека программиста). 4. А н д е р с о н Р. Доказательство правильности программ / Пер. с англ. - М.: Мир, 1982. - 168 с. 5. В и р т Н. Алгоритмы + структуры данных = программы / Пер. с англ. - М.: Мир, 1985. - 406 с. (Математическое обеспечение ЭВМ). 6. В и р т Н. Систематическое программирование. Введение / Пер. с англ. - М.: Мир, 1977. 7. Д а л У., Д е й к с т р а Э., Х о о р К. Структурное программирование / Пер. с англ. - М.: Мир, 1985. - 247 c. (Математическое обеспечение ЭВМ). 8. Д ж о н с т о н Г. Учитесь программировать / Пер. с англ. - М.: Финансы и статистика, 1989. - 367 с. 9. Й о д а н Э. Структурное программирование и конструирование программ. – М.: Мир, 1989. – 416 с. 10. М а р ч е н к о А. И., М а р ч е н к о Л. А. Программирование в среде Турбо Паскаль 7.0. - М.: Бином Универсал, Киев: Юниор, 1997. -495 с 11. П и л ь щ и к о в В. Н. Сборник упражнений по языку Паскаль. - М.: Наука. Гл. ред. физ.-мат. лит., 1989. - 154 c. 12. П о л я к о в Д. Б., К р у г л о в И. Ю. Программирование в среде Турбо Паскаль. - М.: Изд-во МАИ, 1992. - 575 с. 13. Х ь ю з Дж., М и ч т о м. Дж. Структурный подход к программированию / Пер. с англ. – М.: Мир, 1980. – 278 c. 14. Ф а р о н о в В.В. Турбо Паскаль 7.0. Начальный курс. –М.: Нолидж, 1997. –612 с. 15. Ф о р с а й т Р. Паскаль для всех / Пер. с англ. – М.: Машиностроение, 1986. – 288 с.
|