Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Касторнов_Язык программирования Паскаль.DOC
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.23 Mб
Скачать

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

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

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

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

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

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

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

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

………………………

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

…………………..

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

………………………

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

…………………..

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

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

end.

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

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

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

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

Для подключения модуля к программе необходимо указать его имя в разделе описания модулей (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 и используются процедура и функция, описанные в данном модуле.

VI. Массивы. Данные типа array

Скалярный тип - простой тип данных. Скалярное данное неделимо. Массивы - это структурированные типы данных. Массив состоит из нескольких элементов. Ко всему массиву можно обращаться по его имени. Можно обращаться к его элементу, но для этого надо задать индекс (индексы). Массивы бывают одномерные и многомерные. Для объявления массива необходимо задать типы его индексов и компонент.