.


:




:

































 

 

 

 





-. .

. , . , .

:

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.

 

. 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) .

:

>, >=, <, <=, =, <> >< ( ).





:


: 2016-11-24; !; : 521 |


:

:

, ,
==> ...

1539 - | 1461 -


© 2015-2024 lektsii.org - -

: 0.028 .