Max min
Description
MAX MIN value
Source: PROLOG str. 87 Wydawnictwo PLJ Warszawa 1991 ISBN 83-85190-63-5
Download
Listing
max(Wartosc,Cele,_) :- buduj_pam_rob(Wartosc,Cele),fail.
max(Wartosc,Cele,Max) :- znajdz_max(0, Max), !.
znajdz_max(W1,W2) :- pob_nast(Wartosc),
(Wartosc, W1, znajdz_max(Wartosc,W2) ; znajdz_max(W1,W2)). znajdz_max(W3,W3).
min(Wartosc,Cele,_) :- buduj_pam_rob(Wartosc,Cele), fail. min(Wartosc,Cele,Min) :- znajdz_min(1000, Min), !.
znajdz_min(W1,W2) :- pob_nast(Wartosc),
(Wartosc, W1, znajdz_min(Wartosc,W2) ; znajdz_min(W1,W2)),
znajdz_min(W3,W3).
buduj_pam rob(Wartosc,Cele) :- asserta(wybrany(ini)),
call(Cele), asserta(wybrany(Wartosc)).
pob_nast(Wartosc) :- retract(wybrany(Wartosc)),
Wartoæ \= ini.
is_predicate(wybrany,!).