Это наиболее распространенный и самый простой способ передачи параметров, который имеет следующий вид:
<имя1>, <имя2>, …, <имяn>:<имя типа>
Здесь параметр считается локальной переменной в пределах подпрограммы, по нему передается значение данных, то есть он является входным. Изменение этого значения не приводит к изменениям в вызывающем модуле, поэтому здесь фактическим параметром является выражение и как частный случай – константа или переменная. Имя типа должно быть простым или описанным в разделе TYPE во внешнем модуле, поэтому следующая запись неверна:
Function Z(A:array[1..20] of real):real;
Пример: функция вычисления суммы квадратов.
Function SumSqr(x,y:real):real;
Begin
SumSqr:=x*x+y*y
End;
Параметры – переменные
Параметры, иначе называемые передаваемыми по ссылке, имеют следующий вид.
Var <имя1>, <имя2>, …, <имяn>:<имя типа>;
По этому параметру передается адрес данных, то есть он является как входным, так и выходным. Изменение этого значения вызывает изменение фактического параметра, поэтому фактическим параметром может быть только переменная.
Так как при использовании функций выходным значением является значение самой функции, то этот тип параметров наиболее часто используется в процедурах.