Главная / Введение в программирование на Лиспе / Какая из последовательностей действий на первом шаге рекурсии, выполняемых интерпретатором при вычислении выражения (Факториал 1) , где факториал: (DEFUN Факториал (LAMBDA (N) (COND ((= N 0 ) 1 ) (T ( * N (Факториал (- N 1 ))) ) ) ) ) является верной:

Какая из последовательностей действий на первом шаге рекурсии, выполняемых интерпретатором при вычислении выражения (Факториал 1) , где факториал: (DEFUN Факториал (LAMBDA (N) (COND ((= N 0 ) 1 ) (T ( * N (Факториал (- N 1 ))) ) ) ) )

является верной:

вопрос

Правильный ответ:

выбор определения функции { (COND ((= N 0 ) 1 ) (T ( * N (Факториал (- N 1 ))) ) }, выделение параметров {n = 1}, немедленный выбор второй ветви cond {(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 ))) ) }, вычисление этого предиката и переход ко второму шагу рекурсии
Сложность вопроса
95
Сложность курса: Введение в программирование на Лиспе
34
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Это очень легкий решебник по интуиту.
13 ноя 2018
Аноним
Я завалил зачёт, почему я не углядел этот великолепный сайт с ответами по тестам интуит прежде
16 дек 2016
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.