6.9. Процедуры и функции

We use cookies. Read the Privacy and Cookie Policy

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

Определить простейшую процедуру довольно просто: практически любой составной оператор, вынесенный из основного блока программы и объявленный предложением

PROCEDURE ИмяПроцедуры;

становится процедурой, и вместо этого составного оператора в основном блоке может подставляться одно лишь ИмяПроцедуры.

Согласно более общему определению процедура может иметь параметры, метки перехода внутри себя и свои, локальные, переменные (рис. 6.5). Обязательными элементами процедур и функций тоже является заголовок и тело, т.е. тот же составной оператор.

Синтаксис вызова процедуры прост. Ее выполнение активизируется указанием ее имени и списком переменных или значений, подставляемых на место параметров:

ИмяПроцедуры(Параметр1, Параметр2,);

- 107 -

PROCEDURE ИмяПроцедуры (ПарамЗнач1 : ТипЗнач1;

ПарамЗнач2 : ТипЗнач2;

VAR ПарамПерем1 : ТипПерем1;

VAR ПарамПерем2 : ТипПерем2; ... );

LABEL

Перечисление меток внутри тела процедуры

CONST

Описание локальных констант процедуры

TYPE

Описание локальных типов

VAR

Описание локальных переменных

Описание вложенных процедур и (или) функций

BEGIN

Тело процедуры

END;

Рис. 6.5

Общая структура функций совпадает с процедурами, за исключением заголовка. Он записывается как

FUNCTION ИмяФункции( Список параметров ) :

ИмяСкалярногоТипаЗначенияФункций;

Что и как может возвращать функция при ее вызове, мы рассмотрим чуть позже.

Нетрудно заметить, что структура подпрограмм копирует структуру программы в целом (не считая заголовка и завершающей точки с запятой вместо точки после END). Порядок следования разделов описаний подчиняется тем же правилам, по которым строится вся программа.