Каким образом в Лиспе изображаются имена переменных и функций:
Данные какого вида и типа могут выступать в качестве аргументов функции в Лиспе:
Передача интерпретатору формы (f 'x 3)
означает то, что:
f
для двух аргументов 'x
и 3
, данные " x
" и "3
" подаются в функцию в качестве значений аргументов 
f,
аргументом которой является результат вызова функции x
с аргументом 3 
Какая из перечисленных ниже форм вычислима:
(Cons (A B С) 'B)
 
(Atom (Quote A B C))
 
(EQ (Atom (quote A)) (Atom '(Abc)))
 
Какая из перечисленных ниже форм вычислима:
(Eq (A) (B))
 
(Atom (quote (A B C)))
 
(Cons '(a) ;(a b c))
 
Какая из перечисленных ниже форм вычислима:
(Cons (Quote (A B С)) 'B)
 
(Atom Cons (Quote A B C))
 
(Eq 'A B)
 
Какие события происходят в системе при вычислении интерпретатором формы ((lambda (x y) (cons x y)) 'A 'B):
X
и Y
 
X
связывается со значением A, Y
– с B, выполняется однократное вычисление безымянной функции, строящей пару (A . B)
 
Что происходит при вычислении интерпретатором формы ((lambda (x) (cons x x)) 'A):
Lambda
 
X
связывается со значением A, выполняется однократное вычисление безымянной функции, строящей пару (A . A)
 
X
 
Что происходит при вычислении формы (defun f(x)(cons x x)):
f
связывается с ее определением, и будет доступно далее при работе с интерпретатором 
f
связывается с ее определением и будет доступно только один раз после вычисления указанной формы 
f
связывается с ее определением, но данная форма не вычислима, т.к. не указано значение переменной x 
Какое из выражений синтаксически корректно и не вызовет ошибку при интерпретации:
((lambda (x) (cons (cdr x) (car x))) '(a b c))
 
()defun f(x y) (cons (cdr x) (car y ))
 
((lambda (x) (cons (cdr 'x) (car 'x))) '(a b c))
 
((defun (x) (cons (cdr x)) '(a b с))
 
(defun f (cons (cdr x) (car x )))
 
Какое из выражений синтаксически корректно и не вызовет ошибку при интерпретации:
((lambda (x y) (cons (cdr y) (car x))) '(a b c) '(a))
 
((defun f(x) (cons (cdr x) (car x )) '(a b c)))
 
((defun (x y) (cons (cdr x)) '(a b с))
 
Какое из выражений синтаксически корректно и не вызовет ошибку при интерпретации:
((defun (x , y) (cons (cdr x) y))
 
((lambda (x) (cons (cdr x) (car x))) '(a b c))
 
(defun f(x) (atom (car x )))
 
В каком порядке будет проходить вычисление формы ((lambda (x) (car (cons (cdr x) x))) '(1 2 3)):
x
со значением (1 2 3)
, вычисление головы списка, вычисление хвоста списка, соединение хвоста и остального списка, результат ((2 3) (1 2 3))
 
(car (cons (cdr x) x))
,подстановка в нее значения '(1 2 3)
(связывание с переменной x
), вычисление хвоста списка, консолидация со списком, вычисление головы итогового списка, результат (2 3)
 
x
со значением (1 2 3)
, вычисление хвоста списка, консолидация с исходным списком, вычисление головы итогового списка, результат (2 3)
 
Какая из приведенных ниже функций является рекурсивной с правильным выходом из рекурсии:
(defun f (x) (f (car x)))
 
(defun f (x) (cond ((Atom x) x)(T (f (car x)))))
 
(defun f (lambda (x) (cond (T ( * x (f (- x 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 ))) ) },
вычисление этого предиката и переход ко второму шагу рекурсии 
Как правильно будет выглядеть эквивалент условного выражения языка Паскаль "if (a=b) then print ('a равно b') else print ('a не равно b')"
на языке Лисп:
(cond ((eq a b) (print "a равно b")) (T (print "a не равно b")))
 
(cond ((= a b) (print "a равно b")) (T (print "a не равно b")))
 
(cond ((= a b) print "a равно b") ("a не равно b"))
 
Как правильно будет выглядеть эквивалент условного выражения языка Паскаль"if ((a + b) = 3) then print (a) else print (b)"
на языке Лисп:
(cond ((= (+ a b) 3) print a) (else print b))
 
(cond ((= (+ a b) 3) (print a)) (T (print b)))
 
(cond (( a + b) = 3) (print a)) (T (print b)))
 
Как правильно будет выглядеть эквивалент условного выражения языка Паскаль "if (a>b) then print (a) else print (b)"
на языке Лисп:
(cond ((> a b) print a) (else print b))
 
(cond ((> a b) (print a)) (T (print b)))
 
(cond ((< a b) (print a)) ((> a b) (print b)))
 
Являются ли приведенные ниже описания функции взятия второго элемента (необязательно атома) списка семантически и синтаксически верными. Указать верное описание:
(defun f(x) (f (caar x)))
 
(defun F(x) (cond (F (car x)) ((atom x) x) ))
 
(defun F(x) (cond (((atom x) x) (T (F (car x)) )) )
 
Являются ли приведенные ниже описания функции взятия правого элемента (атома ) списка (списочной нотации) семантически и синтаксически верными. Указать верное описание:
(defun f(x) (f (cdr x)))
 
(defun F(x) (cond (F (cdr x)) ((atom x) x) ))
 
(defun F(x) (cond ((Null (cdr x)) (car x)) (T (F (cdr x)) )) )
 
Являются ли приведенные ниже описания функции взятия левого элемента списка семантически и синтаксически верными. Указать верное описание:
(defun f(x) (f (car x)))
 
(defun F(x) (cond (F (car x)) ((atom x) x) ))
 
(defun F(x) (cond (((atom x) x) (T (F (car x)) )) )
 
Какая из перечисленных ниже форм может быть переменной:
(Abс)
 
Abc
 
A(1)2
 
Какая из перечисленных ниже форм может быть переменной:
(var A)
 
123A
 
A123
 
Какая из перечисленных ниже форм может быть переменной:
(A)
 
'A
 
Adcdefj
 
Каким будет результат вычисления формы (cons (cdr '(A B C)) (car '((D)))):
((car '(A B C)) (D))
 
( (B C) D)
 
(B C (D))
 
Каким будет результат вычисления формы (cons (car '(A B)) '((D))):
(A (D))
 
(A . ((D . Nil) . Nil))
 
(A D)
 
Что получится в результате вычисления формы (cons (car '(A B C)) 'D):
((car '(A B C)) D)
 
(A D)
 
((A) D)
 
(A . D)
 
Какая из данных форм вычислима:
((lambda (x y) (eq 'x 'y)) A 'A)
 
((lambda (z) (cons z 'x)) '(AB))
 
((lambda (x) (eq x 0)) (a b))
 
Какая из данных форм вычислима:
((lambda (x) (atom 'x)) 1)
 
((lambda (z) (cons z x)) '(A) 'B))
 
((lambda (x y) (cons x 'a)) '(a b))
 
Какая из данных форм вычислима:
((lambda (x y) (eq 'x 'y)) 'A 'A)
 
((lambda (z) (cons z 'x)) (AB))
 
((lambda (x y) (cons x 'a)) '(a b))