В заголовке процедуры или функции может содержаться список параметров, которые представляют собой идентификаторы переменных и служат для обмена значениями между подпрограммой и вызывающей её программной единицей. При этом в описании подпрограммы, поскольку оно включается в тексте программы один раз, имена параметров выбираются определённым образом и безотносительно к именам переменных, используемых в других частях программы. Такие параметры, имена которых указаны в заголовке подпрограммы, называются формальными.
С другой стороны, при каждом новом обращении к подпрограмме в неё могут передаваться значения разных переменных. Такие переменные, имена которых подставляются в операторы вызова подпрограммы при фактическом обращении к ней, называются фактическими параметрами.
Список формальных параметров может отсутствовать. В том случае, если он есть, то в нём должны быть перечислены имена формальных параметров и их типы.
Формальные параметры могут включать в себя:
|
|
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);