osoba(marko). osoba(ana). ima_vozacku(ana). auto(fiat). auto(honda). vozi(X,Y):-osoba(X),ima_vozacku(X),auto(Y). vozi(marko,fiat). %bojenje grafa bojenje(Srb,Mak,Cg,Alb,Bug,Rum,Madj):-sused(Srb,Mak), sused(Srb,Cg), sused(Srb,Bug), sused(Srb,Rum), sused(Srb,Madj), sused(Mak,Alb), sused(Bug,Rum), sused(Rum,Madj), sused(Bug,Mak), sused(Cg,Alb). sused(X,Y):-boja(X),boja(Y),X\==Y. boja(zuta). boja(plava). boja(crvena). % lista se predstavlja kao skup el. u okviru uglastih zagrada % rek. definicija % 1. prazna lista [] je lista % 2. [H|T], H je glava liste, a T je rep liste koji je isto lista poslednji([],[]):-fail. poslednji([H],H). poslednji([H|T],X):-poslednji(T,X). % moguca je i ova reprezentacija liste: % [H1,H2,...,HN|T] % [H1,H2,...,HN] %:-ntielement([1,2,3,4,5],3,X). %X=3; nti([],X,Y):-fail. nti([H|T],1,H). nti([H|T],N,X):-N1 is N-1,nti(T,N1,X). duzina([], 0). duzina([H|T], X) :- duzina(T, X1), X is X1+1. obrni([],[]). obrni([H|T],R):-obrni(T,T1),append(T1,[H],R).