Ответы на курс: Основы функционального программирования
Отметьте, в чем подобны варианты и множества.
| фиксированное число составляющих | |
| возможна многоуровневая организация — иерархия | |
| составляющие могут быть любой природы |
Какие особенности множеств не характерны для вариантов?
| многоуровневая организация | |
| могут быть разносортные элементы | |
| произвольный порядок задания составляющих |
Какое из определений при попадании в тупик позволяет получить значение, зависящее от внутреннего контекста?
| (defun escape (x) (throw ‘esc (print (list ‘ESCAPE x)))) | |
| (defun escape (x) (throw ‘esc Nil)) | |
| (defun escape (x) (throw ‘esc ‘ESCAPE)) |
На каком наборе данных функция insert (вставляет в список перед заданным элементом третий аргумент) сделает более двух обращений к самой себе?
| (a b d) e c | |
| () a c | |
| (b a c d) a b |
Отметьте имя автора языка программирования, поддерживающего фукнциональный подход к решению сложных задач?
| Джекоб Шварц | |
| Джон Мак-Карти | |
| Джон Бэкус |
Кто впервые сформулировал идеи языка программирования, послужившие основой для функционального программирования?
| Николас Вирт | |
| Тони Хоар | |
| Джон Мак-Карти |
Какой из перечисленных механизмов языка Лисп унаследован новыми языками программирования, например Perl и другие?
| предельно простой синтаксис | |
| ассоциативные таблицы | |
| самоопределение языка программирования |
Решение какой задачи было воспринято как ответ на вопрос о реализуемости искусственного разума?
| программа игры в шахматы | |
| автоматическая проверка доказательств теорем | |
| Auto-CAD — программный комплекс средств инженерной компьютерной графики для нужд проектирования: расчеты, чертежи и эскизы | |
| «Элиза» — программа-собеседник, имитирующая диалог с психоаналитиком |
Отметьте название языка программирования, в котором впервые поддержаны идеи функционального программирования
| Lisp | |
| Prolog | |
| Python |
Какое из приведенных данных представляет собой самое простое составное S-выражение?
| ( cons (a b) NIL ) | |
| ((one . один) (two. два) (three . три)) | |
| (A . B) |
Какое из приведенных данных представляет собой список?
| ( ( cons (a b) NIL )) | |
| ( ( cons (a b) NIL ) | |
| ((a . один) (b . два) (c . три) . пять) |
Какой из приведенных текстов не представляет собой ни список, ни сложное S-выражение?
| (один, два, три, четыре, два) | |
| ;; (a b c) | |
| (eq a (b . c)) |
Какое из приведенных данных представляет собой сложное S-выражение?
| ((one . один) (two. два) (three . три)) | |
| list | |
| ( ( cons (a b) NIL ) |
Что можно подправить, чтобы форма (cons ‘один ‘два ‘три) имела значение?
| поставить апострофы перед атомами | |
| заменить атомы списками | |
| оставить в списке только два аргумента |
Как можно воздействовать на форму (cons (a ‘два) (b ‘семь)), чтобы интерпретатор обязательно выдал ее значение, а не диагностическое сообщение?
| в начало каждого из аргументов следует вставить бинарную функцию, например, (eq a ‘два), (cons b ‘семь) в результате получится (cons (eq a ‘два) (cons b ‘семь)) | |
| символы a и b можно заменить на имена унарных функций над атомами, например atom или quote, что дает (cons (atom ‘два) (quote ‘семь)) | |
| заменить a и b на атом car, что дает (cons (car ‘два) (car ‘семь)) |
Какие из приведенных данных представляют собой список?
| ((a . atom) (b . binary) (c . char) . d) | |
| ( ( cons (a b) NIL ) | |
| (car (quote (a b c d))) | |
| ( ( cons (a b) NIL )) |
Как можно изменить форму (cons (a три) (b четыре)), чтобы получить значение cons от заданных списков, а не диагностическое сообщение?
| убрать лишние скобки в аргументах, что дает (cons a ‘три b ‘четыре) | |
| нужно поставить апосторофы таким образом (cons (‘a ‘три) (‘b ‘четыре)) | |
| перед каждым из аргументов вставить апостроф, блокирующий их вычисление, что дает (cons ‘(a ‘три) ‘(b ‘четыре)) |
На каком наборе данных функция append (соединение двух списков в один) даст результат сразу, без рекурсивных обращений к себе?
| (a (b c) d) () | |
| Nil ((a b) c d) | |
| (a b) (c d) |
На каких данных расход памяти (число cons) при вычислении функции subst (подстановка первого аргумента вместо второго в третий) равен длине последнего из аргументов?
| (x y) z (a b a z b z) | |
| (x) y (a b (y d) x c) | |
| x (y z) ((a y z) b c d ) | |
| x (y z) (a b x y z) |
Какие из списков представляют перечень ветвей условного выражения (можно вставить cond вслед за первой скобкой)?
| (((eq x (CAAR al)) (CAR x)) al) ((QUOTE T) (assoc x (CDR al))) | |
| ((eq(caar c)(cadar c)) (evcon(cdr c)a)) | |
| (prog ()((null x) al) (T (CONS (CONS (CAR x) (CAR Y) ) (pairlis (CDR x) (CDR y) al) )) |
На каких данных функция member (поиск элемента в списке) выполнит ровно три обращения к себе?
| a (c d e a f) | |
| f (a b c d e) | |
| d (a b c d e f) |
На каком наборе данных функция insert (вставляет в список перед заданным элементом третий аргумент) сделает менее трех обращений к самой себе?
| (b c d e a) a b | |
| (a b c d e) f c | |
| (a b c d) a c |
На каком данном функция append (сцепление двух списков) даст результат сразу, без рекурсии?
| (a b) (c d) | |
| (a b c d) () | |
| () (a b c) | |
| Nil ((a b) c d) |
Какие из перечисленных форм выработает результат (1 4 7 2 5 8 3 6 9)?
| (maplist #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapcan #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapcar #’+ ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) |
При вычислении какой из форм не возникнет проблем с выполнением отображающей функции на всех наборах аргументов?
| (mapc #’+ ‘(1 2 3) ‘(a b c)) | |
| (mapcar #’cons ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (maplist #’append ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) |
Какая из форм формально дает результат, отличающийся от построенной структуры данных?
| (mapc #’+ ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapcar #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapcar #’+ ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) |
Какая из перечисленных форм имеет значение (5 7 9)?
| (mapl #’* ‘(1 2 3) ‘(4 5 6)) | |
| (mapc #’+ ‘(1 2 3) ‘(4 5 6)) | |
| (mapcar #’+ ‘(1 2 3) ‘(4 5 6)) |
При вычислении какой из форм формальный результат не совпадает с построенной структурой?
| (mapcar #’+ ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapcar #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapl #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) |
В каком выражении отображающая функция не выполнится из-за несоответствия числа аргументов?
| (maplist #’CONS ‘(7 8 9)) | |
| (mapcar #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapc #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) |
В какой из форм отображающая функция не выполнится из-за несоответствия числа аргументов?
| (mapcar #’CAR ‘(4 5 6) ‘(7 8 9)) | |
| (mapc #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapcar #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) |
Какое из выражений при вычислении не искажает исходные данные?
| (mapc #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapcon #’+ ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapcan #’+ ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) |
Какое из выражений корректно вычислит отображающую функцию на всех наборах аргументов?
| (mapcar #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapc #’+ ‘(1 2 3) ‘(a b c)) | |
| (mapcar #’cons ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) |
Результат какой из форм совпадает с фактически построенной структурой?
| (mapc #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapcar #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) | |
| (mapl #’list ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) |
Какое из перечисленных S-выражений равносильно (A B (C D) E)?
| (A B (C D) . E) | |
| (A . (B . ((C . (D . Nil)) . (E . Nil))) ) | |
| (A B (C . D) E) |
Какое из S-выражений структурно отличается от (A (B C) D (E))?
| (A . ((B C) D (E))) | |
| (A B (C . (D . Nil)) E) | |
| (A (B C) . (D (E))) |
Какое из S-выражений равносильно (A B C (D E))?
| (A (B C) D (E)) | |
| (A B (C . (D . Nil)) E) | |
| (A B C (D . (E . Nil)) . Nil ) |
Значение какого выражения — (A . B)?
| ((lambda (x y) (list x y)) ‘a ‘b) | |
| (cons ‘c ‘b) | |
| ((lambda (y x) (cons x y)) ‘a ‘b) | |
| ((lambda (y x) (cons x y)) ‘b ‘a) |
Какое из перечисленных S-выражений напечатается как (A B (C D) E)?
| (A B (C . (D . Nil)) E) | |
| (A B (C . D) E) | |
| (A B (C D) . E) |
Какое из перечисленных S-выражений может быть изображено как (A B (C D) E)?
| (A B (C . D) E) | |
| (A b (C . (D)) . (E)) | |
| (A (B ((C . (D . Nil)) . (E . Nil))) ) | |
| (A B (C D) . E) |
Которое из выражений не может дать результат (Альфа Центавра) независимо от значения переменной?
| (cons ‘(Центавра) x) | |
| ((lambda (b) (list b x)) ‘ Альфа) | |
| ((lambda (b) (list x b)) ‘(Центавра)) | |
| ((lambda ( y) (cons y x)) ‘ Альфа) |
Отметьте выражения со свободными переменными
| (cond ((eq x y)(cons x ‘z))) | |
| (lambda (x y) (cons z y)) | |
| (lambda (y) (cons x x)) | |
| (lambda (x) (quote (A B C D))) |
Какие из перечисленных S-выражений равносильны?
| (A B (C D) . E) | |
| (A . (B . ((C . (D . Nil)) . (E . Nil))) ) | |
| (A B (C . D) E) | |
| (A B (C . (D . Nil)) E) |
Какой список значений аргументов соответствует списку параметров вида (x y z &rest t)?
| (1 (2 3 4 5)) | |
| ((CONS ‘a ‘b )) | |
| (‘CONS (car x)(cdr x)) |
Выберите определение функции, чтобы получить список из единиц такой же длины как аргумент:
| (defun LN (L) (cond ((null L)Nil) (T (Cons L (LN (cdr L)))) )) | |
| (defun LN (L) (cond ((null L)Nil) (T (Cons 1 (LN (cdr L)))) ) L) | |
| (defun LN (L) (cond (L (Cons 1 (LN (cdr L)))) (1 L) )) |
Какой список аргументов не соответствует списку формальных параметров (x y z &rest t)?
| (‘CONS (car x)(cdr x)) | |
| (1 2 3 4 5) | |
| ((a)(b) (c)) | |
| Nil |
Какая из форм не равнозначна остальным?
| (union Nil ‘(1 2 3 1 2 3)) | |
| (union ‘(1 2 3) ‘(1 2 3)) | |
| (union ‘(1 2 3 ) NIL ) |
Какая форма последовательно последовательно вычислит выражения e1 e2 3, а потом выдаст значение e1 результат?
| (prog (x) (setq x e1) e2 e3 (print x)) | |
| ((lambda (a1 a2 a3) a1) e1 e2 e3) | |
| (let ((a1 e1) (a2 e2) (a3 e3)) (quote e1) |
Какой из списков фактических параметров не соответствует списку формальных параметров вида (x y z &rest t)?
| (‘CONS (car x)(cdr x)) | |
| (1 (2 3 4 5)) | |
| ((a)(b) (c)) | |
| (1 2 3 4 5) |
Какая из форм построит список уникальных чисел (использовать определение объединения из лекции)?
| (union Nil ‘(1 2 3 1 2 3)) | |
| (union ‘(1 2 3) ‘(1 2 3 2)) | |
| (union ‘(1 2 3 1 2 3) Nil) |
Какая из перечисленных команд понадобятся при компиляции выражения (CADR n)?
| s e (LDF f . c) d -> ((f . e) . s) e c d | |
| s e (LD n . c) d -> (x . s) e c d , где x — это значение (N-th n e ) | |
| s e (JOIN ) (c . d) -> s e c d |
Какое выражение не может быть исходным для кода программы на языке абстрактной машины (LD @n CDR CAR)?
| (CAR (CDR n)) | |
| (CADR n ) | |
| (EQ (ATOM n) ‘ CAR ) |
Какое выражение может при компиляции дать объектный код ( LD @n CDR CAR )?
| (EQ (CAR n) ‘QUOTE ) | |
| (COND ((EQ n 0 )(CAR l )) (T (CONS (SUB1 n ) (CDR l ) )) )) | |
| (LET ((a (CDR n)))(CAR a)) |
Какая из перечисленных команд SECD не меняет размер стека результатов?
| (a . s) e (ADD1 . c) d -> (a+1 . s) e c d | |
| (a b . s) e (EQ . c) d -> (t . s) e c d , где t — логическое значение. | |
| (a b . s) e (CONS . c) d -> ((a . b) . s) e c d | |
| s e (LDC q . c) d -> (q . s) e c d |
Какая из перечисленных команд SECD не влияет на размер стека результатов?
| ((a . b) . s) e (CAR . c) d -> (a . s) e c d | |
| (a b . s) e (CONS . c) d -> ((a . b) . s) e c d | |
| (a b . s) e (EQ . c) d -> (t . s) e c d , где t — логическое значение. | |
| s e (LDC q . c) d -> (q . s) e c d |
Какое выражение эквивалентно объектному коду ( LD @n CDR CAR )?
| (EQ (CAR n) ‘QUOTE ) | |
| (CAR (CDR n)) | |
| (COND ((EQ n 0 )(CAR l )) (T (CONS (SUB1 n ) (CDR l ) )) )) |
Какая из перечисленных команд SECD сохраняет размер стека результатов?
| s e (LDC q . c) d -> (q . s) e c d | |
| (a . s) e (SUB1 . c) d -> (a-1 . s) e c d | |
| (a b . s) e (EQ . c) d -> (t . s) e c d , где t — логическое значение. | |
| (a b . s) e (CONS . c) d -> ((a . b) . s) e c d |
Какие из перечисленных команд SECD не меняют размер стека результатов?
| (a . s) e (ADD1 . c) d -> (a+1 . s) e c d | |
| (a b . s) e (EQ . c) d -> (t . s) e c d , где t — логическое значение | |
| (a b . s) e (CONS . c) d -> ((a . b) . s) e c d | |
| ((a . b) . s) e (CAR . c) d -> (a . s) e c d | |
| s e (LDC q . c) d -> (q . s) e c d | |
| (a . s) e (SUB1 . c) d -> (a-1 . s) e c d |
Какое из определений не использует функциональных переменных?
| (defun MAP(LAMBDA(L FN)(COND ((NULL L)NIL)(T(CONS(FN L)(MAP(CDR L)FN)))))) | |
| (LAMBDA (A) (PROG (B) S (SETQ B A) (SETQ C (CONS (CAR A) C)) (GO S) ) | |
| (defun YDOT(LAMBDA(X Y FN)(MAPCAR FN X Y)))))) |
Какие из определений содержат функциональные переменные?
| (defun YDOT (X Y)(MAPLIST X(FUNCTION(LAMBDA(J)(CONS(CAR J)Y))))) | |
| (LAMBDA (A) (PROG (B) S (SETQ B A) (SETQ C (CONS (CAR A) C)) (GO S) )) | |
| (defun отобр (список ФН)(COND ((NULL список)NIL)(T(CONS(ФН список)(MAP(CDR список)FN))))) |
Какое из приведенных определений можно компилировать без информации о типе свободной переменной
| (defun YDOT(LAMBDA(Y)(MAPLIST (FUNCTION(LAMBDA(J)(CONS(CAR J)Y))) X))) | |
| (LAMBDA (A) (PROG (B С) S (SETQ B A) (SETQ C (CONS (CAR A) C)) (GO S) )) | |
| (lambda (v) (assoc X N v)) |
Какое из определений не содержит функциональных переменных?
| (defun YDOT(LAMBDA(X Y)(MAPLIST (FUNCTION(LAMBDA(J)(CONS(CAR J)Y))) X))) | |
| (LAMBDA (A Fn) (PROG (B) S (SETQ B A) (SETQ C (CONS (Fn A) C)) (GO S) )) | |
| (defun MAP(LAMBDA(L FN)(COND ((NULL L)NIL)(T(CONS(FN L)(MAP(CDR L)FN)))))) |
В какое из определений не входят безымянные функции?
| (defun MAP (L FN)(COND ((NULL L)NIL)(T(CONS(FN L)(MAP(CDR L)FN)))))) | |
| (lambda (v) (funcall (lambda (x) (cons x x)) v) | |
| (defun YDOT (X Y)(MAPLIST (FUNCTION(LAMBDA(J)(CONS(CAR J)Y))) X))) |
Какое из определений не содержат свободных переменных?
| (defun YDOT(LAMBDA(X Y)(MAPLIST (FUNCTION(LAMBDA(J)(CONS(CAR J)Y))) X))) | |
| (lambda (v) (assoc X N v)) | |
| (LAMBDA (A) (PROG (B) S (SETQ B A) (SETQ C (CONS (CAR A) C)) (GO S) )) |
Какое из определений не содержит безымянных функций?
| (defun YDOT (X Y)(MAPLIST (FUNCTION(LAMBDA(J)(CONS(CAR J)Y))) X))) | |
| (lambda (v) (funcall (lambda (x) (cons x x)) v) | |
| (LAMBDA (A) (PROG (B) S (SETQ B A) (SETQ C (CONS (CAR A) C)) (GO S) )) |
Какая из перечисленных функций, строящих структуры данных, не имеет в системе Clisp деструктивных аналогов?
| remove | |
| sort | |
| union | |
| reverse |
Какая из перечисленных функций, деструктурирущих данные, является в языке Clisp функциональным эквивалентом другой функции, сохраняющей исходные данные?
| cons | |
| list | |
| Pairlis | |
| sort | |
| nconc |
Какая из перечисленных функций, строящих структуры данных, не может иметь деструктивных аналогов?
| reverse | |
| union | |
| list | |
| remove |
Какая из перечисленных функций языка Clisp, деструктурирущих данные, может быть заменена на функциональный эквивалент, гарантирующих сохранение исходных данных?
| Subst | |
| list | |
| sort | |
| nsubst | |
| Pairlis |
Отметьте форму, открывающую файл так, что в нем сохраняется вся попадавшая в него информация.
| (open «history» :direction :output :if-exists :append :if-does-not-exist :create ) | |
| (open «output» :direction :output :if-exists :rename) | |
| (open «protocol» :direction :output :if-exists :overwrite :if-does-not-exist :error) |
Замена какой из перечисленных функций на имеющийся в языке Clisp деструктивный аналог повышает эффективность программ без потери функциональной эквивалентности?
| pairlis | |
| union | |
| list | |
| sort |
Отметьте формы, открывающие файл так, что в нем можно сохранить результаты только текущего сеанса, без лишней информации.
| (open file-in :direction :io ) | |
| (open «output» :direction :output :if-exists :rename :if-does-not-exist :create) | |
| (open «history» :direction :output :if-exists :append) |
Какая из форм позволит получить список атомов, имена которых содержат CAR, в системе программирования для языка Clisp?
| (symbol-plist ‘fn) | |
| (apropos-list ‘CAR ) | |
| (symbol-plist ‘fn) | |
| (documentation ‘fn ‘function) |
Какая из форм позволит получить список атомов, имена которых содержат CAR, в системе программирования для языка Clisp?
| (symbol-plist ‘fn) | |
| (documentation ‘fn ‘function) | |
| (symbol-plist ‘fn) | |
| (apropos-list ‘CAR ) |
Что из перечисленного можно рассматривать как объекты одного класса?
| стул | |
| стол | |
| стан |
Что из перечисленного не стоит рассматривать как объект класса <одежда> ?
| платье | |
| жилет | |
| сапоги | |
| шаровары |
Отметьте выражение, объявляющее новый метод.
| (defclass alltd () ((type :accessor td)) (:documentation «everyting»)) | |
| (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x ‘type) nt) (setf (td x) nt)) | |
| (defclass expr (alltd) ((sd :accessor ft)) (:documentation «C-expression»)) | |
| (setf e3 (make-instance ‘expr)) | |
| (setf (slot-value e3 ‘sd) (read)) | |
| (td e3) | |
| (texpr e3 ‘expr) |
Какую из перечисленных функций не стоит включать в общее семейство с остальными функциями?
| площадь у вокзала | |
| объем цилиндра | |
| длина отрезка | |
| площадь круга |
Отметьте выражения, объявляющие новый экземпляр объекта.
| (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x ‘type) nt) (setf (td x) nt)) | |
| (texpr e3 ‘expr) | |
| (defclass alltd () ((type :accessor td)) (:documentation «everyting»)) | |
| (setf e3 (make-instance ‘expr)) | |
| (td e3) | |
| (setf (slot-value e3 ‘sd) (read)) | |
| (defclass expr (alltd) ((sd :accessor ft)) (:documentation «C-expression»)) |
Что из перечисленного не стоит рассматривать как объект класса <канцелярские товары>?
| тетрадь | |
| фломастер | |
| ежедневник | |
| книга |
Какое из перечисленных выражений дает новое значение полю существующего объекта?
| (defclass expr () ((type :accessor td) (sd :accessor ft)) (:documentation «C-expression»)) | |
| (setf (slot-value e3 ‘sd) (read)) | |
| (td e3) | |
| (setf e3 (make-instance ‘expr)) | |
| (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x ‘type) nt) (setf (td x) nt)) |
Какая из ловушек позволяет поймать внутреннее прерывание?
| (progn (catch ‘escape (cond ((null xl) (throw ‘esc Nil))))) | |
| (progn (catch ‘OK (catch ‘esc : (cond ((CAR xl)(throw ‘OK xl)) ((null xl) (throw ‘esc Nil))):))) | |
| (progn (catch ‘esc : (cond ((null xl)Nil) ((cond ((null xl) (throw ‘esc Nil))))):)) |
В чем выражаются отличия структуры множеств от вариантов?
| произвольное число составляющих | |
| могут быть разносортные элементы | |
| структура множества определяется всей совокупностью различимых элементов |
Отметьте функции для работы с множествами
| reverse | |
| intersection | |
| union | |
| set-difference | |
| delete | |
| member |
Какая из форм не содержит подвыражений, допускающих замену на их значения?
| (cons 1 (cons 2 3)) | |
| (cons ‘A (car(cons x (cons ‘B y)))) | |
| (cond (x (car(cons ‘A ‘B)))(T (cons 1 (cons 2 3)))) |
Вычисление каких подформул не может происходить вообще?
| предикаты в ветвлениях | |
| параметры специальных функций | |
| непомеченные выражения, расположенные сразу вслед за RETURN в форме PROG |
Вычисление какой подформулы не гарантировано при исполнении общей формулы?
| произвольное число аргументов функции LIST | |
| параметры обычных функций | |
| предикаты в ветвлениях |
Какая из форм содержит общие подвыражения, которые целесообразно вычислить предварительно, чтобы избежать повторного вычисления одних и тех же выражений?
| (cons ‘A (car(cons x (cons ‘A x)))) | |
| (cond (x (car(cons ‘A ‘B)))(T (cons 1 (cons 2 3)))) | |
| (list 1 (cons 2 x) 2 (cons 2 x) 3 (cons 2 x) | |
| (car(cons 1 (cons x 1))) |
Какая из форм не содержит константных подвыражений?
| (cond (x (car(cons ‘A ‘B)))(T (cons 1 (cons 2 3)))) | |
| (car(cons 1 (cons x 3))) | |
| (cons 1 (cons 2 3)) |
Какая из перечисленных форм содержит подвыражения, которые можно не вычислять, т.к. их значения не влияют на результат?
| (cond (x (cons ‘A x)) (y (cons 1 (cons 2 y)) )) | |
| (car(cons 1 (cons 2 3))) | |
| (cons 1 (cons 2 3)) |
Вычисление каких подформул вообще невозможно, точнее, бессмысленно?
| выражения, зависящие от свободных переменных, значения которых не определены | |
| предикаты в ветвлениях | |
| параметры внешних функций |
В какой из перечисленных форм можно вычислять не все подвыражения независимо от значений переменных?
| (cond (cons ‘A (car(cons x y)) ) (cons ‘one x) ) (T (cons ‘two y)) ) | |
| (cond (T(car(cons ‘A ‘B)))((cons x (cons 2 3))T)) | |
| (cond (x (cons x (cons 2 3)))) |
В какой из перечисленных форм все подвыражения необходимо вычислить?
| (cons 1 (cons 2 3)) | |
| (eq ‘A (car(cons ‘A (cons ‘B ‘C)))) | |
| (car(cons 1 (cons 2 3))) |
Вычисление какой подформулы может происходить не при каждом исполнении общей формулы?
| параметры специальных функций, например, операторы в форме prog | |
| параметры обычных функций | |
| самые левые предикаты в ветвлениях |
Какая из функций соответствует спецификации аргументов: List(X) -> List(X) ?
| (lambda (xl) (cond (xl (cond ((cons ‘A (car xl))T))))) | |
| (lambda (x ) (reverse x)) | |
| (lambda (x ) (cons ‘A x)) |
Спецификации результатов какой из функций соответствует формуле: (X List(X)) -> List(X) ?
| (lambda (x xl) (cond (xl (cond ((eq x (car xl))T))))) | |
| (lambda (x y) (delete x y)) | |
| (lambda (x y) (eq y x)) |
Какая из функций соответствует спецификации результатов: (X List(X)) -> List(X) ?
| (lambda (x xl) (cond (xl (cond ((eq x (car xl))xl))))) | |
| (lambda (x y) (cons y ‘A)) | |
| (lambda (x y) (member y x)) |
Какая из спецификаций аргументов и результатов соответствует определению функции:
(lambda (x xl) (cond (xl (cond ((eq x (car xl))xl)))))
| (Atom List(Some)) -> List(Some) | |
| (Atom List(Atom)) -> List(Atom) | |
| (Some List(Some))-> List(Some) |
Какая из функций не соответствует спецификации результатов (X List(X)) -> List(X)?
| (lambda (x xl) (cond (xl (cond ((eq x (car xl))xl))))) | |
| (lambda (x y) (eq x y)) | |
| (lambda (x y) (cons x y)) |
Аргументы какой из функций должны соответствовать спецификации: List(X) -> List(X) ?
| (lambda (xl) (cond (xl (cond ((eq ‘A xl)T))))) | |
| (lambda (x ) (append x ‘(1 2 3))) | |
| (lambda (x y) (cons x y)) |
Какие из спецификаций аргументов и результатов соответствуют определению функции:
(lambda (x xl) (cond (xl (cond ((eq x (car xl))xl)))))
| (Atom List(Some) ) -> List(Some) | |
| ( Atom List(Atom)) -> List(Some) | |
| ( Some List(Some)) -> List(Atom) |
Какие из функций соответствуют спецификации или аргументов, или результатов, но не того и другого сразу:
(X List(X)) -> List(X)
| cons | |
| (lambda (x xl) (cond (xl (cond ((eq x (car xl))T))))) | |
| list |
Выберите спецификацию, которой заведомо не соответствует тест ((a 1)( b 2)( 3 4)).
| List ({Atom, Number}) | |
| List(List(Atom)) | |
| List ( List(Atom Number)) |
Какой спецификации соответствует данный тест ((a . 1)( b . 2)( 3 . 4)).
| List ({Atom, Number}) | |
| List(List(Atom)) | |
| List ((Atom . Number)) |
Выберите тест, соответствующий спецификации List (Atom) => List (Number).
| ((A) 1 () 2 () 3) => (1 2 3) | |
| (1 2 3 4) => () | |
| (A B C ) => B |
Отметьте тест, на котором сработает функция:
(defun Assoc (x al) (cond (al(cond ((eq (x (caar al))) (car al))))
| ( ((A . S))) => S | |
| (A ( X A B C )) => (A B C) | |
| (A ((A . B)) ) => (A . B) |
Отметьте спецификации, которым соответствует функция Subst.
| (Atom Atom S (Atom)) => S (Atom) | |
| (Atom Some List (Atom)) => List (Some) | |
| (Atom Some S (Atom)) => S (Some) |
Какой из перечисленных языков программирования сложился как эффективная система функционального программирования?
| Python | |
| Forth | |
| Pascal |
Какой из перечисленных языков программирования сложился как высокопроизводительная система функционального программирования?
| Setl | |
| Sisal | |
| Apl |
Отметьте систему, разработанную на базе Лиспа.
| Emacs – текстовый редактор в ОС UNIX | |
| ТОР – компактный текстовый редактор для MSX | |
| Q – встраиваемый текстовый редактор |
Какой механизм реализации Лисп-систем встречается в системах программирования на базе языка Perl?
| управление синтаксисом приема данных | |
| открытый доступ из программы к основным компонентам системы | |
| понятие ассоциативной таблицы, реализованной как хэш-таблица |
Какая из перечисленных команд SECD удлиняет стек результатов (S)?
| s e (LD n . c) d -> (x . s) e c d , где x — это значение (N-th n e ) | |
| (a b . s) e (CONS . c) d -> ((a . b) . s) e c d | |
| (a . s) e (ATOM . c) d -> (t . s) e c d |
Какие из определений содержит безымянную функциональную константу?
| (LAMBDA (A) (PROG (B) S (SETQ B A) (SETQ C (CONS (CAR A) C)) (GO S) )) | |
| (defun YDOT(LAMBDA(X Y)(MAPLIST (FUNCTION(LAMBDA(J)(CONS(CAR J)Y))) X))) | |
| (defun MAP(LAMBDA(L FN)(COND ((NULL L)NIL)(T(CONS(FN L)(MAP(CDR L)FN)))))) | |
| (lambda (v) (funcall (cond ((E P)S1) (T(E S2)) ) v) |
Какой из перечисленных языков программирования сложился система функционального программирования для исследовательских целей?
| ML | |
| Simula | |
| Pascal |


Добавить комментарий
Для отправки комментария вы должны авторизоваться.