На этом шаге мы перечислим отличия процедур и функций.
Структура описания процедур и функций приведена в 16 шаге. Напомним формат заголовков процедур и функций:
procedure <Имя> (<Список Формальных Параметров>) ; function <Имя> (<Список Формальных Параметров>) : <Тип результата>;
Объявление и работа с процедурами и функциями отличаются в следующем:
Помимо указанных отличий между процедурами и функциями отметим еще особенности реализации функций в языке Object Pascal.
Для возврата результата функцией введена специальная переменная Result, которая представляет собой неявно объявляемую локальную переменную, имеющую такой же тип, как и возвращаемое функцией значение. Присваивание значения переменной Result эквивалентно присваиванию имени функции. Однако, в отличие от идентификатора функции, если Result встречается в правой части оператора присваивания, то происходит не рекурсивный вызов функции, а обращение к текущему значению Result.
На следующем шаге мы рассмотрим виды параметров и способы их передачи.