В описании процедуры или функции задается список формальных параметров. Каждый формальный параметр, описанный в списке формальных параметров, является локальной переменной по отношению к описываемой процедуре или функции, и в разделе операторов его можно использовать как обычную переменную.
Фактический параметр представляет собой определённое значение или переменную, с помощью которой инициализируется соответствующий формальный параметр.
Параметры-значения
Формальный параметр-значение обрабатывается как локальная по отношению к процедуре или функции переменная, за исключением того, что он получает свое начальное значение из соответствующего фактического параметра при активизации процедуры или функции. Изменения, которые претерпевает формальный параметр-значение, не влияют на значение фактического параметра.
Синтаксис описания параметров-значений в списке формальных параметров подпрограммы:
Ид_парам1, Ид_парам2,...:тип_параметров;
Соответствующее фактическое значение параметра-значения должно быть выражением. Фактический параметр должен иметь тип, совместимый по присваиванию с типом формального параметра-значения.
Параметры-переменные
Соответствующий фактический параметр в операторе вызова процедуры или функции должен быть ссылкой на переменную. При вызове процедуры или функции формальный параметр-переменная замещается переменной, указанной в вызове. Любые изменения в значении формального параметра-переменной отражаются на переменной, переданной в качестве фактического параметра.
Синтаксис описания параметров-переменных в списке формальных параметров подпрограммы:
var Ид_парам11, Ид_парам12,...:тип_параметров;
Тип фактического параметра должен быть тождественным типу формального параметра-переменной.
Параметр-переменная используется, когда значение должно передаваться из процедуры или функции вызывающей программе.