Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ. ΠΠ»Π°ΡΡ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ (ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ) ΠΊΠ»Π°ΡΡΠΎΠΌ, Π° Π½ΠΎΠ²ΡΠΉ — ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ (Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ). ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΌ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ±ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΡΠ°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ Π΄Π»Ρ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ «ΠΠΎΡΠΊΠΎΠ²ΡΠΊΠΈΠΉ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΈΠΌ. Π.Π. ΠΠ°ΡΠΌΠ°Π½Π°»
ΠΠ°Π»ΡΠΆΡΠΊΠΈΠΉ ΡΠΈΠ»ΠΈΠ°Π» Π€Π°ΠΊΡΠ»ΡΡΠ΅Ρ" Π€ΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΠΠ°ΡΠΊ"
ΠΠ°ΡΠ΅Π΄ΡΠ° «ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΠΠ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ» (Π€Π1-ΠΠ€) ΠΠ£Π Π‘ΠΠΠΠ― Π ΠΠΠΠ’Π ΠΠ ΠΠ£Π Π‘Π£: «ΠΠ ΠΠΠ ΠΠΠΠΠ ΠΠΠΠΠΠ ΠΠ Π‘++»
ΠΠ° ΡΠ΅ΠΌΡ: «Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ»
ΠΠ°Π»ΡΠ³Π° — 2008
ΠΠΠΠΠ’ΠΠ¦ΠΠ―
Π‘ΠΏΠΈΡΠΎΠΊ — ΡΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ°, ΠΈΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΌΠ°ΡΡΠΈΠ² Π΄Π°Π½Π½ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘ΠΏΠΈΡΠΊΠΈ ΠΎΡΠ΅Π½Ρ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ . Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ². Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΡΠΏΠΈΡΠΊΠΎΠΌ Π²Π΅ΡΡΠΈΠ½, Π»ΠΈΠ½ΠΈΠΉ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π»ΡΠ±ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΡΡ Π»Π΅ΠΆΠ°Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π»ΠΈΠ½ΠΈΠΈ, ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ ΠΈ ΠΊΡΠΈΠ²ΡΠ΅ ΠΠ΅Π·ΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΠ°ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΌΠ΅Π½ΡΡΡ ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ Π»ΠΈΠ½ΠΈΠΉ. ΠΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ — ΡΡΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ.
ΠΠ‘Π‘ΠΠΠΠΠΠΠ’ΠΠΠ¬Π‘ΠΠΠ― Π§ΠΠ‘Π’Π¬
1.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π‘ΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈ ΠΊΠ»Π°ΡΡΡ ΠΊ Π·Π°Π΄Π°ΡΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³ΡΡ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π² ΠΈΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ.
1.2 Π‘ΠΏΠΎΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ΅ΠΊ (ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΏΠ° LIFO, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΡΠ΅ΠΊΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° — ΠΎΡΠ΅ΡΠ΅Π΄Ρ (FIFO). Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ: ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΊΠ»Π°ΡΡΠΎΠ² (Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°), Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ (Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°), Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²), Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ (Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ).
1.3 ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ
1.3.1 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
Π‘ΡΠ΅ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΏΠ° LIFO, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΡΡΠΊΡΡΡΠ° List, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΠΏΠΎΠ»Π΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ. ΠΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅ΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ 2 ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΡΠΈΠΏΠ° List: p (ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ) ΠΈ top (ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π²Π΅ΡΡΠΈΠ½Ρ ΡΠΏΠΈΡΠΊΠ°). ΠΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΡΠ΅ΠΊ, Π½ΠΎΠ²ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°, Π° Π·Π°ΡΠ΅ΠΌ ΠΈ ΠΎΠ½ ΡΠ°ΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²Π΅ΡΡΠΈΠ½ΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠ΅ΠΊ ΡΠ°ΡΡΠ΅Ρ ΠΊΠ°ΠΊ Π±Ρ Π½Π°Π·Π°Π΄:
p=new list;
p->next=top;
p->inf=value;
top=p;
1.3.2 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
ΠΡΠ΅ΡΠ΅Π΄Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° ΡΡΠ΅ΠΊ Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π½Π΅ΠΉ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π° Π½Π΅ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ. ΠΠ±Ρ ΠΎΠ΄ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ ΠΎΠ±Ρ ΠΎΠ΄ ΡΡΠ΅ΠΊΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ. Π£ΡΠΈΡΡΠ²Π°Ρ ΡΡΠΎ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΊΠ°ΠΊ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ° ΠΊΠ»Π°ΡΡΠ° ΡΡΠ΅ΠΊΠ°, ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² Π² Π½Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ Π·Π°ΡΠ°Π½Π΅Π΅, ΡΠΎ Π·Π°Π½ΠΎΡΠΈΠΌ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ°:
top=new list;
top->next=NULL;
p=top;
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΆΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΡΠ΅ΠΊ. ΠΠ΄Π΅ΡΡ Π²Π΅ΡΡΠΈΠ½Π° ΡΠΏΠΈΡΠΊΠ° ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΌΠ΅ΡΡΠ΅, ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π·Π°Π½ΠΎΡΡΡΡΡ Π² ΠΏΡΡΠΌΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΈ ΡΡΡΠ»ΠΊΠ° Π½Π° Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ, Π° Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ Π² ΡΡΠ΅ΠΊΠ΅, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΌ:
p->next=new list;
p->next->next=NULL;
p->inf=value;
p=p->next;
1.4 ΠΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ
ΠΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ Π·Π°Π΄Π°Ρ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ. Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π° ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π‘ΠΏΠΈΡΠΊΠΈ — ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π±Π°Π·ΠΈΡΡΡΡΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅.
2. ΠΠΠΠ‘Π’Π Π£ΠΠ’ΠΠ Π‘ΠΠΠ― Π§ΠΠ‘Π’Π¬
2.1 ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ±ΠΎΡΠ° ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΡΠ·ΡΠΊ Borland C++ Builder 6. C++ Builder ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ C++. ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ·ΡΠΊΠ° C++ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Ρ Π² Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠΎΡΠΌ, ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ — ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ. C++Builder Π²ΠΎΠΏΠ»ΠΎΡΠ°Π΅Ρ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ . C++ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΈΠΏΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π°Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΡ Π½Π°Π΄ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ C++ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ. ΠΠ»Π°ΡΡ — ΡΡΠΎ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. Π’.ΠΎ., Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Π½Π° C++, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ -ΡΠ»Π΅Π½Π°Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ. ΠΠ»Π°ΡΡ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ (ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ) ΠΊΠ»Π°ΡΡΠΎΠΌ, Π° Π½ΠΎΠ²ΡΠΉ — ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ (Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ). ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΌ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ±ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΡΠ°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². Π’.ΠΎ. ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π³ΡΠ°Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², Π° ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ.
Π ΡΠ·ΡΠΊΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ, Π° ΠΏΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ·Π΄Π½Π΅Π³ΠΎ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ Π² ΡΠ·ΡΠΊΠ΅ Π‘++.
ΠΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΅ΡΠ΅, Π½Π΅ Π±ΡΠ΄ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ·Π΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ΠΌ.
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½Π΅ΠΌ. Π‘ ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π² Π‘++ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ, ΠΎΠΏΠ΅ΡΠΈΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ ΡΡΡΡΠΊΡΡΡΠΎΠΉ.
Π’.ΠΎ. ΡΠ·ΡΠΊ Π‘++ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΏΠΈΡΠΊΠΎΠ²ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΉ ΠΊΠ°ΠΊ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½.
2.2 Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄ΡΡ Π·Π°Π½ΠΎΡΠΈΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠΈΠΏΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π»ΠΈΠ½ΠΈΠΈ). Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π²ΡΠ΅ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² Π½Π΅ΠΌ Π΄Π°Π½Π½ΡΡ : Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΠΈΡΠΊ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ±ΠΎΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ², ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΠΌΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π»ΠΈΠ½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΡΠΈΠ²Π°Ρ ΠΠ΅Π·ΡΠ΅, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ ΡΠΈΡΡΠ½ΠΊΠ°. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅, Π° ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ Π΅Π³ΠΎ Π»ΠΈΠ½ΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ListBox-ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π° ΡΠΎΡΠΌΠ΅. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠ΅Π½ΡΡΡ ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠ΄Π°Π»ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π΅Π³ΠΎ Π»ΠΈΠ½ΠΈΠΈ.
2.3 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ
ΠΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° C++ Builder 6. ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Spisok ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π²ΡΠ΅ΠΌ Π΅Π³ΠΎ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°ΠΌ, ΡΠΎ Π΅ΡΡΡ, ΠΎΠ±ΡΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΏΠΈΡΠΊΠΎΠ² Π΄Π°Π½Π½ΡΠ΅: ΡΡΡΡΠΊΡΡΡΠ° List, ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ *top ΠΈ *p, ΡΠΈΡΡΠΎ-Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
— add (Data value, AnsiString name). ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ «Name», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ «Data». Data — ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠ»Π°ΡΡ ΡΠΈΠΏΠ°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠ»Π°ΡΡ ΡΠΏΠΈΡΠΊΠ° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ². Π€ΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
— remove (int index). Π£Π΄Π°Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ «Index» ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΄Π°Π»ΡΠ΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π° ΡΡΡΠ»ΠΊΠ° Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ, ΠΎΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΎΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ delete (*list). Π€ΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
— change (int index, Data value). ΠΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ «Index» Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ «Data».
— int count (). ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅. ΠΠΎΠ΄ΡΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° Ρ ΠΏΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°. ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ ΡΡΠ΅ΡΡΠΈΠΊΠ°.
— Data getvalue (int index). ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ «Index». ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠ±Ρ ΠΎΠ΄ ΡΠΏΠΈΡΠΊΠ° Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ (ΡΠΈΠΊΠ» Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ). ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅.
— AnsiString getname (int index). ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ «Index». Π Π°Π±ΠΎΡΠ°Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
— int search (AnsiString name). ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ «Name».
ΠΠ»Π°ΡΡ Spisok ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠΈΡΡΠΎ-Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ»Π°ΡΡ Stack — Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ ΠΊΠ»Π°ΡΡΠ° Spisok. Π Π½Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π²ΡΠ΅ ΡΠΈΡΡΠΎ-Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΊΠ°, ΠΈΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ»Π°ΡΡ Queue — ΠΎΡΠ΅ΡΠ΅Π΄Ρ — Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ ΠΊΠ»Π°ΡΡΠ° Spisok. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΊΠ° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΠ²ΠΎΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ, Π½ΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π²ΡΠ΅ ΠΆΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΠ΅ΠΊΠ° ΡΠ²ΠΎΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΡΠ°Π·, ΡΠΆΠ΅ Π΄Π»Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.
ΠΠ»Π°ΡΡ TLine — Π»ΠΈΠ½ΠΈΡ. ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠΈΡΠΈΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΡΠΎΡΡΡΡ ΠΈΠ· Π»ΠΈΠ½ΠΈΠΉ. ΠΠΈΠ½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π² ΠΊΠ»Π°ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠ². ΠΠΈΠ½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠΉΡΡΠ²:
— p1, p2 — ΡΠΎΡΠΊΠΈ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅Π΅Ρ 2 ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ: x ΠΈ y. ΠΡΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ Π»ΠΈΠ½ΠΈΠΈ (ΠΎΡΡΠ΅Π·ΠΊΠ°). Π’ΠΎΡΠΊΠ° ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ point.
— Color — ΡΠ²Π΅Ρ Π»ΠΈΠ½ΠΈΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΈΠΏ C++ Builder — TColor.
— Secondary — Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π΄Π°Π½Π½Π°Ρ Π»ΠΈΠ½ΠΈΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π»ΠΈΠ±ΠΎ ΠΎΠ½Π° ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ. ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ.
ΠΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° TLine:
— setline (point p1, point p2, long int col, bool sec). Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π»ΠΈΠ½ΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
— point cut (float k). ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΡΠΊΡ Π½Π° Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ, ΡΠ°Π²Π½ΠΎΠΌ k*<οΏ½Π΄Π»ΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΈ> ΠΎΡ Π΅Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ°.
ΠΠ»Π°ΡΡ BCurve — ΠΡΠΈΠ²Π°Ρ ΠΠ΅Π·ΡΠ΅. Π‘ΡΠ΅Π΄ΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ°: ΠΈΠΌΡ, ΡΠ²Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΠΉ, 2 ΠΎΠΏΠΎΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ Π³Π»Π°Π΄ΠΊΠΎΡΡΠΈ k (ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΈΠ½ΠΈΡ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° Π»ΠΎΠΌΠ°Π½ΡΡ. ΠΠ°ΠΊΡΠΈΠΌΡΠΌ k=0.99, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ — 0.01. ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ k=0.25). ΠΠ»Π°ΡΡ ΠΈΠΌΠ΅Π΅Ρ 2 ΡΡΠ½ΠΊΡΠΈΠΈ:
— queue Create (float, Tline, Tline, TColor, TColor, bool, AnsiString). ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π»ΠΈΠ½ΠΈΠΉ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ΅Π·ΡΠ΅.
— queue Load ().ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π»ΠΈΠ½ΠΈΠΉ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ΅Π·ΡΠ΅.
ΠΠ»Π°ΡΡ TRectangle — ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ. Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· 4-Ρ Π»ΠΈΠ½ΠΈΠΉ ΠΏΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ: queue Create (int x1, int y1, int x2, int y2, TColor col).
2.4 ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅
ΠΠ’Π ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π°Π΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π±Π΅Π·ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
2.4.1 ADT Spisok
ΠΠ°Π½Π½ΡΠ΅
Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π²Π΅ΡΡΠΈΠ½Ρ ΡΠΏΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ;
Π‘ΡΡΡΠΊΡΡΡΠ°, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ°Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²;
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ
Add:
ΠΡ ΠΎΠ΄: Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΠΌΡ;
ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅: Π½Π΅Ρ;
ΠΡΠΎΡΠ΅ΡΡ: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΏΠΈΡΠΎΠΊ;
ΠΡΡ ΠΎΠ΄: Π½Π΅Ρ;
ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π΅Ρ;
Remove:
ΠΡ ΠΎΠ΄: ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ;
ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅: Π½Π΅Ρ;
ΠΡΠΎΡΠ΅ΡΡ: ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°;
ΠΡΡ ΠΎΠ΄: Π½Π΅Ρ;
ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π΅Ρ;
Search:
ΠΡ ΠΎΠ΄: ΠΈΠΌΡ;
ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅: Π½Π΅Ρ;
ΠΡΠΎΡΠ΅ΡΡ: ΠΏΠΎΠΈΡΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅;
ΠΡΡ ΠΎΠ΄: ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°;
ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π΅Ρ;
Change:
ΠΡ ΠΎΠ΄: ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅;
ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅: Π½Π΅Ρ;
ΠΡΠΎΡΠ΅ΡΡ: ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ;
ΠΡΡ ΠΎΠ΄: Π½Π΅Ρ;
ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π΅Ρ;
Count:
ΠΡ ΠΎΠ΄: Π½Π΅Ρ;
ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅: Π½Π΅Ρ;
ΠΡΠΎΡΠ΅ΡΡ: ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅;
ΠΡΡ ΠΎΠ΄: ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅;
ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π΅Ρ;
Getvalue:
ΠΡ ΠΎΠ΄: ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ;
ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅: Π½Π΅Ρ;
ΠΡΠΎΡΠ΅ΡΡ: ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°;
ΠΡΡ ΠΎΠ΄: ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°;
ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π΅Ρ;
Getname:
ΠΡ ΠΎΠ΄: ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ;
ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅: Π½Π΅Ρ;
ΠΡΠΎΡΠ΅ΡΡ: ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°;
ΠΡΡ ΠΎΠ΄: ΠΈΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°;
ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π΅Ρ;
ΠΠΎΠ½Π΅Ρ ADT Spisok
2.4.2 ADT Tline
ΠΠ°Π½Π½ΡΠ΅
2 ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ, ΡΠ²Π΅Ρ, ΡΠΈΠΏ Π»ΠΈΠ½ΠΈΠΈ;
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ
Setline:
ΠΡ ΠΎΠ΄: 2 ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ, ΡΠ²Π΅Ρ, ΡΠΈΠΏ Π»ΠΈΠ½ΠΈΠΈ;
ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅: Π½Π΅Ρ;
ΠΡΠΎΡΠ΅ΡΡ: ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°;
ΠΡΡ ΠΎΠ΄: Π½Π΅Ρ;
ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π΅Ρ;
Cut:
ΠΡ ΠΎΠ΄: ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ k;
ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅: Π½Π΅Ρ;
ΠΡΠΎΡΠ΅ΡΡ: Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ Π½Π° Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ, ΡΠ°Π²Π½ΠΎΠΌ k*<οΏ½Π΄Π»ΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΈ> ΠΎΡ Π΅Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ°;
ΠΡΡ ΠΎΠ΄: ΡΠΎΡΠΊΠ° Π½Π° Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ, ΡΠ°Π²Π½ΠΎΠΌ k*<οΏ½Π΄Π»ΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΈ> ΠΎΡ Π΅Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ°;
ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π΅Ρ;
ΠΠΎΠ½Π΅Ρ ADT TLine
2.4.3 ADT BCurve
ΠΠ°Π½Π½ΡΠ΅
Π¦Π²Π΅Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π»ΠΈΠ½ΠΈΠΉ, 2 Π±Π°Π·ΠΎΠ²ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ, ΠΈΠΌΡ;
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ
Create:
ΠΡ ΠΎΠ΄: Π¦Π²Π΅Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π»ΠΈΠ½ΠΈΠΉ, 2 Π±Π°Π·ΠΎΠ²ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ, ΠΈΠΌΡ;
ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅: Π½Π΅Ρ;
ΠΡΠΎΡΠ΅ΡΡ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ΅Π·ΡΠ΅;
ΠΡΡ ΠΎΠ΄: Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΠ½ΠΈΠΉ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ;
ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π΅Ρ;
Load:
ΠΡ ΠΎΠ΄: Π½Π΅Ρ;
ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅: Π½Π΅Ρ;
ΠΡΠΎΡΠ΅ΡΡ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ΅Π·ΡΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ ;
ΠΡΡ ΠΎΠ΄: Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΠ½ΠΈΠΉ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ;
ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π΅Ρ;
ΠΠΎΠ½Π΅Ρ ADT BCurve
2.4.4 ADT TRectangle
ΠΠ°Π½Π½ΡΠ΅
Π½Π΅Ρ;
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ
Create:
ΠΡ ΠΎΠ΄: Π¦Π²Π΅Ρ 4 ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈ ΡΠ²Π΅Ρ;
ΠΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅: Π½Π΅Ρ;
ΠΡΠΎΡΠ΅ΡΡ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°;
ΠΡΡ ΠΎΠ΄: Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΠ½ΠΈΠΉ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΡ;
ΠΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΡ: Π½Π΅Ρ;
ΠΠΎΠ½Π΅Ρ ADT TRectangle
3. Π’ΠΠ₯ΠΠΠΠΠΠΠ§ΠΠ‘ΠΠΠ― Π§ΠΠ‘Π’Π¬
3.1 Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°
3.1.1 ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ². ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ ΠΈΡ ΡΠ°ΡΡΠΈ.
3.1.2 ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
1) 64 ΠΠ± ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
2) 100 ΠΠ± ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° ΠΆΡΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅
3) ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡ ΠΌΡΡΡ
4) ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Windows 9x/ME/NT/2000/XP
3.1.3 Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ *.exe ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠ» Editor.exe.
3.1.4 Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
Β· ΠΡΠ±ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡΡΠΈ.
Β· Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠ° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ ΡΠΈΡΡΠ½ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡΡΠΈ (2 ΠΈΠ»ΠΈ 3 ΠΊΠ»ΠΈΠΊΠ°).
Β· Π Π°Π±ΠΎΡΠ° Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ: ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ListBox-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ.
Β· ΠΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ ΠΎΠΊΠ½Π°.
Β· Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΌΠ΅ΡΡΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π»ΠΈΠ½ΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ (Queue), Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ, ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² Π½Π΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ Create (<οΏ½ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°>) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΏΠΈΡΠΎΠΊ Π»ΠΈΠ½ΠΈΠΉ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ (Π° Π·Π½Π°ΡΠΈΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ), ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π½ΠΎΡΠΈΡΡΡ Π² ListBox-ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π° ΡΠΎΡΠΌΠ΅, Π³Π΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ.
Β· ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΠΈΡΠΊΠΎΠ² Change (int, Data). ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ListBox’Π° (ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ-ΡΠ°ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°), Π² ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΈ Π½ΠΎΠ²ΡΠ΅ Π΅Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
Β· Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΡΠ°ΡΡΠΈ ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΡΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΠΈΡΠΊΠΎΠ² Remove (int). Π ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ.
3.1.5 Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
1. ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠ» «Editor.exe».
2. ΠΡΠ±ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ
3. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ComboBox-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
4. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ ΠΏΡΡΠ΅ΠΌ 2-Ρ ΠΈΠ»ΠΈ 3-Ρ ΠΊΠ»ΠΈΠΊΠΎΠ² ΠΌΡΡΠΊΠΎΠΉ Π½Π° Π±Π΅Π»ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΎΡΠΌΡ
5. Π ΡΠ»ΡΡΠ°Π΅ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ΅Π·ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠ΅Π»ΠΊΠ½ΡΠ² Π½Π° ΡΠ»Π°ΠΆΠΊΠ΅ «ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ». Π‘ΡΡΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠ»Π°ΠΆΠΊΠ° ΡΠ±Π΅ΡΠ΅Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ Ρ ΡΠΊΡΠ°Π½Π°
6. Π ListBox’Π΅ «ΠΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ» Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ. ΠΠ½ΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΡΠ²Π΅ΡΠΎΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ
7. ΠΡΠΈ ΡΠ΅Π»ΡΠΊΠ΅ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ Π² ΡΠΏΠΈΡΠΊΠ΅ «ΠΠ±ΡΠ΅ΠΊΡΡ» Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ΅ΡΠ²Π°Ρ Π»ΠΈΠ½ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅ Π²Π²Π΅ΡΡ Ρ
8. ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Delete Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ Π»ΠΈΠ½ΠΈΡ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΎΡΡΠ°Π²Π»ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅. ΠΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΉ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π°Π΄ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ΅ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠΎ ΠΈ Π΄ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ. ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π²ΡΠ΅Ρ Π»ΠΈΠ½ΠΈΠΉ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΎΠ½ ΡΠ°ΠΌ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°
9. ΠΠ°ΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
3.2 Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°
Π Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° (ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ) Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ².
3.2.1 ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΡΠΆΠ½ΠΎ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» «Editor.exe».
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΠ°ΠΌΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ:
Π ΠΈΡ. 1. ΠΠΈΠ΄ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
3.2.2 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
— ΠΡΠ±ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ComboBox-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
— Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ ΠΏΡΡΠ΅ΠΌ 2-Ρ ΠΈΠ»ΠΈ 3-Ρ ΠΊΠ»ΠΈΠΊΠΎΠ² ΠΌΡΡΠΊΠΎΠΉ Π½Π° Π±Π΅Π»ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΎΡΠΌΡ
— Π ΡΠ»ΡΡΠ°Π΅ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ΅Π·ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠ΅Π»ΠΊΠ½ΡΠ² Π½Π° ΡΠ»Π°ΠΆΠΊΠ΅ «ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ». Π‘ΡΡΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠ»Π°ΠΆΠΊΠ° ΡΠ±Π΅ΡΠ΅Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ Ρ ΡΠΊΡΠ°Π½Π°.
3.2.3 ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
— Π ListBox’Π΅ «ΠΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ» Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ. ΠΠ½ΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΡΠ²Π΅ΡΠΎΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ
— ΠΡΠΈ ΡΠ΅Π»ΡΠΊΠ΅ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ Π² ΡΠΏΠΈΡΠΊΠ΅ «ΠΠ±ΡΠ΅ΠΊΡΡ» Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ΅ΡΠ²Π°Ρ Π»ΠΈΠ½ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅ Π²Π²Π΅ΡΡ Ρ
— ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Delete Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ Π»ΠΈΠ½ΠΈΡ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΎΡΡΠ°Π²Π»ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅. ΠΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΉ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π°Π΄ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ΅ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠΎ ΠΈ Π΄ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ. ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π²ΡΠ΅Ρ Π»ΠΈΠ½ΠΈΠΉ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΎΠ½ ΡΠ°ΠΌ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°
3.2.4 ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ComboBox-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
3.2.5 ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π§ΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΡΠ΅ΡΡΠΈΠΊΠ° Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΠΎΠΊΠ½Π°.
3.3 Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ
ΠΡΡ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΎΠ½ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ — ΠΈΡΡΠ΅Π·Π°Π΅Ρ ΠΎΡΡΡΠ΄Π°, ΠΏΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ — ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²Π΅Ρ Π½Π° ΡΠ²Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ.
1. ΠΠ΅ΠΉΡΠ΅Π» Π₯., ΠΠ΅ΠΉΡΠ΅Π» Π. ΠΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π‘++: ΠΏΠ΅Ρ. Ρ Π°Π½Π³Π». — Π.: «ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΠΈΠ½ΠΎΠΌ», 2003 Π³.
2. ΠΠΎΠ½Π΄ΡΠ°ΡΡΠ΅Π²Π° Π‘. Π.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π² ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ : Π»Π΅ΠΊΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ ΠΏΠΎ ΠΊΡΡΡΡ. — Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΠΠ’Π£ ΠΈΠΌ. Π. Π. ΠΠ°ΡΠΌΠ°Π½Π°, 2000 Π³.
3. Π‘ΡΠΈΠ²Π΅Π½Ρ Π . Delphi. ΠΠΎΡΠΎΠ²ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ: ΠΠ΅Ρ. Ρ Π°Π½Π³Π». — Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΠΠ ΠΡΠ΅ΡΡ, 2001.-384Ρ.
4. Π Π΅ΠΉΡΠ΄ΠΎΡΡ ΠΠ΅Π½Ρ ΠΈ Π₯Π΅Π½Π΄Π΅ΡΡΠΎΠ½ ΠΠ΅Π½ Borland C++ Builder. ΠΡΠ²ΠΎΠΉ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ: [ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ].
ΠΠ ΠΠΠΠΠΠΠΠ
//—————————————————————————————————————;
#include
#pragma hdrstop
#include
#include «Unit1.h»
//—————————————————————————————————————;
#pragma package (smart_init)
#pragma resource «*.dfm»
TfrmMain *frmMain;
//==========================================
// CLASSES FOR WORK WITH LISTS. IT-41 2007
//==========================================
//*****Structures*****
struct point {
int x, y;
};//end struct
//==========================================
//1. Abstract class Spisok
//==========================================
template class spisok {
protected:
struct list {
Data inf;
AnsiString name;
list*next;
};//end struct list
list *top,*p;
public:
virtual void add (Data value, AnsiString name)=0;
virtual void remove (int index)=0;
virtual void change (int index, Data value)=0;
virtual int count ()=0;
virtual Data getvalue (int index)=0;
virtual AnsiString getname (int index)=0;
virtual int search (AnsiString name)=0;
};//end class spisok
//==========================================
//2. CLASS STACK
//==========================================
template class stack: public spisok {
public:
//***************CONSTRUCTORS************************
stack (){top=new list;top=NULL;}
~stack (){}
//***************OPERATIONS************************
int count (){
int i=0;
p=top;
while (p≠NULL){
i++;
p=p->next;
}//end while
return (i);
}//end stack count
void add (Data value, AnsiString name){
p=new list;
p->next=top;
p->inf=value;
p->name=name;
top=p;
}//end stack add
int search (AnsiString name){
int i=0;
p=top;
while (p≠NULL){
i++;
if (p->name==name) return (i);
}//end while
return (0);
}//end function
void remove (int index){
list*q;
p=top;
for (int i=1;inext;
q=p->next;
if (q==NULL) delete (q); else {p->next=p->next->next;delete (q);}
}//end stack remove
void change (int index, Data value){
p=top;
for (int i=1;inext;
p->inf=value;
}//end stack change
Data getvalue (int index){
if (index<=this->count ()){
p=top;
for (int i=1;inext;
return (p->inf);
}//end if
}//end function
AnsiString getname (int index){
p=top;
for (int i=1;inext;
return (p->name);
}//end function
void clear (){
}//end function
};//end class stack
//==========================================
//3. CLASS QUEUE
//==========================================
template class queue: public stack {
public:
queue (){top=new list;top->next=NULL;p=top;}
~queue (){}
void add (Data value, AnsiString name){
p->next=new list;
p->next->next=NULL;
p->inf=value;
p->name=name;
p=p->next;
}//end function
int count (){
int i=0;
p=top;
while (p->next≠NULL){
i++;
p=p->next;
}//end while
return (i);
}//end queue count
};//end queue class
//==========================================
//4. CLASS LINE
//==========================================
class Tline {
public:
point p1, p2;
TColor color;
bool secondary;
Tline (){color=0;secondary=0;}
~Tline (){}
void setline (point p1, point p2, long int col, bool sec);
point cut (float k);
};//end line class
//—————————————————————
point Tline: cut (float k){
point p;
p.x=p1.x+k*(p2.x-p1.x);
p.y=p1.y+k*(p2.y-p1.y);
return (p);
}//end function
void Tline: setline (point Point1, point Point2, long int col, bool sec){
p1.x=Point1.x;p1.y=Point1.y;
p2.x=Point2.x;p2.y=Point2.y;
color=col;secondary=sec;
}//end function
//==========================================
//5. CLASS Bezie Curve
//==========================================
class BCurve {
protected:
bool show_secondary;
public:
TColor color;
AnsiString Name;
TColor scol;
float k;
Tline l1, l2;
BCurve (){}
queue Create (float, Tline, Tline, TColor, TColor, bool, AnsiString);
queue Load ();
};//end BCurve Class
queue BCurve: Create (float koef, Tline line1, Tline line2, TColor col, TColor colsec, bool sec, AnsiString NameOfCurve)
{
queue L;
point p1, p2;
Tline l;
k=koef; l1=line1,l2=line2;color=col;show_secondary=sec;scol=colsec;
l1.secondary=true;l2.secondary=true;l1.color=colsec;l2.color=colsec;Name=NameOfCurve;
if (show_secondary) {L.add (l1,Name);L.add (l2,Name);}
while (!(l.p1.x==l.p2.x && l. p1.y==l.p2.y)){
p1=l1.cut (k);p2=l2.cut (k);
l.setline (p1,p2,colsec, 1);
if (show_secondary) L. add (l, Name);
l2.p1=p2;p2=l.cut (k);p1=l1.p1;
l.setline (p1,p2,color, 0);L.add (l, Name);
l1.p1=p2;l1.p2=l2.p1;
}//end while
return (L);
}//end function
queue BCurve: Load (){
return (this->Create (k, l1, l2,color, scol, show_secondary, Name));
}//end function
class TRectangle {
public:
queue Create (int x1, int y1, int x2, int y2, TColor col);
};//end rectangle class
queue TRectangle: Create (int x1, int y1, int x2, int y2, TColor col){
queue Lines;
Tline l1;
l1.p1.x=x1;l1.p1.y=y1;l1.p2.x=x2;l1.p2.y=y1;l1.color=col;l1.secondary=false;
Lines.add (l1," Rectangle");
l1.p1.x=x2;l1.p1.y=y1;l1.p2.x=x2;l1.p2.y=y2;l1.color=col;l1.secondary=false;
Lines.add (l1," Rectangle");
l1.p1.x=x2;l1.p1.y=y2;l1.p2.x=x1;l1.p2.y=y2;l1.color=col;l1.secondary=false;
Lines.add (l1," Rectangle");
l1.p1.x=x1;l1.p1.y=y2;l1.p2.x=x1;l1.p2.y=y1;l1.color=col;l1.secondary=false;
Lines.add (l1," Rectangle");
return (Lines);
}//end function
//=========
//ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
queue LineBufer;
int n=0;
Tline l1, l2;
queue Objects;
//=========
//—————————————————————————————————————;
__fastcall TfrmMain: TfrmMain (TComponent* Owner)
: TForm (Owner)
{
}
//—————————————————————————————————————;
void LoadLines (bool sec){
Tline l1;
int checkedItem=frmMain->ListBox1->ItemIndex;
frmMain->ListBox1->Clear ();
frmMain->lstObjects->Clear ();
for (int i=1;i<=LineBufer.count ();i++){
l1=LineBufer.getvalue (i);
frmMain->lblPicture->Canvas->Pen->Color=l1.color;
if ((sec && l1. secondary)||!l1.secondary){
if (l1.secondary) frmMain->lblPicture->Canvas->Pen->Style=2; else frmMain->lblPicture->Canvas->Pen->Style=0;
frmMain->lblPicture->Canvas->MoveTo (l1.p1.x, l1. p1.y);
frmMain->lblPicture->Canvas->LineTo (l1.p2.x, l1. p2.y);
}//end if
frmMain->ListBox1->Items->Add (IntToStr (l1.p1.x)+" ;" +IntToStr (l1.p1.y)+" - «+IntToStr (l1.p2.x)+» ;" +IntToStr (l1.p2.y));
}//next i
frmMain->ListBox1->ItemIndex=checkedItem;
for (int i=1;i<=Objects.count ();i++){
if (Objects.getvalue (i)==1)frmMain->lstObjects->Items->Add («Line (1 lines)»); else
if (Objects.getvalue (i)==4)frmMain->lstObjects->Items->Add («Rectangle (4 lines)»); else
frmMain->lstObjects->Items->Add («Bezie Curve („+IntToStr (Objects.getvalue (i))+“ lines)»);
}//next i
}//end function
//—————————————————————————————————————;
void __fastcall TfrmMain: lblPictureMouseDown (TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if (cboObject->Text=="ΠΡΠΈΠ²Π°Ρ ΠΠ΅Π·ΡΠ΅"){
n++;
if (n==1) {l1.p1.x=X;l1.p1.y=Y;}
if (n==2) {l1.p2.x=X;l1.p2.y=Y;l2.p1.x=X;l2.p1.y=Y;}
if (n==3) {
BCurve CurveBufer;
queue Lines;
int firstNumber=0;
l2.p2.x=X;l2.p2.y=Y;
Lines=CurveBufer.Create (0.25,l1,l2,clbColor->Selected, clbSecond->Selected, 1," Bezie");
n=0;
firstNumber=LineBufer.count ();
for (int i=0;i<=Lines.count ();i++) LineBufer. add (Lines.getvalue (i)," Bezie");
LoadLines (chkSecondary->Checked);
firstNumber=LineBufer.count ()-firstNumber;
Objects.add (firstNumber," Bezie");
lstObjects->Items->Add («Bezie Curve („+IntToStr (firstNumber)+“ lines)»);
}//end if n==3
}//end if Curve
if (cboObject->Text=="ΠΠΈΠ½ΠΈΡ"){
n++;
frmMain->Canvas->Pen->Color=clbColor->Selected;
if (n==1) {l1.p1.x=X;l1.p1.y=Y;}
if (n==2) {
l1.p2.x=X;l1.p2.y=Y;
LineBufer.add (l1," «);
Objects.add (1," Line");
LoadLines (chkSecondary->Checked);
n=0;
}//end if n==2
}//End if Line
if (cboObject->Text=="ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ"){
n++;
queue Lines;
TRectangle Rect;
if (n==1) {l1.p1.x=X;l1.p1.y=Y;}
if (n==2) {
l1.p2.x=X;l1.p2.y=Y;
Lines=Rect.Create (l1.p1.x, l1. p1.y, l1. p2.x, l1. p2.y, clbColor->Selected);
for (int i=0;i<=Lines.count ();i++) LineBufer. add (Lines.getvalue (i)," «);
Objects.add (4," Rectangle");
LoadLines (chkSecondary->Checked);
n=0;
}//end if n==2;
}//end if rectangle;
}
//—————————————————————————————————————;
void __fastcall TfrmMain: chkSecondaryClick (TObject *Sender)
{
frmMain->lblPicture->Refresh ();
LoadLines (chkSecondary->Checked);
}
//—————————————————————————————————————;
void __fastcall TfrmMain: clbColorChange (TObject *Sender)
{
Tline l1;
int begin=0;
for (int i=0;iItemIndex;i++)begin+=Objects.getvalue (i);
for (int i=begin;i<=begin+Objects.getvalue (lstObjects->ItemIndex+1);i++){
l1=LineBufer.getvalue (i);
if (!l1.secondary){
l1.color=clbColor->Selected;
LineBufer.change (i, l1);
}//end if
}//next i
LoadLines (chkSecondary->Checked);
}
//—————————————————————————————————————;
void __fastcall TfrmMain: clbSecondChange (TObject *Sender)
{
Tline l1;
int begin=0;
for (int i=0;iItemIndex;i++)begin+=Objects.getvalue (i);
for (int i=begin;i<=begin+Objects.getvalue (lstObjects->ItemIndex+1);i++){
l1=LineBufer.getvalue (i);
if (l1.secondary){
l1.color=clbSecond->Selected;
LineBufer.change (i, l1);
}//end if
}//next i
LoadLines (chkSecondary->Checked);
}
//—————————————————————————————————————;
int WhichObject (int number) {
int object=0;
int i=0;
while (i
if (object==0) object=1;
return (object);
}//end function
//—————————————————————————————————————;
void __fastcall TfrmMain: ListBox1Click (TObject *Sender)
{
Tline l1;
l1=LineBufer.getvalue (ListBox1->ItemIndex+1);
frmMain->lblPicture->Refresh ();
LoadLines (chkSecondary->Checked);
for (int i=2;i>0;i—){
frmMain->lblPicture->Canvas->Pen->Color=clbSelect->Selected;
frmMain->lblPicture->Canvas->Ellipse (l1.p1.x-i, l1. p1.y-i, l1. p1.x+i, l1. p1.y+i);
frmMain->lblPicture->Canvas->Ellipse (l1.p2.x-i, l1. p2.y-i, l1. p2.x+i, l1. p2.y+i);
frmMain->lblPicture->Canvas->MoveTo (l1.p1.x, l1. p1.y);
frmMain->lblPicture->Canvas->LineTo (l1.p2.x, l1. p2.y);
}//next
}
//—————————————————————————————————————;
void __fastcall TfrmMain: ListBox1KeyDown (TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key==46){
int object=WhichObject (ListBox1->ItemIndex+1);
frmMain->lblPicture->Refresh ();
int z=ListBox1->ItemIndex;
LineBufer.remove (ListBox1->ItemIndex+1);ListBox1->Items->Delete (ListBox1->ItemIndex);
ListBox1->ItemIndex=z;
Objects.change (object, Objects. getvalue (object)-1);
if (Objects.getvalue (object)==0) {Objects.remove (object);lstObjects->Items->Delete (object-1);}
LoadLines (chkSecondary->Checked);
}//end if
}
//—————————————————————————————————————;
void __fastcall TfrmMain: lstObjectsClick (TObject *Sender)
{
int begin=0;
for (int i=0;iItemIndex;i++)begin+=Objects.getvalue (i);
ListBox1->ItemIndex=begin;
}
//—————————————————————————————————————;
void __fastcall TfrmMain: lblPictureMouseMove (TObject *Sender,
TShiftState Shift, int X, int Y)
{
lblCoords->Caption=IntToStr (X)+"; «+IntToStr (Y);
}
//—————————————————————————————————————;