Скачиваний:
10
Добавлен:
01.05.2014
Размер:
1.96 Кб
Скачать


{џў«пҐвбп «Ё н«Ґ¬Ґ­в Z н«Ґ¬Ґ­в®¬ бЇЁбЄ }
member(Z,[Z|_]).
member(Z,[_|X]):-member(Z,X).

{„®Ў ўЁвм н«Ґ¬Ґ­в Z ў ­ з «® бЇЁбЄ  X}
append(Z,X,[Z|X]).

{„®Ў ўЁвм н«Ґ¬Ґ­в Z ў Є®­Ґж бЇЁбЄ }
appendlast(Z,[],[Z]).
appendlast(Z,[A|X],[A|R]):-appendlast(Z,X,R).

{€­ўҐабЁп бЇЁбЄ }
reverse([],[]).
reverse([A|X],R):-reverse(X,Y),appendlast(A,Y,R).

{‘а ў­Ґ­ЁҐ бЇЁбЄ®ў}
compare([],[]).
compare([A|X],[B|Y]):-A=B,compare(X,Y).

{‘®ўЇ ¤Ґ­ЁҐ ЇҐаўле н«Ґ¬Ґ­в®ў}
prefix([],X).
prefix([A|X],[B|Y]):-A=B,prefix(X,Y).

{‘®ўЇ ¤Ґ­ЁҐ Ї®б«Ґ¤­Ёе н«Ґ¬Ґ­в®ў}
suffix([],X).
suffix(X,Y):-reverse(X,X1),reverse(Y,Y1)
,prefix(X1,Y1).

{Ќ е®¤пвбп «Ё ¤ў  н«Ґ¬Ґ­в  A Ё B ў бЇЁбЄҐ X а冷¬?}
near(A,B,X):-prefix([A,B],X).
near(A,B,X):-prefix([B,A],X).
near(A,B,[_|X]):-near(A,B,X).

{‚лЎ®аЄ  н«Ґ¬Ґ­в  Ђ Ё§ бЇЁбЄ  [_|_],X-®бв в®Є}
select(A,[A|X],X).
select(A,[B|X],[B|R]):-select(A,X,R).

{‘а ў­Ґ­ЁҐ ЁҐа аеЁзҐбЄЁе бЇЁбЄ®ў}
comparetree([],[]).
comparetree(X,Y):-atom(X),atom(Y),X=Y.
comparetree([A|X],[B|Y]):-comparetree(A,B),comparetree(X,Y).

{ЋЎе®¤л ¤ҐаҐўмҐў}
{Љ‹Џ}
ctree([]).
ctree(X):-atom(X),write(X),nl.
ctree([Rt,L,R]):-ctree(Rt),ctree(L),ctree(R).

{‹ЉЏ}
ltree([]).
ltree(X):-atom(X),write(X),nl.
ltree([Rt,L,R]):-ltree(L),ltree(Rt),ltree(R).

{Џ‹Љ}
rtree([]).
rtree(X):-atom(X),write(X),nl.
rtree([Rt,L,R]):-rtree(R),rtree(L),rtree(Rt).

? - member(a,[c,v,b,a,d,f]).
yes

? - append(a,[z,x,c,v,b,n],L).
L=[a,z,x,c,v,b,n]->;
no

? - appendlast(a,[d,f,g,h,j,k],M).
M=[d,f,g,h,j,k,a]->;
no

? - reverse([z,x,c,v,b],K).
K=[b,v,c,x,z]->;
no

? - near(a,j,[d,f,g,a,j,r,t]).
yes

? - select(s,[g,h,j,k,s,f,r],L).
L=[g,h,j,k,f,r]->;
no

? - prefix([a,s,d,f],[a,s,d,f,g,h,j]).
yes

? - suffix([a,w,s,e,d],[k,j,h,a,w,s,e,r,d]).
no

? - ctree([a,s,d]).
a
s
d
yes

? - ltree([a,s,d]).
s
a
d
yes

? - rtree([a,s,d]).
d
s
a
yes
Соседние файлы в папке LAB2