1 Π‘Π»Π΅Π²Π° ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ x := y, Π³Π΄Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ y ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ G.
2 Π‘ΠΏΡΠ°Π²Π° ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ y := x, Π³Π΄Π΅ ΡΡΡΠ½ΠΎΡΡΡ y ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏΠ° G.
3 Π Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ Π²ΠΈΠ΄Π° x = y ΠΈΠ»ΠΈ x /= y, Π³Π΄Π΅ y ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏΠ° G.
4 ΠΠ°ΠΊ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΌΠ΅ΡΡΠ΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΈΠΏΠ° G, ΠΈΠ»ΠΈ ΡΠΈΠΏΠ° ANY.
5 ΠΠ°ΠΊ ΡΠ΅Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΊΠ»Π°ΡΡΠ° ANY.
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΠ΄Π° create x Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΡΠ΅ Π΅ΡΡΡ, Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΎΠ΄ΠΎΠ²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ G.
Π‘Π»ΡΡΠ°ΠΈ (4) ΠΈ (5) ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΊΠ»Π°ΡΡ ANY. Π£ΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ ΡΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠ΅ Π²ΡΠ΅ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ, ΡΡΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° G ΠΏΡΠΈ ΡΠΎΠ΄ΠΎΠ²ΠΎΠΌ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° ANY ΡΠ²Π»ΡΡΡΡΡ Π²ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: clone, copy, equal, deep_clone, deep_equal ΠΈ Π΄Ρ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ x ΠΈ y ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° G ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ:
x.copy (y)
x := clone (y)
if equal (x, y) then ...
Π‘Π»ΡΡΠ°ΠΉ (4) ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²ΡΠ·ΠΎΠ² a.f(x) Π² ΡΠΎΠ΄ΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ C [G], Π΅ΡΠ»ΠΈ f ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΈΠΏΠ° G. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° a ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΈΠΏΠ° D [G], Π³Π΄Π΅ D Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ. Π ΠΊΠ»Π°ΡΡΠ΅ D [G] ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ f, ΡΡΠ΅Π±ΡΡΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΈΠΏΠ° G, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ»Π°ΡΡΠ° D, Π° Π½Π΅ ΠΊΠ»Π°ΡΡΠ° Π‘. (ΠΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ ΡΡΠ°Π·Π° Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΠ½Π°, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ°ΠΉΡΠ΅ Π΅Π΅ Π΅ΡΠ΅ ΡΠ°Π·, ΠΈ, Π½Π°Π΄Π΅ΡΡΡ, ΠΎΠ½Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΡΠΎΠ»Ρ ΠΆΠ΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠΉ10.2), ΠΊΠ°ΠΊ Π³ΠΎΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΉ.)
Π’ΠΈΠΏΡ ΠΈ ΠΊΠ»Π°ΡΡΡ
ΠΡ ΡΠΆΠ΅ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΠΊΠ»Π°ΡΡ - ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, - ΠΊΠ°ΠΊ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π΄Π²ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ: ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΡΠΈΠΏΠ°. ΠΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ - ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, Π½ΠΎ ΡΡΠΎ ΠΈ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ .
Π‘ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΎΡΠΎΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π»ΠΎ Π±ΡΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΠΈΡΡΠΈΠ½Π½ΡΠΌ, Ρ ΠΎΡΡ Π½ΡΠ°Π½Ρ Π½Π΅Π²Π΅Π»ΠΈΠΊ. Π ΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΉ ΠΊΠ°ΠΊ C [G], ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΈΠΏΠΎΠΌ, Π° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ ΡΠΈΠΏΠ°, Π·Π°Π΄Π°ΡΡΠΈΠΌ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΡΠ±ΠΎΠΉ ΡΠΈΠΏ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ² ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΏΠΎΠΌ.
ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΈ Π³ΠΈΠ±ΠΊΠΎΠΌΡ ΠΏΠΎΠ½ΡΡΠΈΡ. ΠΠΎ Π·Π° Π²ΡΠΈΠ³ΡΡΡ Π² ΠΌΠΎΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΠΎΡΠΎΠΉ: ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌ Π½Π°ΡΠΈΠ»ΠΈΠΈ Π½Π°Π΄ ΡΠ·ΡΠΊΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ "ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ ΠΊΠ»Π°ΡΡΠ° T" ΠΈΠ»ΠΈ ΠΎ "ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ T", Π΅ΡΠ»ΠΈ x ΠΎΠ±ΡΡΠ²Π»Π΅Π½, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠΈΠΏ T. Π’Π΅ΠΏΠ΅ΡΡ T ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ C [U] ΠΈΠ· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° C ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° U. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ ΡΠΈΠΏΠ° ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ C, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΡΠΈΠ»ΠΈΠ΅ Π½Π°Π΄ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ.
ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠ³ΠΎΡΡΠΈ, ΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ. ΠΡΠ±ΠΎΠΉ ΡΠΈΠΏ T Π°ΡΡΠΎΡΠΈΠΈΡΡΠ΅ΡΡΡ Ρ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ T, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° T. ΠΡΠ»ΠΈ T Π½Π΅ΡΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ, ΡΠΎ ΠΎΠ½ ΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ. ΠΡΠ»ΠΈ T ΡΠΎΠ΄ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ C [U, ...], ΡΠΎ C ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ T.
ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΡΠΈΠΏΠΎΠ², ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΊΠΆΠ΅ (ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π² ΠΠ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅) Π½Π° ΠΊΠ»Π°ΡΡΠ΅, Π½ΠΎ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ: Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (ΡΠΌ. Π³Π». 16.7).ΠΠ°ΡΡΠΈΠ²Ρ
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ Π΄ΠΈΡΠΊΡΡΡΠΈΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ARRAY, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ².
ΠΠ°ΡΡΠΈΠ²Ρ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ
ΠΠΎΠ½ΡΡΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°Π³ΡΡΠΆΠ°ΡΡ Π½ΠΎΡΠ°ΡΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ: ΠΌΠ°ΡΡΠΈΠ² - ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ARRAY.
ARRAY Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π°Π±ΡΠΎΡΠΎΠΊ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°:10.3)
indexing
description: "ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈΠ»ΠΈ ΡΠΎΠ³Π»Π°ΡΡΠ΅ΠΌΡΡ ΡΠΈΠΏΠΎΠ²,%
%Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π»ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅"
class ARRAY [G] creation
make
feature
make (minindex, maxindex: INTEGER) is
-- Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ Π³ΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ minindex ΠΈ maxindex
-- (ΠΏΡΡΡΠΎΠΉ, Π΅ΡΠ»ΠΈ minindex > maxindex)
do ... end
lower, upper, count: INTEGER
-- ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ; ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°.
put (v: G; i: INTEGER) is
-- ΠΡΠΈΡΠ²ΠΎΠΈΡΡ v ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ i
do ... end
infix "@", item (i: INTEGER): G is
-- ΠΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ i
do ... end
end -- ΠΊΠ»Π°ΡΡΠ° ARRAY
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° a Ρ Π³ΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ m ΠΈ n, ΡΠΈΠΏ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ARRAY [T] Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ T, Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
create a.make (m, n)
ΠΠ»Ρ Π·Π°Π΄Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° put: Π²ΡΠ·ΠΎΠ² a.put(x, i) ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x i-ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ item (ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ ΠΈΠ½ΡΠΈΠΊΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ @, ΠΏΠΎΡΡΠ½ΡΠ΅ΠΌΠΎΠΉ ΠΏΠΎΠ·ΠΆΠ΅), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
x := a.item (i)
ΠΠΎΡ ΡΡ Π΅ΠΌΠ° ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ:
pa: ARRAY [POINT]; p1: POINT; i, j: INTEGER
...
create pa.make (-32, 101) -- Π Π°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ Π³ΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ.
pa.put (p1, i) -- ΠΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ p1 ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ i.
...
p1 := pa.item (j) -- ΠΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΡΡΠ½ΠΎΡΡΠΈ p1 Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ j.
Π ΠΎΠ±ΡΡΠ½ΠΎΠΉ Π½ΠΎΡΠ°ΡΠΈΠΈ (ΡΠΊΠ°ΠΆΠ΅ΠΌ, Π² Pascal) Π½ΡΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ:
pa [i] := p1 Π²ΠΌΠ΅ΡΡΠΎ pa.put (p1, i)
p1 := pa [i] Π²ΠΌΠ΅ΡΡΠΎ p1 := pa.item (i)
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΎ ΠΊΠ»Π°ΡΡΠ΅.
[x]. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ: ARRAY2 ΠΈ Ρ. Π΄.
[x]. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Count ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΈ ΠΊΠ°ΠΊ Π°ΡΡΠΈΠ±ΡΡ ΠΈ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ count = upper - lower+1. Π ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π»Π΅ΠΊΡΠΈΠΈ.
[x]. Π’Π΅Ρ Π½ΠΈΠΊΠ° ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΎΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ Ρ put ΠΈ item, ΠΎΡΡΠ°ΠΆΠ°Ρ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ i Π»Π΅ΠΆΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ lower ΠΈ upper.
[x]. ΠΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ΠΈ ARRAY ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡ) - Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π½ΠΎΡΠ°ΡΠΈΡ Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ·ΠΊΠΎΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ. ΠΠ΄Π΅ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ put ΠΈ item.
[x]. Π’Π°ΠΊ ΠΊΠ°ΠΊ ARRAY - ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌ, ΡΡΠΎ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π»Π΅ΠΊΡΠΈΡΡ Π½Π°Π·ΡΠ²Π°Π»ΠΎΡΡ ΠΠ-ΠΈΠ³ΡΠ°ΠΌΠΈ; Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΅Π³ΠΎ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°ΠΌΠΈ. ΠΠ»Π°ΡΡ ARRAYED_LIST, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΡΡΠΈΡ - ΡΠΏΠΈΡΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ ΠΊΠ»Π°ΡΡΠΎΠ² LIST ΠΈ ARRAY. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π»Π΅Π΅.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΠΈΠ·ΡΡΠΈΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ, ΡΡΠΎΡ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ·ΠΊΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ².
Π Π°Π·ΠΌΡΡΠ»Π΅Π½ΠΈΡ ΠΎΠ± ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ
[x]. ΠΠΎΠΆΠ΅Ρ Π»ΠΈ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΡΠΎΡΡΠΎΡΠ° Π½Π°Π½Π΅ΡΡΠΈ ΡΠ΄Π°Ρ ΠΏΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ? ΠΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ - Π΄ΠΎΡΡΡΠΏ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° - ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ Π±ΡΡΡΡΠΎ. ΠΠ°Π΄ΠΎ Π»ΠΈ ΠΏΠ»Π°ΡΠΈΡΡ Π·Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ item ΠΈΠ»ΠΈ put? ΠΠ΅Ρ. Π’ΠΎ, ΡΡΠΎ ARRAY Π΄Π»Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ, Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΎΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΡΠΊΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ Π²ΡΠ·ΠΎΠ²Ρ item ΠΈ put ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Fortran, Pascal ΠΈΠ»ΠΈ C Π΄Π»Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ (p1 := pa [i] ΠΈ pa [i] := p1 Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Pascal). ΠΠΎΡΡΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠΈΡ Π»ΡΡΡΠ΅Π΅: ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ, ΠΎΠ±ΡΠ½ΠΎΡΡΡ, ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎΡΡΡ, ΠΏΡΠΎΡΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΠ-ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠΎΡΠ΅ΡΠ°Π΅ΠΌΡΡ Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ.