ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΡΠ»ΠΎΠ²
Π ΠΈΡ. 2.1. Π‘Ρ Π΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΠΈ ΡΠ°ΡΡΠΎΡΡ ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΊΡΡΠ΅. ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ. ΠΡΠ±ΠΎΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΠΎΠΊ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΡΠ»ΠΎΠ² (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ°
«ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΡΠ»ΠΎΠ²»
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΠΏΠ°Ρ ΡΠ»ΠΎΠ²Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
— ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ΠΊΡΡΠΎΠ², ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ-Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ (ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΈΠΌΠ΅ΡΡΠΈΠΌΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ. txt ΠΈ.rtf);
— Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΡΠΌΠΈ ΡΠ»ΠΎΠ²;
— ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ΅ΠΊΡΡΡ (ΠΏΠΎΠ΄ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΡΡ Π΄Π²Π° ΡΠ»ΠΎΠ²Π°, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ΄ΠΎΠΌ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ);
— ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ»ΠΎΠ²Π°ΡΡ Π² ΡΠ°ΠΉΠ» ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² (.txtΠΈΠ»ΠΈ.rtf);
— Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΎ Π°Π»ΡΠ°Π²ΠΈΡΡ ΠΈ ΠΏΠΎ ΡΠ°ΡΡΠΎΡΠ΅ ΠΈΡ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅;
— ΠΏΠΎΠΈΡΠΊ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΎΡΡ Π΅Π³ΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅;
— ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΈ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° Π² Ρ ΠΎΠ΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ.
ΠΠ°Π΄Π°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ±Π»Π°Π΄Π°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΌ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΡ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ:
— Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ· ΡΠ°ΠΉΠ»Π°;
— ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΡΠΏΠΈΡΠΊΠ° ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ»ΠΎΠ²Ρ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ°;
— Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡ Π² ΡΠ°ΠΉΠ» ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°;
— ΠΏΠΎΠΈΡΠΊ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅;
— ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΡ;
— Π½Π΅ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ.
1. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ (ΠΈΠ»ΠΈ ΡΠ±ΡΠ²Π°Π½ΠΈΡ). ΠΡΠ»ΠΈ Π½Π΅ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½Ρ, ΡΠΎ Π½Π°Π΄ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ Π½Π΅ΡΠ±ΡΠ²Π°ΡΡΠ΅ΠΌ (ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠ΅ΠΌ) ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡΠΈΡΠ΅ΡΠΈΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
Β· ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π³ΠΎΠ² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ΠΈΡ;
Β· ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²;
Β· ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅. [1]
Π‘Π°ΠΌΡΠΌ ΠΏΡΠΎΡΡΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ «ΠΏΡΠ·ΡΡΡΠΊΠ°». Π§ΡΠΎΠ±Ρ ΡΡΡΠ½ΠΈΡΡ Π΅Π³ΠΎ ΠΈΠ΄Π΅Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² (ΡΠ°Π±Π»ΠΈΡΠ°) ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡ Π²Π²Π΅ΡΡ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠ·ΡΡΡΠΊΠΎΠ². ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅ Π²Π΄ΠΎΠ»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½Π°ΡΠΈΠ½Π°Ρ ΠΏΡΠΎΡ ΠΎΠ΄ «ΡΠ½ΠΈΠ·Ρ», Π±Π΅ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ:
Β· Π΅ΡΠ»ΠΈ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ «Π»Π΅Π³ΠΊΠΈΠΉ» (Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ) ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠΎ ΠΎΠ½ΠΈ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ;
Β· ΠΏΡΠΈ Π²ΡΡΡΠ΅ΡΠ΅ Ρ Π±ΠΎΠ»Π΅Π΅ «ΡΡΠΆΠ΅Π»ΡΠΌ» ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ «ΡΡΠ°Π»ΠΎΠ½ΠΎΠΌ» Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΠΈ Π²ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ Ρ Π½ΠΈΠΌ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ°ΠΌΠΎΠΌ Π²Π΅ΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄Π° Π²Π΄ΠΎΠ»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠΎΡΠΎΠΉ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ, Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΌ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅, Ρ. Π΅. Π½Π° Π²ΡΠΎΡΡΡ ΡΠ²Π΅ΡΡ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ, ΠΈ Ρ. Π΄.
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠΎΡΠΎΠΌ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΡΠΎΡ ΠΎΠ΄Π°Ρ , Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ°Π½Π΅Π΅ «Π²ΡΠΏΠ»ΡΠ²ΡΠΈΠ΅» ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Ρ.ΠΊ. ΠΎΠ½ΠΈ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π²ΠΎ Π²ΡΠ΅ΠΌΡ j-Π³ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄Π° Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΡΠΎΡΡΠΈΠ΅ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡΡ Π²ΡΡΠ΅ j.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΡΠ΅Π±Π½ΡΠΌ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²Π½Π΅ ΡΡΠ΅Π±Π½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ, Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠ±ΠΌΠ΅Π½Π°ΠΌΠΈ Π»Π΅ΠΆΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅ΠΉΠΊΠ΅ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°. [1]
Π¨Π΅ΠΉΠΊΠ΅ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° (ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°ΠΌΠΈ) — ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΠΏΡΠ·ΡΡΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠ·ΡΡΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π΄Π²Π° ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°.
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎ ΡΠ°ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ, ΡΠΎ ΡΡΠ° ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΆΠ΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π° ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ· ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ. [1]
ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΡΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊ Π½Π°ΡΠ°Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ «Π²ΡΠΏΠ»ΡΠ²Π°Π΅Ρ» Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ, Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠ΄Π½Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π²ΠΏΡΠ°Π²ΠΎ. [1]
ΠΡΠΈ Π΄Π²Π΅ ΠΈΠ΄Π΅ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΏΡΠ·ΡΡΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΡΠ°Π½ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° (Ρ.Π΅. ΡΠ°ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°, Π³Π΄Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅) ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² ΠΌΠ΅ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ°ΡΡΠΈΠ² ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎ ΡΠΏΡΠ°Π²Π° Π½Π°Π»Π΅Π²ΠΎ ΠΈ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ.
ΠΡΡΡΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ — ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² (Π (n)), Ρ ΡΠ΄ΡΠΈΠΉ — ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ (O (nΠ)). [1]
ΠΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½Π°Ρ — Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π² Ρ ΡΠ΄ΡΠ΅ΠΌ, Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ ΠΈ Π² Π»ΡΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ (ΡΠΎ Π΅ΡΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ) Π·Π°Π (n log n) ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ n ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° (ΡΠΎ Π΅ΡΡΡ, O (1)). [1]
ΠΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠ·ΡΡΡΠΊΠΎΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΠΏΠ»ΡΠ²Π°Π΅Ρ (min-heap) / ΡΠΎΠ½Π΅Ρ (max-heap) ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΡΡΡΠΌ.
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΈΡΠ°ΠΌΠΈΠ΄ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΡΡΠΈΡΡΡΡΠ΅Π΅ Π΄Π΅ΡΠ΅Π²ΠΎ. Π‘ΠΎΡΡΠΈΡΡΡΡΠ΅Π΅ Π΄Π΅ΡΠ΅Π²ΠΎ — ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΡΠ»ΠΎΠ²ΠΈΡ:
1. ΠΠ°ΠΆΠ΄ΡΠΉ Π»ΠΈΡΡ ΠΈΠΌΠ΅Π΅Ρ Π³Π»ΡΠ±ΠΈΠ½Ρ Π»ΠΈΠ±ΠΎ, Π»ΠΈΠ±ΠΎ, - ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π³Π»ΡΠ±ΠΈΠ½Π° Π΄Π΅ΡΠ΅Π²Π°.
2. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π»ΡΠ±ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Π΅ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΅Ρ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ².
Π£Π΄ΠΎΠ±Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠΎΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π° — ΡΠ°ΠΊΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² Array, ΡΡΠΎ Array[1] - ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΡΠ½Π΅, Π° ΠΏΠΎΡΠΎΠΌΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Array[i] - Array[2i] ΠΈ Array [2i+1].
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π΄Π²ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°Π³ΠΎΠ²:
1. ΠΡΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π²ΠΈΠ΄Π΅ ΡΠΎΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π°:
Array[i]? Array[2i]
Array[i]? Array [2i+1], ΠΏΡΠΈ n/2? i? 1.
ΠΡΠΎΡ ΡΠ°Π³ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
2. ΠΡΠ΄Π΅ΠΌ ΡΠ΄Π°Π»ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· ΠΊΠΎΡΠ½Ρ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π·Π° ΡΠ°Π· ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ. Π’ΠΎ Π΅ΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π³Π΅ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅ΠΌ Array[1] ΠΈ Array[n], ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π΅ΠΌ Array[1], Array[2], …, Array [n-1] Π² ΡΠΎΡΡΠΈΡΡΡΡΠ΅Π΅ Π΄Π΅ΡΠ΅Π²ΠΎ. ΠΠ°ΡΠ΅ΠΌΠΏΠ΅ΡΠ΅ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Array[1] ΠΈ Array [n-1], ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ Array[1], Array[2], …, Array [n-2] Π² ΡΠΎΡΡΠΈΡΡΡΡΠ΅Π΅ Π΄Π΅ΡΠ΅Π²ΠΎ. ΠΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π² ΡΠΎΡΡΠΈΡΡΡΡΠ΅ΠΌ Π΄Π΅ΡΠ΅Π²Π΅ Π½Π΅ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. Π’ΠΎΠ³Π΄Π° Array[1], Array[2], …, Array[n] - ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΡΠΎΡ ΡΠ°Π³ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
ΠΡΠ±ΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°ΠΌΠΈΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎΡΠΎΠΉ ΠΈ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π²ΡΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ.
Π ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π»Π΅ΠΆΠΈΡ ΠΎΠ±ΠΌΠ΅Π½ ΡΠΎΡΠ΅Π΄Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ, ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ, ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ½ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ, ΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΊ Π½Π°ΡΠ°Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° (Π²ΡΠΏΠ»ΡΠ²Π°ΡΡ), Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ — ΠΊ ΠΊΠΎΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° (ΡΠΎΠ½ΡΡ). ΠΠΎΡΡΠΎΠΌΡ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΎΠΌ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ «ΠΏΡΠ·ΡΡΡΠΊΠ°». ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, ΠΌΠΈΠ½ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΠ°. [3]
ΠΠ° ΡΠΈΡ. 1.1 ΡΠΈΡΡΠΎΠΉ 1 ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅, ΡΠΈΡΡΠΎΠΉ 2 — ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅, ΠΈ Ρ. Π΄.
Π ΠΈΡ. 1.1. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° (Button1). ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Π²Π²ΠΎΠ΄ΡΡΡΡ ΠΈΠ· ΡΡΠ΅Π΅ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° stringGrid1. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΌΠ°ΡΡΠΈΠ² Π² ΠΏΠΎΠ»Π΅ ΠΌΠ΅ΡΠΊΠΈ Label2.
ΠΠΈΡΡΠΈΠ½Π³ 1.1. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° [3]
procedure TForm1. Button1Click (Sender: TObject);
const
SIZE=5;
var
a:array [1.SIZE] of integer;
k:integer; // ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°
i:integer; // ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠ°ΡΡΠΈΠ²Π°
changed:boolean; // TRUE, Π΅ΡΠ»ΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΈΠΊΠ»Π΅ Π±ΡΠ»ΠΈ ΠΎΠ±ΠΌΠ΅Π½Ρ
buf:integer; // Π±ΡΡΠ΅Ρ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°
begin
// Π²Π²ΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²Π°
for i:=1 to SIZE do
a[i]: = StrToInt (StringGrid1. Cells [i-1, 0]);
label2.caption:='';
// ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° repeat
Changed:=FALSE; // ΠΏΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΈΠΊΠ»Π΅ Π½Π΅Ρ ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ²
for k:=l to SIZE-1 do
if a[k] > a [k+l] then
begin // ΠΎΠ±ΠΌΠ΅Π½ΡΠ΅ΠΌ k-ΠΉ ΠΈ k+1-ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ
buf:= a[k]; a[k]: = a [k+l]; a [k+l]: = buf;
changed:= TRUE;
end;
// Π²ΡΠ²ΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²Π°
for i:=l to SIZE do
Label2.caption:=label2.caption+' '+IntTostr (a[i]);
Label2.caption:=label2.caption+#13;
untilnot changed; // Π΅ΡΠ»ΠΈΠ½Π΅Π±ΡΠ»ΠΎΠΎΠ±ΠΌΠ΅Π½ΠΎΠ², Π·Π½Π°ΡΠΈΡ
// ΠΌΠ°ΡΡΠΈΠ²ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½
Label2.caption:=label2.caption
+#13+'MaccΠΈΠ² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½.';
end;
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΊΠ»ΠΎΠ² ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΡΠ΅Π΄Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ°Π²Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΈΠ½ΡΡ ΠΎΠ΄ΠΈΠ½. ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² ΡΠ΅Π°Π»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ Π·Π° ΠΌΠ΅Π½ΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΡΠΈΠΊΠ»ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΠ΅Π» 5 1 2 3 4, Π΅ΡΠ»ΠΈ Π΅Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°, Π±ΡΠ΄Π΅Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π° Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΊΠ», ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ ΡΡΠ΅Ρ ΡΠΈΠΊΠ»ΠΎΠ² Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΌΡΡΠ»Π°.
ΠΠΎΡΡΠΎΠΌΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Π²Π΅Π΄Π΅Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ changed, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ FALSE. ΠΡΠΎΡΠ΅ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ (ΡΠΈΠΊΠ» repeat) Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΡΠ΅Π΄Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° (ΡΠΈΠΊΠ» for) Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ Π±ΡΠ» ΠΎΠ±ΠΌΠ΅Π½Π΅Π½ Ρ ΡΠΎΡΠ΅Π΄Π½ΠΈΠΌ, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠ°ΡΡΠΈΠ² ΡΠΆΠ΅ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½.
Π ΠΈΡ. 1.2. ΠΡΠ°ΠΏΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΠ»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ.
ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ — Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΡΠ΅Π·ΠΊΠ΅. ΠΠ°Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ, Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠΎΠΈΡΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΠΎΠΈΡΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ, ΡΠΎ Π΅ΡΡΡ ΠΎΡ ΠΌΠ΅Π½ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΊ Π±ΠΎΠ»ΡΡΠΈΠΌ) ΠΈ, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ (Ρ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ), ΡΠΎ ΠΏΠΎΠΈΡΠΊ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π·Π°Π²Π΅ΡΡΡΠ½Π½ΡΠΌ. [2]
ΠΡΠ»ΠΈ ΠΎΡΡΠ΅Π·ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ Π΄Π»ΠΈΠ½Ρ N, ΡΠΎ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π° Π²ΡΠ΅ΠΌΡ. Π’.ΠΎ. Π°ΡΠΈΠΌΠΏΡΠΎΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° —. Π ΡΠ²ΡΠ·ΠΈ Ρ ΠΌΠ°Π»ΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΡΡΠ΅Π·ΠΎΠΊ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ / Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°. Π’Π°ΠΊ ΠΆΠ΅, Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ° / ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ°.
ΠΠ²ΠΎΠΈΡΠ½ΡΠΉ (Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ) ΠΏΠΎΠΈΡΠΊ (ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ ΠΈ Π΄ΠΈΡ ΠΎΡΠΎΠΌΠΈΡ) — ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ (Π²Π΅ΠΊΡΠΎΡΠ΅), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Π΄ΡΠΎΠ±Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ. [4]
Π§Π°ΡΡΠ½ΡΠΌ ΡΠ»ΡΡΠ°Π΅ΠΌ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΡΠ΅ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΡΠ½Π΅ΠΉ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΎΡΡΠ΅Π·ΠΊΠ΅.
ΠΠΈΡΡΠΈΠ½Π³ 1.2. ΠΠ²ΠΎΠΈΡΠ½ΡΠΉΠΏΠΎΠΈΡΠΊΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Π²ΠΌΠ°ΡΡΠΈΠ²Π΅. [5]
functionRecurceFind (L, R: Integer): Integer;
var
M: Integer;
begin
if R < L then
begin
Result:=L; // Result:= -1 Π΅ΡΠ»ΠΈΠΏΠΎΠΈΡΠΊΡΠΎΡΠ½ΡΠΉ
Exit;
end;
M:= (L + R) div 2;
if A[M] = X then
begin
Result:= M;
Exit;
end;
if A[M] > X then
Result:=RecurceFind (L, M — 1)
else
Result:=RecurceFind (M + 1, R)
end;
begin
Result:=RecurceFind (Low (A), High (A));
end;
ΠΡΠ±ΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ ΠΏΡΠΎΡΡΠΎΡΠΎΠΉ ΠΈ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π²ΡΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°.
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ
ΠΠ°ΡΡΠΈΠ² — ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ , Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ². Π ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ Π΄Π»ΠΈΠ½Ρ ΠΈ Ρ ΡΠ°Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ°.
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ. ΠΠ°ΡΡΠΈΠ²Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ, Ρ Π΄Π²ΡΠΌΡ — Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΈ Ρ. Π΄. ΠΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ΡΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²Π΅ΠΊΡΠΎΡΡ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅, Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ — ΠΌΠ°ΡΡΠΈΡΠ΅.
Π ΠΈΡ. 2.1. Π‘Ρ Π΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΠΈ ΡΠ°ΡΡΠΎΡΡ ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΊΡΡΠ΅. ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ. ΠΡΠ±ΠΎΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΠΎΠΊ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ ΠΏΡΠΎΡΡΠΎΡΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ procedureTForm1. Button1Click (Sender: TObject)
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Windows. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° TOpenDialog. Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Filter ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ.txtΠΈ.rtf. ΠΡΡΡ ΠΊ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ FailΡΠΈΠΏΠ° String, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ, ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π² ΠΏΠΎΠ»Π΅ ΠΠΠΠ1.
procedure TForm1. Button2Click (Sender: TObject):
ΠΠ°Π½Π½Π°ΡΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠΈprocedureTForm1. Button1Click (Sender:TObject) ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΅Π³ΠΎ Π² MEMO3.
procedureTForm1. Button3Click (Sender: TObject):
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π·Π°Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ — ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ»ΠΎΠ²Π°ΡΡ. ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΉ razd, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΈΠ· ΠΏΠΎΠ»Ρ MEMO3. ΠΠ°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡ ΠΈΠ· MEMO1 ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° s. ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠΈΠΌΠ²ΠΎΠ» ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π²Π½ΡΠΌ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΉ, ΡΠΎ ΡΠ»ΠΎΠ²ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ slova, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»ΠΎΠ²Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ°Π»Π΅Π΅ ΠΈΠ· ΠΏΠ°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° slova ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² frazi, ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΡΡΡΡ Π²ΡΠ΅ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ. ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ fraziΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΡΠ»Π΅ ΠΎΠ±Ρ ΠΎΠ΄Π° ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ°, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠ΅Π΅ ΡΠ°ΡΡΠΎΡΡ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° (ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ) ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΎ Π°Π»ΡΠ°Π²ΠΈΡΡ.
ΠΠ° Π²Ρ ΠΎΠ΄Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΏΠΎΠ΄Π°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡ ΠΈΠ· MEMO1. ΠΠ° Π²ΡΡ ΠΎΠ΄Π΅ Π² MEMO2 Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ Π²ΠΈΠ΄Π° <οΏ½ΠΊΠΎΠ»-Π²ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ> `…'<οΏ½ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅>.
procedure TForm1. Button4Click (Sender: TObject):
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ ΡΠ»ΠΎΠ²Π°ΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΠ°ΠΉΠ». Π Π½Π΅ΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° TSaveDialog. ΠΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ SlvrΡΠΈΠΏΠ° String. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°ΠΉΠ» Π±Π΅ΡΠ΅ΡΡΡ ΠΈΠ· ΠΏΠΎΠ»Ρ MEMO2.
procedureTForm1. Button5Click (Sender: TObject):
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°IndexItemΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° RadioGroupΡΠ°Π²Π½ΠΎ 0, ΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎ Π°Π»ΡΠ°Π²ΠΈΡΡ, ΠΈΠ½Π°ΡΠ΅ ΠΏΠΎ ΡΠ°ΡΡΠΎΡΠ΅.
procedure TForm1. Button6Click (Sender: TObject)):
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ. ΠΠ° Π²Ρ ΠΎΠ΄Π΅ ΠΏΠΎΠ΄Π°Π΅ΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ frazi, Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π² LabelΠ·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΈΡΠΊΠ°.
4. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠ°Π΄Π°ΡΠ° Π±ΡΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ·ΡΠΊΠ΅ DelphiΠ² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Embarcadero RAD Studio XE2. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Unit1. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°, ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°, ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ, ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡ, ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠ»ΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° (ΡΠΈΡ. 4.1)
Π ΠΈΡ. 4.1. ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π² ΠΏΠΎΠ»ΡΡ «ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ» ΠΈ «Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΉ» Π±ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΠΊΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΏΠΎΠ»Π΅ (ΡΠΈΡ. 4.2).
Π ΠΈΡ. 4.2. ΠΠ²ΠΎΠ΄ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΈ ΡΠΏΠΈΡΠΊΠ° ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΉ.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΡΡΠΊ!» ΠΈ Π² ΠΏΠΎΠ»Π΅ «Π§Π°ΡΡΠΎΡΠ½ΡΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ» ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ (ΡΠΈΡ. 4.3).
Π ΠΈΡ. 4.3. Π‘ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠ°ΡΡΠΎΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎ Π°Π»ΡΠ°Π²ΠΈΡΡ, Π²ΡΠ±ΡΠ°Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΡΠ½ΠΊΡ Π² ΠΏΠΎΠ»Π΅ «Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΎΠ²Π°ΡΡ» ΠΈΠ½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡ «Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°» (ΡΠΈΡ. 4.4).
Π ΠΈΡ. 4.4. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ ΡΠ°ΡΡΠΎΡΠ΅ ΠΠΎΠΈΡΠΊ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π²Π²ΠΎΠ΄Π° Π² ΠΏΠΎΠ»Π΅ «ΠΠΎΠΈΡΠΊ» ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ ΡΡΠ°Π·Ρ ΠΈ ΠΊΠ»ΠΈΠΊΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΠΎΠΈΡΠΊ» ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ EnterΠ½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ° Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΠΎΠ΄ ΠΏΠΎΠ»Π΅ΠΌ «ΠΠΎΠΈΡΠΊ» (ΡΠΈΡ. 4.5).
Π ΠΈΡ. 4.5. ΠΠΎΠΈΡΠΊ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ «Π½Π΅ ΡΠΌΠΎΡΡΠΈΡΠ΅»
ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ» (ΡΠΈΡ. 4.6).
Π ΠΈΡ. 4.6. Π‘ΠΎΡ ΠΎΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ ΠΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΊΡ Π² ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ (.txt ΠΈΠ»ΠΈ. rtf).
5. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
1. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°: MSWindowsXP/Vista/7 Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ
NET Framework (Π²Π΅ΡΡΠΈΠΈ 2.0 ΠΈ ΡΡΠ°ΡΡΠ΅). ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ: 8 ΠΠ± ΠΠΠ£, 8 ΠΠ± ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° ΠΆΡΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅.
2. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠΎΠ².txtΠΈ.rtf. Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΠΈ Π²Π²ΠΎΠ΄ΡΡΡΡ Π² ΡΡΡΠΎΠΊΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π»! Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ — ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ».
3. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡ.
4. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΡ, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠΈΠ΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 32 ΠΠ± ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΈΠ»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Memo.
6. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π»ΠΎΡΡ Π² ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠΈΡΡΠ½ΠΊΠ°Ρ 4.1−4.3.
Π ΠΈΡ. 6.1 Π’Π΅ΠΊΡΡ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈ 79 ΡΠ»ΠΎΠ² Π ΠΈΡ. 6.2 Π’Π΅ΠΊΡΡ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· 2146 ΡΠ»ΠΎΠ² Π ΠΈΡ. 6.3 Π’Π΅ΠΊΡΡ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· 3910 ΡΠ»ΠΎΠ²
7. ΠΠ½Π°Π»ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΠΈ Π²ΡΠ²ΠΎΠ΄Ρ
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ «showmessage» ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ ΡΠ΅ΡΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΡΠ°Π·Π½ΡΡ ΠΎΠ±ΡΡΠΌΠ°Ρ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . Π’Π΅ΡΡΠ²ΡΠ΄Π°Π²Π°Π» ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° (ΡΠ°Π±. 6.1) ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΈ ΠΎΠ±Ρ ΠΎΠ΄ΠΎΠ² ΡΠ°ΡΡΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ (ΡΠ°Π±. 6.2).Π‘ΡΡΠ»Π°ΡΡΡ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π²Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
Π’Π°Π±. 6.1 ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° ΡΠ΅ΠΊΡΡΠ°
ΠΠ±ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ° | ΠΡΠ΅ΠΌΡ | |
100 ΡΡΡΠΎΠΊ | ||
200 ΡΡΡΠΎΠΊ | ||
500 ΡΡΡΠΎΠΊ | ||
1000 ΡΡΡΠΎΠΊ | ||
Π’Π°Π±. 6.2 ΠΠΎΠ»-Π²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΈ ΠΎΠ±Ρ ΠΎΠ΄ΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅.
ΠΠ±ΡΠ΅ΠΌ ΡΠ»ΠΎΠ²Π°ΡΡ | ΠΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ | ΠΠΎΠ»-Π²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ | ΠΠΎΠ»-Π²ΠΎ ΠΎΠ±Ρ ΠΎΠ΄ΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ | |
Π ΠΈΡ. 7.1 ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΡΠ°ΠΆΠ°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±Ρ ΠΎΠ΄ΠΎΠ² ΡΠ°ΡΡΠ΅ΠΉ ΡΠΏΠΈΡΠΊΠ° ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΅Π³ΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ, ΡΡΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΠ΅Ρ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°ΠΌΠΈ.
ΠΠΈΠ½Π΅ΠΉΠ½Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ²ΡΡ Π΄Π²ΡΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ².
ΠΠ΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π° ΡΠ΅ΠΌ, ΡΡΠΎ ΠΊΠΎΠ»-Π²ΠΎ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ Π·Π°Π²ΠΈΡΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° ΡΠ΅ΠΊΡΡΠ°, Π½ΠΎ ΠΈ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π½Π΅ΠΌ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ, ΠΌΠ½ΠΎΡ Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΈΠΌΠ΅ΡΡΠ°Ρ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. Π Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.
1. Π. Π―. ΠΡΡ Π°Π½Π³Π΅Π»ΡΡΠΊΠΈΠΉ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Delphi. — ΠΠΎΡΠΊΠ²Π°: ΠΠ·Π΄-Π²ΠΎ ΠΠΈΠ½ΠΎΠΌ-ΠΡΠ΅ΡΡ, 2003;1152 Ρ.
2. Π. Π. ΠΠ°ΡΠΊΠΎΠ². ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Delphi 7. — Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³: ΠΠ·Π΄-Π²ΠΎ ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2005 — 784 Ρ.
3. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° // Π£ΡΠΎΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡURL: http://progclub.ru/? param=book&name=delphi7_dlya_nachinaushih&dir=glava5&file=index14 (Π΄Π°ΡΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ: 20.05.2012).
4. ΠΠ²ΠΎΠΈΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ // ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ — ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡ URL: http://ru.wikipedia.org/wiki/ΠΠ²ΠΎΠΈΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ (Π΄Π°ΡΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ: 20.05.2012).
5. ΠΠ²ΠΎΠΈΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ // DelphiΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ URL: http://www.delphisources.ru/pages/faq/base/binary_int_array_search.html (Π΄Π°ΡΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ: 20.05.2012).
6. DelphiTOpenDialog // DelphiΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅URL: http://www.delphisources.ru/pages/faq/faq_delphi_basics/TOpenDialog.php.html (ΠΠ°ΡΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ: 20.05.2012).
7. Delphi TSaveDialog // DelphiΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅URL: http://www.delphisources.ru/pages/faq/faq_delphi_basics/TSaveDialog.php.html (ΠΠ°ΡΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ: 20.05.2012).
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
unitUnit1;
interface
uses
Winapi. Windows, Winapi. Messages, System. SysUtils, System. Variants, System. Classes, Vcl. Graphics,
Vcl. Controls, Vcl. Forms, Vcl. Dialogs, Vcl. StdCtrls, Vcl. ExtCtrls;
type
TForm1 = class (TForm)
Memo1: TMemo;
Memo2: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Memo3: TMemo;
Button6: TButton;
RadioGroup1: TRadioGroup;
Button5: TButton;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure Button1Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure Button4Click (Sender: TObject);
procedure Button3Click (Sender: TObject);
procedure Button6Click (Sender: TObject);
procedure Button5Click (Sender: TObject);
procedure Edit1KeyPress (Sender: TObject; var Key: Char);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
Fail, Slvr, Razdel: string;
frazi: array of string;
implementation
{$R *.dfm}
procedure TForm1. Button1Click (Sender: TObject); // ΠΡΠΊΡΡΡΡ
varOpenDialog: TOpenDialog;
Tekst: TextFile;
s:string;
begin
Memo1. Clear;
Memo1. Lines. Add (' ');
openDialog:= TOpenDialog. Create (self);
openDialog. InitialDir:= GetCurrentDir;
// Π’ΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½Ρ
openDialog. Options:= [ofFileMustExist];
// Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ. txt ΠΈ.rtf ΡΠ°ΠΉΠ»Ρ
openDialog. Filter:=
'Text Files|*.txt;*.rtf';
// ΠΠΈΠ°Π»ΠΎΠ³ΠΎΡΠΊΡΡΡΠΈΡΡΠ°ΠΉΠ»Π°
ifopenDialog. Execute
then
begin
Fail:=openDialog. FileName;
AssignFile (Tekst, Fail);
Reset (Tekst);
while not eof (Tekst) do
begin
ReadLn (Tekst, s);
Memo1. Lines. Add (s);
end;
Memo1. Lines. Delete (0);
end;
end;
procedure TForm1. Button2Click (Sender: TObject); // ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
varOpenDialog: TOpenDialog;
Tekst: TextFile;
s:string;
begin
if Memo3. Lines. Count=0 then Memo3. Lines. Add ('');
openDialog:= TOpenDialog. Create (self);
openDialog. InitialDir:= GetCurrentDir;
// Π’ΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½Ρ
openDialog. Options:= [ofFileMustExist];
// Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ. txt ΠΈ.rtf ΡΠ°ΠΉΠ»Ρ
openDialog. Filter:=
'Text Files|*.txt;*.rtf';
// ΠΠΈΠ°Π»ΠΎΠ³ΠΎΡΠΊΡΡΡΠΈΡΡΠ°ΠΉΠ»Π°
ifopenDialog. Execute
then
begin
Razdel:=openDialog. FileName;
AssignFile (Tekst, Razdel);
Reset (Tekst);
while not eof (Tekst) do
begin
ReadLn (Tekst, s);
Memo3. Lines. Add (s);
end;
Memo3. Lines. Delete (0);
end;
end;
procedure TForm1. Button3Click (Sender: TObject); // ΠΡΡΠΊ
vari, p, j, k, e, p1, h, x, t: integer;
slova: array of string;
razd: array of char;
s, s1: string;
buf: string;
priz:boolean;
begin
Memo2. Clear;
setlength (slova, 0); // ΠΎΠ±Π½ΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ
setlength (razd, 0); // ΠΎΠ±Π½ΡΠ»Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΉ
i:=0;
p:=0;
j:=1;
////////////////////////////
s:=memo3. Lines[0]; //
while j<= length (s) do //
begin //
setLength (razd, p+1); //
razd[p]: =s[j]; // // ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΡΠΌΠΈ
p:=p+1; //
j:=j+2; //
end; //
///////////////////////////
setlength (razd, length (razd)+1);
razd [length (razd) — 1]: = #13;
setlength (razd, length (razd)+1);
razd [length (razd) — 1]: = #9;
p:= 0;
j:= 1;
i:= 0;
t:=GetTickCount (); // Π½Π°ΡΠ°Π»ΠΎ Π·Π°ΠΌΠ΅ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
whilei<>memo1. Lines. Count do
begin
s:= memo1. Lines[i]; // ΠΏΡΠΎΡΠΌΠΎΡΡi-ΠΉ ΡΡΡΠΎΠΊΠΈ
whilepos (' ', s)=1 do delete (s, 1,1); // ΡΠ΄Π°Π»ΡΠ΅ΠΌΠΎΡΡΡΡΠΏΡ
{Π§ΡΠΎΠ±Ρ ΡΠΈΠΌΠ²ΠΎΠ» '-' Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ»ΡΡ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠ²ΠΎ}
h:= 1;
while h<=length (s) — 2 do
begin
for p1:= 0 to length (razd) — 1 do
if s[h]='-' then if s [h+1]=razd[p1] then
delete (s, h, 1);
h:= h+1;
end;
whilelength (s)>0 do // Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠΎΠΊΠΈ, ΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ
begin
k:= 0;
e:= -1;
{ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠΎΠΊΠΈ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ}
while k<= length (razd) — 1 do
begin
if (s[j]= razd[k]) then e:= 1;
k:= k+1
end;
ife>0 then // Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ
begin
// ΠΠ°Π½ΠΎΡΠΈΠΌ ΡΠ»ΠΎΠ²ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ² 'slova'
//////////////////////////////////////////////////////////////////////////
begin //
if s[j]='.' then s1:= copy (s, 1, j) else if s[j]='!' //
then s1:= copy (s, 1, j) else if s[j]='?' then s1:= copy (s, 1, j) //
else s1:= copy (s, 1, j-1); //
s1:= AnsiUpperCase (s1); // ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π²ΡΠ΅Ρ Π±ΡΠΊΠ² Π² ΡΠ»ΠΎΠ²Π΅ Π² Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡ //
if (length (s1)=0) or (s1='-') then begin j:= j+1; delete (s, 1,1); end //
else begin //
setLEngth (slova, p+1); //
slova[p]: =s1; //
p:= p+1; //
delete (s, 1, j); //
j:=1; end; end; end //
else j:= j+1; //
end; //
i:= i+1; //
end; //
//////////////////////////////////////////////////////////////////////////
{ΠΡΠΈΡΡΠΊΠ° ΡΠ»ΠΎΠ² ΠΎΡ ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΉ}
For i:=0 to length (slova) — 1 do
For k:=0 to length (razd) — 1 do
whilepos (razd[k], slova[i])>0 do delete (slova[i], pos (razd[k], slova[i]), 1);
{Π‘ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΡΠ°Π·Ρ ΠΈΠ· ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΠ»ΠΎΠ²}
p:= 0; i:= 0;
whilei<= Length (slova) — 2 do
begin
j:= pos ('.', slova[i]);
if j=0 then if pos ('!', slova[i])=0 then if pos ('?', slova[i])=0 then
ifslova[i]<>'' then if slova [i+1]<>'' then
begin
setLEngth (frazi, p+1);
frazi[p]: =slova[i]+' '+slova [i+1];
p:= p+1;
end;
i:= i+1;
end;
{Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ}
fori:= 0 toLength (frazi) — 1 do
begin
s:= frazi[i];
j:= length (s);
if s[j]='.' then delete (s, j, 1) else if s[j]='!'
then delete (s, j, 1) else if s[j]='?' then delete (s, j, 1);
frazi [i]: = s;
end;
{ΠΠΎΠ΄ΡΡΠ΅Ρ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΡΠ°Π·}
h:= High (frazi);
i:= 0;
whilei<= h do begin
S:=frazi[i];
e:= 1;
for j:= h downtoi + 1 do begin
iffrazi[j] = S then begin
Inc (e);
for k:= j to h — 1 do frazi[k]: = frazi [k + 1];
Dec (h);
end;
end;
p:= length (frazi[i]);
ifpos (' ', frazi[i])<>p then
frazi[i]: = IntToStr (e) + '…' + S
else begin x:= i+1;
end;
Inc (i);
end;
SetLength (frazi, h + 1);
{Π§ΠΈΡΡΠΊΠ° ΡΠ»ΠΎΠ²Π°ΡΡ ΠΎΡΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ Ρ ΠΏΡΡΡΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ»ΠΎΠ²}
k:=0;
while k <= length (frazi) — 1 do
begin
p:= length (frazi[k]);
ifpos (' ', frazi[k])=p then begin for i:=K+1 to Length (frazi) — 1 do
frazi [i-1]: = frazi[i];
SetLength (frazi, Length (frazi) — 1); end; inc (k);
end;
t:=GetTickCount () — t; // ΠΊΠΎΠ½Π΅Ρ Π·Π°ΠΌΠ΅ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
{Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ°Π· ΠΏΠΎ Π°Π»ΡΠ°Π²ΠΈΡΡ}
repeat
priz:=false;
fori:= 0 to length (frazi) — 2 do
begin
p:= pos ('.', frazi[i])+8;
p1:= pos ('.', frazi [i+1])+8;
s:= copy (frazi[i], p, length (frazi[i]));
s1:= copy (frazi [i+1], p1, length (frazi[i+1]));
if (s>s1) then
begin
buf:= frazi[i];
frazi[i]:= frazi [i+1];
frazi [i+1]: =buf;
priz:=true;
end;
end;
untilpriz=false;
{ΠΡΠ²ΠΎΠ΄ ΡΠ»ΠΎΠ²Π°ΡΡ Π² ΠΌΠ΅ΠΌΠΎ}
Memo2. Clear;
fori:= 0 to length (frazi) — 1 do
begin
Memo2. Lines. Add (' ');
Memo2. Lines[i]: =frazi[i];
end;
Label6. Caption:= 'ΠΡΠ΅ΠΌΡΡΠ°Π±ΠΎΡΡ t='+inttostr (t);
end;
procedure TForm1. Button4Click (Sender: TObject); // Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ
var
saveDialog:TSaveDialog;
begin
saveDialog:= TSaveDialog. Create (self);
saveDialog. InitialDir:= GetCurrentDir;
// Π Π°Π·ΡΠ΅ΡΠ°Π΅ΠΌΡΠΎΡ ΡΠ°Π½ΡΡΡΡΠ°ΠΉΠ»ΡΡΠΈΠΏΠ°. txt ΠΈ.rtf
saveDialog. Filter:= 'Text Files|*.txt|Text Files|*.rtf';
// ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°
ifsaveDialog. Execute
then
begin
Slvr:=saveDialog. FileName;
Memo2. Lines. SaveToFile (Slvr);
end;
end;
procedure TForm1. Button5Click (Sender: TObject); // Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°
vari, p, p1: integer;
buf, s, s1: string;
priz:boolean;
begin
{Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°ΠΏΠΎΠ°Π»ΡΠ°Π²ΠΈΡΡ}
if RadioGroup1. ItemIndex=0 then begin
repeat
priz:=false;
fori:= 0 to length (frazi) — 2 do
begin
p:= pos ('.', frazi[i])+8;
p1:= pos ('.', frazi [i+1])+8;
s:= copy (frazi[i], p, length (frazi[i]));
s1:= copy (frazi [i+1], p1, length (frazi[i+1]));
if (s>s1) then
begin
buf:= frazi[i];
frazi[i]:= frazi [i+1];
frazi [i+1]: =buf;
priz:=true;
end;
end;
untilpriz=false;
{ΠΡΠ²ΠΎΠ΄ Π² ΠΌΠ΅ΠΌΠΎ}
Memo2. Clear;
fori:= 0 to length (frazi) — 1 do
begin
Memo2. Lines. Add (' ');
Memo2. Lines[i]: =frazi[i];
end;
end
else begin
{Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°ΠΏΠΎΡΠ°ΡΡΠΎΡΠ΅}
repeat
priz:=false;
fori:= 0 to length (frazi) — 2 do
begin
p:= pos ('.', frazi[i]);
p1:= pos ('.', frazi [i+1]);
s:= copy (frazi[i], 1, p-1);
s1:= copy (frazi [i+1], 1, p-1);
if p
buf:= frazi[i];
frazi[i]:= frazi [i+1];
frazi [i+1]: =buf;
priz:=true;
end;
if (s
begin
buf:= frazi[i];
frazi[i]:= frazi [i+1];
frazi [i+1]: =buf;
priz:=true;
end;
end;
untilpriz=false;
{ΠΡΠ²ΠΎΠ΄ Π² ΠΌΠ΅ΠΌΠΎ}
Memo2. Clear;
fori:= 0 to length (frazi) — 1 do
begin
Memo2. Lines. Add (' ');
memo2.lines[i]: = frazi[i];
end; end;
end;
procedure TForm1. Button6Click (Sender: TObject); // ΠΠΎΠΈΡΠΊ
varobr:string;
i, k, j, p, p1: integer;
s, s1, buf: string;
priz:boolean;
begin
label1. Caption:='';
repeat
priz:=false;
fori:= 0 to length (frazi) — 2 do
begin
p:= pos ('.', frazi[i])+8;
p1:= pos ('.', frazi [i+1])+8;
s:= copy (frazi[i], p, length (frazi[i]));
s1:= copy (frazi [i+1], p1, length (frazi[i+1]));
if (s>s1) then
begin
buf:= frazi[i];
frazi[i]:= frazi [i+1];
frazi [i+1]: =buf;
priz:=true;
end;
end;
untilpriz=false;
obr:=AnsiUpperCase (edit1. Text);
i:=0; j:=length (frazi) — 1;
k:=0;
whilei<= j do
begin
k:= i + (j — i) div 2;
p:= pos ('.', frazi[k])+8;
s:= copy (frazi[k], p, length (frazi[k]));
s1:= copy (frazi[k], 1, p-9);
ifobr> s then
i:= k + 1
else if obr< s then
j:= k — 1
else
break;
end;
if s= obr then
Label1. Caption:='Π‘Π»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ «'+s+'» Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ '+s1+' ΡΠ°Π· (-Π°)'
elseLabel1. Caption:='Π‘Π»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ';
if Edit1. Text='' then label1. Caption:='';
end;
procedure TForm1. Edit1KeyPress (Sender: TObject; var Key: Char);
begin
if Key = #13 then Button6Click (Button6);
end;
end.