Рекурсия
В программировании можно описать функцию, как подпрограмму с параметром, и вызывать ее при необходимости. Если же функция в процессе выполнения вызывает сама себя, то такой прием называется рекурсией.
Прекрасной демонстрацией применения рекурсивных методов является программа расчета чисел Фибоначчи, названных в честь знаменитого математика средневековья, Леонардо из Пизы (1180-1240).
При исследовании закономерностей численного роста кроликов он получил числовую последовательность, названную в последствии числами Фибоначчи (последовательность Фибоначчи): 1,1,2,3,5,8,13,21,34,55,89,144…
Образование чисел подчиняется следующей закономерности:
,
при всех .
Определите отношение каждого члена последовательности к предыдущему, начиная со второго. К какому числу стремится это отношение?
Определите отношение каждого члена последовательности к последующему. К какому числу стремится это отношение и как оно связано с ранее полученным отношением?
program Fibonachi; {Программа расчета чисел Фибоначчи}
uses crt;
VAR i : INTEGER ;
FUNCTION FIB (j:INTEGER): LONGINT ;
begin
IF (j=1) OR (j=2) THEN Fib:=1
ELSE
FIB:=FIB(j-1)+FIB(j-2)
end;
BEGIN
CLRSCR ;
FOR i:=1 TO 20 DO BEGIN
WRITELN(i,' ',FIB(i),' ',i+20,' ',FIB(i+20)) ;
END;
ReadLN ;
END.
Составьте программу вычисления факториала некоторого числа, применяя циклические вычисления и рекурсивный вызов функции.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.