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