.


:




:

































 

 

 

 


()




().

().

().

, X , X , . , :? _(, ).

X = , Y = ;

X = , Y = ;

X = , Y = ;

X = , Y = ;

X = , Y = ;

X = , Y = ;

X = , Y = ;

X = , Y = ;

X = , Y = ;

X = , Y = ;

X = , Y = ;

X = , Y = .

() , . (), . , , , , . ֳ , , . , , , . .

ֳ _(N) , N . N , _(N) , , N .

/*1*/ _(0).

/*2*/ _(X):_(), is +1.

? _(X).

(0, 1, 2, 3,...), . , (, ';'), _ , .

1 2. 1, , X=0. 2 , . 1, X=1; 2 , '. . 1. ҳ . , , , 1, 2. ' . 1 .

22. ³.

³ , . , :

, , , .

' , ' '.

, , , .

'!', . . , . , , .

.

' , -, . : , , .

, -, , . ' fail, : , .

, . : , ົ.

 

23. ϳ .

, , , . , , - .

(1,1):-!.

(N, ):- N1 is N-1, (N1, ), is +N.

. , , 1. 1. . , . , , . , . , - ( , 1) .

 

24. -fail.

fail , , fail , . ij, fail , . fail , 䳿 . -fail.

__, __(X) , X .

. , , ' . , , . :

__():- (), fail

__():-...

( ) : X , __(X) . , , X . , :

? __().

, . , fail . __ , , . ֳ , , .

, fail. __, , :

__():- (),!, fail.

__(X):- (X, Y), (Y, ), > 3000,!, fail. __ ():- (X, ), 2000 < , 20000 > .

(, Y):- _(, ), < 5000,!, fail.

(, Y):- (, Z), __(, W), Y is Z+W. __(, Y):-...

, - -fail not. , .

__():- not(()), not(((X, Y), (Y, ), >3000)), (, 1),...

25. .

, . . - , - , .

(N1, N2, ):- _(),

_1 is *N2,

_2 is (+1)*N2,

_1 =< N1, _2>N1,!.

_ , N1 N2. , , 27 6 4, 4x6 27, 5x6 27.

_ , . N1 N2, (N1,N2,) . _ , . , . : , , , . , - , , _ . , . , - - _. .

 

26. , ' .

, ' , , , . , , , .

_, , . :

_(, 0):-!.

_(, 0):-!.

_(,2).

, , , . , ,

? _(,2).

True

, , . , :

_(, N):-!, N=0.

_(, N):-!, N=0.

_(, 2).

, ,

? _(,Y).

, . , :

, , .

 

27. .

, , write. X , write(X) . X , ', (, '_253'). write, . write . .

nl . nl new line. ( ). write, nl . tab . ֳ tab(X) X . , X .

(pretty print ) , (,Y) , X.

, [ 1,2,3] :

[1,2,[3,4],5,6]

, , .

pp([H|T],I):-!, F is I+3, pp(H,F), ppx(T,F),nl.

pp(X,I):- tab(I), write(X),nl.

ppx([],_).

ppx([H|T],I):- pp(H,I), ppx(T,I).

, . ֳ





:


: 2015-10-01; !; : 362 |


:

:

, .
==> ...

1911 - | 1710 -


© 2015-2024 lektsii.org - -

: 0.038 .