Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание собственных модулей






 

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 с.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.