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

Основы функционального программирования - тест 14

Упражнение 1:
Номер 1
Отметьте тест, соответствующий спецификации List (Atom) => List (Number).

Ответ:

 (1) (A B C) => (1 2 3) 

 (2) (B ( A) C) => (1 2 3) 

 (3) (1 2 3) => (A B) 


Номер 2
Какой из тестов соответствует спецификации List (Atom) => List (Number).

Ответ:

 (1) (A B C D) => (1 2 3) 

 (2) A => B 

 (3) (1 2 3) => ((1) () 2 3) 


Номер 3
Выберите тест, соответствующий спецификации List (Atom) => List (Number).

Ответ:

 (1) (1 2 3 4) => () 

 (2) (A B C ) => B 

 (3) ((A) 1 () 2 () 3) => (1 2 3) 


Упражнение 2:
Номер 1
Отметьте тест, соответствующий спецификации List (Atom) => List ({Number, Atom}).

Ответ:

 (1) (A B C 1 2 3) => (1 ОДИН 2 ДВА 3 ТРИ) 

 (2) (1( 2) 3) => (1 2 3) 

 (3) (1 2 3) => ((1) () 2 3) 


Номер 2
Отметьте тест, соответствующий спецификации List (Atom) => List ({Number, Atom}).

Ответ:

 (1) (A B C D) => (1 2 3) 

 (2) A => B 

 (3) ((A) 1 () 2 () 3) => (1 2 3) 


Номер 3
Выберите тест, соответствующий спецификации List (Atom) => List ({Number, Atom}).

Ответ:

 (1) (A) => () 

 (2) (A ( 2) 3) => (1 2 3) 

 (3) (1 2 3) => ((1) (A) 2 3) 


Номер 4
Какой из тестов соответствует спецификации List (Atom) => List ({Number, Atom}).

Ответ:

 (1) (1 2 3) => (A B) 

 (2) (1 A 2 B 3 C) => ((1) (A) 2 3) 

 (3) ( 3 (A) 1 (B) 2 (C) ) => (1 2 3) 


Упражнение 3:
Номер 1
Отметьте тест, соответствующий спецификации List (List(Atom)) => List (Atom).

Ответ:

 (1) ( (a) (b c) (d e f) ) => (1 2 3) 

 (2) (1 2 3) => (1 2 3) 

 (3) ((1)( 2) (3)) => (A . B) 


Номер 2
Выберите тест, соответствующий спецификации List (List(Atom)) => List (Atom).

Ответ:

 (1) ( (a) () (1 2 3 4) ) => (A B C D) 

 (2) (A B C D) => (1 2 3) 

 (3) ((1) (2 2) (3 3 3)) => ТРИ 


Номер 3
Какой из тестов соответствует спецификации List (List(Atom)) => List (Atom).

Ответ:

 (1) ((A)) => Nil 

 (2) (( 2) A 3) => (1 2 3) 

 (3) (A B C ) => (A B) 

 (4) ((A)(B)(C)) => ((1) 3) 


Упражнение 4:
Номер 1
Отметьте тест, на котором сработает функция: (defun Assoc (x al) (cond (al(cond ((eq (x (caar al))) (car al))))

Ответ:

 (1) (A ((A . B)) ) => (A . B) 

 (2) (A ( X A B C )) => (A B C) 

 (3) ( ((A . S))) => S 


Номер 2
Выберите  тест, которому удовлетворяет функция Subst.

Ответ:

 (1) (A S ((B) (S) S)) => ((B) (A) A) 

 (2) (A S (L (A) M)) => (L (S) M) 

 (3) (A A (S (A) B)) => (S ((A)) B) 


Номер 3
Укажите  тест, на котором функция Pairlis (см. лекцию 3) исчерпает два первые аргумента.

Ответ:

 (1) ((A B C) (S T U) ((A . U) (B . V))) 

 (2) ((A B ) (S T U) ((A . U) (B . V))) 

 (3) ((A B C) (S T) ((A . U) (B . V))) 


Упражнение 5:
Номер 1
Отметьте тест, на котором не может сработать функция: (defun Assoc (x al) (cond (al(cond ((eq (x (caar al))) (car al))))

Ответ:

 (1) (A ((A . B)) …) => (A . B) 

 (2) (A ( X A B C … )) => (A B C) 

 (3) ( ((A . S))) => S 


Номер 2
Выберите  тест, на котором функцию Subst нет смысла выполнять, т.к. не получается нового значения.

Ответ:

 (1) (A S ((B) (S) S)) => ((B) (A) A) 

 (2) (A S (L (A S) M)) => (L (A A) M) 

 (3) (A A (S (A) B)) => (S (A) B) 


Номер 3
Укажите тест, на котором функция Pairlis (см. лекцию 3) может завершиться аварийно из-за неподходящей структуры данных.

Ответ:

 (1) ((A B C) (S T U) ((A . U) (B . V))) 

 (2) ((A B ) (S T U) ((A . U) (B . V))) 

 (3) ((A B C D) (S) ((A . U) (B . V))) 


Упражнение 6:
Номер 1
Выберите спецификацию, которой может соответствовать  данный тест  (a 1 b 2 3 4).

Ответ:

 (1) List ({Atom, Number}) 

 (2) List (Number ) 

 (3) List ((Atom Number)) 


Номер 2
Отметьте спецификацию, которой может соответствовать  тест ((A 1)( B 2)( 3 С)).

Ответ:

 (1) List(List(Atom)) 

 (2) List ({Atom, Number}) 

 (3) List (Atom List ( Number)) 


Номер 3
Какой спецификации соответствует  данный тест ((a . 1)( b . 2)( 3 . 4)).

Ответ:

 (1) List(List(Atom)) 

 (2) List ({Atom, Number}) 

 (3) List ((Atom . Number)) 


Упражнение 7:
Номер 1
Отметьте спецификацию, которой не может соответствовать  данный тест  (a 1 b 2 3 4).

Ответ:

 (1) List ({Atom, Number}) 

 (2) List (Atom ) 

 (3) List ((Atom Number)) 


Номер 2
Выберите спецификацию, которой заведомо не соответствует тест ((a 1)( b 2)( 3 4)).

Ответ:

 (1) List(List(Atom)) 

 (2) List ({Atom, Number}) 

 (3) List ( List(Atom Number)) 


Номер 3
Какой из спецификаций не может соответствовать тест ((a . 1)( b . 2)( 3 . 4)).

Ответ:

 (1) List(List(Atom)) 

 (2) List ({Atom, Number}) 

 (3) S ((Atom . Number)) 


Упражнение 8:
Номер 1
Отметьте тесты, соответствующие спецификации List (Atom) => List (Number).

Ответ:

 (1) (1 2 3) => (1 2 3) 

 (2) (A B C D) => (1 2 3) 

 (3) () => () 

 (4) (1( 2) 3) => (1 2 3) 

 (5) (1 2 3) => (A B) 

 (6) A => B 

 (7) (1 2 3) => ((1) () 2 3) 

 (8) (() 1 () 2 () 3) => (1 2 3) 


Номер 2
Отметьте тесты, соответствующие спецификации List (Atom) => List ({Number, Atom}).

Ответ:

 (1) (1 2 3) => (1 ОДИН 2 ДВА 3 ТРИ) 

 (2) (A B C D) => (1 2 3) 

 (3) () => () 

 (4) (1( 2) 3) => (1 2 3) 

 (5) (1 2 3) => (A B) 

 (6) A => B 

 (7) (1 2 3) => ((1) () 2 3) 

 (8) (() 1 () 2 () 3) => (1 2 3) 


Номер 3
Отметьте тесты, соответствующие спецификации List (List(Atom)) => List (Atom).

Ответ:

 (1) ( (a) (b c) (d e f) ) => (1 2 3) 

 (2) ( (a) () (1 2 3 4) ) => (A B C D) 

 (3) (()) => Nil 

 (4) (1 2 3) => (1 2 3) 

 (5) (A B C D) => (1 2 3) 

 (6) () => () 

 (7) (1( 2) 3) => (1 2 3) 

 (8) (1 2 3) => (A B) 

 (9) A => B 

 (10) (1 2 3) => ((1) () 2 3) 

 (11) (() 1 () 2 () 3) => (1 2 3) 


Упражнение 9:
Номер 1
Отметьте спецификации, которым соответствует функция:
(defun Assoc (x al) (cond (al(cond ((eq (x (caar al))) (car al))))

Ответ:

 (1) (Atom List((Atom . Some))) => Some 

 (2) (Atom List( Some)) => Some 

 (3) (Atom List((Atom . Some))) => List 


Номер 2
Отметьте спецификации, которым соответствует функция Subst.

Ответ:

 (1) (Atom Some S (Atom)) => S (Some) 

 (2) (Atom Some List (Atom)) => List (Some) 

 (3) (Atom Atom S (Atom)) => S (Atom) 


Номер 3
Отметьте спецификации, которым соответствует функция Pairlis.

Ответ:

 (1) (List(Atom) List(Some) List((Atom . Some))) => List((Atom . Some)) 

 (2) (List(Some) List(Some) List((Some . Some))) => List((Some . Some)) 

 (3) (List(Atom) List(Number) List((Atom . Number))) => List((Atom . Number)) 




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