Главная / Программирование /
Основы функционального программирования / Тест 5
Основы функционального программирования - тест 5
Упражнение 1:
Номер 1
Какое из перечисленных S-выражений равносильно (A B (C D) E)
?
Ответ:
 (1) (A . (B . ((C . (D . Nil)) . (E . Nil))) )
 
 (2) (A B (C D) . E)
 
 (3) (A B (C . D) E)
 
Номер 2
Какое из перечисленных S-выражений напечатается как (A B (C D) E)
?
Ответ:
 (1) (A B (C . (D . Nil)) E)
 
 (2) (A B (C D) . E)
 
 (3) (A B (C . D) E)
 
Номер 3
Какое из перечисленных S-выражений может быть изображено как (A B (C D) E)
?
Ответ:
 (1) (A (B ((C . (D . Nil)) . (E . Nil))) )
 
 (2) (A b (C . (D)) . (E))
 
 (3) (A B (C D) . E)
 
 (4) (A B (C . D) E)
 
Упражнение 2:
Номер 1
Какое из S-выражений равносильно (A B C (D E))
?
Ответ:
 (1) (A B C (D . (E . Nil)) . Nil )
 
 (2) (A (B C) D (E))
 
 (3) (A B (C . (D . Nil)) E)
 
Номер 2
Какое из S-выражений имеет ту же структуру, что и (A B C (D E))
?
Ответ:
 (1) (A B C (D . (E . Nil)) . Nil)
 
 (2) (A (B C) D (E))
 
 (3) (A B (C . (D . Nil)) E)
 
Номер 3
Какое из S-выражений распечатается как (A (B C) D E)
?
Ответ:
 (1) (A . (B . ((C . (D . Nil)) . (E . Nil))) )
 
 (2) (A (B C) D (E))
 
 (3) (A (B . (C . Nil )) D E)
 
Упражнение 3:
Номер 1
Какое из S-выражений не равносильно (A (B C) D (E))
?
Ответ:
 (1) (A . (B . ((C . (D . Nil)) . (E . Nil))) )
 
 (2) (A (B C) . (D ( E . Nil)))
 
 (3) (A (B . (C . Nil)) D (E))
 
Номер 2
Какое из S-выражений структурно отличается от (A (B C) D (E))
?
Ответ:
 (1) (A B (C . (D . Nil)) E)
 
 (2) (A (B C) . (D (E)))
 
 (3) (A . ((B C) D (E)))
 
Номер 3
Какое из S-выражений не является представлением структуры (A (B C) D (E))
?
Ответ:
 (1) (A . (B (C . (D . Nil)) . (E . Nil)) ))
 
 (2) (A (B C) . (D (E)))
 
 (3) (A . ((B C) D (E)))
 
 (4) (A (B C) D . ( (E)))
 
Упражнение 4:
Номер 1
Отметьте правильное создание именованной константы
Ответ:
 (1) (setq a 'b)
 
 (2) (defconstant a 'a)
 
 (3) (defparameter a 'b)
 
Номер 2
Отметьте правильное введение локальной переменной x
Ответ:
 (1) (lambda (x y) (cons x y))
 
 (2) (cond ((eq x y)(cons x z)))
 
 (3) ( lambda (y) (cons x x))
 
 (4) (lambda (z)(setq x (quote (A B C D) )))
 
Номер 3
Отметьте функцию со свободной переменной
Ответ:
 (1) (lambda (x y) (cons z y))
 
 (2) (lambda (x y) (cons y x))
 
 (3) (lambda (x) (quote (A B C D)))
 
Номер 4
Отметьте создание глобальной переменной
Ответ:
 (1) (setq a 'b)
 
 (2) (defconstant a 'a)
 
 (3) (defun a 'a)
 
Упражнение 5:
Номер 1
Какое выражение даст результат (A . B)
?
Ответ:
 (1) (cons 'a 'b)
 
 (2) ((lambda (y x) (cons x y)) 'a 'b)
 
 (3) ((lambda (x) (cons x 'A)) 'b )
 
Номер 2
При вычислении какой формы получится результат (A . B)
?
Ответ:
 (1) ((lambda (x y) (cons x y)) 'a 'b)
 
 (2) ((lambda (y x) (cons x y)) 'a 'b)
 
 (3) ((lambda (y x) (cons 'B y)) 'b 'a)
 
Номер 3
Значение какого выражения - (A . B)
?
Ответ:
 (1) (cons 'c 'b)
 
 (2) ((lambda (x y) (list x y)) 'a 'b)
 
 (3) ((lambda (y x) (cons x y)) 'a 'b)
 
 (4) ((lambda (y x) (cons x y)) 'b 'a)
 
Упражнение 6:
Номер 1
Которое из выражений даст результат (Альфа Центавра)
?
Ответ:
 (1) (list ' Альфа ' Центавра)
 
 (2) ((lambda (x y) (cons x y)) ' Альфа ' Центавра)
 
 (3) ((lambda (x y) (list 'x 'y)) ' Альфа ' Центавра)
 
Номер 2
Которое из выражений построит список (Альфа Центавра)
?
Ответ:
 (1) ((lambda (x y) (list x y)) ' Альфа ' Центавра)
 
 (2) ((lambda (x y) (cons x y)) ' Альфа ' Центавра)
 
 (3) ((lambda (x y) (list y x )) ' Альфа ' Центавра)
 
Номер 3
Которое из выражений даст результат (Альфа Центавра)
?
Ответ:
 (1) ((lambda (x ) (list x ' Центавра)) ' Альфа )
 
 (2) ((lambda (x y) (list x ' Центр)) ' Альфа ' Центавра )
 
 (3) ((lambda (x y) (cons x y)) ' Альфа ' Центавра)
 
 (4) ((lambda (x y) (list 'x 'y)) ' Альфа ' Центавра)
 
Упражнение 7:
Номер 1
Которое из выражений не даст результат (Альфа Центавра)
ни при каком значении переменной?
Ответ:
 (1) (cons x '(Центавра))
 
 (2) ((lambda ( y) (cons x y)) ' Альфа)
 
 (3) ((lambda (b) (list b x )) ' Альфа)
 
 (4) ((lambda (b) (cons x b)) '(Центавра))
 
Номер 2
Которое из выражений не может дать результат (Альфа Центавра)
независимо от значения переменной?
Ответ:
 (1) (cons '(Центавра) x)
 
 (2) ((lambda ( y) (cons y x)) ' Альфа)
 
 (3) ((lambda (b) (list b x)) ' Альфа)
 
 (4) ((lambda (b) (list x b)) '(Центавра))
 
Номер 3
Которое из выражений не даст результат (Альфа Центавра)
при любых значениях переменной?
Ответ:
 (1) (cons ' Альфа x)
 
 (2) ((lambda ( y) (cons y x)) ' Альфа)
 
 (3) ((lambda (b) (list x b)) ' Альфа)
 
 (4) ((lambda (b) (cons x (cons b Nil) )) '(Центавра))
 
Упражнение 8:
Номер 1
Какие из перечисленных S-выражений равносильны?
Ответ:
 (1) (A . (B . ((C . (D . Nil)) . (E . Nil))) )
 
 (2) (A B (C . (D . Nil)) E)
 
 (3) (A B (C D) . E)
 
 (4) (A B (C . D) E)
 
Номер 2
Отметьте какие из перечисленных S-выражений равносильны?
Ответ:
 (1) (A . (B . ((C . (D . Nil)) . (E . Nil))) )
 
 (2) (A (B C) D (E))
 
 (3) (A B C D E)
 
 (4) (A B (C . (D . Nil)) E)
 
 (5) (A B (C D) . E)
 
Номер 3
Отметьте S-выражение, не равносильное остальным?
Ответ:
 (1) (A . (B . ((C . (D . Nil)) . (E . Nil))) )
 
 (2) (A B (C . (D . Nil)) E)
 
 (3) (A . (B . ((C D) . (E))) )
 
 (4) (A (B C) D (E))
 
Упражнение 9:
Номер 1
Отметьте правильное создание именованной константы
Ответ:
 (1) (set actor 'function)
 
 (2) (defconstant pi 3.14151926)
 
 (3) (defparameter x 'bee)
 
 (4) (defun a-funct 'options)
 
Номер 2
Отметьте правильное введение связной переменной x
Ответ:
 (1) (lambda (x) (cons x 'TAIL))
 
 (2) (cond ((eq 'ACT y)(cons "ACT z)))
 
 (3) (lambda (a b c d) (cons x x))
 
 (4) (lambda (z) (quote (x is ABCD to АБВГДЕ)))
 
Номер 3
Отметьте выражения со свободными переменными
Ответ:
 (1) (lambda (x y) (cons z y))
 
 (2) (cond ((eq x y)(cons x 'z)))
 
 (3) (lambda (y) (cons x x))
 
 (4) (lambda (x) (quote (A B C D)))