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