- •2008 № I информатика
- •2008 № 4 Информатика
- •2. Статья "Частотный анализ"
- •1. Общие вопросы
- •2. Особенности выполнения рекурсивных алгоритмов
- •3. Рекурсивные функции и процедуры для обсуждения
- •2008 Nt 5 информатика
- •4. Задания на использование рекурсии
- •2008 № 5 Информатика
- •2008 N» 5 информатика
- •2008 N» 5 информатика
- •2008 № 5 Информатика
- •5. Прямая и косвенная рекурсия
- •5. Формы рекурсивных процедур6
- •2008 № 5 Информатика
2. Статья "Частотный анализ"
Напомним, что в статье предлагалось расшифг вать приведенную криптограмму, используя табл. в которой были приведены частоты появления тех или иных букв в текстах на русском языке (название статьи также было связано с этим).
Ответы прислали:
— Баженов Василий и Баженов Михаил, средняя школа села Горелово Тамбовской обл.. учитель Шитова Л.А.;
— Валыер Алексей, Власкин Алексей, Жабина Яна. Кизнлова Ольга, Лесков;) Ирина и Смирною Анна, средняя школа поселка Дормндонтовка Вяземском р-на Хабаровского края, учитель Афиногенова Н.И
— Гайсина Галия и Гайсин Р;1шнт, г. Уфа. Республ:;--Башкортостан, школа № IS, учитель Искандарова А.Г
— Деминцев Борис, средняя школа села Серд.: Республика Марин Эл, учитель Чернова Л.И.;
— Дружинина Дарья, Луговая Ксения, Плоха:.. ва Ксения, Рахмаева Алия и Халнтова.Гузель. г. Ст.
; Опит, пож
луй™, присылайте s
14
Материалы к урокам по теме "Рекурсивные алгоритмы"
1. Общие вопросы
АлЮрИГМ [ИЗЫМСТСЯ "рСКурСННПЫм"', iVAII ОН КЫДЫ-
вает сим себя в качестве веполюпггелыюги Часто » основе рекурсивного алгоритма лежит гак называемое "1Ч*ку1>-спвное определение" какого-то понятия. Оно имеет место, когда понятие сводится к аналогичиоллу, но оолее и]хч"1\>му понятию. Пример — "Лиача о ко(хчи\".
"Задача о коровах"
Есть два утверждения:
О три коровы — .*то стаде» коров;
Z) стадо из п > 3 коров — ".*iv стадо из /; — 1 ко|чшы и еще одна корова,
— о которых л\ожно сказать, что это — рекурсивное определение понятия "ст:1до коров"
Необходимо, используя это определение, njxtBepirrb, является ли стадом группа мл пяти коров (обозначим ее К5).
Решение
Объект К5 не удов.\етворяет первому пункту определения, поскольку пять коров — это не три коровы. Согласно второму пункту, К5 — стадо, если там есть одна коров;!, а остальная часть К5, назовем ее К4, тоже является стадом коров. Итак, решение относительно объекта К5 откладывается, пока не будет принято решение в части К4.
Объект К4 также не соответствует первому пункту, а согласно второму пункту К4 является стадом, если объект КЗ. полученный из К4 путем отделения одной коровы, тоже стадо. Решение о К4 тоже откладывается.
Наконец, объект КЗ удовлетворяет первому пункту определения, и мы можем смело утверждать, что КЗ — стадо коров. Теперь и о К4 можно утвер>кд;ггь, что :гго стало, а значит, и К5 является стадом коров.
Примечание. Решение целесообразно соироножл^п'!! мзо6р:1женпем схемы (см. рис. 1),
Вот еще одно рекурсивное определение: о факториале числа N можно сказать, что N\ ~ N * (N — 1)!, если N > 0 и N! = 1, если N «= 0.
Любое рекурсивное определение состоит из двух частей. Эти части принято называть "базовой" и "рекурсивной". Базовая часть является нерекурсивной и задает определение для некоторой фиксированной части объектов. Рекурсивная часть определяет понятие через пего
Н.Л. МЕДВЕДЬКОВА,
учи |ч ль информатики гимназии Г\Ь? 40,
г. Ки ишингриу
1 I K4
K-J ► (.т.и
1 +КЗ
КЗ -> Сг.ио?
ТрИ КОГМ.1ПЫ
Гис. 1
же и записывается так, чтобы при цепочке повторных применений она сводилась бы к базовой части*.
Так и, разрабатывая программу, часто удается свести исходную задачу к более простым задачам. Среди них может оказаться и первоначальная задача, но в упрощенной форме. Например, вычисление функции F(n) может потребовать вычисления F(jt — 1) и еще каких-то операций, Иными словами, частью алгоритма вычисления функции будет вычисление этой же функции.
Аналогично рекурсивному алгоритму, "рекурсивной" называется функция (или процеду}хО. если она обращается к самой себе как вспомогательной.
Пример. Рекурсивная функция для расчета факториала заданного числа п\
Function F(n: byte): lonqint;
Begin
If n - L Then b' :- n 4 F(n - 1) Else К : I
End;