Ako základ možno použiť všeobecnú schému spracovania na ľubovolnej úrovni. Treba si uvedomiť, že výsledkom má byť jednoduchý zoznam čísel. Pri vytváraní výsledného zoznamu možno použiť funkciu append.


(defun cisla (sv)
 (cond ((NUMBERP sv) (cons sv NIL))
       ((ATOM sv) NIL)
       (T (append (cisla (first sv)) (cisla (rest sv))))
 )
)

; Príklady:
(cisla '(x y))                   ; -> NIL
(cisla '(1 2 x 3))               ; -> (1 2 3)
(cisla '(1 . (x . 2)))           ; -> (1 2)
(cisla '(1 (2 (3 y 1)) (z) (0))) ; -> (1 2 3 1 0)

Autori[ ZADANIE | AKO ZAČAŤ | RIEŠENIE ]
Posledná aktualizácia 4. 9. 2001
back  home  next