Обращение к процедурам и функциям

 Синтаксис

Вызов процедур (в исполнительной части в качестве оператора):

<Имя процедуры>[(<Список фактических параметров>)]

 

Вызов функций (используются в выражениях):

<Имя функции>[(<Список фактических параметров>)]

 

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

 Пример

PrintNumber(10);

Writeln(Mul(4,7));

PrintNumber(Mul(2,3)+8);

 

 

Лекция 5

Процедуры и функции. Процедурные типы. Тип указатель

5.1. Модификаторы VAR и CONST в описании формальных параметров

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

 Пример

PROCEDURE VectorSum(x1,y1,x2,y2:Real;VAR x,y:Real);

BEGIN

x:=x1+x2;

y:=y1+y2;

END;

VAR x,y:Real;

∙ ∙ ∙

VectorSum(3,7,5,10,x,y);

 

 Результат выполнения

x=8, y=17

 

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

Модификатор CONST применяется в основном для переменных составных типов в случае, когда значение параметра внутри процедуры или функции изменять не требуется. В этом случае не создается временная копия значений параметров, а, как и при использовании модификатора VAR, переменные передаются по ссылке, что сокращает время на создание копии больших составных переменных. Передавать значения по ссылке допускается, так как можно быть уверенным, что, как и при обычной передаче параметров, значение переменных не изменится. Если попытаться изменить значение параметра, описанного с модификатором CONST, будет выдано сообщение об ошибке.

 








Дата добавления: 2017-10-09; просмотров: 570;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.