Ako základ možno použiť schému predikát (every).
Keď budeme používať ODDP, treba zistiť ako sa správa.

V GCLispe ODDP vracia T iba ak ide o neparne číslo, ale aj keď ide o prázdny zoznam, preto ak chceme vedieť či to čo testujeme je číslo musíme použiť ešte aj test NUMBERP.


(defun notnep (sv)
 (cond ((AND (numberp sv) (oddp sv)) NIL)
       ((ATOM sv) T)
       (T (AND (notnep (first sv)) (notnep (rest sv))))
 )
)

; Príklady:
(notnep '((a b (2 (4))) (8 10))) ; -> T
(notnep '((a b (2 (3))) (8 10))) ; -> NIL

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