Главная / Программирование /
Основы функционального программирования / Тест 10
Основы функционального программирования - тест 10
Упражнение 1:
Номер 1
Что из перечисленного удобно рассматривать как объект того же класса, что и <кресло>?
Ответ:
 (1) диван 
 (2) стул 
 (3) этюдник 
 (4) шкаф 
 (5) трюмо 
 (6) стол 
Номер 2
Что из перечисленного удобно рассматривать как объект того же класса, что и <тетрадь>?
Ответ:
 (1) кнопка 
 (2) скрепка 
 (3) карандаш 
 (4) степлер 
 (5) блокнот 
 (6) записная книжка 
Номер 3
Что из перечисленного удобно рассматривать как объект того же класса, что и <куртка>?
Ответ:
 (1) брюки 
 (2) жилет 
 (3) носки 
 (4) шуба 
 (5) пальто 
Упражнение 2:
Номер 1
Что из перечисленного не стоит рассматривать как объект класса <одежда> ?
Ответ:
 (1) платье 
 (2) жилет 
 (3) сапоги 
 (4) шаровары 
Номер 2
Что из перечисленного не стоит рассматривать как объект класса <мебель>?
Ответ:
 (1) стол 
 (2) кресло 
 (3) шкаф 
 (4) телевизор 
Номер 3
Что из перечисленного не стоит рассматривать как объект класса <канцелярские товары>?
Ответ:
 (1) тетрадь 
 (2) фломастер 
 (3) книга 
 (4) ежедневник 
Упражнение 3:
Номер 1
Что из перечисленного можно рассматривать как основную характеристику объекта класса "кривые второго порядка"?
Ответ:
 (1) коэффициенты уравнения для прорисовки линии 
 (2) толщина линии при рисовании 
 (3) координаты точек пересечения с осями 
Номер 2
Что из перечисленного можно рассматривать как полезный атрибут, являющийся эффективной реализацией метода работы с объектами класса "прямые"?
Ответ:
 (1) цвет линии 
 (2) толщина линии при рисовании 
 (3) координаты точек пересечения с границами экрана 
Номер 3
Что из перечисленного можно рассматривать как атрибут, помогающий управлять визуализацией объектов класса "круги"?
Ответ:
 (1) коэффициенты уравнения для прорисовки линии 
 (2) цвет линии 
 (3) координаты точек выхода за границы экрана 
Упражнение 4:
Номер 1
Какую из перечисленных функций имеет смысл рассматривать как метод с именем <расстояние>?
Ответ:
 (1) место в кинозале 
 (2) длина дороги 
 (3) привокзальная площадь 
 (4) гостиничный номер 
Номер 2
Что из перечисленного имеет смысл вычислять по методу с именем <мера>?
Ответ:
 (1) вес конструируемого прибора 
 (2) широта души 
 (3) охват проблемы 
 (4) уровень потребностей 
Номер 3
Какую из перечисленных функций имеет смысл рассматривать как метод с именем <вес»>
Ответ:
 (1) место в очереди 
 (2) объем цилиндра 
 (3) привокзальная площадь 
 (4) дистанция между поездами 
Упражнение 5:
Номер 1
Какую из перечисленных функций не стоит включать в общее семейство с остальными функциями?
Ответ:
 (1) длина отрезка 
 (2) площадь круга 
 (3) объем цилиндра 
 (4) площадь у вокзала 
Номер 2
Какую из перечисленных функций не стоит включать в одно семейство с остальными функциями?
Ответ:
 (1) длина отрезка 
 (2) координаты точки 
 (3) объем цилиндра 
 (4) вес гирьки 
Номер 3
Какую из перечисленных функций неестественно включить в общее семейство?
Ответ:
 (1) координаты точки 
 (2) площадь круга 
 (3) почтовый адрес 
 (4) номерок в гардеробе 
Упражнение 6:
Номер 1
Отметьте выражения, объявляющие новый экземпляр объекта.
Ответ:
 (1) (defclass alltd () ((type :accessor td)) (:documentation "everyting"))
 
 (2) (defclass expr (alltd) ((sd :accessor ft)) (:documentation "C-expression"))
 
 (3) (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x 'type) nt) (setf (td x) nt))
 
 (4) (setf e3 (make-instance 'expr))
 
 (5) (texpr e3 'expr)
 
 (6) (setf (slot-value e3 'sd) (read))
 
 (7) (td e3)
 
Номер 2
Отметьте выражение, объявляющее новый класс.
Ответ:
 (1) (defun fd (x) (cons x x))
 
 (2) (defclass expr (alltd) ((sd :accessor ft)) (:documentation "C-expression"))
 
 (3) (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x 'type) nt) (setf (td x) nt))
 
 (4) (setf e3 (make-instance 'expr))
 
 (5) (texpr e3 'expr)
 
 (6) (setf (slot-value e3 'sd) (read))
 
 (7) (td e3)
 
Номер 3
Отметьте выражение, объявляющее новый класс.
Ответ:
 (1) (defclass alltd () ((type :accessor td)) (:documentation "everyting"))
 
 (2) (defun expr (sd) (cond ((eq sd 'ft) (print 'FT)) (T (print 'NEW))) ))
 
 (3) (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x 'type) nt) (setf (td x) nt))
 
 (4) (setf e3 (make-instance 'expr))
 
 (5) (texpr e3 'expr)
 
 (6) (setf (slot-value e3 'sd) (read))
 
 (7) (td e3)
 
Номер 4
Отметьте выражение, объявляющее новый метод.
Ответ:
 (1) (defclass alltd () ((type :accessor td)) (:documentation "everyting"))
 
 (2) (defclass expr (alltd) ((sd :accessor ft)) (:documentation "C-expression"))
 
 (3) (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x 'type) nt) (setf (td x) nt))
 
 (4) (setf e3 (make-instance 'expr))
 
 (5) (texpr e3 'expr)
 
 (6) (setf (slot-value e3 'sd) (read))
 
 (7) (td e3)
 
Упражнение 7:
Номер 1
Какое из перечисленных выражений изменяет содержимое отдельных полей существующего объекта?
Ответ:
 (1) (defclass expr () ((type :accessor td) (sd :accessor ft)) (:documentation "C-expression"))
 
 (2) (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x 'type) nt) (setf (td x) nt))
 
 (3) (setf e3 (make-instance 'expr))
 
 (4) (texpr e3 'expr)
 
 (5) (td e3)
 
Номер 2
Какое из перечисленных выражений дает новое значение полю существующего объекта?
Ответ:
 (1) (defclass expr () ((type :accessor td) (sd :accessor ft)) (:documentation "C-expression"))
 
 (2) (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x 'type) nt) (setf (td x) nt))
 
 (3) (setf e3 (make-instance 'expr))
 
 (4) (setf (slot-value e3 'sd) (read))
 
 (5) (td e3)
 
Номер 3
Выделите выражение, обеспечивающее возможность прямого доступа к атрибутам объекта определяемого класса.
Ответ:
 (1) (defclass expr () ((type :accessor td) (sd :accessor ft)))
 
 (2) (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x 'type) nt) (setf (td x) nt))
 
 (3) (texpr e3 'expr)
 
 (4) (setf (slot-value e3 'sd) (read))
 
Номер 4
Выделите выражение, осуществляющее прямой доступ к атрибуту объекта без изменения его значения.
Ответ:
 (1) (setf (slot-value e3 'sd) (read))
 
 (2) (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x 'type) nt) (setf (td x) nt))
 
 (3) (td e3)
 
 (4) (texpr e3 'expr)
 
Упражнение 8:
Номер 1
Что из перечисленного можно рассматривать как объекты одного класса?
Ответ:
 (1) стул 
 (2) стол 
 (3) стан 
Номер 2
Отметьте объект, который не стоит рассматривать как объект общего класса с остальными?
Ответ:
 (1) пиджак 
 (2) жилет 
 (3) юбка 
 (4) туфли 
 (5) брюки 
Номер 3
Что из перечисленного можно рассматривать как объекты общего класса?
Ответ:
 (1) бумага 
 (2) тетрадь 
 (3) фотоаппарат 
 (4) перекидной календарь 
 (5) портфель 
Упражнение 9:
Номер 1
Отметьте выражения, объявляющие новый класс, экземпляр объекта, метод.
Ответ:
 (1) (defclass alltd () ((type :accessor td)) (:documentation "everyting"))
 
 (2) (defclass expr (alltd) ((sd :accessor ft)) (:documentation "C-expression"))
 
 (3) (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x 'type) nt) (setf (td x) nt))
 
 (4) (setf e3 (make-instance 'expr))
 
 (5) (texpr e3 'expr)
 
 (6) (setf (slot-value e3 'sd) (read))
 
 (7) (td e3)
 
Номер 2
Какие из перечисленных выражений изменяют содержимое отдельных полей существующего объекта?
Ответ:
 (1) (defclass expr () ((type :accessor td) (sd :accessor ft)) (:documentation "C-expression"))
 
 (2) (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x 'type) nt) (setf (td x) nt))
 
 (3) (setf e3 (make-instance 'expr))
 
 (4) (texpr e3 'expr)
 
 (5) (setf (slot-value e3 'sd) (read))
 
 (6) (td e3)
 
Номер 3
Выделите выражения, осуществляющие доступ к атрибутам объекта без изменения их значений.
Ответ:
 (1) (defclass expr () ((type :accessor td) (sd :accessor ft)))
 
 (2) (defmethod texrp ((x expr) (nt atom)) (setf (slot-value x 'type) nt) (setf (td x) nt))
 
 (3) (setf e3 (make-instance 'expr))
 
 (4) (texpr e3 'expr)
 
 (5) (setf (slot-value e3 'sd) (read))
 
 (6) (td e3)