|
|
pl:prolog:pllib:max_min [2019/06/27 15:50] |
pl:prolog:pllib:max_min [2019/06/27 15:50] (aktualna) |
| ====== Max min ====== |
| {{tag>math}} |
| ===== 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 ===== |
| <code prolog> |
| 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,!).</code> |
| ===== Comments ===== |
| |