Advertisement
Guest User

prolog caly

a guest
Jun 6th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 7.08 KB | None | 0 0
  1. /////////////////////////////////////////////////////////////////////////////////////////////////////
  2.  
  3. tanie(wino).
  4. tanie(jablko).
  5. tanie(piwo).
  6.  
  7. zdrowe(wino).
  8. zdrowe(jablko).
  9. niezdrowe(piwo).
  10.  
  11. lubi(maria, X) :- tanie(X), zdrowe(X). %maria lubi coś, jeśli tylko to cos jest tanie i zdrowe.
  12.  
  13. lubi(jan, X) :- tanie(X), niezdrowe(X). %maria lubi coś, jeśli tylko to cos jest tanie i zdrowe.
  14.  
  15. kobieta(maria). %maria jest kobieta
  16. kobieta(eliza). %eliza jest kobieta
  17. kobieta(małgorzata). %malgorzata jest kobieta
  18.  
  19.  
  20. rodzic(robert, albert). %Roman jest rodzicem Alberta
  21. rodzic(malgorzata, albert). %Malgorzata jest rodzicem Alberta
  22.  
  23. oblicz(X,Y):- Y = X*(3*5-1). %oblicz(10,X) wyswietla: X = 10*(3*5-1)
  24. obliczIS(X) :-X is 3*5-1. %obliczIS(X) : x = 14.
  25.  
  26. suma(X,Y,Z):-X<6, Z is X+Y, !. %jezeli warunek jest spelniony to wtedy Z = X+Y
  27. suma(X,Y,Z):-Z is Y. %Jezeli nie to wyswietla sie, ze Z = Y
  28.  
  29.  
  30.  
  31. /////////////////////////////////////////////////3 A Rybarczyk /////////////////////////////////////////////
  32. %zad 1lubi(kasia,wino).
  33. lubi(jan,wino).
  34. lubi(zbysio,piwo).
  35.  
  36. lubi(stefan, X) :- lubi(X,wino). %Stefan lubi tych, ktorzy lubia wino: czyli X=Kasia; X=jan.
  37.  
  38. %zad2
  39. krol(jan_I,1323,1355).
  40. krol(jpII,1981,2003).
  41. krol(janusz,2010,2020).
  42.  
  43. rzadzil(X,rok)   %wyswietl X, gdzie dane są: krol(nazwa, rok poczatek, rok koniec, gdzie rok<= od Z i rok >= od Z
  44.     :- krol(X,Y,Z),
  45.     rok<=Z,
  46.     rok>=Y.
  47.  
  48. %zad3
  49. max(X,Y,Z) :- X>=Y,Z is X. %jezeli X jest wieksze od Y to wyswietl X.
  50. max(X,Y,Z) :- X<Y,Z is Y.  %jezeli nie to wyswietl Y i zakoncz
  51.  
  52. /*zad4*/
  53.  
  54. student(mac).
  55. student(michal).
  56. student(iga).
  57. student(kuba).
  58.  
  59. srednia(mac,4.3).
  60. srednia(michal,3.2).
  61. srednia(iga,5.0).
  62. srednia(kuba,3,9).
  63.  
  64. stypendysta(X) :-  %Wyswietl X, gdzie  X jest imieniem studenta i gdzie X jest imieniem studenta w "sredniej" a Y jest jego srednia, gdzie jego ocena jest wieksza od 4.2.
  65.     student(X),
  66.     srednia(X,Y),
  67.     Y  > 4.2.
  68.  
  69. %zad5
  70.  
  71. rodzic(malgorzata,albert).
  72. rodzic(malgorzata,marcin).
  73. rodzic(robert,albert).
  74. rodzic(robert,marcin).
  75. %dziadkowie
  76.  
  77. rodzic(alina,malgorzata).
  78. rodzic(tadeusz,malgorzata).
  79.  
  80. rodzic(marysia,robert).
  81. rodzic(wojciech,robert).
  82.  
  83. rodzic(marysia,malgorzata).
  84. rodzic(wojciech,malgorzata).
  85.  
  86. rodzic(malgorzata,daniel).
  87. rodzic(grzegorz,daniel).
  88. rodzic(malgorzata,magda).
  89. rodzic(grzegorz,magda).
  90.  
  91. rodzic(malgorzata, jagoda).
  92. rodzic(piotr, jagoda).
  93. rodzic(malgorzata, zuzanna).
  94. rodzic(piotr, zuza).
  95.  
  96. mezczyzna(albert).
  97. mezczyzna(marcin).
  98. mezczyzna(daniel).
  99. mezczyzna(robert).
  100. mezczyzna(piotr).
  101. mezczyzna(grzegorz).
  102. mezczyzna(wojciech).
  103. mezczyzna(tadeusz).
  104.  
  105. kobieta(jagoda).
  106. kobieta(zuzanna).
  107. kobieta(magda).
  108. kobieta(malgorzata).
  109. kobieta(marysia).
  110. kobieta(alina).
  111.  
  112.  
  113. matka(X,Y) :- %X jest matka Y, gdzie rodzicem jest X, a synem/corka Y oraz X jest kobieta
  114.     rodzic(X,Y),
  115.     kobieta(X).
  116.  
  117. ojciec(X,Y) :-  %X jest ojcem Y, gdzie rodzicem jest X, a synem/corka Y oraz X jest kobieta
  118.     rodzic(X,Y),
  119.     mezczyzna(X).
  120.  
  121. brat(X,Y) :- %X jest bratem Y
  122.     mezczyzna(X), %jezeli X jest mezczyzna
  123.     rodzic(Z,Y), %i Z jest rodzicem Y
  124.         mezczyzna(Z), %i z jest mezczyzna (czyli ojcem)
  125.     rodzic(Z,X), %i Z jest rodzicem X
  126.         X \=Y. %i X nie jest Y
  127.  
  128. siostra(X,Y) :- %X jest siostra Y
  129.     kobieta(X), %jezeli X jest kobieta
  130.     rodzenstwo(X,Y), %i X jest r
  131.     X \=Y. %nie jest tym samym
  132.  
  133. rodzenstwo(X,Y):- %X jest rodzenstwem z Y, jezeli:
  134.     rodzic(Z,Y), %Z jest rodzicem Y
  135.         mezczyzna(Z), %i z jest mezczyzna (czyli ojcem)
  136.     rodzic(Z,X), %Z jest rodzicem X
  137.     X \=Y. %X nie jest takie samo jak Y
  138.  
  139. dziadek(X,Y) :- %X jest dziadkiem Y, jezeli:
  140.     mezczyzna(X), %X jest mezczyzna,
  141.     rodzic(X,Z), %X jest ojcem z
  142.     rodzic(Z,Y). %Z jest ojcem Y (czyli wnuczka)
  143.  
  144. babcia(X,Y) :-
  145.     kobieta(X),
  146.     rodzic(X,Z),
  147.         rodzic(Z,Y).
  148. wnuk(X,Y).
  149.     rodzic(Z,X),
  150.     rodzic(Y,Z).
  151.  
  152. przodek(X,Y) :-
  153.     rodzic(X,Y).
  154.  
  155. przodek(X,Z) :-
  156.     rodzic(X,Y),
  157.     przodek(Y,Z).
  158.  
  159. potomek(X,Y) :-
  160.     rodzic(Y,X).
  161.  
  162. potomek(X,Y) :-
  163.     rodzic(Z,X),
  164.     X\=Z,
  165.     potomek(Z,Y).
  166.  
  167. krewny(X,Y) :-
  168.     potomek(X,Y);
  169.     przodek(X,Y).
  170.  
  171. ciotka(X,Y) :-
  172. wujek(X,Y) :-
  173. stryj(X,Y) :-
  174.  
  175. /////////////////////////////////////////////////////////////////////5 K Pancerz////////////////////////////
  176. %zad 2.2s
  177. %wszystkie bezposrednie loty z Waszawy:bezposrednilot(warszawa,X).
  178. %wszystkie mozliwe polaczenia: polaczenia(X,Y).
  179. bezposrednilot(rzeszow,warszawa).
  180. bezposrednilot(warszawa,gdansk).
  181. bezposrednilot(warszawa,szczecin).
  182.  
  183. polaczenie(X,Y):-  %istnieje polaczenie z X do Y, jezeli istnieje
  184.     bezposrednilot(X,Y). %bezposrednilot z X do y), jezeli nie istnieje to:
  185. polaczenie(X,Y):- %Istenieje polaczenie z X do Y, jezeli
  186. bezposrednilot(X,Z),%istnieje polaczanie z X do Z, i jezeli
  187. bezposrednilot(Z,Y).%jest bezposredni lot z Z do Y.
  188.  
  189. //////////////////////////////////////////////////////////////////Prezentacja a Nowak//////////////////////
  190. /*
  191. Rejsy(skad, dokad, odlot, przylot)
  192. (wyraza dostepne loty miedzy miastami USA)
  193. Połaczenie(skad, dokad, odlot, przylot)
  194. (znajduje połaczenia posrednie i bezposredni ale na kazda przesiadke
  195. rezerwuje minimum godzine czasu
  196. */
  197. rejsy(sf,den, 930, 1230).
  198. rejsy(sf,dal, 900, 1430).
  199. rejsy(den, chi, 1500, 1800).
  200. rejsy(den,dal, 1400, 1700).
  201. rejsy(dal, chi, 1530, 1730).
  202. rejsy(chi,ny, 1500, 1930).
  203. rejsy(chi,ny, 1900, 2200).
  204. rejsy(chi,ny, 1830, 2130).
  205.  
  206. polaczenie(X,Y,O,P) :- %istnieje polaczenie pomiedzy X a Y, o godzinie O i przylocie P, jezeli
  207.           rejsy(X,Y,O,P). %istnieje rejs o z X do Y, o godzinie O i P. Jeżeli nie to wtedy:
  208. polaczenie(X,Y,O,P) :- %istnieje polaczenie z X do Y, gdzie O jest godziną odlotu a P przylotu, jezeli:
  209.           rejsy(X,Z,O,T1), %istnieje rejs z X do Z, o godzinie O, do T1,  jezeli:
  210.           polaczenie(Z,Y,T2,P), %istnieje polaczenie z Z do Y o godzinie T2 i przylocie P, jezeli:
  211.           T2 >=(T1+100).  %godzina T2 jest jest wieksza o godzine (100) od T1 by moc miec czas na przesiadke.
  212.  
  213. /*
  214. polaczenie metra
  215. */
  216.  
  217. connected(bond_street, oxford_circus, central).
  218. connected(oxford_circus, tottenham_court_road, central).
  219. connected(bond_street, green_park, jubilee).
  220. connected(green_park, charing_cross, jubilee).
  221. connected(green_park, piccadilly_circus, piccadilly).
  222. connected(piccadilly_circus, leicester_square, piccadilly).
  223. connected(green_park, oxford_circus, victoria).
  224. connected(oxford_circus, piccadilly_circus, bakerloo).
  225. connected(piccadilly_circus, charing_cross, bakerloo).
  226. connected(tottenham_court_road, leicester_square, northern).
  227. connected(leicester_square, charing_cross, northern).
  228. nearby(bond_street, oxford_circus).
  229. nearby(oxford_circus, tottenham_court_road).
  230. nearby(bond_street, tottenham_court_road).
  231. nearby(bond_street, green_park).
  232. nearby(green_park, charing_cross).
  233. nearby(bond_street, charing_cross).
  234. nearby(green_park, piccadilly_circus).
  235. nearby(piccadilly_circus, leicester_square).
  236. nearby(green_park, leicester_square).
  237. nearby(green_park, oxford_circus).
  238. nearby(oxford_circus, piccadilly_circus).
  239. nearby(piccadilly_circus, charing_cross).
  240. nearby(oxford_circus, charing_cross).
  241. nearby(tottenham_court_road, leicester_square).
  242. nearby(leicester_square, charing_cross).
  243. nearby(tottenham_court_road, charing_cross).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement