Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6gJr5byPBn.file.1.doc
Скачиваний:
12
Добавлен:
30.04.2022
Размер:
2.09 Mб
Скачать

3.1. Рекурсивные функции

Известно, что рекурсия есть способ определения значения функции в некоторой точке через известные значения этой функции в других, предшествующих точках. Очевидно, что в каждой точке должен быть задан набор значений аргументов данной функции, а в некоторой исходной точке – значение самой функции.

В тех случаях, когда речь идет о числовых функциях, области определения и значения которых заданы на множестве целых положительных чисел, это описание рекурсии задает способ вычисления численных значений определяемой функции для заданного набора числовых значений аргументов и числовых значений этой функции в исходной точке.

Числовые функции, для которых существует алгоритм вычисления их значений, называют рекурсивными функциями.

Если числовая функция определена не для всех значений аргументов, ее называют частично рекурсивной функцией. Если для всех значений – то общерекурсивной функцией.

Иследование алгоритмов на множестве рекурсивных функций оправдано тем, что любое вещественное число может быть представлено цепочкой <целое> «.»<целое>, для которой существует только одна синтаксическая переменная – <целое>. Следовательно, любую функцию можно свести к рекурсивной, если значения аргументов и значения функции рассматривкать принадлежащими синтаксической переменной <целое>.

Последовательность функциональных равенств, описывающих по шагам дискретный процесс вычисления числовой функции от ее исходного значения при заданных значениях независимых переменных аргумента, называют рекурсивным описанием, или протоколом.

Формализм вычисления является универсальной моделью описания последовательности шагов в реализации алгоритма.

Для этой модели должны быть заданы наборы элементарных объектов и элементарных действий в описании механизма реализации алгоритма. Такими элементарными объектами являются три базовые функции, а элементарными действиями – три элементарных операции.

3.1.1. Базовые функции

Простейшие одношаговые рекурсивные функции называются базовыми. К числу таких функций относятся функции константа, тождества и следования.

Функция константа. Если f = {(x1; x2; ... xn; у) | xiX; yY} = cn, то любым значениям аргументов функции ставится в соответствие ее значение, равное постоянной величине – cn, чаще всего нулю.

Например, если f = (x1; x2; x3; у) = c3, то для x1 = 5, x2 = 4, x3 = 7 и c3 = 0 имеем у = 0; если f = x1; x2; x3; у) = cз, то для x1= 5, x2 = 4, x3 = 7 и cз = 1 имеем у = 1.

Функция тождества. Если f = {(x1; x2; ... xn; у) | xiX; yY}= Jn;m, то любым значениям переменных аргумента функции ставится в соответствие ее значение, равное значению m-го независимого аргумента, где 1 m  n – номер выбранного независимого аргумента.

Например, если f = (x1; x2; ... xn; у) = j3,2 , то для x1 = 5, x2= 4, x3 = 7 имеем у=4; если f = (x1; x2; ... xn; у) = j3,3, то для x1= 5, x2= 4, x3= 7 имеем у = 7.

Функция следования. Если f = (х; у) = , то любому значению независимой переменной аргумента функции ставится в соответствие ее значение, равное числу, непосредственно следующиму за числом, являющимся значением независимой аргумента.

Например, если f = (х; у) = (х), то для х = 5 имеем у = (х+1) = (5+1) = 6; если f = (х; у) = (х), то для х = 7 имеем у = (х +1) = (7 +1)= 8.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]