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

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

Упражнение 1:
Номер 1
Какое из определений  явно сигнализирует о попадании в тупик?

Ответ:

 (1) (defun escape () (throw 'esc Nil)) 

 (2) (defun escape (x) (throw 'esc x)) 

 (3) (defun escape (x) (throw 'esc (print x))) 

 (4) (defun escape () (throw 'esc 'ОК)) 


Номер 2
Какое из определений при попадании в тупик позволяет передать значение, зависящее от внутреннего контекста?

Ответ:

 (1) (defun escape (x) (throw 'esc Nil)) 

 (2) (defun escape (x ) (throw 'esc (cons 'ESCAPE x))) 

 (3) (defun escape (x) (throw 'esc 'ESCAPE)) 


Номер 3
Какое из определений при попадании в тупик позволяет получить значение, зависящее от внутреннего контекста?

Ответ:

 (1) (defun escape (x) (throw 'esc Nil)) 

 (2) (defun escape (x) (throw 'esc (print (list 'ESCAPE x)))) 

 (3) (defun escape (x) (throw 'esc 'ESCAPE)) 


Упражнение 2:
Номер 1
Отметьте формы, эквивалентные логической конъюнкции - "a и b". 

Ответ:

 (1) (cond (b T) (T Nil)) 

 (2) (cond (b a) (T Nil)) 

 (3) (cond ((eq a b) a) (T Nil))  

 (4) (cond (a b) (T Nil)) 

 (5) (cond (a T) (T b)) 


Номер 2
Отметьте формы, эквивалентные логическому отрицанию - "не a".

Ответ:

 (1) (cond ((eq a Nil) Nil) (T T)) 

 (2) (cond (a Nil) (Nil T) ) 

 (3) (eq a Nil) 

 (4) (null a) 


Номер 3
Отметьте формы, эквивалентные дизъюнкции - "a или b".

Ответ:

 (1) (eq a b) 

 (2) (cond (a(eq a b)) (T Nil)) 

 (3) (cond (b T) (T a)) 

 (4) (if b T a) 

 (5) (cond (a T) (T b)) 


Упражнение 3:
Номер 1
Какая из ловушек поймает внутреннее прерывание?

Ответ:

 (1) (progn (catch 'esc : (cond ((null xl) (throw 'esc Nil))):)) 

 (2) (progn (catch 'esc : (cond ((null xl)Nil) ((cond ((null xl) (throw 'esc Nil))))):) 

 (3) (progn (catch 'escape (cond ((null xl) (throw 'esc Nil))))) 


Номер 2
Какая из ловушек позволяет поймать внутреннее прерывание?

Ответ:

 (1) (progn (catch 'esc : (cond ((null xl)Nil) ((cond ((null xl) (throw 'esc Nil))))):)) 

 (2) (progn (catch 'escape (cond ((null xl) (throw 'esc Nil))))) 

 (3) (progn (catch 'OK (catch 'esc : (cond ((CAR xl)(throw 'OK xl)) ((null xl) (throw 'esc Nil))):))) 


Номер 3
Какая из ловушек приспособлена к реакции на внутреннее прерывание?

Ответ:

 (1) (progn (catch 'esc : (cond (xl (throw 'esc (print xl)))) : )) 

 (2) (progn (catch 'esc : (cond ((null xl)Nil)) ((cond ((null xl) (throw 'esc Nil))))) :)) 

 (3) (progn (catch 'escape (cond ((null xl)(throw 'esc Nil))) )) 


Упражнение 4:
Номер 1
Отметьте функции для работы с множествами

Ответ:

 (1) delete 

 (2) member 

 (3) set-difference 

 (4) union 

 (5) intersection 

 (6) reverse 


Номер 2
Отметьте функции доступа к элементам последовательностей 

Ответ:

 (1) union 

 (2) elt 

 (3) find 

 (4) position 

 (5) sort 


Номер 3
Отметьте функции, реорганизующие последовательнолсти

Ответ:

 (1) find 

 (2) reverse 

 (3) sort 

 (4) delete 

 (5) member 


Упражнение 5:
Номер 1
Отметьте, в чем схожи варианты и множества.

Ответ:

 (1) неограниченное число составляющих 

 (2) строятся из однотипных объектов 

 (3) одноуровневая организация 


Номер 2
Отметьте, в чем сходство вариантов и множеств.

Ответ:

 (1) произвольный порядок задания составляющих 

 (2) строятся из однотипных объектов 

 (3) возможна многоуровневая организация - иерархия 


Номер 3
Отметьте, в чем подобны варианты и множества.

Ответ:

 (1) фиксированное число составляющих 

 (2) составляющие могут быть любой природы 

 (3) возможна многоуровневая организация - иерархия 


Упражнение 6:
Номер 1
В чем выражаются отличия структуры множеств от вариантов?

Ответ:

 (1) могут быть разносортные элементы 

 (2) структура множества определяется всей совокупностью различимых элементов 

 (3) произвольное число составляющих 


Номер 2
В чем выражаются отличия структуры вариантов от множеств?

Ответ:

 (1) могут быть разносортные элементы 

 (2) произвольное число составляющих 

 (3) структура "вариант"определена, если хотя бы одно значение элемента удалось вычислить 


Номер 3
Чем отличается структура вариантов от множеств?

Ответ:

 (1) могут быть разносортные элементы 

 (2) произвольный порядок задания составляющих 

 (3) одноуровневая структура вариантов, разделение по уровням иерархии неосмысленно 


Упражнение 7:
Номер 1
Какие особенности множеств не характерны для вариантов?

Ответ:

 (1) многоуровневая организация 

 (2) могут быть разносортные элементы 

 (3) произвольный порядок задания составляющих 


Номер 2
Какая из задач легче решается в терминах вариантов, чем множеств?

Ответ:

 (1) поиск первого элемента с заданным свойством в структуре данных 

 (2) перебор всех элементов структуры данных 

 (3) проверка эквивалентности структур данных 


Номер 3
Какая задача легче описывается в терминах множеств, чем вариантов?

Ответ:

 (1) перебор всех элементов структуры данных 

 (2) поиск элемента с заданным свойством в структуре данных 

 (3) выбор одного из возможных значений 


Упражнение 8:
Номер 1
В какой из ловушек не вполне корректно размечены тупики?

Ответ:

 (1) (progn (catch 'esc forms (cond ((null xl) (throw 'esc Nil))) forms2 )) 

 (2) (progn (catch 'esc forms1 (cond ((null xl)Nil) ((cond ((null xl) (throw 'esc Nil))))) forms2 )) 

 (3) (progn (catch 'OK (catch 'esc forms (cond ((CAR xl)(throw 'OK xl)) ((null xl) (throw 'esc Nil))) form ))) 


Номер 2
Какое из определений при попадании в тупик позволяет передать значение, зависящее от внутреннего контекста?

Ответ:

 (1) (defun escape (x) (throw 'esc Nil)) 

 (2) (defun escape (x ) (throw 'esc (cons 'ESCAPE x))) 

 (3) (defun escape (x) (throw 'esc (print (list 'ESCAPE x)))) 

 (4) (defun escape (x) (throw 'esc 'ESCAPE)) 


Номер 3
Какое из определений недостаточно для четкого сигнала о попадании в тупик?

Ответ:

 (1) (defun escape (x ) (throw 'esc (cons 'ESCAPE x))) 

 (2) (defun escape (x) (throw 'esc (print (list 'ESCAPE x)))) 

 (3) (defun escape (x) (throw 'esc 'ESCAPE)) 

 (4) (defun escape (x) (throw 'esc Nil)) 


Упражнение 9:
Номер 1
Отметьте, в чем варианты и множества схожи:

Ответ:

 (1) неограниченное число составляющих 

 (2) произвольный порядок задания составляющих 

 (3) составляющие могут быть любой природы 

 (4) взможна многоуровневая организация множеств - иерархия 


Номер 2
Чем выражаются отличия множеств от вариантов?

Ответ:

 (1) могут быть разносортные элементы 

 (2) множество определяется всей совокупностью различимых элементов 

 (3) возможна многоуровневая организация - иерархия 

 (4) варианты существуют, если одно значение варианта удалось вычислить 


Номер 3
Какие особенности множеств не характерны для вариантов?

Ответ:

 (1) определяется всей совокупностью различимых элементов 

 (2) возможна многоуровневая организация - иерархия 

 (3) могут быть разносортные элементы 

 (4) произвольный порядок задания составляющих 




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