Нижче наведено відповіді на завдання із розділу Мова програмування Лісп/Об'єкти Ліспу.

  1. Побудувати список, який задовільняє наступним умовам:
    1. ((q w e)(r t y u))
    2. ((q w e))
    3. ((q w) e (r t) (y))
    4. ((q w e))
    5. ((NIL))
    6. ( (e (p)) (2 9 (9)) )
  2. Що буде в результаті обчислення наступних виразів:
    1. (NIL)
    2. (CONS ‘(q w) NIL) = ((q w))
    3. (EQL NIL NIL) = Т
    4. (ATOM (NIL)) = NIL
    5. (EQL NIL ‘NIL) = T
    6. (EQL NIL (NIL)) = NIL
  3. 3
    1. (CONS (CAR ‘(A B C)) (CDR ‘(X Y Z)))
    2. (CADDR (CADDR ‘((one 1) (two 2 3) (three 4 5 6))))
    3. (CDDR ‘((q w (r) t) y))
    4. (SETQ t ‘((q (w (e) r) t) y)) (CONS (CONS (CAAR t) NIL) (CADAR t))
    5. (SETQ a ‘(q (w e))) (CAADR a) -> w, (CADADR a) -> e
    6. (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