Guest User

Untitled

a guest
Dec 9th, 2019
106
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. :- dynamic cechaPozytywna/2, cechaNegatywna/2.
  2.  
  3. zwierze_jest(gepard):-
  4. jest_to(ssak),
  5. jest_to(miesozerny),
  6. pozytywne(ma, brunatny_kolor),
  7. pozytywne(ma, ciemne_plamy).
  8.  
  9. zwierze_jest(tygrys):-
  10. jest_to(ssak),
  11. jest_to(miesozerny),
  12. pozytywne(ma, brunatny_kolor),
  13. pozytywne(ma, czarne_pasy).
  14.  
  15. zwierze_jest(zyrafa):-
  16. jest_to(ssak),
  17. jest_to(kopytonogi),
  18. pozytywne(ma, dluga_szyja),
  19. pozytywne(ma, dlugie_nogi),
  20. pozytywne(ma, ciemne_plamy).
  21.  
  22. zwierze_jest(zebra):-
  23. jest_to(ssak),
  24. jest_to(kopytonogi),
  25. pozytywne(ma, czarne_pasy).
  26.  
  27. zwierze_jest(strus):-
  28. jest_to(ptak).
  29.  
  30. jest_to(ssak):-
  31. pozytywne(ma, siersc).
  32.  
  33. jest_to(ssak):-
  34. pozytywne(czy, daje_mleko).
  35.  
  36. jest_to(ptak):-
  37. pozytywne(ma, piora).
  38.  
  39. jest_to(ptak):-
  40. pozytywne(czy, lata),
  41. pozytywne(czy, znosi_jaja).
  42.  
  43. jest_to(miesozerny):-
  44. pozytywne(czy, je_mieso).
  45.  
  46. jest_to(miesozerny):-
  47. pozytywne(ma, ostre_zeby),
  48. pozytywne(ma, pazury),
  49. pozytywne(ma, wysuniete_do_przodu_oczy).
  50.  
  51. jest_to(kopytonogi):-
  52. jest_to(ssak),
  53. pozytywne(czy, przezuwa_pokarm).
  54.  
  55. pozytywne(X, Y):-
  56. cechaPozytywna(X,Y), !.
  57. pozytywne(X, Y):-
  58. \+ cechaNegatywna(X, Y),
  59. pytaj(X,Y,tak),!.
  60.  
  61. negatywna(X,Y):-
  62. cechaNegatywna(X,Y),!.
  63.  
  64. negatywna(X,Y):-
  65. \+ cechaPozytywna(X,Y),
  66. pytaj(X,Y,nie),!.
  67.  
  68. pytaj(X,Y,tak):-
  69. !,
  70. write('Czy.. To zwierze '),
  71. write(X),
  72. write(' '),
  73. write(Y),
  74. write(' ? (t\\n)'),
  75. get_char(CH),get_char(_),
  76. nl,
  77. CH='t', pamietaj(X,Y,tak).
  78.  
  79. pytaj(X,Y,nie):-
  80. !,
  81. write('to_zwierze '),
  82. write(X),
  83. write(' '),
  84. write(Y),
  85. write(' ? (t\\n)'),
  86. get_char(CH),get_char(_),
  87. nl,
  88. CH='t', pamietaj(X,Y,nie).
  89.  
  90. pamietaj(X,Y,tak) :- assertz(cechaPozytywna(X,Y)).
  91. pamietaj(X,Y,nie) :- assertz(cechaNegatywna(X,Y)).
  92.  
  93. expertSystem:-
  94. zwierze_jest(X), !,
  95. nl,
  96. write('Twoim zwierzeciem moze byc: '),
  97. write(X),
  98. retractall(cechaPozytywna(_, _)),
  99. retractall(cechaNegatywna(_, _)).
  100.  
  101. expertSystem:-
  102. write('Nie jestem w stanie odgadnac, jakie zwierze masz na mysli'),
  103. retractall(cechaPozytywna(_,_)),
  104. retractall(cechaNegatywna(_,_)).
RAW Paste Data