ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ
ΠΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π¨Π΅Π»Π»Π° ΡΠ½Π°ΡΠ°Π»Π° ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ ΠΈ ΡΠΎΡΡΠΈΡΡΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΎΡΡΡΠΎΡΡΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ d. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅Π½ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ d, Π° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π¨Π΅Π»Π»Π° ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ d=1 (ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ). ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π¨Π΅Π»Π»Π° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
1. ΠΠ±Π·ΠΎΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΈ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ
1.1 ΠΠ±Π·ΠΎΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ
1.2 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
2. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠΈΡΠΊΠ°
3. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
3.1 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°
3.2 Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π°Π½Π½ΡΡ .
ΠΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° Π½Π° ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Delphi.
Π ΡΠ°ΠΌΠΊΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ:
1. ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.
2. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌ ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
3. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌ ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
4. ΠΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°.
5. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΠΈΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ, Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ°Π·Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈΡΡ: ΠΠ΅Π²ΠΈΡΠΈΠ½ Π., ΠΡΠ΄ΠΌΠ°Π½ Π‘., Π₯ΠΈΠ΄Π΅ΡΠ½ΠΈΠ΅ΠΌΠΈ Π‘., ΠΡ ΠΎ Π., Π₯Π»ΠΎΠΏΠΊΡΠΎΡΡ ΠΠΆ., Π£Π»ΡΠΌΠ°Π½ ΠΠΆ., Π¦Π΅ΠΉΡΠ»ΠΈΠ½ Π. Π., ΠΠ½ΡΡ Π., ΠΠΈΡΡ Π., ΠΠΎΡΠΈΠ½ Π., ΠΠ°ΠΊΠΊΠΎΠ½Π½Π΅Π»Π» ΠΠΆ.
Π¦Π΅Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ — ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°Π²ΡΠΊΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ — Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π°Π½Π½ΡΡ .
1. ΠΠ±Π·ΠΎΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΈ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
1.1 ΠΠ±Π·ΠΎΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΡΠΊΡΡΡΠΎΠ΅ Π°ΠΊΡΠΈΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ» — ΠΏΡΠΈΠ·Π½Π°Π½Π½ΡΠΉ Π»ΠΈΠ΄Π΅Ρ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅ Π½Π΅ΡΠΊΠ°Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΎΠ»ΠΎΠΊΠΎΠ½ Π² Π ΠΎΡΡΠΈΠΈ.
ΠΠΠ «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ» Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π³ΠΎΡΠΎΠ΄Π΅ Π‘ΡΠΊΡΡΠ²ΠΊΠ°ΡΠ΅, ΡΡΠΎΠ»ΠΈΡΠ΅ Π Π΅ΡΠΏΡΠ±Π»ΠΈΠΊΠΈ ΠΠΎΠΌΠΈ, Π½Π° ΡΠ΅Π²Π΅ΡΠΎ-Π²ΠΎΡΡΠΎΠΊΠ΅ Π΅Π²ΡΠΎΠΏΠ΅ΠΉΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ. ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° Π² 1979 Π³ΠΎΠ΄Ρ ΠΈ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² Π½Π΅ΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 1000 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ.
ΠΠΠ «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ» ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΡΡΡΠ² Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π³ΠΈΠΎΠ½Π°Ρ Π ΠΎΡΡΠΈΠΈ: ΠΠΠ «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ ΡΠ΅ΡΠ²ΠΈΡ» (Π³. ΠΠΎΡΠΊΠ²Π°), ΠΠΠ «ΠΠΠΠΠ’ΠΠΠ‘ΠΠΠΠ» (Π³. Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³), ΠΠΠ «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ-ΠΠ²ΡΠΎ» (Π³. Π’ΠΎΠ»ΡΡΡΡΠΈ), Π€ΠΈΠ»ΠΈΠ°Π» «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ-ΠΠΈΡΠΎΠ²» (Π³. ΠΠΈΡΠΎΠ²), ΠΠΠ «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ ΡΡΠ΅ΠΉΠ΄ΠΈΠ½Π³» (Π³. Π‘ΡΠΊΡΡΠ²ΠΊΠ°Ρ), ΠΠΠ «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ ΠΠΈΠ½» (Π³. Π‘ΡΠΊΡΡΠ²ΠΊΠ°Ρ) ΠΈ Π΄ΡΡΠ³ΠΈΠ΅.
ΠΠΠ «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΠ²ΡΠΎΠΏΠ΅ΠΉΡΠΊΠΎΠΉ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ² Π³ΠΈΠ³ΠΈΠ΅Π½Ρ ΠΈ Π½Π΅ΡΠΊΠ°Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² (EDANA), ΠΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»Π΅ΠΉ Π½Π΅ΡΠΊΠ°Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² (ΠΠ‘ΠΠΠΠ).
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² ΠΌΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° Π½Π΅ΡΠΊΠ°Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² «ΡΡΡ ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ». Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ»ΠΎΠΆΠΈΠ²ΡΠΈΠΉΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π·Π° 30 Π»Π΅Ρ, ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΎΠΏΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠ², Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΠΉ Π·Π° Π³ΠΎΠ΄Ρ ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΎΡΠ½ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ Π²ΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ. ΠΠ° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ISO 9001:2008.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠΏΡΡΠΊΠ°ΡΡ ΠΏΠΎΠ»ΠΎΡΠ½Π° Ρ ΡΠΈΡΠΎΠΊΠΈΠΌ ΡΠΏΠ΅ΠΊΡΡΠΎΠΌ ΡΠ²ΠΎΠΉΡΡΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΠΈΠ΅ΡΡ Π² ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ . ΠΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ:
Β· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Π²ΠΎΠ»ΠΎΠΊΠΎΠ½;
Β· Π²ΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΎΠ»ΡΡΠ°;
Β· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ Ρ ΠΎΠ»ΡΡΠ°:
Ρ Ρ ΠΈΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ;
Ρ ΡΠ΅ΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ;
Ρ ΠΈΠ³Π»ΠΎΠΏΡΠΎΠ±ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ;
Ρ Ρ ΠΎΠ»ΡΡΠΎΠΏΡΠΎΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ;
Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ²;
Β· ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΎΡΠ½Π°.
ΠΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎ Π²ΡΠΏΡΡΠΊΡ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΎΠ»ΠΎΠΊΠΎΠ½ Π²ΡΠ²Π΅Π»ΠΎ ΠΠΠ «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ» Π² Π»ΠΈΠ΄Π΅ΡΡ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ Π²ΠΈΠ΄Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° Π² Π ΠΎΡΡΠΈΠΈ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ Π² ΡΠ°ΠΊΠΈΡ Π²ΠΎΠ»ΠΎΠΊΠ½Π°Ρ , ΡΡΠΎ Π΄Π°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, ΠΎΠ±ΡΠ΅ΠΌΠΎΠ², ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ ΠΏΠΎΡΡΠ°Π²ΠΎΠΊ, ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° Π½Π΅ΡΠΊΠ°Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΠΠ «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ» ΡΡΠ°Π»ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΎΠ»ΠΎΠΊΠΎΠ½ Π ΠΎΡΡΠΈΠΈ Π΄Π»Ρ Π½ΡΠΆΠ΄ ΡΠ΅ΠΊΡΡΠΈΠ»ΡΠ½ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ.
Π‘ΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½ΡΠΌ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°, ΡΠΎΡΡΠΎΠΌ ΠΏΡΠΎΠ΄Π°ΠΆ ΠΈ ΠΏΡΠΈΠ±ΡΠ»ΠΈ.
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎΡΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ»ΡΡΡΠ°ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡ Π°ΡΡΠΎΡΡΠΈΠΌΠ΅Π½Ρ Π²ΡΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π°ΡΡΠΎΡΡΠΈΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 50 Π²ΠΈΠ΄ΠΎΠ² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ.
ΠΠΠ «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ» ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ 700 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΌ Π² Π ΠΎΡΡΠΈΠΈ ΠΈ Π·Π° Π΅Π΅ ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ. ΠΠΈΠ±ΠΊΠΈΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΠΊΠ²Π°Π»ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π΄ΠΎΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠ΅ΡΠ° ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
ΠΠ° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° ΡΠ°Π·Π²ΠΈΡΠΈΡ Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ Π΄ΠΎΠ»Π³ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ²ΡΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²Π° Ρ Π½Π°ΡΠΈΠΌΠΈ ΠΏΠ°ΡΡΠ½Π΅ΡΠ°ΠΌΠΈ. ΠΡ Π³ΠΎΡΠΎΠ²Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π² ΠΠ°ΡΠ΅ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ Ρ Π½Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈ ΠΊΠ°Π΄ΡΠΎΠ²ΡΠΉ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π», Π·Π½Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΡΠ½ΠΊΠ΅ Π½Π΅ΡΠΊΠ°Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ².
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ°ΠΏΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ:
1979 ΠΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
1980 ΠΡΠΏΡΡΠΊ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° ΡΡΠΎΠ»ΠΎΠ²ΠΎΠΉ ΠΊΠ»Π΅Π΅Π½ΠΊΠΈ.
1983 ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ — ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΠΉ Π² Π‘Π‘Π‘Π ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ Π½Π΅ΡΠΊΠ°Π½ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Ρ.
1985 ΠΡΠΏΡΡΠΊ ΠΈΠ³Π»ΠΎΠΏΡΠΎΠ±ΠΈΠ²Π½ΡΡ ΠΏΠΎΠ»ΠΎΡΠ΅Π½.
1986 ΠΡΠΏΡΡΠΊ ΡΠ΅ΡΠΌΠΎΡΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΠΎΡΠ΅Π½.
1991 ΠΠΊΡΠΏΠΎΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ.
1993 ΠΡΠΏΡΡΠΊ ΠΎΠ±ΡΠ΅ΠΌΠ½ΡΡ ΠΈ Ρ ΠΎΠ»ΡΡΠΎΠΏΡΠΎΡΠΈΠ²Π½ΡΡ ΠΏΠΎΠ»ΠΎΡΠ΅Π½.
1995 ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ.
1997 Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠΎΡΡΠ° Π½Π° ΡΡΠ½ΠΊΠ΅ ΠΏΠΎΠ»ΠΎΡΠ΅Π½ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΡΡΠΈ.
1997 ΠΡΠΏΡΡΠΊ Π»ΠΈΠ½ΠΎΠ»Π΅ΡΠΌΠ° Π½Π° Π½Π΅ΡΠΊΠ°Π½ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π΅.
1999 Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°.
2000 Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° ΠΈΠ³Π»ΠΎΠΏΡΠΎΠ±ΠΈΠ²Π½ΡΡ ΠΏΠΎΠ»ΠΎΡΠ΅Π½.
2001 ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΡΠΈΡ ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ.
2001 Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° ΠΈΠ³Π»ΠΎΠΏΡΠΎΠ±ΠΈΠ²Π½ΡΡ ΠΏΠΎΠ»ΠΎΡΠ΅Π½.
2002 Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°.
2002 Π‘Π΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΠ‘ ISO 9001:2000.
2003 ΠΡΠΏΡΡΠΊ ΠΏΠΎΠ»ΠΈΠΏΡΠΎΠΏΠΈΠ»Π΅Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²ΠΎΠ»ΠΎΠΊΠ½Π°.
2004 Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΏΠΎ Π²ΡΠΏΡΡΠΊΡ ΠΈΠ³Π»ΠΎΠΏΡΠΎΠ±ΠΈΠ²Π½ΡΡ ΠΏΠΎΠ»ΠΎΡΠ΅Π½.
2005 ΠΡΠΏΡΡΠΊ ΠΏΠΎΠ»ΠΈΡΡΠΈΡΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ»ΠΎΠΊΠ½Π°.
2006 Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎ Π²ΡΠΏΡΡΠΊΡ ΠΈΠ³Π»ΠΎΠΏΡΠΎΠ±ΠΈΠ²Π½ΡΡ ΠΏΠΎΠ»ΠΎΡΠ΅Π½.
2006;2008 ΠΠΎΡΡΠ°ΠΏΠ½ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΏΠΎ Π²ΡΠΏΡΡΠΊΡ ΠΏΠΎΠ»ΠΈΡΡΠΈΡΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ»ΠΎΠΊΠ½Π°.
2008 Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΎ Π²ΡΠΏΡΡΠΊΡ ΠΈΠ³Π»ΠΎΠΏΡΠΎΠ±ΠΈΠ²Π½ΡΡ ΠΈ ΠΈΠ³Π»ΠΎΠΏΡΠΎΠ±ΠΈΠ²Π½ΡΡ -ΡΠ΅ΡΠΌΠΎΡΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΠΎΡΠ΅Π½.
2009 ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ·Π½Π°Π½Π½ΡΠΌ Π»ΠΈΠ΄Π΅ΡΠΎΠΌ Π ΠΎΡΡΠΈΠΈ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Ρ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΎΠ»ΠΎΠΊΠΎΠ½.
2010 Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π²ΡΠΏΡΡΠΊΠ° ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΎΡΡΠΈΠΌΠ΅Π½ΡΠ° Π½Π΅ΡΠΊΠ°Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΡΡΠΈ.
2011 Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎ Π²ΡΠΏΡΡΠΊΡ ΠΈΠ³Π»ΠΎΠΏΡΠΎΠ±ΠΈΠ²Π½ΡΡ ΠΏΠΎΠ»ΠΎΡΠ΅Π½.
1.2 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ (ΡΠΏΠΈΡΠΊΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ², ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΡΡΡΠΈΡ , Π°ΡΡΠΎΡΡΠΈΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ, ΡΠΏΠΈΡΠΊΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ²) ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π²ΡΡΡΠ½ΡΡ — ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π·Π°ΡΡΠ°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ ΠΏΡΠΈ ΡΡΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΈ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π·Π°Π΄Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠΈΡΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π΄Π°Π½Π½ΡΡ .
2. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ
ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠΈΡΠΊΠ°
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ±ΠΎΡΠΎΠΌ:
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ±ΠΎΡΠΎΠΌ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΈΡΠΊΠ° Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΅Π³ΠΎ Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ (ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅). ΠΠ°ΡΠ΅ΠΌ ΡΠΊΠ°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ, Π½Π°ΡΠΈΠ½Π°Ρ ΡΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΡΠ΅Π΄ΠΈ ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ ΠΏ — 1 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎ Π²ΡΠΎΡΡΠΌ, Ρ. Π΅. Π²ΡΠΎΡΠΎΠΉ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅.
Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΡΠΈ i-ΠΎΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ (0 i ΠΏ — 2) Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈΡΠ΅Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΏ — i ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ Ρ Ai;
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏ — 1 ΠΏΡΠΎΡ ΠΎΠ΄ΠΎΠ² ΡΠΏΠΈΡΠΎΠΊ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½. ΠΠΎΡ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ SelectionSort (A[0.n — 1])
// Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π²ΡΠ±ΠΎΡΠ°
// ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ°ΡΡΠΈΠ² Π[0.n — 1] ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
// ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ°ΡΡΠΈΠ² A[0.n — 1], ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ
// Π² Π½Π΅ΡΠ±ΡΠ²Π°ΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅
for i = 0 to n — 2 do
min = i
for j = i + 1 to n — 1 do
if A[j] < A[min]
min = j
ΠΠ±ΠΌΠ΅Π½ A[i] ΠΈ A[min]
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° ΡΠΈΡ. 2.1 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ±ΠΎΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ°: 89, 45, 68, 90, 29, 34, 17.
Π ΠΈΡ. 2.1. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ±ΠΎΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ° 89, 45, 68, 90, 29, 34, 17
ΠΡΠ·ΡΡΡΠΊΠΎΠ²Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°:
Π‘ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠ·ΡΡΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΡΠΎΡΠ΅Π΄Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΈΡ ΠΎΠ±ΠΌΠ΅Π½Π΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π΅ Π² Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠ΅ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ «Π²ΡΠΏΠ»ΡΠ²Π°ΡΡ» ΠΊ ΠΊΠΎΠ½ΡΡ ΡΠΏΠΈΡΠΊΠ°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΎΡ ΠΎΠ΄ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π²ΡΠΏΠ»ΡΠ²Π°Π½ΠΈΡ Π²ΡΠΎΡΠΎΠ³ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΈ ΡΠ°ΠΊ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΏΠΎΡΠ»Π΅ ΠΏ — 1 ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ BubbleSort (A[0.n — 1])
// Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠ·ΡΡΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ
// ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ°ΡΡΠΈΠ² Π[0.n — 1] ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
// ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ°ΡΡΠΈΠ² A[0.n — 1], ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ
// Π² Π½Π΅ΡΠ±ΡΠ²Π°ΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅
for i = 0 to n — 2 do
for j = 0 + 1 to n — 2 — i do
if A[j + 1] < A[j]
ΠΠ±ΠΌΠ΅Π½ A[j] ΠΈ A[j + 1]
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΊ ΡΠΏΠΈΡΠΊΡ 89, 45, 68, 90, 29, 34, 17 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 2.2.
Π ΠΈΡ. 2.2. ΠΠ²Π° ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΡ ΠΎΠ΄Π° ΠΏΡΠ·ΡΡΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΏΠΈΡΠΊΠ° 89, 45, 68, 90, 29, 34, 17
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΡΠ°Π²ΠΊΠΎΠΉ:
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π[0.n-1]. Π‘Π»Π΅Π΄ΡΡ ΠΈΠ΄Π΅Π΅ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ Π·Π°Π΄Π°ΡΠ° ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π[0.n-2], ΡΠΆΠ΅ ΡΠ΅ΡΠ΅Π½Π° ΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ n-1: Π[0] … Π[n-2]. ΠΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°ΡΠΈ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΡΡΠΈΡΡΠ²Π°ΡΡΠ΅ΠΉ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π[n-1]? ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π²ΡΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, — ΡΡΠΎ Π½Π°ΠΉΡΠΈ Π½ΡΠΆΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΡΠ΅Π΄ΠΈ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΄Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π[n — 1].
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ±: ΡΠΊΠ°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π±ΠΎΠ»ΡΡΠΈΠΉ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΡΠΉ Π[n-1], ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΠ°Π²ΠΊΠ° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ.
Π₯ΠΎΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΡΠ°Π²ΠΊΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅, Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π΅Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ½ΠΈΠ·Ρ Π²Π²Π΅ΡΡ , Ρ. Π΅. ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ. ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π[i] (Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π[1] ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ Π[n-1]) Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ ΡΡΠ΅Π΄ΠΈ ΠΏΠ΅ΡΠ²ΡΡ i ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° (ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊ ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΠΆΠ΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ). ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠ±ΠΎΡΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π΅ Π² ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Insertions’ort (Π [0.n-1])
// Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΡΠ°Π²ΠΊΠΎΠΉ
// ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ°ΡΡΠΈΠ² Π[0.n -1] ΠΈΠ· ΠΏ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅ΠΌΡΡ
// ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
// ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ°ΡΡΠΈΠ² Π[0.n — 1], ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ
// Π² Π½Π΅ΡΠ±ΡΠ²Π°ΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅
for i = 1 to n — 1 do
v = A[i]
j = i — 1
while j 0 and A[j] > v do
A[j + 1] = A[j]
j = j — 1
A[j + 1] = v
Π Π°Π±ΠΎΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° ΡΠΈΡ. 2.3.
Π ΠΈΡ. 2.3. ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΡΠ°Π²ΠΊΠΎΠΉ Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎΠ΄ΡΡΠ΅ΡΠΎΠΌ:
ΠΠ΄Π΅Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΌΠ΅Π½ΡΡΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ, ΠΈ Π·Π°Π½Π΅ΡΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ°Π±Π»ΠΈΡΡ. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΠ»Π° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π²Π½ΠΎ 10, ΡΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½Π½Π°Π΄ΡΠ°ΡΡΠΌ (Π΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ 10, Π΅ΡΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ 0) Π² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ, ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΡΡΡ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² Π½ΠΎΠ²ΠΎΠΌ, ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅. Π’Π°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠΎΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ (comparison counting) (ΡΠΈΡ. 2.4).
Π ΠΈΡ. 2.4. ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠΎΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ComparisonCountingSort (Π [0.n — 1])
// Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎΠ΄ΡΡΠ΅ΡΠΎΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ
// ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ°ΡΡΠΈΠ² Π[0.n — 1] ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
// ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ°ΡΡΠΈΠ² S[0.n — 1] ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π,
// ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² Π½Π΅ΡΠ±ΡΠ²Π°ΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅
for i = 0 to n — 1 do
Count[i] = 0
for i = 0 to n — 2 do
for j = i + 1 to n — 1 do
if A[i] < A[j]
Count[j] = Count[j] + 1
Else
Count[i] = Count[i] + 1
for i = 0 to n — 1 do
S[Count[i]] = A[i]
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π¨Π΅Π»Π»Π°:
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π¨Π΅Π»Π»Π° — Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ. ΠΠ΄Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π¨Π΅Π»Π»Π° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΡΡΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΄ΠΎΠΌ, Π½ΠΎ ΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ — ΡΡΠΎ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ «Π³ΡΡΠ±ΡΠΌΠΈ» ΠΏΡΠΎΡ ΠΎΠ΄Π°ΠΌΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ·ΡΡΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ°ΡΡΡΡΠΊΠΎΠΉ.
ΠΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π¨Π΅Π»Π»Π° ΡΠ½Π°ΡΠ°Π»Π° ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ ΠΈ ΡΠΎΡΡΠΈΡΡΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΎΡΡΡΠΎΡΡΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ d. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅Π½ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ d, Π° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π¨Π΅Π»Π»Π° ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ d=1 (ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ). ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π¨Π΅Π»Π»Π° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ «Π±ΡΡΡΡΠ΅Π΅» Π²ΡΡΠ°ΡΡ Π½Π° ΡΠ²ΠΎΠΈ ΠΌΠ΅ΡΡΠ° (Π² ΠΏΡΠΎΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ·ΡΡΡΠΊΠΎΠ²ΠΎΠΉ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄Π²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½Π²Π΅ΡΡΠΈΠΉ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π½Π° 1, Π° ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π¨Π΅Π»Π»Π° ΡΡΠΎ ΡΠΈΡΠ»ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅).
Π Π°Π±ΠΎΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° ΡΠΈΡ. 2.5.
Π ΠΈΡ. 2.5. ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π¨Π΅Π»Π»Π° ΠΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ShellSort (Π [0.n — 1])
// Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎΠ΄ΡΡΠ΅ΡΠΎΠΌ Π¨Π΅Π»Π»Π°
// ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ°ΡΡΠΈΠ² Π[0.n — 1] ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
// ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ°ΡΡΠΈΠ² Π[0.n — 1] ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
// Π² Π½Π΅ΡΠ±ΡΠ²Π°ΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅
d = n
while d > 1
d = d / 2
i = 0
while (j = i + d) < n
if Π[i] > Π[j]
ΠΎΠ±ΠΌΠ΅Π½ Π[i] ΠΈ Π[j]
i++
ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠ·ΡΡΡΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠ±ΠΎΡΠΎΠΌ.
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ:
ΠΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Ρ ΠΊΠ»ΡΡΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ° Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ° (ΡΡΠΏΠ΅ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ) ΠΈΠ»ΠΈ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ (Π½Π΅ΡΠ΄Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ). ΠΠ°ΡΠ°ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠ΅ΠΌ: Π΅ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»ΡΡ ΠΏΠΎΠΈΡΠΊΠ° Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°, ΡΠΎ ΠΏΠΎΠΈΡΠΊ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ ΡΠ°ΠΊΠΎΠΉ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ; ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ SequentialSearch2 (Π[0.n], Π)
// ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ
// ΠΊΠ»ΡΡΠ° ΠΏΠΎΠΈΡΠΊΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»Ρ
// ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ°ΡΡΠΈΠ², Π ΠΈΠ· ΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΊΠ»ΡΡ ΠΏΠΎΠΈΡΠΊΠ° Π
// ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠΎΠ·ΠΈΡΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° A[0.n — 1],
// Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π; Π΅ΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½,
// Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -1
Π[ΠΏ] = Π
i = 0
while Π[i] K
i = i + 1
if i < ΠΏ
return i
else
return -1
ΠΡΠ»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ: ΠΏΠΎΠΈΡΠΊ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π½Π΅ ΠΌΠ΅Π½ΡΡΠΈΠΉ ΠΊΠ»ΡΡΠ° ΠΏΠΎΠΈΡΠΊΠ°.
ΠΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ:
ΠΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π² Π²ΡΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΡΠ΅ΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π ΡΠΎ ΡΡΠ΅Π΄Π½ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° Π[m]. ΠΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠ°Π²Π½Ρ, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ° ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Π΅ΡΠ»ΠΈ Π < Π[m], ΠΈ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠΉ, Π΅ΡΠ»ΠΈ Π > Π [m].
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π°ΠΉΠ΄Π΅ΠΌ ΠΊΠ»ΡΡ Π = 70, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ. ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2.6
Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΈΡΠΊ Π ΠΈΡ. 2.6. ΠΡΠΈΠΌΠ΅Ρ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π₯ΠΎΡΡ ΡΡΠ½ΠΎ, ΡΡΠΎ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΠ΅ΠΊΡΡΡΠΈΠΈ, Π΅Π³ΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π½Π΅ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ. ΠΠΎΡ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ Π½Π΅ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΠΠΠΠ ΠΠ’Π Binary Search (Π[0.ΠΏ — 1], Π)
// Π Π΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π½Π΅ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ
// ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ°ΡΡΠΈΠ² Π[0.ΠΏ — 1], ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ
// Π² Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΈ ΠΈΡΠΊΠΎΠΌΡΠΉ ΠΊΠ»ΡΡ Π
// ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΠ½Π΄Π΅ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠ°Π²Π½ΠΎΠ³ΠΎ Π,
// ΠΈΠ»ΠΈ -1, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π΅Ρ
l = 0;
r = n — 1
while l r do
Ρ = ;
if Π = Π[Ρ]
return m
else if Π < Π[Ρ]
r = m — 1
else
r = m + 1
return -1
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΡΡΠΎΡΡ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠΎΠΉΠ½ΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, Ρ. Π΅. ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π ΠΈ Π[m] ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΌΠ΅Π½ΡΡΠ΅ Π»ΠΈ Π, Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π[m].
Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈΠ· n ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²? ΠΡΠ²Π΅Ρ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π·Π°Π²ΠΈΡΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ n, Π½ΠΎ ΠΈ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π·Π°Π΄Π°ΡΠΈ. ΠΠ°ΠΉΠ΄Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π² Π½Π°ΠΈΡ ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅. Π Π½Π°ΠΈΡ ΡΠ΄ΡΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ Π²Ρ ΠΎΠ΄ΡΡ Π²ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° (ΠΊΡΠΎΠΌΠ΅ Π½ΠΈΡ Π² ΡΡΠΎΡ ΡΠ°Π·ΡΡΠ΄ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΏΠΎΠΈΡΠΊ Π² ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ).
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 10 ΡΡΠΎΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ (ΠΈΠ»ΠΈ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ) Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈΠ· 1000 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΈ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 20 ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π² ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ:
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ: Π΄Π°Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΏ, Π½Π°Π·ΡΠ²Π°ΡΡΠ°ΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΠΈ ΡΡΡΠΎΠΊΠ° Π΄Π»ΠΈΠ½ΠΎΠΉ Ρ (Ρ ΠΏ). ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ (pattern); ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°ΠΉΡΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΠΎΠ²ΠΎΡΡ ΡΠΎΡΠ½Π΅Π΅, Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ i — ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΡΠ°ΠΉΠ½Π΅Π³ΠΎ ΡΠ»Π΅Π²Π° ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅.
ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Π³ΡΡΠ±ΠΎΠΉ ΡΠΈΠ»Π΅, ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½: ΡΠ°Π±Π»ΠΎΠ½ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ Ρ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΠ΅ΠΊΡΡΠ° ΠΈ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ Π»ΠΈΠ±ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π²ΠΎ Π²ΡΠ΅Ρ Ρ ΠΏΠ°ΡΠ°Ρ Π±ΡΠ΄ΡΡ ΡΠ°Π²Π½Ρ (Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ), Π»ΠΈΠ±ΠΎ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠ°ΡΠ° ΡΠ°Π·Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π±Π»ΠΎΠ½ ΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π²ΠΏΡΠ°Π²ΠΎ, ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΠ°Π±Π»ΠΎΠ½Π° ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΡΠΎΠ»ΠΈ Π½Π°ΡΠ°Π»Π° ΠΈΡΠΊΠΎΠΌΠΎΠΉ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ — ΠΏ — Ρ (Π΅ΡΠ»ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΡ 0 Π΄ΠΎ ΠΏ — 1). ΠΠΎΡΠ»Π΅ ΡΡΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ BruteForceStriny Match (Π’[0.ΠΏ — 1], Π [0.Ρ — 1])
// ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π³ΡΡΠ±ΠΎΠΉ ΡΠΈΠ»Ρ
// ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΌΠ°ΡΡΠΈΠ² Π’[0.ΠΏ — 1] ΠΈΠ· ΠΏ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ
// ΡΠ΅ΠΊΡΡ; ΠΌΠ°ΡΡΠΈΠ² P[0.m — 1] ΠΈΠ· Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½
// ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΡΠ΅ΠΊΡΡΠ΅, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ
// Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²Π°Ρ ΠΈΡΠΊΠΎΠΌΠ°Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΡΠ°Π±Π»ΠΎΠ½Ρ;
// Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ — 1
for i = 0 to ΠΏ — Ρ do
j = 0
while j < Ρ and P[j] = Π’[i + j] do
j = j + 1
if j = m
return i
return — 1
Π Π°Π±ΠΎΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° ΡΠΈΡ. 2.7.
Π ΠΈΡ. 2.7. ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π³ΡΡΠ±ΠΎΠΉ ΡΠΈΠ»Ρ ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΆΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π°ΠΈΡ ΡΠ΄ΡΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΏΡΠΈΡΡΠ½Π΅Π΅: Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ΅ m ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΄Π²ΠΈΠ³ΠΎΠΌ ΡΠ°Π±Π»ΠΎΠ½Π°, ΠΈ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΏ — m + 1 ΠΏΠΎΠΏΡΡΠΎΠΊ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»ΠΎΠ²Π° Π² ΡΠ΅ΠΊΡΡΠ΅ Π½Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΄Π²ΠΈΠ³ΠΎΠ² Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ (Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π² Ρ ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅.
3. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
3.1 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° Borland Delphi 7.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΌΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ ΡΠΎΡΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° ΡΡΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ (Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ , Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΈ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²). ΠΠ»Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ TGroupBox.
ΠΠ»Ρ Π²Π²ΠΎΠ΄Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π’Memo ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TLabeledEdit.
ΠΠ»Ρ Π²ΡΠ±ΠΎΡΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ TButton ΠΈ TCheckBox.
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΠΎΡΠΌΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 3.1. (ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2).
ΠΠ»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ String — ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΠΈ ΠΏΠΎΠΈΡΠΊ ΡΡΡΠΎΠΊ.
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π²ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΡΠΎΠΌΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΡΠΈΠ½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅», ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΠΎΠΈΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Enabled Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΠ°Π»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π²Π΅ΡΡΠΈ Π² Π»Π΅Π²ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΡΠΈΠ½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅».
Π ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π½Π° ΡΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΠΎΠ»Π΅ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±ΡΠ»ΠΎ Π½Π΅ ΠΏΡΡΡΡΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ:
if Memo1. Text <> '' then
begin
…
end
else
MessageDlg ('ΠΠ΅ Π²Π²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ!', mtWarning, [mbOK], 0);
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΏΠΎΠ»Π΅ Π½Π΅ΠΏΡΡΡΠΎΠ΅, ΡΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°:
for i := 1 to Memo1.Lines.Count do
mas[i] := Memo1. Lines[i-1];
kol := Memo1.Lines.Count;
Button2.Enabled := true;
Button3.Enabled := true;
Button4.Enabled := true;
Button5.Enabled := true;
Button6.Enabled := true;
Button7.Enabled := true;
Button8.Enabled := true;
Button9.Enabled := true;
LE_Shablon.Enabled := true;
CheckBox1.Enabled := true;
ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π²ΡΠ΅Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. Π’ΠΈΠΏΠΈΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½ΠΈΠΆΠ΅:
QueryPerformanceFrequency (iCounterPerSec);
QueryPerformanceCounter (T1);
// ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
QueryPerformanceCounter (T2);
if CheckBox1. Checked = true then
MessageDlg ('ΠΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ' + FormatFloat ('0.0', (T2 — T1) / iCounterPerSec) + ' ΡΠ΅ΠΊ.', mtInformation, [mbOK], 0);
Memo2.Lines.Clear;
for i := 1 to kol do
Memo2.Lines.Add (mas[i]);
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π²ΡΠ΅ΠΌΡ, Π·Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ QueryPerformanceFrequency ΠΈ QueryPerformanceCounter ΠΈ ΡΡΠ½ΠΊΡΠΈΡ MessageDlg, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½ (Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΠ» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π³Π°Π»ΠΎΡΠΊΡ).
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΊΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ (ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ):
for i:=1 to kol do
begin
temp := mas[i];
j := i-1;
while (j >= 0) and (mas[j] > temp) do
begin
mas[j+1] := mas[j];
j := j-1
end;
mas[j+1] := temp;
end;
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΎΡΠ»ΠΈΡΠ½Π° Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
ΠΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΡΠΌΡ, ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΈ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠ»ΡΡΠ° ΠΏΠΎΠΈΡΠΊΠ°:
if Memo1. Text <> '' then
…
else
MessageDlg ('ΠΠ΅ Π²Π²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ!', mtWarning, [mbOK], 0);
if LE_Shablon.Text = '' then
MessageDlg ('ΠΠ΅ Π·Π°Π΄Π°Π½ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ°', mtWarning, [mbOK], 0)
ΠΠ°ΡΠ΅ΠΌ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠΈΡΠΊ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
str := LE_Shablon.Text;
for i := 1 to kol do
if temp[i] = str then
break;
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i ΠΈ ΡΠΈΡΠ»Π° ΡΡΡΠΎΠΊ Π² ΡΠΏΠΈΡΠΊΠ΅. ΠΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π΅Π½, ΡΠΎ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΡΠΌΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°:
if i <= kol then
begin
Memo1.SelStart := Memo1. Perform (EM_LINEINDEX, i-1, 0);
Memo1.SelLength := Length (Memo1.Lines[i-1]);
Memo1.SetFocus;
end
else
MessageDlg ('Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!', mtWarning,[mbOK], 0);
ΠΡΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ΅ Π²Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ ΡΠΏΠΈΡΠΊΠ° Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½, ΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠΌ ΠΊΠΎΠ΄Π°:
flag := true;
for i := 1 to kol-1 do
begin
if mas[i] > mas[i+1] then
begin
flag := false;
break;
end;
end;
if flag then
…
else
MessageDlg ('ΠΠ°Π½Π½ΡΠ΅ Π½Π΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ! ΠΠΎΠΈΡΠΊ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½!', mtWarning, [mbOK], 0);
ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½, ΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠΈΡΠΊ:
str := LE_Shablon.Text;
low := 1;
high := kol;
found := false;
while (low <= high) and (not found) do
begin
mid := (low+high) div 2;
if str < mas[mid] then
high := mid-1
else if str > mas[mid] then
low := mid+1
else
found:=true;
end;
ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ «ΡΠ΄Π°ΡΠ½ΠΎΡΡΠΈ» ΠΏΠΎΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΡΠ»Π΅Π²Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ found. ΠΡΠ»ΠΈ ΠΎΠ½Π° ΡΠ°Π²Π½Π° true — Π·Π½Π°ΡΠΈΡ ΠΏΠΎΠΈΡΠΊ ΡΠ΄Π°ΡΠ΅Π½. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΡΠΌΡ, ΠΈΠ½Π°ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅:
if found then
begin
Memo2.SelStart := Memo2. Perform (EM_LINEINDEX, mid-1, 0);
Memo2.SelLength := Length (Memo2.Lines[mid-1]);
Memo2.SetFocus;
end
else
MessageDlg ('Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!', mtWarning,[mbOK], 0);
ΠΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΠ»ΡΡΠ° ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΌ ΠΏΠΎΠΈΡΠΊ:
str := LE_Shablon.Text;
m := Length (str);
for k := 1 to kol do
begin
n := Length (temp[k]);
for i := 1 to n-m+1 do
begin
j := 0;
while (j < m) and (str[j+1] = temp[k, i+j]) do
inc (j);
if j = m then
begin
flag := true;
break;
end;
end;
if flag then
break;
ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ «ΡΠ΄Π°ΡΠ½ΠΎΡΡΠΈ» ΠΏΠΎΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΡΠ»Π΅Π²Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ flag. ΠΡΠ»ΠΈ ΠΎΠ½Π° ΡΠ°Π²Π½Π° true — Π·Π½Π°ΡΠΈΡ ΠΏΠΎΠΈΡΠΊ ΡΠ΄Π°ΡΠ΅Π½. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΡΠΌΡ, ΠΈΠ½Π°ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅:
if flag then
begin
Memo1.SelStart := Memo1. Perform (EM_LINEINDEX, k-1,0)+i-1;
Memo1.SelLength := m;
Memo1.SetFocus;
end
else
MessageDlg ('Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!', mtWarning,[mbOK], 0);
3.2 Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²Π½Π°Ρ ΡΠΎΡΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° ΡΠΈΡ. 3.2. (ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 3).
ΠΠ°Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ ΡΠ°ΡΡΠ΅ΠΉ:
— ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠΈΡΠΊΠ° (ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° ΡΠ»Π΅Π²Π°),
— ΠΎΠ±Π»Π°ΡΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π²ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ (ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅),
— ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠΈΡΠΊΠ° (ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° ΡΠΏΡΠ°Π²Π°).
ΠΠ±Π»Π°ΡΡΡ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²:
— ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΡΠΈΠ½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅»,
— ΠΏΠ°Π½Π΅Π»ΠΈ «Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½ΡΡ »,
— ΠΏΠ°Π½Π΅Π»ΠΈ «ΠΠΎΠΈΡΠΊ Π΄Π°Π½Π½ΡΡ ».
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ Π² Π»Π΅Π²ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π²Π²Π΅ΡΡΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ.
ΠΠ°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π²ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ Π² ΠΏΠΎΠ»Π΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° — «ΠΡΠΈΠ½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅». ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ «ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ» ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ.
ΠΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΡΠΈΠ½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅». ΠΡΠ»ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Π±ΡΠ» Π²Π²Π΅ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π² Π»Π΅Π²ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π½Π° ΡΠΈΡ 3.3.
Π ΠΈΡ. 3.3. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ, ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ «ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ». ΠΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 3.4.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ:
§ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π²ΡΠ±ΠΎΡΠΎΠΌ;
§ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΠΏΡΠ·ΡΡΡΠΊΠΎΠΌ;
§ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ;
§ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠΎΠΌ;
§ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π¨Π΅Π»Π»Π°.
Π ΠΈΡ. 3.4. ΠΠ»Π°Π²Π½Π°Ρ ΡΠΎΡΠΌΠ° ΠΏΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ ΠΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π΄Π°Π½Π½ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°Π½ΡΠ»Π° ΡΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ «ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ», ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ «Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½ΡΡ ». ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠ½ Π²ΡΠΊΠ»ΡΡΠ΅Π½. ΠΡΠΈ Π΅Π³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ»ΠΎ Π½Π° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 3.5.
Π ΠΈΡ. 3.5. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠ°Π²ΡΡ ΡΠ°ΡΡΡ ΡΠΎΡΠΌΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 3.6.
Π ΠΈΡ. 3.6. ΠΠ»Π°Π²Π½Π°Ρ ΡΠΎΡΠΌΠ° Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π½ΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ Π½ΠΈΡ .
ΠΡΠ»ΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΠΌΡ Π½Π°Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΎΡΡΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ Π΄Π°Π½Π½ΡΡ , Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΡΠΈΠ½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅».
ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ± Π²ΡΠΎΡΠΎΠΉ, ΡΡΠ΅ΡΠΈΠΉ ΠΈ Ρ. Π΄. ΡΠ°Π·Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π°ΡΠΈΠ½Π°Π» ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π²ΠΈΠ΄, ΠΊΠ°ΠΊ ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΡΠΌΡ. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ, ΡΠΎ ΠΏΡΠΈ Π²ΡΠΎΡΠΎΠΌ, ΡΡΠ΅ΡΡΠ΅ΠΌ ΠΈ Ρ. Π΄. Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π±ΡΠ»ΠΈ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ, ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² Π½Π΅ΡΠ°Π²Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ — ΠΏΠ΅ΡΠ²ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ Π½Π΅ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ, Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ — Ρ ΡΠΆΠ΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠΈΡΠΊ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ°:
Β· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ;
Β· Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ;
Β· ΠΏΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π³ΡΡΠ±ΠΎΠΉ ΡΠΈΠ»Ρ.
Π‘ΠΏΠΎΡΠΎΠ± ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΏΠΎΠΈΡΠΊΠ° (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ) ΡΠ°Π·Π»ΠΈΡΠ΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
1. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ.
ΠΠ»Ρ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ Π² ΠΏΠΎΠ»Π΅ «Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ°» ΠΈΡΠΊΠΎΠΌΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ».
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Π±ΡΠ» Π²Π²Π΅ΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ°, ΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ (ΡΠΈΡ. 3.7.)
ΠΡΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ° Π±ΡΠ» Π²Π²Π΅Π΄Π΅Π½, ΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ ΠΏΠΎΠΈΡΠΊ. ΠΡΠΈ ΡΡΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°:
Β· ΠΏΠΎΠΈΡΠΊ Π½Π΅ΡΠ΄Π°ΡΠ΅Π½ (ΡΠ°Π±Π»ΠΎΠ½ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½);
Β· ΠΏΠΎΠΈΡΠΊ ΡΠ΄Π°ΡΠ΅Π½ (ΡΠ°Π±Π»ΠΎΠ½ Π½Π°ΠΉΠ΄Π΅Π½).
Π ΠΈΡ. 3.7. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΠΎΠΈΡΠΊΠ° Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 3.8.
Π ΠΈΡ. 3.8. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΊΠΎΠΌΠ°Ρ ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΡΠΌΡ. ΠΡΠΈΠΌΠ΅Ρ ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 3.9.
2. ΠΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ.
ΠΠ»Ρ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ Π² ΠΏΠΎΠ»Π΅ «Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ°» ΠΈΡΠΊΠΎΠΌΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ».
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Π±ΡΠ» Π²Π²Π΅ΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ°, ΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ (ΡΠΈΡ. 3.7.)
ΠΡΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ° Π±ΡΠ» Π²Π²Π΅Π΄Π΅Π½, ΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ ΠΏΠΎΠΈΡΠΊ.
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ (Π² ΡΠΈΠ»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°) ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½ Π»ΠΈ ΡΠΏΠΈΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΈΡΠΊΠ°.
ΠΡΠ»ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½, ΡΠΎ ΠΎΠ± ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 3.10
Π ΠΈΡ. 3.9. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π ΠΈΡ. 3.10. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π² Π½Π΅ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°:
§ ΠΏΠΎΠΈΡΠΊ Π½Π΅ΡΠ΄Π°ΡΠ΅Π½ (ΡΠ°Π±Π»ΠΎΠ½ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½);
§ ΠΏΠΎΠΈΡΠΊ ΡΠ΄Π°ΡΠ΅Π½ (ΡΠ°Π±Π»ΠΎΠ½ Π½Π°ΠΉΠ΄Π΅Π½).
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 3.8.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΊΠΎΠΌΠ°Ρ ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΡΠΌΡ. ΠΡΠΈΠΌΠ΅Ρ ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 3.11.
Π ΠΈΡ. 3.11. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°
3. ΠΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ.
ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠΈΡΠΊΠ° ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π΄Π°Π½Π½ΠΎΠΌ ΡΠΏΠΎΡΠΎΠ±Π΅ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΠΈΡΠΊΠ° (ΠΏΡΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΊΠ»ΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ°). Π’ΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ ΠΏΠΎΠΈΡΠΊ Π²Π΅Π΄Π΅ΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΡΡΠΎΠΊ, ΡΠΎ ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΊΠ»ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΡΠΎΠΊΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, Π° ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ (ΡΠ»ΠΎΠ²ΠΎ, ΠΏΠΎΠ»ΡΠ»ΠΎΠ²Π° ΠΈ Ρ. Π΄.).
ΠΠ»Ρ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ Π² ΠΏΠΎΠ»Π΅ «Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ°» ΠΈΡΠΊΠΎΠΌΡΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ».
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Π±ΡΠ» Π²Π²Π΅ΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ°, ΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ (ΡΠΈΡ. 3.7.)
ΠΡΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ° Π±ΡΠ» Π²Π²Π΅Π΄Π΅Π½, ΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ ΠΏΠΎΠΈΡΠΊ.
Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ ΠΏΠΎΠΈΡΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°:
— ΠΏΠΎΠΈΡΠΊ Π½Π΅ΡΠ΄Π°ΡΠ΅Π½ (ΡΠ°Π±Π»ΠΎΠ½ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½),
— ΠΏΠΎΠΈΡΠΊ ΡΠ΄Π°ΡΠ΅Π½ (ΡΠ°Π±Π»ΠΎΠ½ Π½Π°ΠΉΠ΄Π΅Π½).
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 3.8.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΊΠΎΠΌΠ°Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΡΠΌΡ. ΠΡΠΈΠΌΠ΅Ρ ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 3.11.
Π ΠΈΡ. 3.11. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΈ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ Π±ΡΠ»ΠΎ Π²ΡΠ±ΡΠ°Π½ΠΎ ΠΎΡΠΊΡΡΡΠΎΠ΅ Π°ΠΊΡΠΈΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ «ΠΠΎΠΌΠΈΡΠ΅ΠΊΡ».
ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ:
1. ΠΡΡΠΎΡΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ°ΠΏΡ Π΅Π³ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ.
2. Π£ΠΊΡΡΠΏΠ½Π΅Π½Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ (ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΡΡΡΠ²Π°).
3. Π§Π»Π΅Π½ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΡΡ .
4. ΠΡΠ°ΡΠΊΠΎΠΉ ΠΎΠ±Π·ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π±ΡΠ»Π° Π²ΡΡΠ²Π»Π΅Π½Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠΈΡΠΊΠ°.
ΠΠΎ Π²ΡΠΎΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π±ΡΠ»ΠΈ ΠΈΠ·ΡΡΠ΅Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ°ΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠΈΡΠΊΠ°.
Π‘ΡΠ΅Π΄ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π±ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ:
Β· ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ±ΠΎΡΠΎΠΌ;
Β· ΠΏΡΠ·ΡΡΡΠΊΠΎΠ²Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°;
Β· ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΡΠ°Π²ΠΊΠΎΠΉ;
Β· ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎΠ΄ΡΡΠ΅ΡΠΎΠΌ;
Β· ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π¨Π΅Π»Π»Π°.
Π‘ΡΠ΅Π΄ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° Π±ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ:
§ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ;
§ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ;
§ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π³ΡΡΠ±ΠΎΠΉ ΡΠΈΠ»Ρ.
ΠΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π±ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ:
Ρ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΈΠ΄Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ;
Ρ ΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°;
Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°;
Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠΎΡΠ»Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π±ΡΠ» Π±ΡΠ»Π° Π²ΡΠ±ΡΠ°Π½Π° IDE (ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ) Borland Delphi 7.
Π ΡΡΠ΅ΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°.
ΠΠΎΠΊΠ°Π·Π°Π½Π° ΡΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°. ΠΠ°Π»Π΅Π΅ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π±ΡΠ»ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°:
— ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ;
— ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²;
— ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ;
— ΠΊΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ (ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ);
— ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°;
— ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π»Ρ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°;
— ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊ.
ΠΠ°ΡΠ΅ΠΌ Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠΊΠ°Π·Π°Π½ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π½Π΅ΠΉ.
ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠ΅ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π·Π°Π΄Π°ΡΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΡΡΠΈΠ½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΡΠ΄Π°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ²Π΅Π΄Π΅Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ.
1. ΠΠ΅Π²ΠΈΡΠΈΠ½ ΠΠ½Π°Π½ΠΈΠΉ. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·. :ΠΠ΅Ρ. Ρ Π°Π½Π³Π». — Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π΄ΠΎΠΌ «ΠΠΈΠ»ΡΡΠΌΡ», 2006. — 576Ρ.: ΠΈΠ».
2. ΠΡΠ΄ΠΌΠ°Π½ Π‘., Π₯ΠΈΠ΄Π΅ΡΠ½ΠΈΠ΅ΠΌΠΈ Π‘.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². — Π.: ΠΠΈΡ, 1981.
3. ΠΡ ΠΎ Π., Π₯Π»ΠΎΠΏΠΊΡΠΎΡΡ ΠΠΆ., Π£Π»ΡΠΌΠ°Π½ ΠΠΆ. ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². — Π.: ΠΠΈΡ. 1974.
4. ΠΡ ΠΎ A.B., Π₯ΠΎΠΏΠΊΡΠΎΡΡ Π. Π., Π£Π»ΡΠΌΠ°Π½ Π. Π. Π‘ΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ. -Π.: ΠΠΈΠ»ΡΡΠΌΠ΅, 2000. 384Ρ.
5. Π¦Π΅ΠΉΡΠ»ΠΈΠ½ Π. Π.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΠΊΡ. ΠΠΈΠ΅Π²: Π‘ΡΠ΅ΡΠ°, 1998. 473Ρ.
6. ΠΠ½ΡΡ Π. ΠΡΠΊΡΡΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΠΠ. Π’. 1. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ. — Π.: ΠΠΈΡ, 1976.
7. ΠΠ½ΡΡ Π. ΠΡΠΊΡΡΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΠΠ. Π’. 3. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΠΏΠΎΠΈΡΠΊ. — Π.: ΠΠΈΡ, 1978.
8. ΠΠΈΡΡ Π. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ . Π.: ΠΠΈΡ, 1989. — 360Ρ.
9. ΠΠΎΡΠΈΠ½ Π. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. Π.: ΠΠ°ΡΠΊΠ°, 1983. — 384Ρ.
10. Π¦Π΅ΠΉΡΠ»ΠΈΠ½ Π. Π. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΈΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ. // ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠΈ 1995, № 3. Π‘. 95−103.
11. ΠΠ°ΠΊΠΊΠΎΠ½Π½Π΅Π»Π» ΠΠΆ. ΠΠ½Π°Π»ΠΈΠ· Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². ΠΠ²ΠΎΠ΄Π½ΡΠΉ ΠΊΡΡΡ. Π.: Π’Π΅Ρ Π½ΠΎΡΡΠ΅ΡΠ°, 2002.-304Ρ.
12. ΠΡΡ Π°Π½Π³Π΅Π»ΡΡΠΊΠΈΠΉ Π. Π―. Object Pascal Π² Delphi. — Π: ΠΠΠ? ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΠΠΠΠ, 2002.
13. ΠΠ°Π²Π»ΠΎΠ²ΡΠΊΠ°Ρ Π’. Π. ΠΠ°ΡΠΊΠ°Π»Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ: Π£ΡΠ΅Π±Π½ΠΈΠΊ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ². — Π‘ΠΠ±.: ΠΠΈΡΠ΅Ρ, 2007. — 393Ρ.
14. Π. Π. Π‘ΡΡ Π°ΡΠ΅Π² ΠΡΠ½ΠΎΠ²Ρ Delphi. ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. — Π‘ΠΠ±.: ΠΠ°ΡΠΊΠ° ΠΈ Π’Π΅Ρ Π½ΠΈΠΊΠ°, 2004. 600c.
15. Π. Π. ΠΡΠ»ΡΡΠΈΠ½ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Turbo Pascal 7.0 ΠΈ Delphi — Π‘ΠΠ±.: BHV — Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ 1998 — 240Ρ.
16. ΠΡΡΠ·Π»ΠΎΠ² Π. Π., ΠΡΡΠ·Π»ΠΎΠ²Π° Π’. Π. Π’ΡΡΠ±ΠΎ ΠΠ°ΡΠΊΠ°Π»Ρ 7.0 — Π.: ΠΠΠ, 1998 — 400Ρ.
17. Π. ΠΠΆΠΎΠ½Ρ, Π. ΠΠ°ΡΡΠΎΡ Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ TurboPascal. — Π., Π€ΠΈΠ½Π°Π½ΡΡ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° 1991 — 714Ρ.
18. Delphi 5. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. — Π.: «ΠΠΎΠ»ΠΈΠ΄ΠΆ», 2001. — 880Ρ
19. ΠΡΡ Π°Π½Π³Π΅Π»ΡΡΠΊΠΈΠΉ Π. Π―. Delphi 7. Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅, — Π: ΠΠΠ? ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΠΠΠΠ, 2003.
20. ΠΡΠ»ΡΡΠΈΠ½ Π. Π. Delphi 6 ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Object Pascal — Π‘ΠΠ±: ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ 2001 — 528Ρ: ΠΈΠ».
21. ΠΡΡ Π°Π½Π³Π΅Π»ΡΡΠΊΠΈΠΉ Π. Π―. ΠΡΠΈΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Delph. ΠΠ΅ΡΡΠΈΠΈ 5−7. — Π: ΠΠΠ? ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΠΠΠΠ?, 2003.
22. Π€Π»Π΅Π½ΠΎΠ² Π. Π. ΠΠΈΠ±Π»ΠΈΡ Delphi. — Π‘ΠΠ±.: ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2004. — 880Ρ.:
23. ΠΡΠΈΠ½Π·ΠΎΡ ΠΡ. Π€ΠΈΠ»ΠΎΡΠΎΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Windows 95/NT. ΠΏΠ΅Ρ. Ρ Π°Π½Π³Π». — Π‘ΠΠ±.: Π‘ΠΈΠΌΠ²ΠΎΠ»-ΠΏΠ»ΡΡ, 1997. — 640Ρ.
24 Π’Π΅ΠΉΠΊΡΠ΅ΠΉΡΠ° C, ΠΠ°ΡΠ΅ΠΊΠΎ Π Borland Delphi 6. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.: ΠΠ΅Ρ. Ρ Π°Π½Π³Π». — Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π΄ΠΎΠΌ «ΠΠΈΠ»ΡΡΠΌΡ», 2002. — 1120Ρ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1
Π’Π΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
unit UnitMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DateUtils, ExtCtrls;
type
TMainForm = class (TForm)
GroupBox3: TGroupBox;
Memo1: TMemo;
GroupBox4: TGroupBox;
Button1: TButton;
GroupBox1: TGroupBox;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
GroupBox2: TGroupBox;
Button7: TButton;
Button9: TButton;
Button8: TButton;
LE_Shablon: TLabeledEdit;
GroupBox5: TGroupBox;
Memo2: TMemo;
CheckBox1: TCheckBox;
procedure Button1Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure Button3Click (Sender: TObject);
procedure Button4Click (Sender: TObject);
procedure Button5Click (Sender: TObject);
procedure Button6Click (Sender: TObject);
procedure Button7Click (Sender: TObject);
procedure Button9Click (Sender: TObject);
procedure Button8Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
mas: array [0.1000] of String;
kol: integer;
iCounterPerSec: TLargeInteger;
T1, T2: TLargeInteger;
implementation
{$R *.dfm}
procedure TMainForm. Button1Click (Sender: TObject);
var
ttt, i: integer;
begin
if Memo1. Text <> '' then
begin
for i := 1 to Memo1.Lines.Count do
mas[i] := Memo1. Lines[i-1];
kol := Memo1.Lines.Count;
Button2.Enabled := true;
Button3.Enabled := true;
Button4.Enabled := true;
Button5.Enabled := true;
Button6.Enabled := true;
Button7.Enabled := true;
Button8.Enabled := true;
Button9.Enabled := true;
LE_Shablon.Enabled := true;
CheckBox1.Enabled := true;
end
else
MessageDlg ('ΠΠ΅ Π²Π²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ!', mtWarning, [mbOK], 0);
end;
procedure TMainForm. Button2Click (Sender: TObject);
var
i, j, min: integer;
temp: String;
begin
QueryPerformanceFrequency (iCounterPerSec);
QueryPerformanceCounter (T1);
for i := 1 to kol-1 do
begin
min := i;
for j := i+1 to kol do
if mas[j] < mas[min] then
min := j;
temp := mas[min];
mas[min] := mas[i];
mas[i] := temp;
end;
QueryPerformanceCounter (T2);
if CheckBox1. Checked = true then
MessageDlg ('ΠΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ' + FormatFloat ('0.0', (T2 — T1) / iCounterPerSec) + ' ΡΠ΅ΠΊ.', mtInformation, [mbOK], 0);
Memo2.Lines.Clear;
for i := 1 to kol do
Memo2.Lines.Add (mas[i]);
end;
procedure TMainForm. Button3Click (Sender: TObject);
var
i, j, min: integer;
temp: String;
begin
QueryPerformanceFrequency (iCounterPerSec);
QueryPerformanceCounter (T1);
for i := 1 to kol-1 do
for j := 1 to kol-i do
if mas[j+1] < mas[j] then
begin
temp := mas[j];
mas[j] := mas[j+1];
mas[j+1] := temp;
end;
QueryPerformanceCounter (T2);
if CheckBox1. Checked = true then
MessageDlg ('ΠΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ' + FormatFloat ('0.0', (T2 — T1) / iCounterPerSec) + ' ΡΠ΅ΠΊ.', mtInformation, [mbOK], 0);
Memo2.Lines.Clear;
for i := 1 to kol do
Memo2.Lines.Add (mas[i]);
end;
procedure TMainForm. Button4Click (Sender: TObject);
var
i, j, min: integer;
temp: String;
begin
QueryPerformanceFrequency (iCounterPerSec);
QueryPerformanceCounter (T1);
for i:=1 to kol do
begin
temp := mas[i];
j := i-1;
while (j >= 0) and (mas[j] > temp) do
begin
mas[j+1] := mas[j];
j := j-1
end;
mas[j+1] := temp;
end;
QueryPerformanceCounter (T2);
if CheckBox1. Checked = true then
MessageDlg ('ΠΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ' + FormatFloat ('0.0', (T2 — T1) / iCounterPerSec) + ' ΡΠ΅ΠΊ.', mtInformation, [mbOK], 0);
Memo2.Lines.Clear;
for i := 1 to kol do
Memo2.Lines.Add (mas[i]);
end;
procedure TMainForm. Button5Click (Sender: TObject);
var
i, j, min: integer;
temp: array [0.10 000] of String;
count: array [0.10 000] of integer;
begin
QueryPerformanceFrequency (iCounterPerSec);
QueryPerformanceCounter (T1);
for i := 1 to kol do
count[i] := 0;
for i := 1 to kol-1 do
begin
for j := i+1 to kol do
if mas[i] < mas[j] then
inc (count[j])
else
inc (count[i]);
end;
for i := 1 to kol do
temp[count[i]] := mas[i];
QueryPerformanceCounter (T2);
if CheckBox1. Checked = true then
MessageDlg ('ΠΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ' + FormatFloat ('0.0', (T2 — T1) / iCounterPerSec) + ' ΡΠ΅ΠΊ.', mtInformation, [mbOK], 0);
Memo2.Lines.Clear;
for i := 1 to kol do
begin
mas[i] := temp[i-1];
Memo2.Lines.Add (mas[i]);
end;
end;
procedure TMainForm. Button6Click (Sender: TObject);
var
d, i, j: integer;
h: word;
temp: String;
begin
QueryPerformanceFrequency (iCounterPerSec);
QueryPerformanceCounter (T1);
d := kol div 2;
while d > 0 do
begin
for i := 0 to kol-d do
begin
j := i;
while (j >= 0) and (mas[j] > mas[j+d]) do
begin
temp := mas[j];
mas[j]:= mas[j+d];
mas[j+d] := temp;
j:=j-d;
end;
end;
d := d div 2;
end;
QueryPerformanceCounter (T2);
if CheckBox1. Checked = true then
MessageDlg ('ΠΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ' + FormatFloat ('0.0', (T2 — T1) / iCounterPerSec) + ' ΡΠ΅ΠΊ.', mtInformation, [mbOK], 0);
Memo2.Lines.Clear;
for i := 1 to kol do
Memo2.Lines.Add (mas[i]);
end;
procedure TMainForm. Button7Click (Sender: TObject);
var
str: String;
i, line: integer;
temp: array [0.10 000] of String;
begin
if Memo1. Text <> '' then
begin
for i := 1 to Memo1.Lines.Count do
temp[i] := Memo1. Lines[i-1];
kol := Memo1.Lines.Count;
end
else
MessageDlg ('ΠΠ΅ Π²Π²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ!', mtWarning, [mbOK], 0);
if LE_Shablon.Text = '' then
MessageDlg ('ΠΠ΅ Π·Π°Π΄Π°Π½ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ°', mtWarning, [mbOK], 0)
else
begin
str := LE_Shablon.Text;
for i := 1 to kol do
if temp[i] = str then
break;
if i <= kol then
begin
Memo1.SelStart := Memo1. Perform (EM_LINEINDEX, i-1, 0);
Memo1.SelLength := Length (Memo1.Lines[i-1]);
Memo1.SetFocus;
end
else
MessageDlg ('Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!', mtWarning, [mbOK], 0);
end;
end;
procedure TMainForm. Button9Click (Sender: TObject);
var
low, high, mid, i: integer;
found, flag: boolean;
str: String;
begin
//ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ.
flag := true;
for i := 1 to kol-1 do
begin
if mas[i] > mas[i+1] then
begin
flag := false;
break;
end;
end;
if flag then
begin
if LE_Shablon.Text = '' then
MessageDlg ('ΠΠ΅ Π·Π°Π΄Π°Π½ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ°', mtWarning, [mbOK], 0)
else
begin
str := LE_Shablon.Text;
low := 1;
high := kol;
found := false;
while (low <= high) and (not found) do
begin
mid := (low+high) div 2;
if str < mas[mid] then
high := mid-1
else if str > mas[mid] then
low := mid+1
else
found:=true;
end;
if found then
begin
Memo2.SelStart := Memo2. Perform (EM_LINEINDEX, mid-1, 0);
Memo2.SelLength := Length (Memo2.Lines[mid-1]);
Memo2.SetFocus;
end
else
MessageDlg ('Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!', mtWarning, [mbOK], 0);
end;
end
else
MessageDlg ('ΠΠ°Π½Π½ΡΠ΅ Π½Π΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ! ΠΠΎΠΈΡΠΊ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½!', mtWarning, [mbOK], 0);
end;
procedure TMainForm. Button8Click (Sender: TObject);
var
str: String;
i, j, k, m, n, nom: integer;
temp: array [0.10 000] of String;
flag: boolean;
begin
flag := false;
if Memo1. Text <> '' then
begin
for i := 1 to Memo1.Lines.Count do
temp[i] := Memo1. Lines[i-1];
kol := Memo1.Lines.Count;
end
else
MessageDlg ('ΠΠ΅ Π²Π²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ!', mtWarning, [mbOK], 0);
if LE_Shablon.Text = '' then
MessageDlg ('ΠΠ΅ Π·Π°Π΄Π°Π½ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ°', mtWarning, [mbOK], 0)
Else
begin
str := LE_Shablon.Text;
m := Length (str);
for k := 1 to kol do
begin
n := Length (temp[k]);
for i := 1 to n-m+1 do
begin
j := 0;
while (j < m) and (str[j+1] = temp[k, i+j]) do
inc (j);
if j = m then
begin
flag := true;
break;
end;
end;
if flag then
break;
end;
if flag then
begin
Memo1.SelStart := Memo1. Perform (EM_LINEINDEX, k-1, 0) + i-1;
Memo1.SelLength := m;
Memo1.SetFocus;
end
else
MessageDlg ('Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!', mtWarning, [mbOK], 0);
end;
end;
end.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΠΏΠΎΠΈΡΠΊ Π΄Π°Π½Π½ΡΡ Π ΠΈΡ. 3.1. ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΠΎΡΠΌΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 3
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΠΏΠΎΠΈΡΠΊ Π΄Π°Π½Π½ΡΡ Π ΠΈΡ. 3.2. ΠΠ»Π°Π²Π½Π°Ρ ΡΠΎΡΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ