Рекурсия
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферат на тему рынок, ответ 3
| Добавил(а) на сайт: Кулатов.
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата
Рис. 16.4. Схема организации цикла вида while do и его рекурсивного эквивалента. Обратите внимание, что в правой части рис. 16.4 возможно зацикливание! Надо быть очень осторожным и всякий раз, применяя рекурсивную поцедуру или функцию, убедиться в их корректном завершении. Рассмотрим пример. На рисунке 16.5 приведен алгоритм Евклида, с которым мы познакомились на лекции 1, для вычисления НОД (наибольшего общего делителя) в форме обычной и рекурсивной функции на языке Pascal. Function НОД (a, b : integer) : integer ;
Рис. 16.5. Циклическая и рекурсивная функции для вычисления НОД. Как видно из приведенных примеров на рисунках 16.1 и 16.5, итерация, т.е. цикл всегда может быть заменен его рекурсивным аналогом по схеме, показанной на рисунке 16.4. С обратным утверждением о замене рекурсии итерацией все сложнее. На рисунке 16.6 приведен пример рекурсивной функции, где по схеме (рис. 16.4) рекурсию итерацией заменить не удается. в остальных случаях Рис. 16.6. Рекурсивная функция Аккермана. Способы повторного использования процедур и функций. Итак, процесс абстракции в форме процедуры состоит из трех шагов: Именование. Присвоить рутинному алгоритму уникальное имя, которое затем будем использовать как имя соответствующей процедуры. Определить пред- и постусловия для создаваемой процедуры или функции в соответствии с контекстом их использования в основной программе. Параметризиовать процедуру. (Везде далее, если явно не оговорено, говоря о процедурах, будем иметь в виду также и функции). Для этого часть предусловия и постусловия в спецификации оформить в виде параметров соответствующего типа, часть из которых будет доставлять исходные данные, а другая часть - результаты работы процедуры. Рекомендуем скачать другие рефераты по теме: реферат книга, доклад по обж. Категории:Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата Поделитесь этой записью или добавьте в закладки |