Находит n!. В cv возвращается количество потребовавшихся рекурсивных вызовов.
function fact(n :integer; var cv :integer) :longint;
Находит n!!. В cv возвращается количество потребовавшихся рекурсивных вызовов.
function fact2(n :integer; var cv :integer) :longint;
Возвращает количество сочетаний из n по k. В cv возвращается количество потребовавшихся рекурсивных вызовов.
function Combination(n, k :integer; var cv :integer) :integer;
Возвращает наибольший общий делитель n и m. В cv возвращается количество потребовавшихся рекурсивных вызовов.
function Nod(n, m, i :integer; var cv :integer): integer;
Формирует последовательность чисел Фибоначчи, не превосходящую n. В a и b задаются предыдущие два числа последовательности (при рекурсивном вызове). Но, при вызове функции из основной программы, нужно указывать в качестве a и b : 0 и 1). В cv возвращается количество потребовавшихся рекурсивных вызовов.
procedure fib(a, b, n :integer; var cv :integer; var Msg :string);
Проверяет, простое ли число n. В i задается очередное число, для которого нужно проверить, делит ли оно без остатка n. При первом вызове i=2 (так как любое натуральное n делится на 1). В cv возвращается количество потребовавшихся рекурсивных вызовов.
function Prostoe(n, i :integer; var cv :integer): boolean;
Возвращает сумму цифр числа. cv возвращается количество потребовавшихся рекурсивных вызовов. В cv возвращается количество потребовавшихся рекурсивных вызовов.
function SummaCifr(n :longint; var cv :integer): longint;
Проверяет, является ли s палиндромом. В cv возвращается количество потребовавшихся рекурсивных вызовов.
function Palindrom(s :string; i, j :integer; var cv :integer) :boolean;
Находит список всех делителей числа n и возвращает их в виде списка строк Msg. При рекурсивных вызовах, в i подставляется очередной «предполагаемый делитель». При первоначальном вызове из основной программы, нужно положить i=1. В cv возвращается количество потребовавшихся рекурсивных вызовов.
procedure VseDeliteli(n, i :integer; var cv :integer; var Msg :string);
Считывает данные для алгоритма с номером p из файла. Возвращает true, если данные успешно считаны, и false в противном случае.
function GetDataFromFile(p :integer) :boolean;
Считывает данные для алгоритма с номером p с клавиатуры.
procedure GetDataFromConsole(p :integer);
Вызов алгоритма с номером p и формирование результатов.
procedure Operate(p :integer);
Сохранение результатов выполнения алгоритма в указанный пользователем файл.
procedure SaveToFile;
Возвращает результат преобразования числа i в строку
function IntToStr(i: longint): string;
Добавляет строчку line в список строк s (каждая строка в этом списке заканчивается признаками конца строки (Chr(10)) и перевода на новую строчку (Chr(13)))