.


:




:

































 

 

 

 


3. lastl Item, [First | Rest]) : last( Item, Rest)




3.1. a) conc(L1, [_,_,_], Li

) ({_,_,_ I L2 ],[_,_,_],L)

3.2. a) last! Item, List):-

cone(_, [Item], List).

6) last (Item, [Item]),

lastl Item, [First | Rest]): last(Item, Rest).

3.3. evenlength ([ ]).

Evenlength ([First I Rest]): oddlength(Rest).




oddlength([First 1 Rest]):-evenlength! Rest}.

3.4. reverse ([],()>.

reverse! [First I Rest], Reversed):-reverse! Rest, ReversedRest), concl ReversedRest, [First], Reversed).

3.5. % reverse
palindrome[ List):-

reverse! List, List). % , % reverse palindrome 1([]). palindrcmel([_]). palindrome 1(List):-

conc([First I Middle], [Firstl, List),

palindromelt Middle!.

3.6. shift,- [First I Rest], Shifted!:-

concl Rest, [First], Shifted).

3.7. translate ([),!!).

translate!!Head I Tail], [Headl I Taill]):-Leans[ Head, Headl), translate! Tail, Taill).

3.8. % ,

% Subset , Set

subset! [],[])

% First Subset

subset! [First I Rest], [First I Sub]):-

subset! Rest, Sub). subset! [First I Rest';, Sub):- % First

subset < Rest, Sub!.

3.9. dividelist(]], [], [)). %

% dividelist! [X], [X], []). %

% dividelist! [X, Y I List], [X I Listl], [Y I List2]):-dividelistt List, Listl, List2).

3.10. c=nget [ state (_,_,_,has) i!]). %

% canget! State, [Action [ Actions]):-

move(State, Action, NewState), % canget{ NewState, Actions). %

3.11. flatten! [Head I Tail], FlatList):- %

%

flatten! Head, FlatHead),

flatten! Tail, Flatrail),

cone! FlatHead, FlatTail, FlatList). flatten! [],[]). £

flatten! X, [ Xj). 4 . %

3.12. Terml = plays (jimmy, and! football, sguash)!

Term2 = plays! susan, and! tennis,

and[ basketball, volleyball)))

3.13.:- op! 300, xfx, was).

: - op { 200, xfx, of),:- opt 100, fx, the!.

.4 a] A - 1 + 0

597


6) = 1 + I +


3.15.

3.16.

3.17.

3.18.

3.19.


a) c = l + i + l + l + O

r) D-l + 1 + 0 + 1; 0=1+0+1+1;

0 = 3 + 1 + 1 + 1% %

:- (100, ,, in).:- (300, iy., concatenating).:- opt 200, y.f-, gives).:- opt 100, xtx, and).:- opt 300, fx, deleting).:- opt 100, xfx, from). % Item in [Item | List]. Item in [First | Rest]:-

Item in Rest. % concatenating (] and List gives List. Concatenating [X | LI] and L2 gives (X | L3]:-

concatenating LI and L2 gives L3. % deleting Item from (Item | Rest] gives Rest, deleting Item from [First | Rest] gives [First | HewRest] :-, deleting Item from Rest gives Hewfiest.

maxt X, Y, X!:-

X >= V. max [ X, Y, Y]:-

X < Y.

maxlist-; [X], X), * % maxlisti [X, Y | Rest], Max):- %

% maxlist) [Y | Rest], MaxRest),

max(X, MaxRest, Max). % Max -

% MaxRest

sumlist { [], 0]. sumlist{ [First | Rest], Sum):-suralistl Rest, SumRest), Sum is First + SumRest.

ordered{ [X]). 4

% ordered; [X, Y | Rest]):-


 


3.20.

3.21.


ordered! [Y I Rest]).

subsuml [], 0, []). subsuml [H | List], Sum, [N | Sub]):- % % * Suntl is Sum - H, subsuml List, Suml, Sub). subsum([N | List], Sum, Sub):- % N

% subsurrH List, Sum, Sub).

between! HI, 2, N1]:-N1 =< N2. between! HI, 2, X):-HI < N2,

MewHl is Ml + 1, between{ KewNl, H2, X).


 




:= Val3 else Anything
-

else Var
Val4

3.22.



:- opt 900, fx, If).;- op(800, xfx, then).:- op(700, xfx, else).: - op [ 600, xfx,:-). if Vail > Val2 then Var Vail > Val2, Var - Val3. if Vail > Val2 then Anything Vail - <Val2, Vat = Val4.


: -

-






:


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


:

:

,
==> ...

1350 - | 1317 -


© 2015-2024 lektsii.org - -

: 0.014 .