Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
выш.мат. методичка.DOC
Скачиваний:
32
Добавлен:
13.02.2015
Размер:
1.71 Mб
Скачать

13.5. Использование модуля в основной программе

Чтобы использовать подпрограммы, константы, типы, переменные, описанные в интерфейсе модуля, в основной программе следует записать слово uses, после которого указать имя (имена) модуля (модулей). После этого в основной программе можно использовать идентификаторы, указанные в интерфейсах пере­численных модулей.

Пример. Программа, меняющая в массиве максимальное и минимальное числа.

program EXAMPLE26; {заголовок программы}

uses Unit1, Unit2; {используемые модули}

var i: Integer;

begin

Change(Arr); {процедура замены Unit1, массив Arr – в Unit2}

for 1 := 1 to N do

WriteLn(Arr[i])

end.

{модули, расположенные в других файлах}

unitUnit1; {модуль с основной подпрограммой}

interface{интерфейс первого модуля}

usesUnit2; { использование модуля с параметрами}

procedure Change(var Am Mass); {заголовок процедуры}

implementation {исполнительная часть}

uses Unit3; {использование модуля с вспомогательной подпрограммой}

procedure Change; {сокращенный,заголовок}

var Max, Min, i: Integer;

begin

Max:=l;

Min:=1;

for i := 1 to N do

begin

if Arr[i] > Arr[Max] then Max:= i;

if Arr[il <Arr[Min] then Min := i

end;

Swap(Arr[Max],Arr[Min]) {замена местами макс, и мин. чисел, процедура в Unit3}

end

end. {конец UNIТ1}

unit Unit2; {модуль с параметрами}

interface {интерфейс второго модуля}

constN=5; {число элементов}

type Mass = array[l..N] of Real; {тип массива}

constArr:Mass= (0.5, -2.0, 1.0, 3.5, 7.0); {типизированная константа}

implementation {исполнительная часть}

end. {конец UNIТ2}

unitUnit3; {модуль с вспомогательной подпрограммой}

interface {интерфейс третьего модуля}

procedure Swap(var X, Y: Real);

implementation {исполнительная часть}

procedureSwap(varX,Y:Real); {перемещение двух чисел}

var Z: Real;

begin

Z := X; X := Y; Y := Z

end. {конец UNIТ3}

13.6. Использование идентификаторов элементов модуля

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

Пример.

program ЕХАМРLE;

uses Unit1;

vаr Result, X: Reа1;

begin

Read(Х); {чтение переменной программы}

Read(Unit1,X:real); {чтение переменной модуля}

Result:= X {переменная программы}

+Unit1.Х {переменная модуля}

еnd.

Unut Unit1;

interface

var X:Real; {переменная модуля)

implementation

еnd.

14 Стандартные модули

Как указывалось выше, модули можно использовать для создания библиотек стандартных подпрограмм и данных. В Тurbo Раscаl в настоящее время имеется большое количество стандартных подпрограмм и данных, объеди­ненных в несколько стандартных модулей. Они позволяют упростить процедуру написания программ, более полно использовать возможности компьютеров типа IВМ РС, возможности операционной системы МS DOS. В библиотеке имеются следующие стандартные модули:

System - - основная библиотека;

Strings - работа с АSCIIZ-строками;

Crt - работа с консолью;

Graph - графическая библиотека;

Dos - использование, возможностей ДОС;

WinDos - использование возможностей ДОС с использованием АSСIIZ-строк

Оverlaу - организация оверлейных сруктур;

Рrinter -работа с принтером;

Turbo3 - связь с программами Тurbo Раsсаl 3.0;

Graph3 - связь с графикой Тurbo Раscal 3.0.

Модули Strings, Graph, WinDos, Тurbo3 и Graph3 находятся соответственно в файлах Strings.TPU. GRAPH.TPU, WINDOS.TPU, TURBO3.TPU и GRAPH.ТРU, остальные – в файле ТURBO.ТРL.

Так как необходимость обеспечить совместимость с программами, написанны­ми в терминах среды Тurbo Раscаl 3.0, возникает. все реже и реже, модули Тurbo3 и Graph3 рассматриваться не будут.

При описании каждого модуля вначале приводятся сводные данные об элемен­тах модуля (константы. переменные, типы, подпрограммы),.а затем краткие ха­рактеристики подпрограмм. Учитывая, что в среде Тurbo Раscаl 7.0 имеется хо­рошо развитая система помощи, включая и многочисленные примеры, которые можно непосредственно использовать в создаваемой программе, при описании ; каждой стандартной подпрограммы будут приведены лишь ее название и назначение.