Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ
ΠΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΄Π°Π»_ΠΏΠ΅ΡΠ²_ΡΠ», ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°: a) Π΄Π²Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°; Π±) Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ? ΠΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄ΠΎΠ±_ΡΠ»_Π²_ΠΊΠΎΠ½Π΅Ρ, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΡΠ°Π²ΠΈΠ»ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ°? ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Ρ Π²Π²ΠΎΠ΄Π° ΡΠΏΠΈΡΠΊΠ° Π²Π²ΠΎΠ΄_ΡΠΏΠΈΡΠΊΠ°1 ΠΈ Π²Π²ΠΎΠ΄_ΡΠΏΠΈΡΠΊΠ°2 ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ? ΠΡΡΠΈΡΠ»ΠΈΡΡ ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΡΡΠΈΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π½Π° Π½Π΅ΡΠ΅ΡΠ½ΡΡ … Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΠΠΠ‘Π’ΠΠ Π‘Π’ΠΠ ΠΠΠ ΠΠΠΠΠΠΠΠ― Π ΠΠΠ£ΠΠ Π ΠΠ‘ΠΠ£ΠΠΠΠΠ ΠΠΠΠΠ Π£Π‘Π¬ ΠΠΠΠΠ Π£Π‘Π‘ΠΠΠ ΠΠΠ¦ΠΠΠΠΠΠ¬ΠΠ«Π Π’ΠΠ₯ΠΠΠ§ΠΠ‘ΠΠΠ Π£ΠΠΠΠΠ Π‘ΠΠ’ΠΠ’
Π€Π°ΠΊΡΠ»ΡΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠΈ
ΠΠ°ΡΠ΅Π΄ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ
ΠΡΡΠ΅Ρ ΠΏΠΎ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ № 6
ΠΏΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅: «Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅»
Π½Π° ΡΠ΅ΠΌΡ: «Π ΠΠΠΠ’Π Π‘Π Π‘ΠΠΠ‘ΠΠΠΠ. «
ΠΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ: ΡΡΡΠ΄Π΅Π½ΡΡ Π³ΡΡΠΏΠΏΡ 2 213 ΠΠ°Π»ΠΈΡ Π. Π. Π¨Π°ΡΠΊΠΎ Π.Π.
ΠΡΠΈΠ½ΡΠ»Π°: ΡΡ.ΠΏΡ. ΠΠΎΠ²Π°Π»ΡΠΊΠΎΠ²Π° Π.Π.
ΠΠΈΠ½ΡΠΊ 2014
ΠΠ°Π΄Π°Π½ΠΈΠ΅ Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ: ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°Π²ΡΠΊΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° Visual Prolog.
ΠΠ· ΡΠΏΠΈΡΠΊΠ° L1 ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ L2, ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π²Π΅Π½ ΡΡΠ΅Π΄Π½Π΅ΠΌΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΡΠΎΠΉΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° L1. ΠΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° L1 Π½Π΅ ΠΊΡΠ°ΡΠ½ΠΎ 3, ΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ° L2 ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° 3 ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΡΡΠΌΠΌΡ Π΄Π²ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° L1. Π‘ΠΏΠΈΡΠΎΠΊ L1 Π²Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ΅ Ρ ΡΠΊΡΠ°Π½Π°. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ΄Π°Π²Π°ΡΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ L1 ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ L2 ΡΠΏΠΈΡΠΊΠΈ.
Π£Π΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅.
0Π ΠΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ΄Π²ΠΈΠ³ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° (Π½Π΅ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΉ):
— Π½Π° N ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π²Π»Π΅Π²ΠΎ (Π²ΠΏΡΠ°Π²ΠΎ).
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·Π½ΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°.
Π£Π΄Π°Π»ΠΈΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅.
ΠΡΡΠΈΡΠ»ΠΈΡΡ ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΡΡΠΈΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π½Π° Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ , ΠΈ ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΡΡΠΈΡ Π½Π° ΡΠ΅ΡΠ½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ .
ΠΠ°ΠΌΠ΅Π½ΠΈΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ X Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Y.
ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
domains
list = real*
predicates
nondeterm read_list (integer, list)
nondeterm nov_spisok (integer, list, list)
nondeterm result
clauses
read_list (0,[]).
read_list (N,[H|T]):-readreal (H), N1 = N — 1, read_list (N1,T).
nov_spisok (0,[],[]):-!.
nov_spisok (1,[H|T],[H1|T1]): — H1 = H/3,nov_spisok (0,T, T1).
nov_spisok (2,[H|[H1|T]],[H2|T1]): — H2 = (H1+H)/2,nov_spisok (0,T, T1).
nov_spisok (N,[H|[H1|[H2|T]]],[H3|T3]): — H3 = (H+H1+H2)/3,
N1 = N — 3, nov_spisok (N1,T, T3).
result : — write («Vvedite chislo elementov massiva: «), readint (N), nl,
write («Vvedite elementi massiva: «), nl, read_list (N, H), nov_spisok (N, H, H1), nl,
write («Noviy spisok: «), write (H1), nl.
Goal result.
/*domains
list=real*
predicates
nondeterm read_list (integer, list)
nondeterm result
nondeterm chg (list, real, list)
clauses
read_list (0,[]).
read_list (N,[H|T]):-readreal (H), N1=N-1, read_list (N1,T).
chg ([], _, []) if !.
chg ([H|T], H, T1) if chg (T, H, T1),!.
chg ([H|T], S, [H|T1]) if chg (T, S, T1),!.
result:-write («ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ°»), nl, write («N=»), readint (N), nl,
write («ΠΠ²ΠΎΠ΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°»), nl, read_list (N, L), write («ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ L=»),
write (L), nl, nl, write («ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΡΠΊΠΎΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ»), nl, readreal (E), nl, chg (L, E, LL), write («Π Π΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ:»), nl, write (LL), nl.
goal
result.*/
/*domains
list=real*
predicates
nondeterm read_list (integer, list)
nondeterm result
nondeterm del (real, list, list)
clauses
read_list (0,[]).
read_list (N,[H|T]):-readreal (H), N1=N-1, read_list (N1,T).
del (X, [X|T], T).
del (X, [Y|T], [Y|T1]) if del (X, T, T1).
result:-write («ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ°»), nl, write («N=»), readint (N), nl,
write («ΠΠ²ΠΎΠ΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°»), nl, read_list (N, L), write («ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ L=»),
write (L), nl, nl, write («ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΡΠΊΠΎΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ»), nl, readreal (E), nl, del (E, L, LL), write («Π Π΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ L=»), write (LL), nl.
goal
result.*/
domains
list=integer*.
predicates
nondeterm summ_nechet (list, integer, integer)
nondeterm summ_chet (list, integer, integer)
nondeterm readlist (list)
Clauses
summ_nechet ([], _, 0):-!.
summ_nechet ([H|T], I, R):;
I mod 2 = 0, !, II = I + 1, summ_nechet (T, II, TR), R = TR + H;
II = I + 1, summ_nechet (T, II, R).
summ_chet ([], _, 0):-!.
summ_chet ([H|T], I, R):;
I mod 2 = 1, !, II = I + 1, summ_chet (T, II, TR), R = TR + H;
II = I + 1, summ_chet (T, II, R).
readlist ([H|T]):-readint (H),!, readlist (T). readlist ([]).
goal
write («Vvodite elementi spiska»), nl,
readlist (L),
write («Summa chetnih:»), nl,
summ_chet (L, 0, S).*/
domains
ilist=integer*
predicates
pravo (integer, ilist, ilist).
del_last (ilist, ilist).
add_last (ilist, ilist).
b (ilist, integer, ilist).
readlist (ilist).
clauses
del_last ([_],[]):-!.
del_last ([H|Tail],[H|NewTail]):-del_last (Tail, NewTail).
add_last ([],[0]):-!.
add_last ([H|Tail],[H|NewTail]):-add_last (Tail, NewTail).
pravo (0,L, L):-!.
pravo (N, T, L):-del_last (T, T1), N1=N-1,pravo (N1,[0|T1], L).
b (A, N, B):-pravo (0,A, A1), pravo (N, A1, B).
readlist ([H|T]):-readint (H),!, readlist (T). readlist ([]).
goal
write («Vvod N «),
readint (N),
write («ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ (ΠΊΠΎΠ½Π΅Ρ Π²Π²ΠΎΠ΄Π° — Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ Π½Π° ENTER): «), nl,
readlist (L),
b (L, N, B).*/
domains
list=real*
predicates
nondeterm readlist (list).
nondeterm max (list, integer).
nondeterm min (list, integer).
nondeterm res (integer, integer, integer).
clauses
max ([X], X).
max ([H|Tail], H) if max (Tail, M), H>M,!.
max ([_|Tail], M) if max (Tail, M).
min ([X], X).
min ([H|Tail], H) if min (Tail, M), H
min ([_|Tail], M) if min (Tail, M).
res (X, Y, R) if R=X-Y.
readlist ([H|T]):-readint (H),!, readlist (T). readlist ([]).
goal
write («ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ (ΠΊΠΎΠ½Π΅Ρ Π²Π²ΠΎΠ΄Π° — Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ Π½Π° ENTER): «), nl,
readlist (L),
max (L, X),
min (L, Y),
res (X, Y, Res).
*/
domains
list = integer*
predicates
nondeterm print (list)
nondeterm replace (list, integer, integer, list)
clauses
print ([]) : — !.
print ([H|[]]) : — write (H).
print ([H|T]) : — write (H, «, «), print (T).
replace ([], _, _, []) : — !.
replace ([H|T], X, Y, [H|R]) : — H <> X, replace (T, X, Y, R).
replace ([H|T], X, Y, [Y|R]) : — H = X, replace (T, X, Y, R).
goal
write («Enter list:»), nl,
readterm (list, L), nl,
write («Enter X:»), nl,
readint (X), nl,
write («Enter Y:»), nl,
readint (Y), nl,
replace (L, X, Y, R),
write ('['),
print®,
write («]. «), nl,
readchar (_).
*/
Π‘ΠΊΡΠΈΠ½ΡΠΎΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΡΠ²Π΅ΡΡ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
1. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΏΠΈΡΠΎΠΊ?
Π‘ΠΏΠΈΡΠΎΠΊ — ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠ°, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠΌΠΎΠ², Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΠΎΠΉ. ΠΠ°ΠΊ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅?
2. ΠΠΎΠ»ΠΎΠ²Π° ΠΈ Ρ Π²ΠΎΡΡ ΡΠΏΠΈΡΠΊΠ°. ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π² Π²ΠΈΠ΄Π΅ Π³ΠΎΠ»ΠΎΠ²Ρ ΠΈ Ρ Π²ΠΎΡΡΠ°.
Π — Π³ΠΎΠ»ΠΎΠ²Π°, Π’ — Ρ Π²ΠΎΡΡ ΡΠΏΠΈΡΠΊΠ°. ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ [H|T]. HΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π’ — ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΡΠ°Π²ΡΠΈΠΉΡΡ.
3. ΠΠ°ΠΊ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ?
4. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π² Π²ΠΈΠ΄Π΅ Π³ΠΎΠ»ΠΎΠ²Ρ ΠΈ Ρ Π²ΠΎΡΡΠ° ?
ΠΠ΅Ρ.
5. Π§ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΈΠ΄Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ°: L, [X], [ _, A], [ _ |T], [H| _ ], [ _ ], [ _, B|C] ?
L — ΡΠΈΠΏ ΡΠΏΠΈΡΠΊΠ°; [X] - ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°; [_, A] - ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· Π΄Π²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅; [ _ |T], — ΡΠΏΠΈΡΠΎΠΊ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π³ΠΎΠ»ΠΎΠ²Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π»ΡΠ±ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅; [H| _ ] - ΡΠΏΠΈΡΠΎΠΊ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅ Π²Π°ΠΆΠ΅Π½ Ρ Π²ΠΎΡΡ; [_] - ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ; [ _, B|C] - ΡΠΏΠΈΡΠΎΠΊ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ 2 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
6. ΠΠΎΠΆΠ΅Ρ Π»ΠΈ Π±ΡΡΡ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ ΡΠΏΠΈΡΠΊΠ° Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°?
ΠΠ°, ΠΌΠΎΠΆΠ΅Ρ.
7. ΠΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ 5 ΡΠΏΠΈΡΠΊΡ [[1, 2, 3], [4, 5, 6]]?
ΠΠ΅Ρ, ΠΎΠ½ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°.
8. Π‘ΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΡ Π»ΠΈ Π΄Π²Π° ΡΠΏΠΈΡΠΊΠ°: [5, 6, 7] ΠΈ [H|T] ?
ΠΠ°.
9. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Ρ Π²Π²ΠΎΠ΄Π° ΡΠΏΠΈΡΠΊΠ° Π²Π²ΠΎΠ΄_ΡΠΏΠΈΡΠΊΠ°1 ΠΈ Π²Π²ΠΎΠ΄_ΡΠΏΠΈΡΠΊΠ°2 ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ?
ΠΠ΅Ρ.
10. ΠΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΄Π°Π»_ΠΏΠ΅ΡΠ²_ΡΠ», ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°: a) Π΄Π²Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°; Π±) Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ?
ΡΠ΄Π°Π»_ΠΏΠ΅ΡΠ²_ΡΠ» ([ _ | T], T).
Π) ΡΠ΄Π°Π»_ΠΏΠ΅ΡΠ²_ΡΠ» ([ _ ,_| T], T).
B) ΡΠ΄Π°Π»_ΠΏΠ΅ΡΠ²_ΡΠ» ([ H,_ | T], [H|T]).
11. ΠΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΄Π°Π»_ΠΏΠΎΡΠ»_ΡΠ», ΡΡΠΎΠ±Ρ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π±ΡΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Ρ: a) Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ; Π±) ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ?
Π) ΡΠ΄Π°Π» ([_,_],[]).
ΡΠ΄Π°Π» ([H|T],[H|T1]) if ΡΠ΄Π°Π» (T, T1).
ΡΠ΄Π°Π» ([_],[]).
B) ΡΠ΄Π°Π» [_, X],[X]).
ΡΠ΄Π°Π» ([H|T],[H|T1]) if ΡΠ΄Π°Π» (T, T1).
ΡΠ΄Π°Π» ([_],[]).
12. ΠΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²ΡΠ΄Π΅Π»_ΠΏΠ΅ΡΠ²_ΡΠ», ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°: a) Π΄Π²Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°; Π±) Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ?
Π) Π²ΡΠ΄Π΅Π»_ΠΏΠ΅ΡΠ²_ΡΠ» ([H, H1| _ ], H, H1).
B) Π²ΡΠ΄Π΅Π»_ΠΏΠ΅ΡΠ²_ΡΠ» ([H, H1| _ ], H1).
13. ΠΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²ΡΠ΄Π΅Π»_ΠΏΠΎΡΠ»_ΡΠ», ΡΡΠΎΠ±Ρ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ: a) Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ; Π±) ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ?
Π) Π²ΡΠ΄Π΅Π»_ΠΏΠΎΡΠ»_ΡΠ» ([X, H], X, H).
Π²ΡΠ΄Π΅Π»_ΠΏΠΎΡΠ»_ΡΠ» ([ _ |T], X, H): — Π²ΡΠ΄Π΅Π»_ΠΏΠΎΡΠ»_ΡΠ» (T, X, H).
B) Π²ΡΠ΄Π΅Π»_ΠΏΠΎΡΠ»_ΡΠ» ([X,_], X).
Π²ΡΠ΄Π΅Π»_ΠΏΠΎΡΠ»_ΡΠ» ([ _ |T], X): — Π²ΡΠ΄Π΅Π»_ΠΏΠΎΡΠ»_ΡΠ» (T, X).
14. ΠΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄ΠΎΠ±_ΡΠ»_Π²_Π½Π°ΡΠ°Π»ΠΎ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΈ Π²ΡΠΎΡΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΏΠΈΡΠΊΠ° ?
Π΄ΠΎΠ±_ΡΠ»_Π²_Π½Π°ΡΠ°Π»ΠΎ (E, [H, H1|T], [H, E, H1|T]).
15. ΠΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄ΠΎΠ±_ΡΠ»_Π²_ΠΊΠΎΠ½Π΅Ρ, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΡΠ°Π²ΠΈΠ»ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ° ?
Π΄ΠΎΠ±_ΡΠ»_Π²_ΠΊΠΎΠ½Π΅Ρ (E, [H], [E, H]).
Π΄ΠΎΠ±_ΡΠ»_Π²_ΠΊΠΎΠ½Π΅Ρ (E, [H|T], [H|T1]): — Π΄ΠΎΠ±_ΡΠ»_Π²_ΠΊΠΎΠ½Π΅Ρ (E, T, T1).
16. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΡΠ°Π·Π΄Π΅Π»Π° domains ?
ΠΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ Π²ΠΎΡΡ Π½Π΅ΡΠ΅ΡΠ½ΡΠΉ ΠΡΠ²ΠΎΠ΄ ΠΡΠΈΠΎΠ±ΡΠ΅Π»ΠΈ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° Visual Prolog.