Главная / Программирование /
Основы функционального программирования / Тест 4
Основы функционального программирования - тест 4
Упражнение 1:
Номер 1
Какая из перечисленных форм имеет значение (5 7 9)
?
Ответ:
 (1) (mapcar #'+ '(1 2 3) '(4 5 6))
 
 (2) (mapc #'+ '(1 2 3) '(4 5 6))
 
 (3) (mapl #'* '(1 2 3) '(4 5 6))
 
Номер 2
Какая из перечисленных форм построит значение ((2 3)(3) Nil)
?
Ответ:
 (1) (mapl #'cdr '(1 2 3))
 
 (2) (mapcar #'cdr '(1 2 3))
 
 (3) (maplist #'cdr '(1 2 3))
 
Номер 3
Какие из перечисленных форм выработает результат (1 4 7 2 5 8 3 6 9)
?
Ответ:
 (1) (mapcan #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (maplist #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
Упражнение 2:
Номер 1
Какая из форм безопасна для исходных данных?
Ответ:
 (1) (mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapcon #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapcan #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 2
Какая из форм не искажает исходные данные?
Ответ:
 (1) (mapcan #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapcon #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (maplist #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 3
Какое из выражений при вычислении не искажает исходные данные?
Ответ:
 (1) (mapcon #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapc #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapcan #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 4
Какая из форм сохраняет исходные данные?
Ответ:
 (1) (mapcan #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapl #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapcon #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
Упражнение 3:
Номер 1
Какая из форм может разрушить исходные данные?
Ответ:
 (1) (mapcan #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (maplist #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapc #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 2
Какая из форм опасна для сохранения исходных данных?
Ответ:
 (1) (maplist #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapcon #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapc #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 3
Какие из форм при вычислении разрушает исходные данные?
Ответ:
 (1) (mapcan #'- '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (maplist #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapl #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (4) (mapc #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
Упражнение 4:
Номер 1
Какая из форм формально дает результат, отличающийся от построенной структуры данных?
Ответ:
 (1) (mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapcar #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapc #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 2
При вычислении какой из форм формальный результат не совпадает с построенной структурой?
Ответ:
 (1) (mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapcar #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapl #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 3
Результат какой из форм совпадает с фактически построенной структурой?
Ответ:
 (1) (mapcar #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapc #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapl #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
Упражнение 5:
Номер 1
Какая из форм корректно выполнит отображающую функцию на всех наборах аргументов?
Ответ:
 (1) (mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapc #'+ '(1 2 3) '(a b c))
 
 (3) (mapcar #'cons '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 2
Какое из выражений корректно вычислит отображающую функцию на всех наборах аргументов?
Ответ:
 (1) (mapcar #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapc #'+ '(1 2 3) '(a b c))
 
 (3) (mapcar #'cons '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 3
При вычислении какой из форм не возникнет проблем с выполнением отображающей функции на всех наборах аргументов?
Ответ:
 (1) (maplist #'append '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapc #'+ '(1 2 3) '(a b c))
 
 (3) (mapcar #'cons '(1 2 3) '(4 5 6) '(7 8 9))
 
Упражнение 6:
Номер 1
В какой из форм отображающая функция не выполнится из-за несоответствия типов значений?
Ответ:
 (1) (mapcar #'+ '(1 2 3) '(I O C) '(7 8 9))
 
 (2) (maplist #'cons '(1 2 3) '(I O C) '(7 8 9))
 
 (3) (mapcar #'list '(1 2 3) '(I O C) '(7 8 9))
 
Номер 2
В какой из форм несоответствия типов значений помешает выполнению отображающей функции?
Ответ:
 (1) (maplist #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapc #'+ '(1 2 3) '(4 5 6) (+ 7 8 9))
 
 (3) (mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 3
В каком выражении не выполнима отображающая функция (несоответствие типов значений)?
Ответ:
 (1) (mapcar #'+ '(1 (2) 3) '(4 5 6)'(7 8 9))
 
 (2) (maplist #'list '(1 2 3) '(4 5 6) '( 7 8 9))
 
 (3) (mapc #'list '(1 2 3) '(4 5 6) (list 7 8 9))
 
 (4) (mapl #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
Упражнение 7:
Номер 1
В какой из форм отображающая функция не выполнится из-за несоответствия числа аргументов?
Ответ:
 (1) (mapcar #'CAR '(4 5 6) '(7 8 9))
 
 (2) (mapcar #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapc #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 2
В каком выражении отображающая функция не выполнится из-за несоответствия числа аргументов?
Ответ:
 (1) (mapcar #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (maplist #'CONS '(7 8 9))
 
 (3) (mapc #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 3
В какой из форм выполнение отображающей функции не зависит от числа аргументов?
Ответ:
 (1) (mapcar #'CAR '(4 5 6) '(7 8 9))
 
 (2) (mapcar #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (maplist #'CONS '(7 8 9))
 
Упражнение 8:
Номер 1
Какие из перечисленных форм обработают аргументы по общей схеме?
Ответ:
 (1) (mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapcar #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (maplist #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (4) (mapc #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 2
Какая из перечисленных форм обработает аргументы не по общей схеме?
Ответ:
 (1) (mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapcar #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (maplist #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (4) (mapc #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 3
Какие из перечисленных форм одинаково обрабатывают исходные данные?
Ответ:
 (1) (mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapcan #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (maplist #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (4) (mapc #'* '(11 22 33) '(44 55 66) '(77 88 99))
 
Упражнение 9:
Номер 1
Какие из форм не искажают исходные данные?
Ответ:
 (1) (mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapcar #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (maplist #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (4) (mapcan #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 2
Какие из форм могут разрушить исходные данные?
Ответ:
 (1) (mapcan #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (maplist #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapcon #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (4) (mapc #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
Номер 3
Какие из форм дают формально одинаковый результат?
Ответ:
 (1) (mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (2) (mapcar #'list '(1 2 3) '(4 5 6) '(7 8 9))
 
 (3) (mapc #'+ '(1 2 3) '(4 5 6) '(7 8 9))
 
 (4) (mapl #'list '(1 2 3) '(4 5 6) '(7 8 9))