Записывается NIL и означает, что переменная типа указатель не указывает ни на что. Возвращаясь к процедурным типам, скажем, что значение NIL можно присваивать и переменным такого типа (так как, по сути, они являются указателями и содержат адреса соответствующих процедур и функций). В данном случае это будет означать, что переменная не указывает ни на какую процедуру или функцию. Чтобы определить адрес процедуры или функции, на которую указывает переменная процедурного типа (например, для сравнения с NIL), нужно использовать оператор взятия адреса @.
  Пример (продолжение примера из параграфа 5.3)
 PROCEDURE Test(f,G:Func); { G – первообразная f }
 BEGIN
 Writeln('Приближенное значение интеграла: ',
 Integr(f,1,5,1000));
 IF @G<>NIL THEN
 Writeln('Точное значение интеграла: ',
 G(5)-G(1));
 END;
 
 FUNCTION G1(x:Real):Real;
 BEGIN G1:=Sqr(x)/4-Cos(x) END;
 { Первообразная функции  }
}
 
 FUNCTION f2(x:Real):Real;
 BEGIN f2:=Sin(x)/x END;
 { Интеграл  – не берущийся }
– не берущийся }
 ∙ ∙ ∙
 Test(f1,G1); { Напечатаются приближенное
 и точное значения }
 Test(f2,NIL); { Напечатается только
 приближенное значение }