Главная / Программирование /
Введение в программирование на Лиспе / Тест 10
Введение в программирование на Лиспе - тест 10
Упражнение 1:
Номер 1
Для каких целей в Лисп-системе используют список свойств атома:
Ответ:
 (1) для хранения значений переменных, определений функции и других свойств, в т.ч. создаваемых самим программистом 
 (2) для хранения данных о состоянии ячейки памяти, занимаемой атомом 
 (3) для хранения контекста, в котором используется данный атом 
Номер 2
Какая информация содержится в элементах списка свойств атома:
Ответ:
 (1) символьное название (1 элемент) 
 (2) наименование хранится в ассоциативном списке, а в списке свойств атома хранятся добавляемые пользователем свойства (нефиксированное количество элементов) 
 (3) наименование и значение хранится в списке свойств атома, там же хранятся добавляемые пользователем свойства (произвольное количество элементов) 
Номер 3
Какая информация содержится в элементах списка свойств атома:
Ответ:
 (1) наименование и значение атома, а также любое количество дополнительных свойств, добавленных пользователем 
 (2) указатели на содержащиеся в памяти атомы, хранящиеся в одном списке (в системе один список свойств атомов) 
 (3) указатель на содержащийся в памяти атом, и другие свойства, добавленные пользователем 
Упражнение 2:
Номер 1
Для чего необходима сборка "мусор":
Ответ:
 (1) для повторного распределения памяти 
 (2) для очищения памяти после завершения работы системы 
 (3) для очищения памяти перед запуском Лисп-системы 
Номер 2
Каким образом происходит сбор мусора в Lisp:
Ответ:
 (1) происходит полное очищение всей памяти, которую использует система 
 (2) помечаются все свободные блоки, они и передаются под использование 
 (3) помечаются все занятые блоки памяти, а оставшиеся свободные отдаются под повторное использование 
Номер 3
Каким образом происходит сбор мусора в Lisp:
Ответ:
 (1) помечаются все занятые блоки памяти, а оставшиеся свободные отдаются под повторное использование 
 (2) память не очищается во время работы системы 
 (3) помечаются все свободные блоки, они и передаются под использование 
Упражнение 3:
Номер 1
Каким образом хранятся S-выражения в памяти:
Ответ:
 (1) в виде древовидного списка фиксированной длины 
 (2) в виде линейного списка фиксированной длины 
 (3) в виде древовидного списка неограниченной длины 
 (4) в виде хэш-таблицы 
Номер 2
Какая информация содержится в ячейке, входящей в состав древовидного списка, в котором содержаться S-выражения в памяти:
Ответ:
 (1) атом, с адресом описательной структуры и адрес декремента 
 (2) список (S-выражение) с описательной структурой 
 (3) список, с адресом на описательную структуру и декремент 
Номер 3
Какая информация содержится в ячейке, входящей в состав древовидного списка, в котором содержаться S-выражения в памяти:
Ответ:
 (1) список (S-выражение) с описательной структурой 
 (2) атом, с адресом описательной структуры и адрес декремента 
 (3) имя атома и список свойств этого атома 
Упражнение 4:
Номер 1
Какой из результатов вычисления формы (rplacd (cdr x) (car x)) , где x – список (a b c d), является верным:
Ответ:
 (1) (b c d a) 
 (2) (a b c a) 
 (3) (a b a) 
 (4) (a) 
Номер 2
Какой из результатов вычисления формы (rplacd (car x) (cddr x)), где x – список (a b c d), является верным:
Ответ:
 (1) (a с d) 
 (2) (a b c a) 
 (3) (a b a) 
 (4) (a) 
Номер 3
Какой из результатов вычисления формы (rplacd (cddr x) (car x)), где x – список (a b c d), является верным:
Ответ:
 (1) (b c d a) 
 (2) (a b c a) 
 (3) (a b a) 
 (4) (a) 
Упражнение 5:
Номер 1
Каким образом можно ввести новое свойство атома в Лисп-систему:
Ответ:
 (1) (Setq (get 'Атом) 'свойство) 
 (2) (Setf (get 'Атом) 'свойство) 
 (3) (Setf 'Атом 'свойство) 
Номер 2
Каким образом можно ввести новое свойство атома в Лисп-систему:
Ответ:
 (1) (Setf (get 'Атом) 'свойство) 
 (2) (Setf (get "Атом") свойство) 
 (3) (Setf "Атом" 'свойство) 
Номер 3
Каким образом можно ввести новое свойство атома в Лисп-систему:
Ответ:
 (1) (Setq (get Атом) 'свойство) 
 (2) (Setq Атом 'свойство) 
 (3) (Setf (get 'Атом) 'свойство) 
Упражнение 6:
Номер 1
С помощью какой функции Clisp можно посмотреть список всех свойств атома:
Ответ:
 (1) (symbol-function ) 
 (2) (symbol-value ) 
 (3) (symbol-plist) 
Номер 2
С помощью каких функций Clisp можно посмотреть значение глобальной переменной:
Ответ:
 (1) (symbol-function ) 
 (2) (symbol-value ) 
 (3) (symbol-plist) 
Номер 3
С помощью какой функции Clisp можно посмотреть определение функции в списке свойств атома:
Ответ:
 (1) (symbol-function ) 
 (2) (symbol-value ) 
 (3) (function-symbol) 
Упражнение 7:
Номер 1
Укажите, какая из перечисленных ниже функций изменяет структуру существующих списков:
Ответ:
 (1) Cons 
 (2) Eq 
 (3) rplaca 
 (4) Defun 
Номер 2
Укажите, какая из перечисленных ниже функций изменяет структуру существующих списков:
Ответ:
 (1) Cond 
 (2) rplacd 
 (3) lambda 
 (4) caddr 
Номер 3
Укажите, какая из перечисленных ниже функций изменяет структуру существующих списков:
Ответ:
 (1) Cons 
 (2) Eq 
 (3) cdr 
 (4) rplacd 
Упражнение 8:
Номер 1
Какой из результатов вычисления формы (rplaca x (cddr x)), где x – список (a b c d), является правильным:
Ответ:
 (1) ((с d) b c d) 
 (2) ((b c d) a) 
 (3) (b с d) 
 (4) (a с d)  
Номер 2
Какой из результатов вычисления формы (rplaca (cdr x) (car x)), где x – список (a b c d), является правильным:
Ответ:
 (1) (b c d) 
 (2) (b c d a) 
 (3) (a a) 
 (4) (a с d) 
Номер 3
Какой из результатов вычисления формы (rplaca '(e f) (car x)), где x – список (a b c d), является верным:
Ответ:
 (1) (a e f) 
 (2) (a b c d e f) 
 (3) (a f) 
 (4) (a b c d) 
 (5) (a d e) 
Упражнение 9:
Номер 1
Какой из результатов вычисления формы (grp '(1 2 (3))) является верным. Функция (grp x) имеет определение
(defun grp (x)
(list (car x) (list (cadr x) (caddr x)))
)
Ответ:
 (1) (1 2 3) 
 (2) (1 2 (3)) 
 (3) ((1)(2)(3)) 
 (4) (1 (2 (3))) 
Номер 2
Какой из результатов вычисления формы (grp '(1 2 3 4)) является верным. Функция (grp x) имеет определение
(defun grp (x)
(list (car x) (list (cadr x) (caddr x)))
)
Ответ:
 (1) (1 2 3 4) 
 (2) (1 2 3) 
 (3) (1 (2 3)) 
 (4) (1 (2 (3))) 
Номер 3
Какой из результатов вычисления формы (grp '((1 2) 3)) является верным. Функция (grp x) имеет определение
(defun grp (x)
(list (car x) (list (cadr x) (caddr x)))
)
Ответ:
 (1) ((1 2) 3) 
 (2) ((1 2) (3 nil)) 
 (3) ((1)(2)(3)(nil)) 
 (4) (1 (2 (3))) 
Упражнение 10:
Номер 1
Какой из результатов вычисления формы (pgrp '(1 2 3)) является верным. Функция (pgrp x) имеет определение
(defun pgrp (x)
(rplacd (rplaca (cdr x) (cons (cadr x) (cddr x))) NIL))
Ответ:
 (1) ((2 3)) 
 (2) (1 2 3) 
 (3) (1 (2 (3))) 
Номер 2
Какой из результатов вычисления формы (pgrp '(1 2 3 4)) является верным. Функция (pgrp x) имеет определение
(defun pgrp (x)
(rplacd (rplaca (cdr x) (cons (cadr x) (cddr x))) NIL))
Ответ:
 (1) (1 (2 3 4)) 
 (2) (1 2 3 4) 
 (3) ((2 3 4)) 
Номер 3
Какой из результатов вычисления формы (pgrp '((1 2) 3 4)) является верным. Функция (pgrp x) имеет определение
(defun pgrp (x)
(rplacd (rplaca (cdr x) (cons (cadr x) (cddr x))) NIL))
Ответ:
 (1) ((1 2) (3 4)) 
 (2) ((1 2)) 
 (3) (( 3 4))