chyba spoko
This commit is contained in:
parent
27d0d019ca
commit
1c434606fc
61
expert.pl
61
expert.pl
@ -4,21 +4,35 @@
|
|||||||
pref(P,X) :-
|
pref(P,X) :-
|
||||||
nb_current(P,_),
|
nb_current(P,_),
|
||||||
nb_getval(P,Y),
|
nb_getval(P,Y),
|
||||||
|
!,
|
||||||
( Y = X
|
( Y = X
|
||||||
; ( Y = nie(Z), Z \= X)),
|
; ( Y = nie(Z), Z \= X)
|
||||||
!.
|
; Y = cokolwiek).
|
||||||
|
|
||||||
pref(P,X) :-
|
pref(P,X) :-
|
||||||
format("~w:\n", [P]),
|
format("~w:\n", [P]),
|
||||||
read(Y),
|
read(Y),
|
||||||
nb_setval(P,Y),
|
nb_setval(P,Y),
|
||||||
( Y = X
|
( Y = X
|
||||||
; ( Y = nie(Z), Z \= X)).
|
; ( Y = nie(Z), Z \= X)
|
||||||
|
; Y = cokolwiek).
|
||||||
|
|
||||||
|
prefb(P,X) :-
|
||||||
|
nb_current(P,_),
|
||||||
|
nb_getval(P,Y),
|
||||||
|
!,
|
||||||
|
Y=X.
|
||||||
|
|
||||||
|
prefb(P,X) :-
|
||||||
|
format("~w?\n",[P]),
|
||||||
|
read(Y),
|
||||||
|
nb_setval(P,Y),
|
||||||
|
Y = X.
|
||||||
|
|
||||||
termin(XS) :-
|
termin(XS) :-
|
||||||
nb_current(termin,_),
|
nb_current(termin,_),
|
||||||
nb_getval(termin,Y),
|
nb_getval(termin,Y),
|
||||||
|
!,
|
||||||
member(X,XS),
|
member(X,XS),
|
||||||
( (Y1-Y2 = Y, X >= Y1, X =< Y2)
|
( (Y1-Y2 = Y, X >= Y1, X =< Y2)
|
||||||
; (nie(Y1-Y2) = Y, (X < Y1 ; X > Y2))
|
; (nie(Y1-Y2) = Y, (X < Y1 ; X > Y2))
|
||||||
@ -39,6 +53,7 @@ termin(XS) :-
|
|||||||
cena(X) :-
|
cena(X) :-
|
||||||
nb_current(cena,_),
|
nb_current(cena,_),
|
||||||
nb_getval(cena,Y),
|
nb_getval(cena,Y),
|
||||||
|
!,
|
||||||
X=<Y.
|
X=<Y.
|
||||||
|
|
||||||
cena(X) :-
|
cena(X) :-
|
||||||
@ -50,14 +65,10 @@ cena(X) :-
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
wakacje(zakopane) :-
|
wakacje(zakopane) :-
|
||||||
|
|
||||||
pref(kraj,polska),
|
pref(kraj,polska),
|
||||||
pref(teren,gory),
|
pref(teren,gory),
|
||||||
cena(2000).
|
cena(3000).
|
||||||
|
|
||||||
wakacje(hawaje) :-
|
wakacje(hawaje) :-
|
||||||
termin([6,7,8]),
|
termin([6,7,8]),
|
||||||
@ -65,8 +76,34 @@ wakacje(hawaje) :-
|
|||||||
pref(teren, morze),
|
pref(teren, morze),
|
||||||
cena(8000).
|
cena(8000).
|
||||||
|
|
||||||
|
wakacje(hawaje_poza_sezonem) :-
|
||||||
|
termin([1,2,3,4,5,9,10,11,12]),
|
||||||
|
pref(kraj, usa),
|
||||||
|
pref(teren, morze),
|
||||||
|
cena(5000).
|
||||||
|
|
||||||
|
wakacje(himalaje) :-
|
||||||
|
termin([1,2,3,10,11,12]),
|
||||||
|
cena(5000),
|
||||||
|
pref(teren, gory),
|
||||||
|
prefb(dzieci, nie).
|
||||||
|
|
||||||
|
wakacje(hel) :-
|
||||||
|
termin([5,6,7,8]),
|
||||||
|
pref(teren, morze),
|
||||||
|
pref(kraj, polska),
|
||||||
|
cena(2000).
|
||||||
|
|
||||||
|
wakacje(mazury) :-
|
||||||
|
termin([4,5,6,7]),
|
||||||
|
pref(teren, jezioro),
|
||||||
|
pref(kraj, polska),
|
||||||
|
cena(1500).
|
||||||
|
|
||||||
|
wakacje(bieszczady) :-
|
||||||
|
pref(teren, gory),
|
||||||
|
pref(kraj, polska),
|
||||||
|
cena(2000).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -74,10 +111,14 @@ wakacje(hawaje) :-
|
|||||||
|
|
||||||
|
|
||||||
clear :-
|
clear :-
|
||||||
forall(member(A, [kraj,teren, termin, cena]), nb_delete(A)).
|
forall(member(A, [kraj,teren, termin, cena, dzieci]), nb_delete(A)).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
wakacje2(X) :-
|
wakacje2(X) :-
|
||||||
( (wakacje(X), clear) ; (clear, fail)).
|
( findall(Y,wakacje(Y),X), clear) ; (clear , fail).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user