Процедурные типы – гибкое средство для передачи функций и процедур
в качестве фактических параметров обращения к другим процедурам и
функциям.
Type p1=procedure(a, b, c: real; var d: real);
F= function: string;
Любые процедуры или функции, передаваемые в качестве фактических
параметров объявляется директивой far.
Стандартные процедуры или функции ТП могут передаваться
рассмотренным образом. В программе могут быть объявлены
переменные процедурных типов.
Var p1:proc1;
F: func2;
Ap: array [1..n] of proc1;
Переменные процедурных типов допускается присваивать в качестве
значений имена соответствующих подпрограмм=> переменные становятся
синонимом имени подпрограммы.