Если поставить два зеркала одно напротив другого и между ними поместить предмет, то получим бесконечное количество изображений, каждое из которых содержит само себя. Эти изображения можно рассматривать как рекурсивный объект, то есть такой, который частично состоит из самого себя или определяется с помощью самого себя.
Рекурсивные объекты отличаются простотой построения, несходством конечного результата с начальными данными, внутренним самоподобием.
У попа была собака, он ее любил. Она съела кусок мяса, он ее убил. В ямку закопал, надпись написал: У попа была собака, он ее любил. Она съела кусок мяса, он ее убил. В ямку закопал, надпись написал:
кривая Гильберта Рекурсивные фигуры
Дерево Пифагора из N уровней – это ствол и отходящие от него симметрично два дерева Пифагора из N-1 уровней, такие что длина их стволов в 2 раза меньше и угол между ними равен 90 o. 6 уровней
…+(2n-l) … 1+1/2+1/4+1/8+…+1/2 n += … 1+1/2+1/4+1/6+1/8+1/ /2n /1!+1/2!+1/3!+ 1/4!+...+1/n!+…=е Задание: определите закономерности в данных числовых последовательностях из n элементов:
(англ. John Napier; ) шотландский барон, математик, один из изобретателей логарифмов, первый публикатор логарифмических таблиц. Число Непера является составляющей закона существования случайных процессов физической и биологической природы. Например, закона нормального распределения скорости газовых молекул, закона охлаждения тел, в формулах радиоактивного распада, возраста Земли, роста клеток и др.
С учётом определения факториала числа N ряд чисел, дающих в сумме число Непера можно записать в виде: 1+1/1+1/(12)+1/(123)+...+1/( (n-l)+... Задание: Предложите, каким образом каждый элемент этого ряда можно выразить через предыдущий.
На Западе эта последовательность была исследована Леонардо Пизанским, известным как Фибоначчи, в его труде «Liber Abaci» (1202 г.). Числа Фибоначчи элементы числовой последовательности, в которой каждое последующее число равно сумме двух предыдущих чисел. Последовательность Фибоначчи была хорошо известна в древней Индии, где она применялась в метрических науках (просодии, другими словами стихосложении), намного раньше, чем она стала известна в Европе.
В «нулевом» месяце имеется пара кроликов (1 новая пара). В первом месяце первая пара производит на свет другую пару (1 новая пара). Во втором месяце обе пары кроликов порождают другие пары и первая пара погибает (2 новые пары). В третьем месяце вторая пара и две новые пары порождают в общем три новые пары, а старая вторая пара погибает (3 новые пары). Фибоначчи рассматривал развитие идеализированной (биологически нереальной) популяции кроликов, предполагая что:
Закономерным является тот факт, что каждая пара кроликов порождает ещё две пары на протяжении жизни, а затем погибает. Пусть популяция за месяц n будет равна F(n). В это время только те кролики, которые жили в месяце n-2, являются способными к размножению и производят потомков, тогда F(n-2) пар прибавится к текущей популяции F(n-1). Таким образом общее количество пар будет равно F(n) = F(n-1) + F(n-2 ).
Числа Фибоначчи возникают в самых разных математических ситуациях: комбинаторных, числовых, геометрических. Учёные стремятся отыскивать числовые закономерности даже в живой природе и давно заметили, что числа Фибоначчи встречаются в спиральных формах, которые наблюдаются в мире растений. Например, в расположении листьев и ветвей вокруг ствола дерева. Число витков спирали, которые необходимо сделать, чтобы перейти от нижнего листа к ближайшему верхнему равно одному из чисел Фибоначчи. Это явление в ботанике называется филлотаксис.
Легенда гласит, что в Великом храме города Бенарас, под собором, отмечающим середину мира, находится бронзовый диск, на котором укреплены 3 алмазных стержня, высотой в один локоть и толщиной с пчелу. Давным-давно, в самом начале времён, монахи этого монастыря провинились перед богом Брахмой. Разгневанный, Брахма воздвиг три высоких стержня и на один из них возложил 64 диска. Брахма поместил на один из стержней 64 диска из чистого золота, причем так, что каждый меньший диск лежит на большем.
Как только все 64 диска будут переложены со стержня, на который Брахма сложил их при создании мира, на другой стержень, башня вместе с храмом обратятся в пыль и под громовые раскаты погибнет мир.
Количество перекладываний в зависимости от количества колец вычисляется по формуле 2 n 1. Число перемещений дисков, которые должны совершить монахи, равно Если бы монахи, работая день и ночь, делали каждую секунду одно перемещение диска, их работа продолжалась бы 580 миллиардов лет.
Рекурсия – это способ описания функций или процедур с использованием самих себя.
Наиболее распространённый пример рекурсии – определение факториала. На основе этого определения можно записать программу вычисления факториала, которая использует рекурсивную функцию. если
Презентацию подготовила учитель информатики Кременчугской общеобразовательной школы І-ІІІ ступеней 17 «Выбор» им. Н.Г. Неленя Симакова Елена Юрьевна
число (формальный параметр) Program Factorial; Uses crt; Var n,y:integer; function F(x:integer):integer; begin if x=1 then F:=1 else F:=x*F(x-1); End; Begin Write(Введите натуральное число не >14, n=); Readln(n); y:=F(n); Writeln(n,!=,y); Readkey; End. число (фактический параметр)
Особенности: когда остановиться? деревья имеют различный наклон когда число оставшихся уровней станет равно нулю! (x 1, y 1 ) (x 0, y 0 ) α α+45 o α-45 o L x 1 = x 0 + L · cos(α) y 1 = y 0 – L·sin(α) наклон «дочерних» деревьев α + π/4 α – π/4 Процедура
угол α длина ствола procedure Pifagor(x0, y0, a, L: real; N: integer); const k = 0.5; { изменение длины } var x1, y1: real; { локальные переменные } begin if N > 0 then begin x1 := x0 + L*cos(a); y1 := y0 - L*sin(a); Line (round(x0), round(y0), round(x1), round(y1)); Pifagor (x1, y1, a+pi/4, L*k, N-1); Pifagor (x1, y1, a-pi/4, L*k, N-1); end; рекурсивные вызовы закончить, если N=0 Рекурсивной называется процедура, вызывающая сама себя. Рекурсивной называется процедура, вызывающая сама себя.
program qq; procedure Pifagor(x0, y0, a, L: real; N: integer);... end; begin Pifagor (250, 400, pi/2, 150, 8); end; угол α длина ствола число уровней x0x0 x0x0 y0y0 y0y0 Как наклонить дерево вправо на 30 o ? ? ? Pifagor (250, 400, 2*pi/3, 150, 8);
Факториал - это произведение натуральных чисел от 1 до того числа, которое стоит под знаком факториала. От factor - сомножитель. если
N-ое число function Fib(n:integer):integer; begin if k < 3 then Fib:=1 else Fib:=Fib(n-1)+ Fib(n-2); End;
Program Bashni; Uses crt; Var k:integer; function Hanoy(n:integer; one,two,three:char); begin if n>0 then begin Hanoy(n-1,one,three,two); Writeln(перемесить диск,n,со стержня,one,на стержень,two); Hanoy(n-1,two,one,three); End; Begin Write(Введите количество дисков); Readln(k); Hanoy(k,A,B,C); Readkey; End.