Inak povedané, výsledkom má byť jednoduchý zoznam čísel, ktoré sú menšie ako dolná, alebo väčšie ako horná hranica. Čísla v zozname sa môžu opakovať.

Ako základ možno použiť všeobecnú schému spracovania na ľubovolnej úrovni. Schéma je podobná ako v príklade cisla . 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 interval (dole hore sv)
 (cond ((AND (NUMBERP sv) (OR (< sv dole) (> sv hore))) (cons sv NIL))
       ((ATOM sv) NIL)
       (T (append (interval dole hore (first sv)) (interval dole hore (rest sv))))
 )
)

; Príklady:
(interval 2 4 '(x y))                   ; -> NIL
(interval 2 4 '(1 2 x 3 5))             ; -> (1 5)
(interval 2 4 '(9 . (4 . 0)))           ; -> (9 0)
(interval 2 3 '(1 (2 (3 y 1)) (4) (0))) ; -> (1 1 4 0)

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