Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Zad1
- a)
- 1) na(c,d).
- 2) na(c,a).
- 3) na(b,c).
- 4) na(X,c).
- 5) na(c,X).
- 6) na(X,Y).
- 7) na(_,c).
- 8) na(c,_).
- 9) na(c,X),na(Y,c).
- 10) na(_,X),na(X,_).
- b)
- pod(X,Y).
- /*
- X = a,
- Y = c ;
- X = b,
- Y = c ;
- X = c,
- Y = d.
- */
- miedzy(X,Y,Z).
- /*
- X = c,
- Y = a,
- Z = d ;
- X = c,
- Y = b,
- Z = d.
- */
- Zad2
- a)
- student(X,Y,_,_, informatyka, _).
- /*
- X = kaczmarek,
- Y = janina ;
- X = nowak,
- Y = anna ;
- X = jurkowski,
- Y = jerzy ;
- X = zemski,
- Y = piotr ;
- X = makowska,
- Y = zuzanna ;
- X = ratajczak,
- Y = agata.
- */
- b)
- student(X,Y,_,Miasto, _, _), Miasto \== poznan.
- /*
- X = nowak,
- Y = anna,
- Miasto = olsztyn ;
- X = kot,
- Y = stefan,
- Miasto = warszawa ;
- X = typowski,
- Y = adam,
- Miasto = krakow ;
- */
- c)
- student(X,Y,Z,_, _, _),Z > 1990.
- /*
- X = kosowski,
- Y = jan,
- Z = 1991 ;
- X = kowalski,
- Y = marek,
- Z = 1993 ;
- X = zemski,
- Y = piotr,
- Z = 1991 ;
- X = ratajczak,
- Y = agata,
- Z = 1992.
- */
- d)
- student(X,Y,_,poznan, _, Z), member(Z, [pp,uam]).
- /*
- X = kowalski,
- Y = jan,
- Z = uam ;
- X = kowalski,
- Y = marek,
- Z = pp ;
- X = kaczmarek,
- Y = janina,
- Z = pp ;
- X = jurkowski,
- Y = jerzy,
- Z = uam ;
- X = wolski,
- Y = maciej,
- Z = pp ;
- X = makowska,
- Y = zuzanna,
- Z = pp ;
- X = ratajczak,
- Y = agata,
- Z = uam.
- */
- e)
- student(X,Y,_,Z2, informatyka, Z1).
- /*
- X = kaczmarek,
- Y = janina,
- Z2 = poznan,
- Z1 = pp ;
- X = nowak,
- Y = anna,
- Z2 = olsztyn,
- Z1 = uwm ;
- X = jurkowski,
- Y = jerzy,
- Z2 = poznan,
- Z1 = uam ;
- X = zemski,
- Y = piotr,
- Z2 = poznan,
- Z1 = ue ;
- X = makowska,
- Y = zuzanna,
- Z2 = poznan,
- Z1 = pp ;
- X = ratajczak,
- Y = agata,
- Z2 = poznan,
- Z1 = uam.
- */
- f)
- student(X,Y,_,lodz, informatyka, _).
- /*
- false.
- */
- g)
- student(kowalski,jan,_,_, matematyka, _).
- /*
- true .
- */
- ZdefiniowacRelacje
- studentWPoznaniu(X,Y) :- student(X,Y, _, poznan, _, _).
- urodzonyPrzed1994(X,Y) :- student(X,Y, Z, poznan, informatyka, _), Z < 1994.
- studentInfNaPP(X,Y) :- student(X,Y, _, _, informatyka, pp).
- uczelniaZInf(X, Y) :- student(_,_,_,X, informatyka, Y).
- Zad 3
- ojciec(X,Y) :- rodzic(X,Y),mezczyzna(X).
- matka(X,Y) :- rodzic(X,Y),kobieta(X).
- rodzenstwo(X, Y) :- rodzic(Z, X), rodzic(Z, Y).
- brat(X,Y) :- rodzenswto(X,Y), mezczyzna(X).
- siostra(X,Y) :- rodzenswto(X,Y), kobieta(X).
- babciaLubDziadek(X,Y) :- rodzic(X, Z), rodzic(Z, Y).
- dziadek(X,Y) :- babciaLubDziadek(X,Y), mazczyzna(X).
- babcia(X,Y) :- babciaLubDziadek(X,Y), kobieta(X).
- dziadkowie(X,Y,Z) :- dziadek(X, Z), babcia(Y, Z).
- wuj(Wuj, Dziecko) :- brat(Wuj, Rodzic), rodzic(Rodzic, Dziecko).
- kuzyn(Kuzyn, Dziecko) :- rodzenstwo(RodzicKuzyna, RodzicDziecka), rodzic(RodzicDziecka, Dziecko), rodzic(RodzicKuzyna, Kuzyn).
- przodek(X,Y) :- rodzic(X,Y).
- przodek(X,Z) :- rodzic(X,Y), przodek(Y,Z).
- Zad 8
- is_list(X) :- var(X), !,fail.
- is_list([]).
- is_list([_|T]) :- is_list(T).
- ostatni([X],X).
- ostatni([_|Xs],X):-ostatni(Xs,X).
- nalezy(X,[X|_]).
- nalezy(X,[_|T]):-nalezy(X,T).
- obok(X,Y,[X,Y|_]).
- obok(X,Y,[_|Zs]):-obok(X,Y,Zs).
- usun([],_,[]):-!.
- usun([X|T],X,L1):-!,usun(T,X,L1).
- usun([H|T],X,[H|L1]):-usun(T,X,L1).
- wybierz(El,[El|T],T).
- wybierz(El,[H|T],[H|S]):-wybierz(El,T,S).
- listanum(L,U,Ns):-must_be(integer,L),must_be(integer,U),L=<U,listanum_(L,U,Ns).
- listanum_(U,U,List):-!,List=[U].
- listanum_(L,U,[L|Ns]):-L2 is L+1,listanum_(L2,U,Ns).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement