русс | укр

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

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

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

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


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

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


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


 

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



<== предыдущая лекция | следующая лекция ==>
Основные модули TP | 


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


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

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

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


 


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

 
 

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

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