Процедуры в языке Турбо Паскаль

1. Описание процедуры:

Procedure <имя> (<список параметров>); { заголовок процедуры }

<блок описаний>

Begin { начало исполняемой части процедуры}

<тело процедуры (исполняемая часть)>

End; { конец процедуры }

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

I. Заголовок: начинается с зарезервированного слова Procedure (а не Program), кроме того содержит список параметров. Параметры – это «средство связи» процедуры с программой и с другими процедурами, механизм обмена данными. Параметры процедуры бывают двух видов:

- параметры-значения, или входные параметры – это исходные (входные) данные, передаваемые в процедуру. Их значения после окончания работы процедуры остаются неизменившимися. Описание параметров-значений: <имя>: <тип>.

- параметры-переменные, или выходные параметры – это результаты работы процедуры, передаваемые обратно в программу или другую процедуру. Их значения после окончания работы процедуры изменяются. Описание параметров-переменных: Var <имя>: <тип>.

Например, процедура может иметь такой заголовок:

Procedure Calculate (x, y: integer; var z: integer; var f: real);

Имя этой процедуры Calculate. Она имеет 4 параметра: два входных (или параметра значения) – это параметры x и y целого типа; два выходных (или параметра-переменных) – z целого типа и f вещественного типа. Так как типы у них различны, перед описанием каждого указано зарезервированное слово Var.

Параметры, указанные при описании процедуры (т.е. в ее заголовке) называются формальными, т.к. процедура – это по сути формальное правило получения некоторых результатов из некоторых исходных данных. Конкретным смыслом формальные параметры наполняются при вызове процедуры (см. ниже).

Можно использовать процедуры и без параметров.

II. Блок описаний может содержать те же разделы, что и блок описаний программы (Const, Type, Var, Procedure, Function), за исключением описания подключения модулей библиотек Uses (модули подключаются только в блоке описаний в основной программе!).

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

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

III. Тело процедуры также представляет собой составной оператор, но заканчивается End; (ставится точка с запятой, а не точка, как в конце программы).

2. Вызов процедуры:

может осуществляться из основной программы или процедуры, описанной после вызываемой. При вызове указывается имя процедуры и список фактических параметров, т.е. тех, которые будут «подставлены» на место формальных. Количество, порядок и типы фактических параметров должны совпадать с количеством, порядком и типами формальных параметров. Например, процедуру Calculate, заголовок которой был описан выше, можно вызвать следующим образом:

Calculate(a, b, c, d); -при условии, что a, b, c имеют тип Integer, d – Real.

Calculate(23, р+14, q, w); - если p и q имеют тип Integer, а w – Real.

(Исходя из всего вышесказанного следует, что команды языка (например, Write, Readln) – это тоже процедуры, которые описаны в некоторых библиотеках и которые мы вызываем при написании наших программ.)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: