Common Lisp/Об'єкти Ліспу/Відповіді
Нижче наведено відповіді на завдання із розділу Мова програмування Лісп/Об'єкти Ліспу.
- Побудувати список, який задовільняє наступним умовам:
((q w e)(r t y u))
((q w e))
((q w) e (r t) (y))
((q w e))
((NIL))
( (e (p)) (2 9 (9)) )
- Що буде в результаті обчислення наступних виразів:
(NIL)
(CONS ‘(q w) NIL) = ((q w))
(EQL NIL NIL) = Т
(ATOM (NIL)) = NIL
(EQL NIL ‘NIL) = T
(EQL NIL (NIL)) = NIL
- 3
(CONS (CAR ‘(A B C)) (CDR ‘(X Y Z)))
(CADDR (CADDR ‘((one 1) (two 2 3) (three 4 5 6))))
(CDDR ‘((q w (r) t) y))
(SETQ t ‘((q (w (e) r) t) y)) (CONS (CONS (CAAR t) NIL) (CADAR t))
(SETQ a ‘(q (w e))) (CAADR a) -> w, (CADADR a) -> e
(cons (cons ‘(q w) nil) nil)
4. a) $ (SETQ one 1 two 2 three 3)в) (CONS (CONS lst lst) lst)
$ (PSETQ one two two three three one)
б) $ (PSETQ house sky sky house)г) (SETQ q (CONS w (CONS w)))
$ (PSETQ house sky sky house)
5. а) $ (SETQ a ‘(q w e r t y))б) $ (POP a) Val(a) = (w e r t y)
$ (SETQ a (POP a)) $ (SETQ a (POP a)) Val(a) = w
$ (SETQ a (CONS aNIL))
6. Val(one) = two
Val(one) = two, Val(two) = one
Val(one) = two, Val(two) = one, Val(three) = one, Val(four) = four
Val(one) = four, Val(two) = one, Val(three) = four, Val(four) = two
II Варіант завдань
ред.1. а) (NIL) б) (()()()) в) ((e к) (e)) г) (q 3 r 3 ())
2. а) (NIL) б) (NIL NIL) в) ((q w) e r) г) T д) NIL (порівняння списків а не атомів!) е) ((CONS (QUOTE (Q)) (QUOTE (W))))
3. а)onetwothree б)abc
--------------------------------------------------------------
twothreetwo(a b)(b c)(c a)
twotwotwo(a b)(b c)((a b))
twotwotwobcNIL