Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2010, 20:58   #1
KOPC1886
Пользователь
 
Регистрация: 28.10.2010
Сообщений: 26
Плохо Рекурсия.

Кто может объяснить рекурсию? Можно на примере ханойской башне.Заранее спасибо.
KOPC1886 вне форума Ответить с цитированием
Старый 09.12.2010, 21:37   #2
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Цитата:
Сообщение от KOPC1886 Посмотреть сообщение
Кто может объяснить рекурсию? Можно на примере ханойской башне.Заранее спасибо.
Рекурсия, в Паскале например, реализуется через самовызов подпрограмм
Расмотрим пример вычисления факториала.

Тогда в качестве рекурсивной подпрограммы можно написать следующую функцию:
Код:
function f(n:integer):longint;
begin
  if (n=0) or (n=1) then f:=1 else f:=n*f(n-1); 
end;
рассмотрим случай когда n=3
в начале идет так называемый прямой ход:
1. вызываем f(3) тогда получаем что f(3)=3*f(2) происходит вызов функции f(2)
2. f(2)=2*f(1)
3. f(1)=1
нет очередного вызова функции, начинается обратный ход
f(1) поставляется в выражение для вычисления f(2), потом f(2) подставляется в выражение для f(3)
получаем тем самым результат
f(3)=3*2*1=6
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рекурсия 2008kedr2008 Общие вопросы C/C++ 1 04.12.2010 12:22
Рекурсия Alexsey1991 Помощь студентам 1 12.05.2010 10:24
Рекурсия))) NewMen Паскаль, Turbo Pascal, PascalABC.NET 2 02.05.2010 14:24
Рекурсия на С++ Nitriyc Помощь студентам 0 29.04.2010 07:29
Рекурсия на С++ Nitriyc Помощь студентам 0 28.04.2010 17:22