Wednesday, October 14, 2009

Demo Perm.pro Lab4 part8

?- ['perm.pro'].
% perm.pro compiled 0.00 sec, 136 bytes

Yes
?- perm([1,2,3],I).

I = [1, 2, 3] ;

I = [2, 1, 3] ;

I = [2, 3, 1] ;

I = [1, 3, 2] ;

I = [3, 1, 2] ;

I = [3, 2, 1] ;

No
?- perm([G,t,a,o],Wrd).

Wrd = [G, t, a, o] ;

Wrd = [t, G, a, o] ;

Wrd = [t, a, G, o] ;

Wrd = [t, a, o, G] ;

Wrd = [G, a, t, o] ;

Wrd = [a, G, t, o] ;

Wrd = [a, t, G, o] ;

Wrd = [a, t, o, G] ;

Wrd = [G, a, o, t] ;

Wrd = [a, G, o, t] ;

Wrd = [a, o, G, t] ;

Wrd = [a, o, t, G] ;

Wrd = [G, t, o, a] ;

Wrd = [t, G, o, a] ;

Wrd = [t, o, G, a] ;

Wrd = [t, o, a, G] ;

Wrd = [G, o, t, a] ;

Wrd = [o, G, t, a] ;

Wrd = [o, t, G, a] ;

Wrd = [o, t, a, G] ;

Wrd = [G, o, a, t]

Yes
?- halt.

Perm.pro Lab4 part8

% prints all possible permutations of a given list.

del(A,[A|T],T).
del(A,[H|T],[H|B]):-
del(A,T,B).

perm([],[]).
perm([H|T],R):-
perm(T,A),
del(H,R,A).

Demo Concat.pro Lab4 part7

?- ['concat.pro'].
% concat.pro compiled 0.00 sec, 0 bytes

Yes
?- con([1,2,3],[a,b,c],Result).

Result = [1, 2, 3, a, b, c]

Yes
?- con([X,Y,Z],[$,*,&],Result).

Result = [X, Y, Z, $, *, &]

Yes
?- con([$],[41.13],Result).

Result = [$, 41.13]

Yes
?- halt.

Concat.pro Lab4 part7

% concatenates one given list to another given list

con([],A,A).
con([H|T_1],B,[H|T_2]) :-
con(T_1,B,T_2).

Demo Member.pro Lab4 part6

?- ['member.pro'].
% member.pro compiled 0.00 sec, 136 bytes

Yes
?- mem(s,[t,d,r,f,d]).

No
?- mem(s,[t,d,r,f,s]).

Yes
?- mem(Z,[t,d,r,f,s]).

Z = t ;

Z = d ;

Z = r ;

Z = f ;

Z = s ;

No
?- mem(z,List).

List = [z|_G246] ;

List = [_G245, z|_G249] ;

List = [_G245, _G248, z|_G252] ;

List = [_G245, _G248, _G251, z|_G255] ;

List = [_G245, _G248, _G251, _G254, z|_G258] ;

List = [_G245, _G248, _G251, _G254, _G257, z|_G261] ;

List = [_G245, _G248, _G251, _G254, _G257, _G260, z|_G264] ;

List = [_G245, _G248, _G251, _G254, _G257, _G260, _G263, z|_G267]

Yes
?-halt.