Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
20
Добавлен:
13.03.2016
Размер:
53.25 Кб
Скачать

Продолжение примера

IMPLEMENTATION

 

Function UngleRad;

Function Scpr;

 

Var x:Real;

Var I:Integer; S:Real;

 

Begin

Begin

 

x:=Scpr(a,b,N)/Lngth(a,N)/

S:=0;

 

Lngth(B,N);

For i:=1 To N Do

 

If x=0 then UngleRad:=pi/2

S:=S+a[i]*b[i];

 

Else

Scpr:=S;

 

UngleRad:=ArcTan(Sqrt(1-

End;

 

x*x)/x);

Function Lngth;

 

End;

Begin

 

Function UngleGr;

Lngth:=Sqrt(Scpr(a,a,N));

 

Begin

End;

 

UngleGr:=UngleRad(a,b,3)/pi*180;

 

 

End;

 

 

 

 

Продолжение примера

Procedure Sum; Var i:Integer; Begin

For i:=1 to N Do c[i]:=a[i]+b[i]

End;

Procedure Inp; Var I:Integer; Begin

For i:=1 To N Do Read(a[i]);

Readln

End;

End.

Использование модулей

Если программа использует модули, то в ее начале, перед всеми разделами

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

Program ppp;

Uses crt,graph; {программа ppp использует модули crt и graph}

Использование модулей

Если модуль использует другие модули, то предложение USES может стоять либо после слова INTERFACE, либо после слова IMPLEMENTATION. Модули, подключенные в интерфейсной части, доступны в любой точке рассматриваемого модуля; модули, подключенные в исполняемой части, доступны в любом месте модуля, за исключением интерфейсной части. Примеры использования модулем других модулей будут рассмотрены позже.

Пример: программа, использующая модуль VECTOR

Program Primunit;

{Даны два вектора а и b в трехмерном пространстве;} {вычисляется длина вектора с (с=а+b) и угол между вектором с и плоскостью XOY}

Uses VECTOR; {используется модуль VECTOR}

Var a,b,c,cpr:Ar;{тип ar объявлен в модуле}

Begin

Writeln(' Введите координаты исходных векторов'); Inp(a,3);Inp(b,3); {ввод а и в}

Sum(a,b,c,3); {c=a+b}

Writeln(' Длина вектора-суммы:', Lngth(c,3):10:3); cpr[1]:=c[1]; cpr[2]:=c[2]; cpr[3]:=0;

{cpr - проекция с на плоскость XOY} If Lngth(cpr,3)< 1.0e-6 then

Writeln('вектор c ортогонален плоскости XOY') Else

Продолжение примера

Begin

Write(' Угол между вектором с и плоскостью XOY:', UngleGr(c,cpr,3):6:1);

Writeln(' градусов'); End;

Readln;

End.

Подключение модулей в Турбо Паскале

Чтобы файлы с расширением .TPU были доступны среде Turbo (Borland) Pascal, их следует поместить в текущий каталог или

указать их содержащий каталог в диалоговом окне опции OPTIONS/DIRECTORIES/UNIT DIRECTORIES.

Подключение модулей в Delphi

Uses имя_модуля in имя директории

Добавление модуля в проект в Испекторе проектов.

Модули как средство программирования

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

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

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

В модуле могут присутствовать инициирующая и завершающая части, обеспечивающие грамотное использование модуля.