игра брюс 2048
Главная / Программирование / Введение в программирование на Лиспе / Тест 3

Введение в программирование на Лиспе - тест 3

Упражнение 1:
Номер 1
Что такое Атом:

Ответ:

 (1) это последовательность, состоящая из букв и цифр 

 (2) это последовательность, состоящая из букв и цифр, начинающаяся с буквы 

 (3) это последовательность, состоящая из букв и цифр, начинающаяся с цифры  


Номер 2
Информация в Лисп-системе представляется виде:

Ответ:

 (1) атомов 

 (2) символьных выражений(s-выражения) 

 (3) функций 


Номер 3
Что такое список:

Ответ:

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

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

 (3) последовательность строк, заключенных в скобки 


Упражнение 2:
Номер 1
Какие из представленных ниже форм представляет одноэлементный список в Лиспе:

Ответ:

 (1) ABC 

 (2) (ABC) 

 (3) (NIL ABC) 


Номер 2
Какие из представленных ниже форм представляют одноэлементный список в Лиспе:

Ответ:

 (1) Nil 

 (2) (Nil) 

 (3) (NIL . NIL) 


Номер 3
Какие из представленных ниже форм представляют одноэлементный список в Лиспе:

Ответ:

 (1) (Атом . Nil) 

 (2) (Atom) 

 (3) Atom 


Упражнение 3:
Номер 1
Какие из перечисленных представлений являются несписочным S-выражением:

Ответ:

 (1) (A) 

 (2) (A . B) 

 (3) '(A) 


Номер 2
Какие из перечисленных представлений являются несписочным S-выражением: 

Ответ:

 (1) (Atom) 

 (2) (1 . 3) 

 (3) Atom 


Номер 3
Какие из перечисленных представлений не являются списками: 

Ответ:

 (1) Lisp 

 (2) (Lisp) 

 (3) ('Lisp) 

 (4) (Lisp . Lisp) 


Упражнение 4:
Номер 1
Какие из данных выражений представлены списками:

Ответ:

 (1) (1 . 2) 

 (2)

 (3) (1 2) 


Номер 2
Какие из s-выражений являются списками?

Ответ:

 (1) (Nil . 1) 

 (2) (1 T) 

 (3) T . Nil 

 (4) (ab123) 


Номер 3
Какие из данных выражений представлены списками:

Ответ:

 (1) (()) 

 (2) (Nil . Nil) 

 (3) A 

 (4) ('A 'B) 


Упражнение 5:
Номер 1
Вычислимо ли выражение (EQ (car '(A)) (cdr'(B))), если да, то какой ответ является верным:

Ответ:

 (1) нет, не вычислимо 

 (2) да, ответ Nil 

 (3) да, ответ True 


Номер 2
Вычислимо ли выражение (EQ (car '(())) (cdr'(T . Nil))), если да, то какой ответ является верным:

Ответ:

 (1) нет, не вычислимо 

 (2) да, ответ False 

 (3) да, ответ T 


Номер 3
Какой из результатов может быть получен при вычислении формы (eq '(Nil) (atom '(T))), и укажите причину, почему это так:

Ответ:

 (1) сообщение об ошибке, т.к. '(nil) это список 

 (2) T, т.к. предикат atom выдаст значении Nil 

 (3) T, т.к. '(Nil) и '(T) являются атомами 

 (4) Nil, т.к. форма (eq '(Nil) (atom '(T))) сведется к вычислению (eq '(Nil) Nil) 

 (5) Nil, т.к. форма сведется к вычислению (EQ Nil T) 


Упражнение 6:
Номер 1
Какое из значений может быть получено при вычислении формы (cdr '( a (b (c)) d)):

Ответ:

 (1) (b (c)) 

 (2) (d) 

 (3) ((b (c)) d) 


Номер 2
Какое из значений может быть получено  вычислением формы (cdr '(( a b) c d)):

Ответ:

 (1) (с d) 

 (2) (d) 

 (3) (b c d) 


Номер 3
Какое из значений можно получить, вычислив форму (cdr '( a (b c) d)):

Ответ:

 (1) (b c) 

 (2) (a b c d) 

 (3) ((b c) d) 


Упражнение 7:
Номер 1
Какой из списков правильно представляет S-выражение (точечную нотацию) ((A . (B . C) ) . (D . (E . Nil))):

Ответ:

 (1) ((A B . C) . (D E)) 

 (2) ((A (B C)) (D E)) 

 (3) ((A (B C)) (D . E)) 


Номер 2
Укажите эквивалентную запись точеной нотации записи списочной нотации (A B (C) D)

Ответ:

 (1) (A . (B . (C . Nil) . D) ) 

 (2) (A . (B . ((C . Nil)) . D) ) 

 (3) (A . (B . ((C . Nil) . (D . Nil)))) 


Номер 3
Являются ли эквивалентными записи точечной и списочной нотаций (A . B . C) и (A B C) соответственно:

Ответ:

 (1) да 

 (2) нет, эквивалентными является записи (A . B . C) и (A (B C)) 

 (3) нет, эквивалентными является записи (A . (B . C)) и (A B C) 

 (4) нет, эквивалентными являются записи (A . (B . (C . Nil))) и (A B C) 


Упражнение 8:
Номер 1
Какие из перечисленных ниже форм вычислимы (не будет сообщения об ошибке):

Ответ:

 (1) (caddr '(a b с)) 

 (2) (caaadr '(a (b c))) 

 (3) (cdddr '(a b с)) 


Номер 2
Какие из перечисленных ниже выражений вычислимы (не будет сообщения об ошибке):

Ответ:

 (1) (caaaaaar '(a b с)) 

 (2) (caadr '(a (b c))) 

 (3) (cdar '(a (b))) 


Номер 3
Каким образом можно получить элемент 'e списка ((a b cd) ((e f) g)):

Ответ:

 (1) (cadr 'выражение) 

 (2) (caddr выражение) 

 (3) (caaadr 'выражение) 

 (4) (cdr (cdr (car (выражение)))) 

 (5) (car (car (car (cdr 'выражение)))) 


Упражнение 9:
Номер 1
Укажите правильный результат вычисления формы (Cons '(A) Nil):

Ответ:

 (1) пара элементов (A . Nil) 

 (2) s-выражение ((Nil . Nil) . A) 

 (3) одноэлементный список ((A)) 


Номер 2
Укажите правильный результат вычисления формы (Cons '(A) '(A)):

Ответ:

 (1) ((A) A) 

 (2) (A . (A)) 

 (3) пара элементов (A . A) 


Номер 3
Укажите правильный результат вычисления формы (Cons 'Nil '(A)):

Ответ:

 (1) (Nil . (Nil . A)) 

 (2) (Nil A) 

 (3) пара элементов (A . Nil) 

 (4) (Nil . A) 


Упражнение 10:
Номер 1
Результатом выполнения функции CONS над двумя атомами является:

Ответ:

 (1) атом 

 (2) список вида (Атом1 Атом2) 

 (3) бинарный узел вида (Атом1 . Атом2) 


Номер 2
Результатом выполнения функции CDR над списком является:

Ответ:

 (1) последний элемент списка, элемент может быть списком 

 (2) первый элемент списка, элемент может быть списком 

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

 (4) часть списка без первого элемента (списка или атома) 


Номер 3
Результатом выполнения функции СAR над списком является:

Ответ:

 (1) последний элемент списка, элемент может быть списком 

 (2) первый элемент списка, элемент может быть списком 

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




Главная / Программирование / Введение в программирование на Лиспе / Тест 3