fixed
This commit is contained in:
parent
56f9efba1d
commit
a5e7486a2b
60
expert.pl
60
expert.pl
@ -60,19 +60,32 @@ termin(XS) :-
|
|||||||
|
|
||||||
|
|
||||||
ilosc(X) :-
|
ilosc(X) :-
|
||||||
nb_current(ilosc,_),
|
ludzie(L),
|
||||||
nb_getval(ilosc,I),
|
length(L,X).
|
||||||
|
|
||||||
|
maxIlosc(X) :-
|
||||||
|
ilosc(Y),
|
||||||
|
X >= Y.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
zabytki :-
|
||||||
|
ludzie(L),
|
||||||
|
\+ forall(member(C,L), C < 65).
|
||||||
|
|
||||||
|
|
||||||
|
ludzie(X) :-
|
||||||
|
nb_current(ludzie,_),
|
||||||
|
nb_getval(ludzie,L),
|
||||||
!,
|
!,
|
||||||
X = I.
|
X = L.
|
||||||
|
ludzie(X) :-
|
||||||
ilosc(X) :-
|
format("podaj wiek wszystkich osob (np. [5,7,25,65])\n"),
|
||||||
format("ilu ludzi chce jechac?\n"),
|
read(L),
|
||||||
read(I),
|
nb_setval(ludzie,L),
|
||||||
nb_setval(ilosc,I),
|
X = L.
|
||||||
X = I.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cena(X) :-
|
cena(X) :-
|
||||||
nb_current(maxCena,_),
|
nb_current(maxCena,_),
|
||||||
@ -95,9 +108,13 @@ currentWakacjeAll(X) :-
|
|||||||
|
|
||||||
|
|
||||||
clear :-
|
clear :-
|
||||||
forall(member(A, [kraj,teren, termin, maxCena, dzieci,all,ilosc]), nb_delete(A)).
|
forall(member(A, [kraj,teren, termin,ludzie, maxCena, dzieci,all,ilosc]), nb_delete(A)).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
znajdzWakacje :- znajdzWakacje(_).
|
||||||
|
|
||||||
znajdzWakacje(Y) :-
|
znajdzWakacje(Y) :-
|
||||||
wakacjeAll(All),
|
wakacjeAll(All),
|
||||||
nb_setval(all,All),
|
nb_setval(all,All),
|
||||||
@ -108,7 +125,7 @@ znajdzWakacje(Y) :-
|
|||||||
|
|
||||||
include(odpowiedniaCena, X,Y),
|
include(odpowiedniaCena, X,Y),
|
||||||
format("\n\n\n"),
|
format("\n\n\n"),
|
||||||
ansi_format([bold],"O to wszystkie oferty ktore odpowiadaja twoim preferencja i ktore odpowiadaja ci finansowo\n",[]),
|
ansi_format([bold],"O to wszystkie oferty ktore odpowiadaja twoim preferencjom i ktore odpowiadaja ci finansowo\n",[]),
|
||||||
forall(member(M,Y), wyswietlWakacje(M)),
|
forall(member(M,Y), wyswietlWakacje(M)),
|
||||||
|
|
||||||
clear.
|
clear.
|
||||||
@ -128,7 +145,11 @@ znajdzWakacje([X|XS],[X|_]) :-
|
|||||||
delete(W,X,W2),
|
delete(W,X,W2),
|
||||||
nb_setval(all,W2),
|
nb_setval(all,W2),
|
||||||
znajdzWakacje(XS,W2).
|
znajdzWakacje(XS,W2).
|
||||||
|
znajdzWakacje(XS,[X|_]) :-
|
||||||
|
znajdzPWakacje(W),
|
||||||
|
delete(W,X,W2),
|
||||||
|
nb_setval(all,W2),
|
||||||
|
znajdzWakacje(XS,W2).
|
||||||
|
|
||||||
znajdzPCechy(P,Y2) :-
|
znajdzPCechy(P,Y2) :-
|
||||||
znajdzPWakacje(W),
|
znajdzPWakacje(W),
|
||||||
@ -155,10 +176,6 @@ sprawdzPCeche(termin(X)) :-
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
niesprecyzowanyKraj :-
|
|
||||||
pref(kraj, cokolwiek).
|
|
||||||
|
|
||||||
|
|
||||||
wyswietlCeche(pref(P,X)) :-
|
wyswietlCeche(pref(P,X)) :-
|
||||||
format("~w: ~w\n",[P,X]).
|
format("~w: ~w\n",[P,X]).
|
||||||
wyswietlCeche(prefb(P,X)) :-
|
wyswietlCeche(prefb(P,X)) :-
|
||||||
@ -174,14 +191,15 @@ wyswietlWakacje(w(N,C,L)) :-
|
|||||||
ilosc(I),
|
ilosc(I),
|
||||||
format("cena za osobe: ~w\n", [C]),
|
format("cena za osobe: ~w\n", [C]),
|
||||||
C2 is I * C,
|
C2 is I * C,
|
||||||
format("dla ~w osob wyniesie to lacznie ~w\n", [I,C2]),
|
format("dla ~w osob wyniesie to lacznie ", [I]),
|
||||||
|
ansi_format([bold], "~w\n", [C2]),
|
||||||
forall(member(X,L), wyswietlCeche(X)),
|
forall(member(X,L), wyswietlCeche(X)),
|
||||||
format("\n").
|
format("\n").
|
||||||
|
|
||||||
wakacjeAll([ w(zakopane, 1000, [pref(kraj,polska), pref(teren,gory)])
|
wakacjeAll([ w(zakopane, 1000, [pref(kraj,polska), pref(teren,gory)])
|
||||||
, w(hawaje, 3000, [termin([6,7,8]), pref(kraj,usa), pref(teren, morze)])
|
, w(hawaje, 3000, [termin([6,7,8]), pref(kraj,usa), pref(teren, morze)])
|
||||||
, w(hawaje, 2000, [termin([1,2,3,4,5,9,10,11,12]), pref(kraj,usa), pref(teren,morze)])
|
, w(hawaje, 2000, [termin([1,2,3,4,5,9,10,11,12]), pref(kraj,usa), pref(teren,morze)])
|
||||||
, w(himalaje, 4000, [niesprecyzowanyKraj, pref(teren, gory), prefb(dzieci, nie)])
|
, w(himalaje, 4000, [pref(teren, gory), prefb(dzieci, nie)])
|
||||||
, w(hel, 1200, [pref(teren, morze), pref(kraj, polska), termin([5,6,7,8])])
|
, w(hel, 1200, [pref(teren, morze), pref(kraj, polska), termin([5,6,7,8])])
|
||||||
, w(mazury, 800, [pref(teren, jezioro), pref(kraj, polska), termin([4,5,6,7])])
|
, w(mazury, 800, [pref(teren, jezioro), pref(kraj, polska), termin([4,5,6,7])])
|
||||||
, w(bieszczady, 1200, [pref(teren, gory), pref(kraj, polska)])
|
, w(bieszczady, 1200, [pref(teren, gory), pref(kraj, polska)])
|
||||||
|
Loading…
Reference in New Issue
Block a user