-. .
. , . , .
:
domains
=symbol
predicates
(,)
(,)
clauses
/* 1 */ (,).
/* 2 */ (,).
/* 3 */(, Y):-
(, Z),
(Z, Y).
/*4*/ (, Y).
1-3. 4 ( ) 1-3. 3 4. 3 (X,Y,Z) X1, Y1, Z1 . : X XI, Y Y1. 3 :
/* 4 */ (,Z1),(Z1,).
(4) 1, "" X, "" Z1. :
/* 4b */ (, Y).
(4b) 1, 2 3. , .. , , 4.
(4) 2, "" X, "" - Z1. :
/* 4 */ (, Y).
(4), , 1 "" Y. , , . : =, Y =.
. 4, . , 4 4, .
. 11.6.
|
, : , ; ; ; ; ; ; ; ; . , , :
|
|
(,Y)
(,Y) :-o(X,Z),o(Z,Y)
(1,Y1):-o(X1,Z1),o(Z1,Y1)
(,1):-o(X,Z),o(Z,Y) [TB0]
=1, Y=Y1
o(X1,Z1)
(,)
(, Y1):-(,1),(, Y1) [1]
1 =,1=
(, Y1)
, "". , .. :
o(X1, Z1)
(,)
(, Y 1):-(,),(, Y1) [0]
1 =, Z1 =an
(, Y 1)
(,)
(,):-(,),(,)
Y1 =
, , 0.
"". "" ( ) . -, , , , , . -, , , .
. , , , , .. . , , , , . :
1) ( ) ;
2) ( ) ;
3) , ( ) .
"!" ( ) ""
-1,-2,!,-3,-4.
, : , -4; , -3 ( -4 , -3); "!", .. -2 -1 .
"!".
:
(,b).
(b,).
(,d).
(,Y):-
(,Y).
/* "1- :", , Y. */
(,):-
(,2),
/* "2- , 1- :", ,Z, */
(Z,).
/* "2- ,2- :", Z,. */
:
1- : ,b
X=a,Y=b
1- : b,
X=b,Y=c
1- : c,d
X=c,Y=d
2- 1 - : ,b
1- : b,
2- 2- : b,
X=a,Y=c
2- 1-: b,
1- : c,d
2- 2- : c,d
2- 2- : b,d
X=a,Y=d
!,(X,Y),(Y,Z)
X=a,Y=b,Z=c
X=b,Y=c,Z=d
(X,Y),!,(Y,Z)
X=a,Y=b,Z=c
"". "fail", , .. . , , ( , ). , , "fail" . , (,Y), write(X,Y),nl,fail,(Z,Y). "". , : "", ".
|
|
, . :
predicates
(symbol,symbol,integer)
(symbol, symbol, integer)
clauses
(,,750).
(,, 1668).
(,, 1675).
(,,):-
(,,).
(,,):-
(,, 1),
(,,2),
= 1 +2.
:
(,,)
:
=, =750
=, =2418
=,=4093
(,,). "+".
"-", "*", "/". , . , =* *=. , :
mod, XmodY X Y;
div, XdivY X Y;
abs(X) ; () X;
sqrt(X) X;
sin(X), cos(X), tg(X), arctg(X) .
:
1)+,-; 2)*,/; 3) mod,div; 4)+,-().
"-" "*" . , 1!=1 n!=n*(n-l)!
" fact(X,Y) " Y X.
: fact(l,l). :
1) n , Z;
2) Z, X1;
3) X1 n, Y.
, :
predicates
fact(real,real)
clauses
fact(l.l).
fact(X, Y):-
Z=X-1,
fact(Z, X1),
Y=X*X1.
fact(5, X) : =120. "Message" , .
, X fact(l,l). . , :
fact(l,l):-!.
:
fact(X, Y):-
Z=X-1,
fact(Z, X1),
!, Y=X*X1.
, X :
fact(X, Y):-
>1,
Z = X -1,
fact(Z, X1),
Y=X*X1.
.
5!:
5! = 5 * 4!
4! = 4 * 3!
3! = 3 * 2!
2! = 2 * 1!
= 1! = 1 ..
2! = 2 * 1 = 2 ..
3! = 3 * 2 = 6 ..
4! = 4 * 6 = 24 ..
5! = 5 * 24 = 120
: ( ","), ( ";"), . , ,
(, Y):- (, Y).
(, Y):- (, Y).
(, Y):-
(, ); (, ).
"not". , not (a,d) , (,d) .
|
|
:
>, >=, <, <=, =, <> >< ( ).