Рекуррентные функции
Рекуррентные функции
Использование подстановок при определении функций позволяет легко реализовывать рекуррентные алгоритмы, то есть алгоритмы, при которых очередной шаг вычислений основан на определенном преобразовании предшествующих шагов. Примером может служить задание функции вычисления факториала fact [n], представленное ниже.
Операция |
Комментарий
|
fact[n_] :=n*fact[n-l] |
Задана рекурсивная функция факториала |
fact[l]=l |
Выполнена инициализация функции |
1 |
|
fact[3] |
Вычислено значение 3! |
6 |
|
fact[10] |
Вычислено значение 10! |
3628800 |
|
?fact[l] |
Выполнена проверка определения функции |
Global ' fact |
|
fact[l] = 1 |
|
fact[n_] :=nfact[n-l] |