Prechádzame zoznam a sledujeme čísla. Aktuálne minimum uchovávame v pomocnom argumente funkcie. Po prejdení zoznamu vypíšeme minimum - pomocný argument.


Predpokladá sa, že zoznam (postupnosť) bude neprázdny,
inak treba upraviť funkciu mainmin.

(defun minpom (zoz minimum)
 (cond ((null zoz) minimum)
       ((< (first zoz) minimum) (minpom (rest zoz) (first zoz)))
       (T (minpom (rest zoz) minimum))
 )
)

Inicializujem prvou hodnotou zoznamu a prehľadávam zvyšok.
(defun min (zoz)
 (minpom (rest zoz) (first zoz))
)

Príklady:
(min '(1 2 0 1 -7 1)) -> -7
(min '(10))           -> 10

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