Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чернов Шафеева.doc
Скачиваний:
47
Добавлен:
21.05.2015
Размер:
1.39 Mб
Скачать

2.13. Модули

Модуль  автономно компилируемая программная единица, включающая в себя различные компоненты раздела описаний и, возможно, некоторые ис­полняемые операторы инициирующей части. В модуле выделяется «видимая» интерфейсная часть с описанием глобальных типов, констант и перемен­ных, заголовков процедур и функций, доступная для других модулей ос­новной программы. Тела процедур и функций располагаются в исполняемой части модуля, которая может быть скрыта от пользователя.

Модули являются инструментом для разработки библиотек прикладных программ и средством модульного программирования. Структура модуля:

UNIT <ИмяМодуля>; {файл MODUL.PAS}

INTERFACE

<интерфейсная часть> {раздел описаний}

IMPLEMENTATION

<исполняемая часть> {описания подпрограмм}

BEGIN

<инициирующая часть> {фрагмент программы}

END. {признак конца модуля}

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

Модуль может содержать обращения к другим модулям (в интерфейсной или

исполняемой частях). Недопустимо обращение к самому себе.

Для связи основной программы с модулями используется предложение

USES <список имен модулей через запятую>,

например: USES MODUL, CRT, GRAPH; подключает три модуля.

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

Program Unit15;

Uses unitma,crt;

const a: mas = (1,2,3,4,5,6,7,8,9,10);

b: mas = (11,22,33,44,55,66,77,88,99,100);

c: mas =(123,234,435,456,567,678,890,899,990,999);

var aa, bb, cc: mass;

n, ch, i: integer;

Begin

clrscr;

writeln('Введите элемент, который надо вставить в массив A: ');

readln(ch);

Vstavel(a,ch,aa);

writeln(Введите элемент, который надо вставить в массив B: ');

readln(ch);

Vstavel(b,ch,bb);

writeln(Введите элемент, который надо вставить в массив C: ');

readln(ch);

Vstavel(c,ch,cc);

readkey;

end.

{****************************************************}

Unit Unitma;

Interface

type

mas = array[1..10] of integer;

mass = array[1..11] of integer;

Procedure Vstavel(x:mas; ch:integer; var xx:mass);

var a, b, c: mas;

aa, bb, cc: mass;

n, ch, i: integer;

implementation

Procedure Vstavel(x:mas; ch:integer; var xx:mass);

{Вставка элемента в новый массив}

var mm, mmm: integer;

Begin

n:=0;

for i:=1 to 10 do

begin

n:=n+1;

if (ch<x[i+1])and(ch>=x[i]) then

begin

xx[i+1]:=ch;

xx[n]:=x[i];

n:=n+1;

end

else xx[n]:=x[i];

writeln(x[i],xx[i]:4);

end;

writeln(' ',xx[11]:4);

End;

End.