Отладка программы в Delphi

         

Рекурсивная функция вычисления факториала



Листинг 12.1. Рекурсивная функция вычисления факториала

function factorial(n: integer): integer;

begin

if n <>
1

then factorials n * factorial(n-1)

// функция вызывает сама себя

else factorial := 1; // рекурсивный процесс закончен

end;

Обратите внимание, что функция вызывает сама себя только в том случае, если значение полученного параметра k не равно единице. Если значение параметра равно единице, то функция сама себя не вызывает, а возвращает значение, и рекурсивный процесс завершается.

На Рисунок 12.1 приведен вид диалогового окна программы, которая для вычисления факториала числа использует рекурсивную функцию factorial. Текст программы приведен в листинге 12.2.



Содержание раздела