мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версияПоследняя версияСледующая версия справа и слева | ||
pascal:recur [09/11/2012 15:03] – oca | pascal:recur [16/11/2012 13:47] – oca | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== Рекурсия и рекуррентные соотношения ===== | ===== Рекурсия и рекуррентные соотношения ===== | ||
+ | |||
+ | |||
+ | |||
+ | |||
==== Рекуррентные соотношения ==== | ==== Рекуррентные соотношения ==== | ||
+ | Согласно [[http:// | ||
+ | |||
+ | Короче говоря, | ||
+ | |||
+ | A[0] = A; | ||
+ | |||
+ | A[i] = F(A [i-1]), | ||
+ | |||
+ | где A[0] задаётся отдельно, | ||
+ | |||
+ | Внимание! Иногда рекуррентные соотношения рассматриваются в расширенном виде A[i] = F(A[0], A[1] ... A[i-1]), т.е. для определения очередного элемента последовательности используются все или несколько предыдущих элементов последовательности. Пример - числа Фибоначчи, | ||
+ | |||
+ | A[0] = A[1] = 1; | ||
+ | |||
+ | A[i] = A[i-1] + A[i-2]; | ||
+ | |||
+ | **Ссылки по теме** | ||
+ | |||
+ | [[http:// | ||
+ | intuit: Комбинаторные алгоритмы для программистов 7. Лекция: | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
==== Рекурсия ==== | ==== Рекурсия ==== | ||
+ | |||
+ | Рекурсия | ||
+ | |||
+ | === Пример применения рекурсии === | ||
+ | |||
=== Программа, | === Программа, | ||
Строка 17: | Строка 50: | ||
var | var | ||
gd, gm: smallint; | gd, gm: smallint; | ||
- | mx, my, cx, cy:smallint, | + | mx, my, cx, cy:smallint; |
- | x, y, d:smalint; | + | x, y, d:smallint; |
begin | begin | ||
Строка 27: | Строка 60: | ||
{далее все, что Вы хотите нарисовать, | {далее все, что Вы хотите нарисовать, | ||
- | mx := maxX; | + | mx := getmaxX; |
- | my := maxY; | + | my := getmaxY; |
cx := mx div 2; | cx := mx div 2; | ||
cy := my div 2; | cy := my div 2; | ||
Строка 60: | Строка 93: | ||
var | var | ||
gd, gm: smallint; | gd, gm: smallint; | ||
- | mx, my, cx, cy:smallint, | + | mx, my, cx, cy:smallint; |
- | x, y, d:smalint; | + | x, y, d:smallint; |
| | ||
| | ||
Строка 81: | Строка 114: | ||
{далее все, что Вы хотите нарисовать, | {далее все, что Вы хотите нарисовать, | ||
- | mx := maxX; | + | mx := getmaxX; |
- | my := maxY; | + | my := getmaxY; |
cx := mx div 2; | cx := mx div 2; | ||
cy := my div 2; | cy := my div 2; |