Advertisement
Guest User

Untitled

a guest
Jun 6th, 2019
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 3.81 KB | None | 0 0
  1. Zad1
  2.  
  3. a)
  4.   1)   na(c,d).
  5.   2)   na(c,a).
  6.   3)   na(b,c).
  7.   4)   na(X,c).
  8.   5)   na(c,X).
  9.   6)   na(X,Y).
  10.   7)   na(_,c).
  11.   8)   na(c,_).
  12.   9)   na(c,X),na(Y,c).
  13.   10)  na(_,X),na(X,_).
  14. b)
  15.   pod(X,Y).
  16.   /*
  17.     X = a,
  18.     Y = c ;
  19.  
  20.     X = b,
  21.     Y = c ;
  22.  
  23.     X = c,
  24.     Y = d.
  25.   */
  26.   miedzy(X,Y,Z).
  27.   /*
  28.     X = c,
  29.     Y = a,
  30.     Z = d ;
  31.  
  32.     X = c,
  33.     Y = b,
  34.     Z = d.
  35.   */
  36.  
  37.  
  38. Zad2
  39.  
  40. a)
  41.   student(X,Y,_,_, informatyka, _).
  42.   /*
  43.     X = kaczmarek,
  44.     Y = janina ;
  45.  
  46.     X = nowak,
  47.     Y = anna ;
  48.  
  49.     X = jurkowski,
  50.     Y = jerzy ;
  51.  
  52.     X = zemski,
  53.     Y = piotr ;
  54.  
  55.     X = makowska,
  56.     Y = zuzanna ;
  57.  
  58.     X = ratajczak,
  59.     Y = agata.
  60.   */
  61. b)
  62.   student(X,Y,_,Miasto, _, _), Miasto \== poznan.
  63.   /*
  64.     X = nowak,
  65.     Y = anna,
  66.     Miasto = olsztyn ;
  67.  
  68.     X = kot,
  69.     Y = stefan,
  70.     Miasto = warszawa ;
  71.  
  72.     X = typowski,
  73.     Y = adam,
  74.     Miasto = krakow ;
  75.   */
  76. c)
  77.   student(X,Y,Z,_, _, _),Z > 1990.
  78.   /*
  79.     X = kosowski,
  80.     Y = jan,
  81.     Z = 1991 ;
  82.  
  83.     X = kowalski,
  84.     Y = marek,
  85.     Z = 1993 ;
  86.  
  87.     X = zemski,
  88.     Y = piotr,
  89.     Z = 1991 ;
  90.  
  91.     X = ratajczak,
  92.     Y = agata,
  93.     Z = 1992.
  94.   */
  95. d)
  96.   student(X,Y,_,poznan, _, Z),  member(Z, [pp,uam]).
  97.   /*
  98.     X = kowalski,
  99.     Y = jan,
  100.     Z = uam ;
  101.  
  102.     X = kowalski,
  103.     Y = marek,
  104.     Z = pp ;
  105.  
  106.     X = kaczmarek,
  107.     Y = janina,
  108.     Z = pp ;
  109.  
  110.     X = jurkowski,
  111.     Y = jerzy,
  112.     Z = uam ;
  113.  
  114.     X = wolski,
  115.     Y = maciej,
  116.     Z = pp ;
  117.  
  118.     X = makowska,
  119.     Y = zuzanna,
  120.     Z = pp ;
  121.  
  122.     X = ratajczak,
  123.     Y = agata,
  124.     Z = uam.
  125.   */
  126. e)
  127.   student(X,Y,_,Z2, informatyka, Z1).
  128.   /*
  129.     X = kaczmarek,
  130.     Y = janina,
  131.     Z2 = poznan,
  132.     Z1 = pp ;
  133.  
  134.     X = nowak,
  135.     Y = anna,
  136.     Z2 = olsztyn,
  137.     Z1 = uwm ;
  138.  
  139.     X = jurkowski,
  140.     Y = jerzy,
  141.     Z2 = poznan,
  142.     Z1 = uam ;
  143.  
  144.     X = zemski,
  145.     Y = piotr,
  146.     Z2 = poznan,
  147.     Z1 = ue ;
  148.  
  149.     X = makowska,
  150.     Y = zuzanna,
  151.     Z2 = poznan,
  152.     Z1 = pp ;
  153.  
  154.     X = ratajczak,
  155.     Y = agata,
  156.     Z2 = poznan,
  157.     Z1 = uam.
  158.   */
  159. f)
  160.   student(X,Y,_,lodz, informatyka, _).
  161.   /*
  162.     false.
  163.   */
  164. g)
  165.   student(kowalski,jan,_,_, matematyka, _).
  166.   /*
  167.   true .
  168.   */
  169.  
  170. ZdefiniowacRelacje
  171.   studentWPoznaniu(X,Y) :- student(X,Y, _, poznan, _, _).
  172.   urodzonyPrzed1994(X,Y) :- student(X,Y, Z, poznan, informatyka, _), Z < 1994.
  173.   studentInfNaPP(X,Y) :- student(X,Y, _, _, informatyka, pp).
  174.   uczelniaZInf(X, Y) :- student(_,_,_,X, informatyka, Y).
  175.  
  176. Zad 3
  177.  
  178.   ojciec(X,Y) :- rodzic(X,Y),mezczyzna(X).
  179.   matka(X,Y) :- rodzic(X,Y),kobieta(X).
  180.  
  181.   rodzenstwo(X, Y) :- rodzic(Z, X), rodzic(Z, Y).
  182.   brat(X,Y) :- rodzenswto(X,Y), mezczyzna(X).
  183.   siostra(X,Y) :- rodzenswto(X,Y), kobieta(X).
  184.  
  185.   babciaLubDziadek(X,Y) :- rodzic(X, Z), rodzic(Z, Y).
  186.   dziadek(X,Y) :- babciaLubDziadek(X,Y), mazczyzna(X).
  187.   babcia(X,Y) :- babciaLubDziadek(X,Y), kobieta(X).
  188.   dziadkowie(X,Y,Z) :- dziadek(X, Z), babcia(Y, Z).
  189.  
  190.   wuj(Wuj, Dziecko) :- brat(Wuj, Rodzic), rodzic(Rodzic, Dziecko).
  191.   kuzyn(Kuzyn, Dziecko) :- rodzenstwo(RodzicKuzyna, RodzicDziecka), rodzic(RodzicDziecka, Dziecko), rodzic(RodzicKuzyna, Kuzyn).
  192.   przodek(X,Y) :- rodzic(X,Y).
  193.   przodek(X,Z) :- rodzic(X,Y), przodek(Y,Z).
  194.  
  195. Zad 8
  196.  
  197.   is_list(X) :- var(X), !,fail.
  198.   is_list([]).
  199.   is_list([_|T]) :- is_list(T).
  200.  
  201.   ostatni([X],X).
  202.   ostatni([_|Xs],X):-ostatni(Xs,X).
  203.  
  204.   nalezy(X,[X|_]).
  205.   nalezy(X,[_|T]):-nalezy(X,T).
  206.  
  207.   obok(X,Y,[X,Y|_]).
  208.   obok(X,Y,[_|Zs]):-obok(X,Y,Zs).
  209.  
  210.   usun([],_,[]):-!.
  211.   usun([X|T],X,L1):-!,usun(T,X,L1).
  212.   usun([H|T],X,[H|L1]):-usun(T,X,L1).
  213.  
  214.   wybierz(El,[El|T],T).
  215.   wybierz(El,[H|T],[H|S]):-wybierz(El,T,S).
  216.  
  217.   listanum(L,U,Ns):-must_be(integer,L),must_be(integer,U),L=<U,listanum_(L,U,Ns).
  218.   listanum_(U,U,List):-!,List=[U].
  219.   listanum_(L,U,[L|Ns]):-L2 is L+1,listanum_(L2,U,Ns).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement