Пример рекурсивного алгоритма
Алгоритм, который является своей собственной частью, называется рекурсивным. Часто в основе такого алгоритма лежит рекурсивное определение.
Программист разрабатывает программу, сводя исходную задачу к более простым. Среди этих задач может оказаться и первоначальная, но в упрощенной форме. Например, для вычисления F( N) может понадобиться вычислить F( N-1). Иными словами, частью алгоритма вычисления функции будет вычисление этой же функции.
Posledov (first);
Write ( введите первое значение ); readln (first);
If odd(i) then posledov(3*i+1) else posledov(i div 2);
If i=1 then exit;
Writeln (i);
Пример программы с использованием рекурсии
Применение рекурсии позволило решить задачу без использования циклов, как в основной программе, так и в процедуре.
Математически конечность последовательности независимо от начального i не доказана, но на практике последовательность останавливается всегда.
Построим последовательность чисел следующим образом: возьмем целое число i>1. Следующий член последовательности равен i/2, если i четное, и 3 i+1, если i нечетное. Если i=1, то последовательность останавливается.
Рассмотрим математическую головоломку из книги Ж. Арсака «Программирование игр и головоломок».
Для того чтобы такое обращение не было бесконечным, в тексте подпрограммы должно быть условие, по достижению которого дальнейшее обращение к подпрограмме не происходит.
Подпрограммы в Паскале могут обращаться сами к себе. Такое обращение называется рекурсией.
Рекурсия Pascal-Паскаль
Программирование. Рекурсия Pascal-Паскаль
Скачено бесплатно: 18584
Программирование. Рекурсия Pascal-Паскаль
Программирование. Рекурсия Pascal-Паскаль
Комментариев нет:
Отправить комментарий