Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Имя файла, в котором хранится модуль, должно совпадать с именем модуля




End.

Модульное программирование

Прогрессивным подходом в программировании считается использование модулей и блоков. Модуль – это подключаемая к программе библиотека ресурсов. Он может содержать описания типов, констант, переменных и подпрограмм. В модуль обычно объединяют связанные между собой ресурсы.

Модули применяются для разбиения сложной программы на составные части (возрастает скорость ее компиляции) или в качестве библиотеки подпрограмм.

Модули можно разделить на встроенные, которые входят в состав системы программирования, и пользовательские, то есть создаваемые программистом.

Чтобы использовать модуль, достаточно знать только его интерфейс: детали его реализации скрыты от пользователя. Для подключения модуля к программе необходимо предварительно его скомпилировать. Результат компиляции хранится на диске в отдельном файле с расширением .tpu.

Структура модуля. Исходный текст каждого модуля хранится в отдельном файле с расширением. pas. Модуль состоит из секций.

 

unit <Имя модуля>; {заголовок модуля}

interface {интерфейсная секция модуля}

………………………

{описание глобальных элементов модуля (видимых извне)}

…………………..

implementation {секция реализации модуля}

………………………

{описание локальных (внутренних) элементов модуля}

…………………..

 

begin {секция инициализации}

{может отсутствовать}

В интерфейсной секции модуля определяют константы, типы данных, переменные, а также заголовки процедур и функций.

В секции реализации описываются подпрограммы, заголовки которых приведены в интерфейсной части. Заголовок подпрограммы должен быть идентичен указанному в секции интерфейса.

Секция инициализации предназначена для присваивания начальных значений переменным, используемым в модуле. Операторы, расположенные в данной секции, выполняются перед операторами основной программы.

Для подключения модуля к программе необходимо указать его имя в разделе описания модулей (USES).

Пример. Составить модуль для нахождения факториала числа и вычисления степени.

 

unit Matematika;

 

interface

procedure Factorial(m:integer;var F: integer);

function POWER(FACTOR:real; EXPONENT:integer): REAL;

 

implementation

procedure Factorial(m:integer;var F: integer);

var i:integer;

begin

F:=1; for i:=1 to m do F:=F*i;

end;

 

function POWER(FACTOR:real; EXPONENT:integer): REAL;

begin

if EXPONENT < 0

then POWER:=1/POWER(FACTOR,abs(EXPONENT))

else if EXPONENT > 0

then POWER:= FACTOR*POWER(FACTOR,EXPONENT-1)

else POWER:=1

end;

end.

program Primer;

uses Matematika;

 

var k, n: integer; S:real

begin

Factorial(5,k); Factorial(10,n);

S:=n+k+ POWER (2,-5)+ POWER (6.23, 3)

Writeln(‘ S = ’, S:7:3);

readln

end.

 

В данной программе подключается модуль Matematika и используются процедура и функция, описанные в данном модуле.





Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 1131; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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