Truyen2U.Net quay lại rồi đây! Các bạn truy cập Truyen2U.Com. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

Prolog

1,

predicates

mean(symbol,symbol)

clauses

mean(cat,meo).

mean(dog,cho).

mean(bird,chim).

mean(chick,ga).

mean(pig,heo).

-----------------------------------

2,

predicates

parent(symbol,symbol)

male(symbol)

female(symbol)

bo(symbol)

me(symbol)

ong(symbol)

ba(symbol)

clauses

parent(a,b).

parent(a,c).

parent(b,d).

parent(b,e).

parent(c,f).

male(b).

male(d).

male(f).

female(c).

female(e).

bo(X):-parent(_,X),male(X).

me(X):-parent(_,X),female(X).

ong(X):-parent(_,X),male(X).

ba(X):-parent(_,X),female(X).

---------------------------------------------

3,

predicates

parent(symbol,symbol)

male(symbol)

female(symbol)

bo(symbol)

me(symbol)

ong(symbol)

ba(symbol)

ancestor(symbol,symbol)

related(symbol,symbol)

clauses

parent(a,b).

parent(a,c).

parent(b,d).

parent(b,e).

parent(c,f).

male(b).

male(d).

male(f).

female(c).

female(e).

bo(A):-parent(_,A),male(A).

me(A):-parent(_,A),female(A).

ong(A):-parent(_,A),male(A).

ba(A):-parent(_,A),female(A).

ancestor(A,B):-parent(A,B).

ancestor(A,B):-parent(A,C),ancestor(C,B).

related(A,B):-ancestor(A,B).

related(A,B):-ancestor(A,C),ancestor(B,C),A<>B.

-----------------------------------------------------------------------

4,

domains

Sv_cmp = sinhvien(ten,diemTTNT,diemXLA)

Ten=symbol

DiemTTNT=real

DiemXLA=real

predicates

svgioi(sv_cmp)

lasinhvien(sv_cmp)

clauses

lasinhvien(sinhvien(a,5,10)).

lasinhvien(sinhvien(b,8,9)).

lasinhvien(sinhvien(c,7,10)).

lasinhvien(sinhvien(d,9,9)).

lasinhvien(sinhvien(e,4,6)).

svgioi(sinhvien(Ten,X,Y)):-lasinhvien(sinhvien(Ten,X,Y)),(X+Y)/2>8,write(Ten),nl,fail.

----------------------------------------------------------------------------

5,

domains

Sv_cmp = sinhvien(ten,diemTTNT,diemXLA,diemLHD,diemTA)

Ten=symbol

DiemTTNT=real

DiemXLA=real

DiemLHD=real

DiemTA=real

predicates

svkem(sv_cmp)

svtb(sv_cmp)

svkha(sv_cmp)

svgioi(sv_cmp)

danhsach(sv_cmp)

clauses

danhsach(sinhvien(a,5,10,4,2)).

danhsach(sinhvien(b,8,9,5,4)).

danhsach(sinhvien(c,7,10,3,6)).

danhsach(sinhvien(d,9,9,8,7)).

danhsach(sinhvien(e,4,6,4,7)).

svgioi(sinhvien(Ten,X,Y,Z,W)):-danhsach(sinhvien(Ten,X,Y,Z,W)),(X+Y+Z+W)/4>8,write(Ten),nl,fail.

svkha(sinhvien(Ten,X,Y,Z,W)):-danhsach(sinhvien(Ten,X,Y,Z,W)),6<(X+Y+Z+W)/4,(X+Y+Z+W)/4<8,write(Ten),nl,fail.

svtb(sinhvien(Ten,X,Y,Z,W)):-danhsach(sinhvien(Ten,X,Y,Z,W)),4<(X+Y+Z+W)/4,(X+Y+Z+W)/4<6,write(Ten),nl,fail.

svkem(sinhvien(Ten,X,Y,Z,W)):-danhsach(sinhvien(Ten,X,Y,Z,W)),(X+Y+Z+W)/4<4,write(Ten),nl,fail.

-----------------------------------------------------------------------------------------

6,

predicates

UCLN(integer,integer,integer)

BCNN(integer,integer,integer)

clauses

UCLN(A,B,B):-A=0.

UCLN(A,B,C):-A>0,D=B mod A,UCLN(D,A,C).

BCNN(A,B,C):-UCLN(A,B,D),C=A*B/D.

--------------------------------------------------------------------------------

7,

predicates

giai(real,real,real,real,real,real)

kiemtra(real,real,real)

clauses

kiemtra(D,Dx,Dy):-D<>0,X=Dx/D,Y=Dy/D,write("X=",X),nl,write("Y=",Y),!.

kiemtra(_,_,Dy):-Dy<>0,write("Phuong trinh vo nghiem"),!.

kiemtra(_,Dx,_):-Dx<>0,write("Phuong trinh vo nghiem"),!.

kiemtra(_,Dx,Dy):-Dx=0,Dy=0,write("Phuong trinh co vo so nghiem").

giai(A1,B1,C1,A2,B2,C2):-

D=A1*B2-A2*B1,

Dx=C1*B2-C2*B1,

Dy=A1*C2-A2*C1,

kiemtra(D,Dx,Dy).

goal

giai(1,4,55,2,4,9).

------------------------------------------------------------------

8,

predicates

lap(real,real,real,real)

can2(real,real)

luciabs(real,real)

clauses

luciabs(X,Y):-X>0,Y=X,!.

luciabs(X,Y):-X<=0,Y=-X.

lap(X,Y,Xn,Xo):-D=Xn-Xo,luciabs(D,Z),Z>0.0001,E=Xn,F=(X/E+E)*0.5,lap(X,Y,F,E).

lap(X,Y,Xn,Xo):-D=Xn-Xo,luciabs(D,Z),Z<0.0001,Y=Xn.

can2(X,Y):-lap(X,Z,1,0),Y=Z.

-------------------------------------------------------------

9,

domains

array = integer*

predicates

dem(array,integer)

demsole(array,integer)

demsochan(array,integer)

clauses

dem([],0).

dem([H|T],X):-dem(T,Z),X=Z+1.

demsole([],0).

demsole([H|T],X):-H mod 2 = 1,demsole(T,Z),X=Z+1.

demsole([H|T],X):-H mod 2 = 0,demsole(T,Z),X=Z.

demsochan([],0).

demsochan([H|T],X):-H mod 2 = 1,demsochan(T,Z),X=Z.

demsochan([H|T],X):-H mod 2 = 0,demsochan(T,Z),X=Z+1.

goal

L=[2,2,4,5,5,6,2,4,7],dem(L,X),demsole(L,Xle),demsochan(L,Xchan),nl,write("So phan tu cua mang :",X),nl,write("So phan tu le:",Xle),nl,write("So phan tu chan :",Xchan).

-------------------------------------------------------------------------------

10,

domains

array = integer *

predicates

tong(array,integer)

tongchan(array,integer)

tong3(array,integer)

clauses

tong([],0).

tong([H|T],X):-tong(T,Z),X=Z+H.

tongchan([],0).

tongchan([H|T],X):-H mod 2 = 0,tongchan(T,Z),X=Z+H.

tongchan([H|T],X):-H mod 2 <>0,tongchan(T,Z),X=Z.

tong3([],0).

tong3([H|T],X):-H mod 3 = 0,tong3(T,Z),X=Z+H.

tong3([H|T],X):-H mod 3 <>0,tong3(T,Z),X=Z.

goal

L=[4,5,2,3,12],

tong(L,X),

tongchan(L,X2),

tong3(L,X3),

write("Tong cac phan tu : ",X),nl,

write("Tong cac so chan : ",X2),nl,

write("Tong | 3 : ",X3).

--------------------------------------------------------

11,

domains

array = integer*

predicates

tach(array,array,array)

append(array,array,array)

clauses

append([],L,L).

append([H|T],L,[H|TL]):-append(T,L,TL).

tach([],[],[]).

tach([H|T],X,Y):-H<0,tach(T,Array1,Array2),append(Array1,[],X),append(Array2,[H],Y),!.

tach([H|T],X,Y):-H>0,tach(T,Array1,Array2),append(Array1,[H],X),append(Array2,[],Y),!.

%Chan le thi thay dieu kien H<0 = H mod 2 = 1.H>0 = H mod 2 = 0

goal

L=[3,-4,-2,-6,7,5,-1],tach(L,X,Y),

write("DS Duong:"),write(X),nl,

write("DS Am:"),write(Y).

----------------------------------------------------------------------

12,

domains

array = integer*

predicates

max(array,integer)

min(array,integer)

clauses

max([],-32000).

max([H|T],H):-max(T,X),X<=H.

max([H|T],X):-max(T,X),X>H.

min([],32000).

min([H|T],H):-min(T,X),X>=H.

min([H|T],X):-min(T,X),X<H.

goal

L=[5,4,2,-1,3,4,-2,5,6,1,6],max(L,X),min(L,Y),

write("Max : "),write(X),nl,

write("Min : "),write(Y).

--------------------------------------------------

13,

domains

array = integer *

predicates

for(integer,array,integer)

clauses

for(_,[],-32000).

for(0,_,-32000).

for(N,[H|T],H):-N>=0,J=N-1,for(J,T,X),X<=H,!.

for(N,[H|T],X):-N>=0,J=N-1,for(J,T,X),X>H,!.

goal

L=[4,3,1,5,2,6,2],for(6,L,X),write(X).

-----------------------------------------------------------

14,

domains

array = integer*

predicates

append(array,array,array)

prefix(array,array)

suffix(array,array)

sublist(array,array)

clauses

append([],L,L).

append([H|T],L,[H|LT]):-append(T,L,LT).

prefix(Y,X):-append(Y,_,X).

suffix(Y,X):-append(_,Y,X).

sublist(Y,X):-append(_,Y,Z),append(Z,_,X).

------------------------------------------------------------------

15,

predicates

gt(real,real)

ckn(integer,integer,real)

clauses

gt(1,1):-!.

gt(X,Y):-M=X-1,gt(M,N),Y=N*X.

ckn(K,N,X):-N>=K,gt(N,Ngt),gt(K,Kgt),M=N-K,gt(M,Mgt),X=Ngt/Kgt*Mgt,!.

ckn(K,N,0):-N<K,write("Sao ma tinh duoc"),nl,!.

----------------------------------------------------------------- ^^!~

Bạn đang đọc truyện trên: Truyen2U.Com

Tags: