Приклад_1
domains
chislo,factorial=integer
predicates
fact(chislo,factorial)
clauses
fact(1,1).
fact(X,Y):-X>1,
Z=X-1,
fact(Z,X1),
Y=X1*X.

Приклад_2
domains
a,b,d=integer
predicates
find_nds
nds(a,b,d)
goal
find_nds.
clauses
find_nds:-
write("Vvedit 2 thusla:"),nl,
write("a="),readint(A),
write("b="),readint(B),
nds(A,B,D),
write("NSD (",A,",",B,")=",D).
nds(A,B,D):-A=B,D=A,!.
nds(A,B,D):-A>B,X=A-B,nds(X,B,D),!.
nds(A,B,D):-X=B-A,nds(A,X,D).

Приклад_3
domains
a,b,d=integer
predicates
find_nsk
nds(a,b,d)
nsk(a,b,d)
goal
find_nsk.
clauses
find_nsk:-
write("Vvedit 2 thusla:"),nl,
write("a="),readint(A),
write("b="),readint(B),
nds(A,B,D),
write("NSK (",A,",",B,")=",D),
nsk(A,B,D),
write("NSK(",A,",",B,")=",D).
nds(A,B,D):-A=B,D=A,!.
nds(A,B,D):-A>B,X=A-B,nds(X,B,D),!.
nds(A,B,D):-X=B-A,nds(A,X,D).
nsk(A,B,D):-nds(A,B,D1),D=(A*B) div D1.

Приклад_4
domains
n,suma=integer
predicates
sum(n,suma)
goal
write("Vvedit verhnu mezy (parne N>=2) "), readint(N),sum(N,S),
write("Syma ryady vid 2 do ",N," krok 2:"),nl,
write("S(",N,")=",S).
clauses
sum(2,2).
sum(N,S):-N>2,N1=N-2,sum(N1,S1), S=S1+N.
Приклад_5
domains
n,suma=integer
predicates
sum(n,suma)
goal
write("Vvedit verhnu mezy (neparne N>=1) "), readint(N),sum(N,S),
write("Syma ryady vid 1 do ",N," krok 2:"),nl,
write("S(",N,")=",S).
clauses
sum(1,1).
sum(N,S):-N>1,N1=N-2,sum(N1,S1),S=S1+N.
Приклад_6
domains
x,y=integer
predicates
f(x,y)
clauses
f(1,1):-!.
f(3,3):-!.
f(X,Y):-X mod 2=0,X2=X div 2,f(X2,Y),!.
f(X,Y):-
X mod 4=1,X1=(X-1) div 2,X3=X1 div 2, X2=X1+1,f(X2,Y1),
f(X3,Y2),Y=2*Y1-Y2,!.
f(X,Y):-
X mod 4=3, X1=(X-3) div 2, X3=X1 div 2, X2=X1+1, f(X2,Y1),
f(X3,Y2), Y=3*Y1-2*Y2.
Приклад_7
predicates
a(integer,integer,integer)
clauses
a(N,M,Y):-M=0,Y=N+1,!.
a(N,M,Y):-N=0,M>0,M1=M-1,A(1,M1,Y),!.
A(N,M,Y):-N1=N-1,M1=M-1,a(N1,M,Y1), a(Y1,M1,Y).

Приклад_8
domains
name = symbol
predicates
father(name,name)
mother(name,name)
parents(name,name)
woman(name)
man(name)
grandfather(name,name)
grandmother (name,name)
ancestor(name,name)
clauses
father("Illya","Kateruna").
father("Mukola","Illya").
mother("Kateruna","Mariya").
mother("Kateruna","Andriy").
mother("Mariya","Gnat").
woman("Kateruna").
woman("Mariya").
man("Illya").
man("Andriy").
man("Mukola").
man("Gnat").
parents(X,Y):-
father(X,Y),man(X);
mother(X,Y),woman(X).
grandfather(X,Y):-
father(X,Z),parents(Z,Y).
grandmother(X,Y):-
mother(X,Z),parents(Z,Y).
ancestor(X,Y):-parents(X,Y).
ancestor (X, Y):-
parents(X,Z),ancestor(Z,Y).

domains
chislo,factorial=integer
predicates
fact(chislo,factorial)
clauses
fact(1,1).
fact(X,Y):-X>1,
Z=X-1,
fact(Z,X1),
Y=X1*X.
Приклад_2
domains
a,b,d=integer
predicates
find_nds
nds(a,b,d)
goal
find_nds.
clauses
find_nds:-
write("Vvedit 2 thusla:"),nl,
write("a="),readint(A),
write("b="),readint(B),
nds(A,B,D),
write("NSD (",A,",",B,")=",D).
nds(A,B,D):-A=B,D=A,!.
nds(A,B,D):-A>B,X=A-B,nds(X,B,D),!.
nds(A,B,D):-X=B-A,nds(A,X,D).
Приклад_3
domains
a,b,d=integer
predicates
find_nsk
nds(a,b,d)
nsk(a,b,d)
goal
find_nsk.
clauses
find_nsk:-
write("Vvedit 2 thusla:"),nl,
write("a="),readint(A),
write("b="),readint(B),
nds(A,B,D),
write("NSK (",A,",",B,")=",D),
nsk(A,B,D),
write("NSK(",A,",",B,")=",D).
nds(A,B,D):-A=B,D=A,!.
nds(A,B,D):-A>B,X=A-B,nds(X,B,D),!.
nds(A,B,D):-X=B-A,nds(A,X,D).
nsk(A,B,D):-nds(A,B,D1),D=(A*B) div D1.
Приклад_4
domains
n,suma=integer
predicates
sum(n,suma)
goal
write("Vvedit verhnu mezy (parne N>=2) "), readint(N),sum(N,S),
write("Syma ryady vid 2 do ",N," krok 2:"),nl,
write("S(",N,")=",S).
clauses
sum(2,2).
sum(N,S):-N>2,N1=N-2,sum(N1,S1), S=S1+N.
Приклад_5
domains
n,suma=integer
predicates
sum(n,suma)
goal
write("Vvedit verhnu mezy (neparne N>=1) "), readint(N),sum(N,S),
write("Syma ryady vid 1 do ",N," krok 2:"),nl,
write("S(",N,")=",S).
clauses
sum(1,1).
sum(N,S):-N>1,N1=N-2,sum(N1,S1),S=S1+N.
Приклад_6
domains
x,y=integer
predicates
f(x,y)
clauses
f(1,1):-!.
f(3,3):-!.
f(X,Y):-X mod 2=0,X2=X div 2,f(X2,Y),!.
f(X,Y):-
X mod 4=1,X1=(X-1) div 2,X3=X1 div 2, X2=X1+1,f(X2,Y1),
f(X3,Y2),Y=2*Y1-Y2,!.
f(X,Y):-
X mod 4=3, X1=(X-3) div 2, X3=X1 div 2, X2=X1+1, f(X2,Y1),
f(X3,Y2), Y=3*Y1-2*Y2.
Приклад_7
predicates
a(integer,integer,integer)
clauses
a(N,M,Y):-M=0,Y=N+1,!.
a(N,M,Y):-N=0,M>0,M1=M-1,A(1,M1,Y),!.
A(N,M,Y):-N1=N-1,M1=M-1,a(N1,M,Y1), a(Y1,M1,Y).
Приклад_8
domains
name = symbol
predicates
father(name,name)
mother(name,name)
parents(name,name)
woman(name)
man(name)
grandfather(name,name)
grandmother (name,name)
ancestor(name,name)
clauses
father("Illya","Kateruna").
father("Mukola","Illya").
mother("Kateruna","Mariya").
mother("Kateruna","Andriy").
mother("Mariya","Gnat").
woman("Kateruna").
woman("Mariya").
man("Illya").
man("Andriy").
man("Mukola").
man("Gnat").
parents(X,Y):-
father(X,Y),man(X);
mother(X,Y),woman(X).
grandfather(X,Y):-
father(X,Z),parents(Z,Y).
grandmother(X,Y):-
mother(X,Z),parents(Z,Y).
ancestor(X,Y):-parents(X,Y).
ancestor (X, Y):-
parents(X,Z),ancestor(Z,Y).
Комментариев нет:
Отправить комментарий