Главная / Программирование /
Введение в программирование на Лиспе / Тест 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))