Vhodná schéma, počítanie prvkov.
Prechádzame zoznam, ak má číslo príslušné vlastnosti pripočítame 1 ku výsledku počítania prvkov vo zvyšku zoznamu (rekurzívne volanie). Inak funkcia vráti len počet vo zvyšku.
(defun cislavint (zoz floor top)
(cond ((null zoz) 0)
((AND (NUMBERP (first zoz)) (OR (< (first zoz) floor) (> (first zoz) top))) (+ 1 (cislavint (rest zoz) floor top)))
(T (cislavint (rest zoz) floor top))
)
)
Príklady:
(cislavint '(a 1 2 3 b) 1 2) -> 1
(cislavint '(a 1 b -1 1 0 5) 2 4) -> 5