игра брюс 2048
Главная / Программирование / Основы функционального программирования / Тест 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 




Главная / Программирование / Основы функционального программирования / Тест 13