Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Запустите программы 1 и 2.
Рассмотрим задачу нахождения факториала некоторого целого неотрицательного числа.
ПРОГРАММА 3.
Рекурсивное вычисление факториала (вариант 0).
factorial(1,1). /* Условие выхода из рекурсии 1!=1 */
factorial(N,F):-
N>1,
N1 is N-1,
factorial(N1, F1),
F is N*F1.
Рассмотрим дерево вывода ответа на вопрос:
?-factorial(3,X).
Слева на рисунке прямой ход до факта, останавливающего рекурсию (шаги с 1 по 9). Обратный ход с подсчетом результата – это шаги 10 и 11. В программе несколько точек возврата, но все альтернативные ветви ложны.
Дата публикования: 2014-12-11; Прочитано: 192 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!