мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| pascal:recur [09/11/2012 15:19] – oca | pascal:recur [16/11/2012 14:23] (текущий) – 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: | Строка 53: | ||
| 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: | Строка 63: | ||
| {далее все, что Вы хотите нарисовать, | {далее все, что Вы хотите нарисовать, | ||
| - | mx := maxX; | + | mx := getmaxX; |
| - | my := maxY; | + | my := getmaxY; |
| cx := mx div 2; | cx := mx div 2; | ||
| cy := my div 2; | cy := my div 2; | ||