Главная / Программирование /
Основы функционального программирования / Тест 13
Основы функционального программирования - тест 13
Упражнение 1:
Номер 1
Какая из функций соответствует спецификации аргументов и результатов (X List(X)) -> List(X)?
Ответ:
 (1) (lambda (x y) (cons x y)) 
 (2) (lambda (x y) (eq x y)) 
 (3) (lambda (x) (cond (x (cond ((eq 'A (car x))x))))) 
Номер 2
Аргументы и результаты какой из функций можно специфицировать формулой: (X List(X)) -> List(X)?
Ответ:
 (1) (lambda (x y) (cons y x)) 
 (2) (lambda (x xl) (cond (xl (cond ((eq x (car xl))x))))) 
 (3) (lambda (x xl) (cond (xl (cond ((eq x (car xl))xl))))) 
Номер 3
Спецификации аргументов и результатов какой из функций может иметь вид: (X List(X)) -> List(X)?
Ответ:
 (1) (lambda (x y) (append y x)) 
 (2) (lambda (x y z) (subst x y z)) 
 (3) (lambda (x xl) (cond (xl (cond ((atom x) (cons x xl)) (T xl)) )) 
Упражнение 2:
Номер 1
Какая из функций не требует соответствия спецификации аргументов вида: (X List(X)) -> List(X)?
Ответ:
 (1) (lambda (x y) (cond (x (cond ((eq y (car x))x))))) 
 (2) (lambda (x y) (cons x (cdr y))) 
 (3) (lambda (x y) (eq x (car y))) 
Номер 2
Какая из функций не соответствует спецификации результатов (X List(X)) -> List(X)?
Ответ:
 (1) (lambda (x xl) (cond (xl (cond ((eq x (car xl))xl))))) 
 (2) (lambda (x y) (cons x y)) 
 (3) (lambda (x y) (eq x y)) 
Номер 3
Какая из функций не соответствует спецификации ни аргументов, ни результатов: (X List(X)) -> List(X)?
Ответ:
 (1) (lambda (x y) (list x y)) 
 (2) (lambda (xl) (cond (xl (cond ((eq 'A (car xl))T))))) 
 (3) (lambda (x y) (cons x y)) 
Упражнение 3:
Номер 1
Какая из функций соответствует спецификации аргументов: List(X) -> List(X) ?
Ответ:
 (1) (lambda (x ) (reverse x)) 
 (2) (lambda (xl) (cond (xl (cond ((cons 'A (car xl))T))))) 
 (3) (lambda (x ) (cons 'A x)) 
Номер 2
Аргументы какой из функций должны соответствовать спецификации: List(X) -> List(X) ?
Ответ:
 (1) (lambda (x ) (append x '(1 2 3))) 
 (2) (lambda (xl) (cond (xl (cond ((eq 'A xl)T))))) 
 (3) (lambda (x y) (cons x y)) 
Номер 3
Спецификация аргументов какой из функций соотвествует формуле: List(X) -> List(X) ?
Ответ:
 (1) (lambda (x y) (delete y x)) 
 (2) (lambda (xl) (cond (xl (cond ((eq 'A (car xl))T))))) 
 (3) (lambda (x ) (union '(A B C) x)) 
Упражнение 4:
Номер 1
Какая из функций соответствует спецификации результатов: (X List(X)) -> List(X) ?
Ответ:
 (1) (lambda (x y) (cons y 'A)) 
 (2) (lambda (x y) (member y x)) 
 (3) (lambda (x xl) (cond (xl (cond ((eq x (car xl))xl))))) 
Номер 2
Спецификации результатов какой из функций соответствует формуле: (X List(X)) -> List(X) ?
Ответ:
 (1) (lambda (x y) (eq y x)) 
 (2) (lambda (x y) (delete x y)) 
 (3) (lambda (x xl) (cond (xl (cond ((eq x (car xl))T))))) 
Номер 3
Результаты какой из функций соответствуют спецификации: (X List(X)) -> List(X) ?
Ответ:
 (1) (lambda (x y) (cons x Nil )) 
 (2) (lambda (x y) (member y x)) 
 (3) (lambda (x xl) (cond (xl (cond ((eq x (car xl) ))) x) 
Упражнение 5:
Номер 1
Какая из функций не соответствует спецификации результатов (X List(X)) -> List(X) ?
Ответ:
 (1) (lambda (x y) (member y x)) 
 (2) (lambda (x y) (cons x Nil )) 
 (3) (lambda (x y) (list x x x )) 
Номер 2
Спецификация результатов какой из функций не соответствует (X List(X)) -> List(X) ?
Ответ:
 (1) (lambda (x y) (eq y x)). 
 (2) (lambda (x y) (cdr (list x x x ))) 
 (3) (lambda (x y) (cons x Nil )) 
Номер 3
Результаты какой из функций не соответствуют спецификации: (X List(X)) -> X ?
Ответ:
 (1) (lambda (x xl) (cond (xl (cond ((eq x (car xl))x))))) 
 (2) (lambda (x y) (car (print (list x x x ))) ) 
 (3) (lambda (x y) (cons x Nil )) 
Упражнение 6:
Номер 1
Какая из спецификаций аргументов и результатов соответствует определению функции: (lambda (x xl) (cond (xl (cond ((eq x (car xl))xl)))))
Ответ:
 (1) List(Some) -> List(Some) 
 (2) (Some List(Some)) -> Atom 
 (3) (Atom List(Atom)) -> List(Atom) 
Номер 2
Какая из спецификаций аргументов и результатов соответствует определению функции: (lambda (xl) (cond (xl (cond ((eq x (car xl))xl)))))
Ответ:
 (1) List(Atom) -> Atom 
 (2) List(Some) -> List(Some) 
 (3) Atom -> List(Some) 
Номер 3
Какая из спецификаций аргументов и результатов соответствует определению функции: (lambda (x xl) (cond (xl (cond ((eq x (car xl))xl)))))
Ответ:
 (1) (Atom List(Some)) -> List(Some) 
 (2) (Some List(Some))-> List(Some) 
 (3) (Atom List(Atom)) -> List(Atom) 
Упражнение 7:
Номер 1
Какая из спецификаций аргументов наиболее точно соответствует определению функции: (lambda (x xl) (cond (xl (cond ((eq x (car xl))(caadr xl))))))
Ответ:
 (1) (Atom List(Some)) ) 
 (2) (Some List(Some)) 
 (3) (Some List(Atom)) 
Номер 2
Какая из спецификаций аргументов соответствует определению функции: (lambda (x xl) (cond (xl (cond ((equal x (car xl)) (eq (cadr xl) x))))))
Ответ:
 (1) (Atom List(Some) ) 
 (2) (Some List(Some)) 
 (3) (Some Atom) 
Номер 3
Какая из спецификаций результатов наиболее точно соответствует определению функции: (lambda (x xl) (cond (xl (eq x (car xl)) )) )
Ответ:
 (1) Some 
 (2) Atom 
 (3) Bool 
Упражнение 8:
Номер 1
Какие из функций соответствуют спецификации аргументов и результатов:
(X List(X) ) -> List(X):
Ответ:
 (1) cons 
 (2) eq 
 (3) (lambda (x xl) (cond (xl (cond ((eq x (car xl))xl))))) 
Номер 2
Какие из функций не соответствуют спецификации аргументов и результатов:
( X List(X)) -> List(X):
Ответ:
 (1) (lambda (x xl) (cond (xl (cond ((eq x (car xl))T))))) 
 (2) cons 
 (3) eq 
Номер 3
Какие из функций соответствуют спецификации или аргументов, или результатов, но не того и другого сразу:
(X List(X)) -> List(X)
Ответ:
 (1) list 
 (2) (lambda (x xl) (cond (xl (cond ((eq x (car xl))T))))) 
 (3) cons 
Упражнение 9:
Номер 1
Какие из спецификаций аргументов и результатов соответствуют определению функции:
(lambda (x xl) (cond (xl (cond ((eq x (car xl))xl)))))
Ответ:
 (1) (Atom List(Some) ) -> List(Some) 
 (2) ( Some List(Some)) -> List(Atom) 
 (3) ( Atom List(Atom)) -> List(Some) 
Номер 2
Какие из спецификаций аргументов соответствуют определению функции:
(lambda (x xl) (cond (xl (cond ((eq x (car xl))T)))))
Ответ:
 (1) (Atom List(Some) ) 
 (2) ( Some List(Some)) 
 (3) (Some List(Atom)) 
Номер 3
Какие из спецификаций результатов соответствуют определению функции:
(lambda (x xl) (cond (xl (cond ((eq x (car xl))T)))))
Ответ:
 (1) Some 
 (2) Atom 
 (3) Bool