Какая из последовательностей действий на первом шаге рекурсии, выполняемых интерпретатором при вычислении выражения (Факториал 1) , где факториал: (DEFUN Факториал (LAMBDA (N) (COND ((= N 0 ) 1 ) (T ( * N (Факториал (- N 1 ))) ) ) ) )
является верной:
(Отметьте один правильный вариант ответа.)
Варианты ответа
выбор определения функции { (COND ((= N 0 ) 1 ) (T ( * N (Факториал (- N 1 ))) ) }, выделение параметров {n = 1}, перебор предикатов, вычитание единицы {N=N-1} , вычисление первого предиката {((= N 0 ) 1 ), ответ 1}.
выбор определения функции { (COND ((= N 0 ) 1 ) (T ( * N (Факториал (- N 1 ))) ) }, выделение параметров {n = 1}, перебор предикатов, выбор первой ветви {((= N 0 ) 1 )} , вычисление функции =, вычисление предиката (Nil 1), т.е. переход ко второй ветви, выбор второй ветви cond {(T ( * N (Факториал (- N 1 ))) ) }, вычисление этого предиката и переход ко второму шагу рекурсии(Верный ответ)
выбор определения функции { (COND ((= N 0 ) 1 ) (T ( * N (Факториал (- N 1 ))) ) }, выделение параметров {n = 1}, немедленный выбор второй ветви cond {(T ( * N (Факториал (- N 1 ))) ) }, вычисление этого предиката и переход ко второму шагу рекурсии