Рекурсия в ПРОЛОГе Понятие рекурсии Примеры рекурсивных объектов Рекурсивные правила в ПРОЛОГе Примеры рекурсивных правил Вычисление факториала Последовательность.

Презентация:



Advertisements
Похожие презентации
Рекурсия (RECURCIО возвращение). Цели урока Продолжим изучение подпрограмм. Узнаем, что такое рекурсия, как выполняется рекурсивный алгоритм.
Advertisements

Перестановки и факториалы Фамилии авторов Яковлева О.Е Егорова Е.Н
РЕКУРСИЯ РЕКУРРЕНТНЫЕ СООТНОШЕНИЯ У попа была собака - он ее любил. Она съела кусок мяса - он ее убил. Вырыл ямку - закопал, Взял дощечку – написал: У.
Рекурсия (RECURCIО возвращение). Цели урока Продолжим изучение подпрограмм. Узнаем, что такое рекурсия, как выполняется рекурсивный алгоритм.
Рекурсия Учитель информатики Дружковской общеобразоватьльной школы І-ІІІ ступеней 17 Фёдорова Татьяна Викторовна.
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЕГАЗОВЫЙ УНИВЕРСИТЕТ»
Основы алгоритмизации и программирования Лекция 2. А.Ф.ОСЬКИН ПГУ, Полоцк.
1 Программирование на языке Паскаль Тема 10. Рекурсия © К.Ю. Поляков,
1 Рекурсивное программирование Рекурсия – это метод, сводящий общую задачу к некоторым задачам более узкого, простого типа Рекурсивный алгоритм – это алгоритм,
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
Рекурсия « Я оглянулся посмотреть, не оглянулась ли она, чтоб посмотреть, не оглянулся ли я...» М. Леонидов.
Если поставить два зеркала одно напротив другого и между ними поместить предмет, то получим бесконечное количество изображений, каждое из которых содержит.
Преобразование информации по заданным правилам 5 класс.
«Облака – это не сферы, горы – не конусы, линии берега – это не окружности, и кора не является гладкой, и молния не распространяется по прямой. Природа.
Июнь Рекурсия Итерация свойственна человеку, рекурсия - божественна. Л. Питер Дойч.
Рекурсивное программирование Рекурсия – это метод, сводящий общую задачу к некоторым задачам более узкого, простого типа Рекурсивный алгоритм – это алгоритм,
Рекурсия Начальные сведения о рекурсии. Определение рекурсии Рекурсия (от латинского recursio - возвращение) - это такой способ организации вычислительного.
Построение геометрических фракталов методом рекурсии.
Понятие фракталов Понятие фракталов Свойства фракталов Свойства фракталов Классификация фракталов Классификация фракталов Применение фракталов Применение.
Свойства степени с натуральным показателем. 1. Выполните действия: a 4 a 12 ; b 8 : b 2 ; (m 3 ) 5 a 16 ; b 6 ; m 15 a 48 ; b 4 ; m 15 a 16 ; b 6 ; m.
Транксрипт:

Рекурсия в ПРОЛОГе Понятие рекурсии Примеры рекурсивных объектов Рекурсивные правила в ПРОЛОГе Примеры рекурсивных правил Вычисление факториала Последовательность Фибоначчи Задача о Ханойских башнях

Понятие рекурсии Рекурсия способ организации действий, при котором процесс обращается сам к себе. Рекурсивным называется любой объект, который частично определяется через себя.

Рекурсия в художественных образах клип Гравюра голландского художника Мориса Эшера "Рисующие руки"

ПРИМЕРЫ РЕКУРСИИ У попа была собака, он её любил, Она съела кусок мяса, он её убил, В землю закопал, Надпись написал: "У попа была собака, он её любил, Она съела кусок мяса, он её убил, В землю закопал, Надпись написал: "У попа была собака, он её любил, Она съела кусок мяса, он её убил, В землю закопал, Надпись написал: …

Рекурсия в природе

Рекурсия в математике: Треугольник Серпиньского фрактал, один из двумерных аналогов множества Кантора предложенный польским математиком В. Серпиньским в 1915 году. Также известен как «решётка» или «салфетка» Серпиньского.фрактал

Рекурсия в математике: Снежинка Коха

Рекурсия в математике: Алгебраические фракталы Множество Мандельброта. Алгоритм построения основан на простом итеративном выражении: Z[i+1] = Z[i] * Z[i] + C, где Zi и C - комплексные переменные. Итерации выполняются для каждой стартовой точки C прямоугольной или квадратной области - подмножестве комплексной плоскости.

Примеры рекурсивных определений 1. Сумма первых N натуральныхчисел S(N)=1+2+3+…+(N-1)+N S(N)= 2. Степень с натуральным показателем X n = X n-1 *X X n =

Рекурсивные правила в ПРОЛОГе Рекурсивное правило Рекурсивная часть (обращение к себе) нерекурсивная часть (остановка рекурсии)

Примеры рекурсивных правил: Вычисление факториала n!=1*2*3*...*(n-1)*n. Граничное условие: n=0 % нерекурсивная часть правила : 0! = 1 fact (0, 1):- !. % рекурсивная часть правила: n! = (n-1)!*n fact (N, FN):- M=N–1, fact (M, FM), FN=FM*N. n!=

fact (0, 1):- !. fact (N, FN):- M=N–1, fact (M, FM), FN=FM*N. fact (3, FN) N=3 FN= M=N =3 -1 fact (2, FM) M=2 FM= FN=FM*N M=M =2 -1 fact (1, FM) M = 1 FM= FM=FM*M M=M =1 -1 fact (0, FM) M=0 FM= 1 FM=FM*M FM=1*1=1 6 FN=2*3=6 FM=1*2=2 1 2

Примеры рекурсивных правил: Числа Фибоначчи F(1)=1, Ff(2)=1, F(n)=F(n-1)+F(n-2). 1, 1, 2, 3, 5, 8, 13, 21,... F(n) =

Правило для вычисления n-го числа Фибоначчи fib(N,F), N-порядковый номер, F- значение N-го числа Фибоначчи fib(1,1):-!. %F(1) =1 fib(2,1):-!. %F(2) =1 fib(N,F):- %F(N)=F(N-1)+F(N-2) N1=N-1,fib(N1,F1), N2=N-2,fib(N2,F2), F=F1+F2.

Задача о Ханойских башнях (1)А В: Разложение исходной задачи на подзадачи: (1) Переложить 1,2-й диски с А на В (АВ) (2) Переложить 3-й диск с А на С (АС) (3) Переложить 1,2-й диски с В на С (ВС) (3)B C: CВCВАСАВ BABCАCАC A A A B B B C C C Решение подзадач: 1,2 Решение при N=3

Рекурсивное правило для N дисков move(1,A,B,C):- write("Перенести диск с ", A, " на ",C),nl,!. move(N,A,B,C):- M=N-1,move(M,A,C,B), write("Перенести диск с ", A," на ",C),nl, move(M,B,A,C).

Задача о Ханойских башнях АВС Перенести диск с A на B Перенести диск с A на C Перенести диск с B на C Перенести диск с A на B Перенести диск с C на A Перенести диск с C на B Перенести диск с A на B Перенести диск с A на C Перенести диск с B на C Перенести диск с B на A Перенести диск с C на A Перенести диск с B на C Перенести диск с A на B Перенести диск с A на C Перенести диск с B на C Количество перемещений 2 n -1