Common Lisp/Примітивні об'єкти даних/Відповіді
Common Lisp/Примітивні об'єкти даних:
1. a) $ (DEFUN EQNUM (lst)
((NULL (CDR lst)) T)
((NUMBERP (CAR lst)) ((EQL (CAR lst) (CADR lst)) (EQNUM (CDR lst)))) )
б) $ (DEFUN SYMALL (lst)
((NULL lst) T)
((SYMBOLP (CAR lst)) (SYMALL (CDR lst))) )
в) $ (DEFUN DRIBVID (lst)
((NULL lst) T)
((EQL (CDAR lst) SPECIAL) (DRIBVID (CDR lst))) )
г) $ (DEFUN MINT (lst)
((NULL lst) T)
((NULL (CDR lst)) NIL)
((NOT (CDAR lst)) ((CDADR lst) (MINT (CDDR lst)))) )
д) $ (DEFUN VIDPAR (lst)
((NULL lst) T)
((EVENP (CAR lst)) ((MINUSP (CAR lst)) (VIDPAR (CDR lst)))) )
2. a) (((q . w) . (e . r)) . ((t . y) . (u . i)))
б) ((((q) . w) . r) . t)
3. a) $ (DEFUN ON1 (lst)
((ATOM (CDR lst)) (CONS (CAR lst) NIL))
(CONS (CAR lst) (CONS (ON1 (CDR lst)) NIL)) )
б) $ (DEFUN ON2 (lst)
((ATOM (CDR lst)) (CONS (CAR lst) NIL))
(CONS (ON2 (CDR lst)) (CAR lst)) )
в) $ (DEFUN ON3 (lst)
((ATOM (CDR lst)) (CONS (CONS (CAR lst) NIL) NIL))
(CONS (CONS (CAR lst) NIL) (ON3 (CDR lst))) )
г) $ (DEFUN ON4 (lst)
((ATOM (CDDR lst))(CONS (CONS (CAR lst) (CONS (CADR lst) NIL)) NIL))
(CONS (CONS (CAR lst) (CONS (CADR lst) NIL)) (ON4 (CDDR lst))) )
4. a) $ (DEFUN RON1 (lst)
((NULL lst) NIL)
(CONS (CAR lst) (RON! (CADR lst))) )
б) $ (DEFUN RON2 (lst)
((ATOM (CAR lst)) lst)
(CONS (CADR lst) (RON2 (CAR lst))) )
в) $ (DEFUN RON3 (lst)
((NULL lst) NIL)
(CONS (CAAR lst) (RON3 (CDR lst))) )
г) $ (DEFUN RON4 (lst)
((NULL lst) NIL)
(CONS (CAAR lst) (CONS (CADAR lst) (RON4 (CDR lst)))) )