Max min

Description

MAX MIN value

Source: PROLOG str. 87 Wydawnictwo PLJ Warszawa 1991 ISBN 83-85190-63-5

Download

Program source code: max_min.pl

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,!).

Comments

pl/prolog/pllib/max_min.txt · ostatnio zmienione: 2017/07/17 08:08 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0