Mạng xã hội
Hoặc copy link
Trong hệ chuyên gia chúng ta thường sử dụng ngôn ngữ lập trình Prolog, ngôn ngữ này thường được sử dụng trong lĩnh vực trí tuệ nhân tạo. Một chương trình Prolog là một cơ sở dữ liệu gồm các mệnh đề clause. Mỗi mệnh đề được xây dựng từ các vị từ predicat. Một vị từ là một phát biểu nào đó về các đối tượng có giá trị chân true hoặc fail. Hôm nay sharecs muốn giới thiệu tới các bạn một số mẫu bài tập căn bản để chúng mình học tập.
%chuong trinh tinh tong tu 1 den n CHIA HET CHO 3
predicates
tong(integer,integer)
clauses
tong(1,K) :-K=0, !.
tong(N,K):-N mod 3 =0,
N1 = N - 1,
tong(N1,K1),
K=K1+N.
tong(N,K):- N mod 3 <> 0,
N1 = N -1,
tong(N1,K1),
K = K1. %truong hop nay khong cong
%chuong trinh tinh tong tu M den N
predicates
tongMN (integer, integer, integer)
clauses
tongMN (M, M, M) :- !.
tongMN (M, N, K) :-
N1 = N - 1,
tongMN (M, N1, K1),
K = K1 + N.
goal
write("cho M:"),readint(M),
write("cho N:"), readint(N),
tongMN(M,N,X),
write("ket qua:",X).
/* chuong trinh tinh tong cac so chan tu 1 den N */
predicates
tongchan(integer,integer)
clauses
tongchan(1,0) :- !.
tongchan(N,K):- N mod 2 = 0,
N1=N-1,
tongchan(N1,K1),
K=K1+N.
tongchan(N,K):- N mod 2 = 1,
N1 = N-1,
tongchan(N1,K1),
K = K1.
/* chuong trinh tinh tong cac so chia het cho 3 tu 1 den N */
predicates
tongba(integer,integer)
clauses
tongba(1,0) :- !.
tongba(N,K):- N mod 3 = 0,
N1=N-1,
tongba(N1,K1),
K=K1+N.
tongba(N,K):- N mod 3 <> 0,
N1 = N-1,
tongba(N1,K1),
K = K1.
goal
write("cho mot so nguyen: "),
readint(N),
tongba(N,K),
write("tong ba toi ", N),
write(" bang: ",K).
/* chuong trinh tinh tong tu 1 den N */
predicates
tong(integer,integer)
clauses
tong(1,1):- !.
tong(N,K):- N1 = N-1,
tong(N1,K1),
K = K1+N.
predicates
le(interger)
clauses
chan(N) :- N mod 2 = 0,
wite(N, "chan").
le(N) :- wite(N, "le").
predicates
gt(interger, real)
gt(interger, real, interger, real)
clauses
gt(N, K) :- gt(N, K, 1, 1).
gt(N, K, I, P) :- I1 = I + 1,
P1 = P*I,
gt(N, K, I1, P1).
gt(N, K, N, K).
domains
xau = interger*
predicates
hop(xau, xau, xau)
clauses
hop([], L, L). %khi lay het gia tri thi dung
hop([N:T], L2, [N:L3]) :- hop(T, L2, L3).
domains
xau = interger*
predicates
thuoc(xau, xau, xau)
giao(xau, xau, xau)
clauses
giao(_, _, [])
hop([], L, L). %khi lay het gia tri thi dung
hop([N:T], L2, [N:L3]) :- hop(T, L2, L3).
predicates
pt(real, real)
clauses
pt(0,0) :- write("phuong trinh vo so nghiem").
pt(0,_) :- write("phuong trinh vo nghiem").
pt(A, B) :- X=-B/A,
write("Nghiem la: ", X).
goal
write("Cho gia tri A:"),
readrea(A),
write("Cho gia tri B:"),
readrea(B),
pt(A,B).
Cảm ơn các bạn đã ghé thăm. Chúc các bạn thành công!