Главная / Программирование /
Основы функционального программирования / Тест 9
Основы функционального программирования - тест 9
Упражнение 1:
Номер 1
Какая из перечисленных функций, строящих структуры данных, имеет в языке Clisp деструктивный аналог, позволяющий повышать эффективность функциональных программ?
Ответ:
 (1) append 
 (2) list 
 (3) pairlis 
 (4) sort 
Номер 2
Какая из перечисленных функций, строящих структуры данных, может быть замена на имеющийся в языке Clisp деструктивный аналог, позволяющий повысить эффективность функциональной программы?
Ответ:
 (1) reverse 
 (2) pairlis 
 (3) list 
 (4) sort 
Номер 3
Замена какой из перечисленных функций на имеющийся в языке Clisp деструктивный аналог повышает эффективность программ без потери функциональной эквивалентности?
Ответ:
 (1) union 
 (2) pairlis 
 (3) sort 
 (4) list 
Упражнение 2:
Номер 1
Какая из перечисленных функций, строящих структуры данных, не может иметь деструктивных аналогов?
Ответ:
 (1) remove 
 (2) reverse 
 (3) union 
 (4) list 
Номер 2
Для какой из перечисленных функций, строящих структуры данных, деструктивные аналоги не имеют смысла?
Ответ:
 (1) remove 
 (2) reverse 
 (3) union 
 (4) pairlis 
Номер 3
Какая из перечисленных функций, строящих структуры данных, не имеет в системе Clisp деструктивных аналогов?
Ответ:
 (1) remove 
 (2) reverse 
 (3) union 
 (4) sort 
Упражнение 3:
Номер 1
Какая из перечисленных функций, деструктурирущих данные, является в языке Clisp функциональным эквивалентом другой функции, сохраняющей исходные данные?
Ответ:
 (1) nconc 
 (2) cons 
 (3) list 
 (4) Pairlis 
 (5) sort 
Номер 2
Какая из перечисленных функций языка Clisp, деструктурирущих данные, может быть заменена на функциональный эквивалент, гарантирующих сохранение исходных данных?
Ответ:
 (1) Subst 
 (2) nsubst 
 (3) list 
 (4) Pairlis 
 (5) sort 
Номер 3
Какая из перечисленных функций, деструктурирущих данные, функционально эквивалентна другой функции языка Clisp, не разрушаюшей исходные данные?
Ответ:
 (1) union 
 (2) cons 
 (3) nunion 
 (4) list 
 (5) Pairlis 
 (6) sort 
Упражнение 4:
Номер 1
Отметьте форму, открывающую файл так, что в нем сохраняется вся попадавшая в него информация.
Ответ:
 (1) (open "history" :direction :output :if-exists :append :if-does-not-exist :create ) 
 (2) (open "output" :direction :output :if-exists :rename) 
 (3) (open "protocol" :direction :output :if-exists :overwrite :if-does-not-exist :error) 
Номер 2
Отметьте форму, открывающую файл так, что в нем можно сохранить результаты только текущего сеанса, без более ранней информации.
Ответ:
 (1) (open "output" :direction :output :if-exists :rename :if-does-not-exist :create) 
 (2) (open file-in :direction :input ) 
 (3) (open "history" :direction :output :if-exists :append) 
Номер 3
Отметьте формы, открывающие файл так, чтобы он был пригоден только для чтения данных.
Ответ:
 (1) (open file-in :direction :io ) 
 (2) (open "protocol" :direction :input :if-does-not-exist :create) 
 (3) (open "history" :direction :output :if-exists :append :if-does-not-exist :create ) 
Упражнение 5:
Номер 1
Присутствие какого из перечисленных атомов можно обнаружить с помощью заданной формы (apropos 'CAR ) в системе программирования для языка Clisp?
Ответ:
 (1) CAAR 
 (2) CADR 
 (3) MAPCAN 
 (4) CHAR 
 (5) CARDINAL 
Номер 2
Присутствие какого из перечисленных атомов можно обнаружить с помощью заданной формы (apropos 'CDR ) в системе программирования для языка Clisp?
Ответ:
 (1) CDR 
 (2) CADR 
 (3) MAPCAR 
 (4) CHAR 
 (5) CARDINAL 
Номер 3
Присутствие какого из перечисленных атомов можно обнаружить с помощью заданной формы (apropos 'CAR ) в системе программирования для языка Clisp?
Ответ:
 (1) CADAR 
 (2) CADR 
 (3) MAPCAR 
 (4) CHAR 
Упражнение 6:
Номер 1
Какая из форм даст неформальное описание заданной функции, если оно включено в комплект поставки системы программирования для языка Clisp?
Ответ:
 (1) (documentation 'fn 'function) 
 (2) (apropos 'FN ) 
 (3) (describe 'fn) 
Номер 2
Какая из форм позволит увидеть формальное определение заданной функции в данный момент в системе программирования для языка Clisp?
Ответ:
 (1) (describe 'fn) 
 (2) (apropos 'FN ) 
 (3) (documentation 'fn 'function) 
 (4) (symbol-plist 'fn) 
Номер 3
Какая из форм позволит увидеть формальное определение всех свойств атома в системе в данный момент в системе программирования для языка Clisp?
Ответ:
 (1) (apropos 'FN ) 
 (2) (symbol-plist 'fn) 
 (3) (documentation 'fn 'function) 
 (4) (describe 'fn) 
Упражнение 7:
Номер 1
Какая из форм позволяет увидеть список всех атомов, имена которых содержат CAR в системе программирования для языка Clisp?
Ответ:
 (1) (apropos 'CAR ) 
 (2) (symbol-plist ' CAR) 
 (3) (documentation ' CAR 'function) 
 (4) (describe 'car) 
Номер 2
Какая из форм позволяет увидеть список атомов заданного пакета, имена которых содержат CAR, в системе программирования для языка Clisp?
Ответ:
 (1) (apropos 'CAR 'package) 
 (2) (symbol-plist 'car) 
 (3) (documentation 'car 'package) 
 (4) (describe 'car) 
Номер 3
Какая из форм позволит получить список атомов, имена которых содержат CAR, в системе программирования для языка Clisp?
Ответ:
 (1) (apropos-list 'CAR ) 
 (2) (symbol-plist 'fn) 
 (3) (documentation 'fn 'function) 
 (4) (symbol-plist 'fn) 
Упражнение 8:
Номер 1
Какие из перечисленных функций, составляющих структуры данных, имеют деструктивные аналоги, позволяющие повышать эффективность функциональных программ на языке Clisp?
Ответ:
 (1) append 
 (2) reverse 
 (3) union 
 (4) list 
 (5) pairlis 
 (6) sort 
Номер 2
Какие из перечисленных функций, составляющих структуры данных, не имеют деструктивных аналогов в языке Clisp?
Ответ:
 (1) remove 
 (2) reverse 
 (3) union 
 (4) list 
 (5) pairlis 
 (6) sort 
Номер 3
Какие из перечисленных функций, составляющих структуры данных, являются деструктивными аналогами других функций в языке Clisp?
Ответ:
 (1) nconc 
 (2) nsubst 
 (3) nunion 
 (4) list 
 (5) Pairlis 
 (6) sort 
Упражнение 9:
Номер 1
Отметьте форму, открывающую файл так, что в нем сохраняется вся попадавшая в него информация
Ответ:
 (1) (open "dump" :direction :output :if-exists :append :if-does-not-exist :create ) 
 (2) (open "context" :direction :output :if-exists :rename) 
 (3) (open "remark" :direction :output :if-exists :overwrite :if-does-not-exist :error) 
Номер 2
Отметьте формы, открывающие файл так, что в нем можно сохранить результаты только текущего сеанса, без лишней информации.
Ответ:
 (1) (open "output" :direction :output :if-exists :rename :if-does-not-exist :create) 
 (2) (open file-in :direction :io ) 
 (3) (open "history" :direction :output :if-exists :append) 
Номер 3
Отметьте формы, открывающие файл так, чтобы он был пригоден для чтения данных
Ответ:
 (1) (open file-in :direction :input ) 
 (2) (open "protocol" :direction :io :if-does-not-exist :create) 
 (3) (open "history" :direction :output :if-exists :append :if-does-not-exist :create )