Формальные и фактические параметры

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

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

Список формальных параметров может отсутствовать. В том случае, если он есть, то в нём должны быть перечислены имена формальных параметров и их типы.

Формальные параметры могут включать в себя:

1. Параметры-значения;

2. Параметры-переменные;

3. Параметры-константы;

4. Параметры-массивы и параметры-строки;

5. Нетипизированные параметры-переменные;

6. Процедурные типы:

a. Параметры-функции;

b. Параметры-процедуры.

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

Рассмотрим несколько формальных параметров.

Параметры-значения

Формат:

(q1, q2,.., qn: <тип>); или

(q1: <тип>; q2: <тип>;.. qn: <тип>);

где q1, q2,.., qn – имена параметров.

Например, (q1, q2: real); (q1: integer; q2: real);

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

Для выделения выходных переменных перед ними ставится слово Var.

Формат:

(var t1, t2,.., tn: <тип>); или

(var t1: <тип>; var t2: <тип>;.. var tn: <тип>);

где t1, t2, tn – параметры-переменные.

Например, (var t1: real; var t2, t3: integer);


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



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