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


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

(defun maxpom (zoz maximum)
 (cond ((null zoz) maximum)
       ((> (first zoz) maximum) (maxpom (rest zoz) (first zoz)))
       (T (maxpom (rest zoz) maximum))
 )
)

Inicializujem prvou hodnotou zoznamu a prehľádávam zvyšok.
(defun max (zoz)
 (maxpom (rest zoz) (first zoz))
)

Príklad:
(max '(1 2 0 1 -7 2)) -> 2

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