Need a unique gift idea?
A Pastebin account makes a great Christmas gift
SHARE
TWEET

se.pl

a guest Jun 1st, 2012 78 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
 
  1. :- [wiedza].
  2.  
  3. :- dynamic wiemy/2.
  4.  
  5. odp(116, tak) :- !.
  6. odp(110, nie) :- !.
  7. odp(StaryZnak, Odp) :-
  8.         write('nie zrozumiałem '),
  9.         put_code(StaryZnak), nl,
  10.         get_single_char(NowyZnak),
  11.         odp(NowyZnak, Odp).
  12.  
  13. zapytaj(OCo) :-
  14.         prefiks(pytanie, Prefiks),
  15.         write(Prefiks),
  16.         pytanie(OCo, Tresc),
  17.         write(Tresc),
  18.         write(' ? [t/n] '),
  19.         get_single_char(Znak),
  20.         put_code(Znak), nl,
  21.         odp(Znak, Odp),
  22.         assertz(wiemy(OCo, Odp)).
  23.  
  24. ustal(Co, Jakie) :-
  25.         wiemy(Co, _), !,
  26.         wiemy(Co, Jakie).
  27. ustal(Co, Jakie) :-
  28.         regula(Co), !,
  29.         sprawdz(Co, Jakie).
  30. ustal(Co, Jakie) :-
  31.         zapytaj(Co),
  32.         wiemy(Co, Jakie).
  33.  
  34. kolizje(X) :-
  35.         jednoz(Lista),
  36.         member(X, Lista),
  37.         member(Inne, Lista),
  38.         \+ X = Inne,
  39.         wiemy(Inne, tak).
  40.  
  41. sprawdz(X, tak) :-
  42.         \+ kolizje(X),
  43.         zachodzi(X), !,
  44.         assertz(wiemy(X, tak)).
  45. sprawdz(X, nie) :-
  46.         kolizje(X),
  47.         assertz(wiemy(X, nie)).
  48. sprawdz(X, nie) :-
  49.         \+ zachodzi(X),
  50.         assertz(wiemy(X, nie)).
  51.  
  52. sprawdz(X) :-
  53.         sprawdz(X, _).
  54.  
  55. rozpoznaj :-
  56.         regula(X),
  57.         sprawdz(X),
  58.         %tu cos wiemy i mamy zapisane
  59.         rodzaj(X),
  60.         sprawdz(X, tak), !, %ale musimy wiedzieć, czy to jest prawda
  61.         prefiks(odpowiedz, Prefiks),
  62.         nazwa(X, Nazwa),
  63.         nl, write(Prefiks),
  64.         write(Nazwa),
  65.         write('.'), nl, nl, fail.
  66. rozpoznaj.
  67.  
  68. odNowa :-
  69.         retractall(wiemy(_, _)).
  70.  
  71. coTo :-
  72.         odNowa, fail.
  73. coTo :-
  74.         rozpoznaj.
  75.  
  76. czy(X) :-
  77.         odNowa,
  78.         sprawdz(X),
  79.         wiemy(X, Odp),
  80.         nl,     write(Odp), nl, nl.
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top