.


:




:

































 

 

 

 





, . . . , . , . , , , , . , , -



I. Prolog


. :

{...;:-.... 7 (...):-... %

(■ ■ ■):-

...,!, %
(...) ":

, , - . , . Prolog, , . .

, . . , : sumlist< List, Sum)

, .

sumlist< [ ], 0).

sumlist([ First! Rest], Sum):-sumlist (Rest, SumO), Sum is X + Su0.

, , , . , . sumlist Prolog ? , , is SumO. , .

sumlist (List, Sum):-

% TSffi L i s t, 0, Su -m). s-l

I TotalSum - PartialSum + List sumlistt [], Sum, Sum). % sumlisti First i Rest ], PartialSum, TotalSum):-

MewPartialSm is PartialSum + First,

sumlistt Rest, NewPartialSum, TotalSum).

, Prolog .

sur.J , -

, . sumlist, sumlist/. , PartialSum, . (accumulator argument). -, .


8.



.

reverse; List, ReversedList)

ReversedList , List, . , :

reverse (;], I ]),

reverse [X Rest], Reversed):-
reverse Rest, RevRest),
conc< RevRest, [X], Reversed). %

- . , - conc(RevRest, [X], Reversed), , RevRest. , , , , . - ( ) " ". , :

reverse (List, Reversed):-

reverse(List, [ ], Reversed!. % reverse! List, PartReversed, Reversed):

% Reversed List PartReversed reverse ([ ], Reversed, Reversed). revise ([X i Rest], PartReversed, Totalizers ed):-

reverse! Rest, [X PartReversed], TotalReversed). %

\

( , ), .

8.5.5.

Prolog, . , , , , . , 9 10, . . , , , .

Prolog , functor. . functor< A, f, i::o; 100 :

■Pi

, , :

[6] = 1

184 !, Prolog


60- 1. Prolog : (60, , 1)

60- , : - f {_,...,_, 1,_,...,_) % 60- 1

, , - , N. :

X = [60]

Prolog : [ 60, , X)

, 100 60- . . , , : [60] - [60] + 1

Prolog : 100 functor, . . , ( ) , . , , , . : ;= 1,- X:- 2; X:= 3

Prolog :

X - [1 | Restl] % X = 1, Restl -

Restl = [2 | Kest2] X = 2, Rest2 - Rest2 = [3 I Rest3] % X = 3

X - [1, 2, 3 | Rest3]. , X, , . , . , , , , , , .

, , 3 4 (. 4.4). ( X), { Y), ( ) (-


8.



V), . , , . U V 4.4 , . . , 15 , 15 : Du - u{_,_,_,_,_,_,_,_,_,_,_,_.,_,,_;

, (X,Yj = (1,1!. 8- . , , 8- Du 1 (.. X) : arg(8, Du, 1)

Du Du - <_,_,_, _,_,_,_.!,_, _,_,_, _,_,_)


(X, Y) = (3,3), 8- ,
:
arg(3, Du, 3) I = 3

, 8- 1. . 4.4.





:


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


:

:

,
==> ...

1788 - | 1552 -


© 2015-2024 lektsii.org - -

: 0.015 .