ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Β«Π’Π΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΒ»
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ . Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ Π΅ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΈ ΡΠ²ΠΎΠΈ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°, ΠΈ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π½ΡΠΆΠ½ΠΎ, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΠΊ ΠΈ ΡΡΠ°Π²Π½ΠΈΠΌ ΠΈΡ Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ, Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Β«Π’Π΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΒ» (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
- Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
- Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
- ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
- 1. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»
- 2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ
- 2.1 Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°
- 2.2 Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²
- 2.3 Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠ°ΠΉΠ»Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ
- 3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
- 4. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- 5. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
- 6. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- 7. ΠΠ½Π°Π»ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΠΈ Π²ΡΠ²ΠΎΠ΄Ρ
- ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ: Π€ΠΠ, Π°Π΄ΡΠ΅Ρ, ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ°, ΡΠ΅Π»Π΅ΡΠΎΠ½ (ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ, Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ).
ΠΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ:
1. ΠΠ²ΠΎΠ΄ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π³ΡΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ.
2. ΠΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½ΡΡ : Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΈΡΠ΅ΠΌ Π½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°Π±ΠΎΠ½Π΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΊΠ°ΠΊ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ , ΡΠ°ΠΊ ΠΈ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΡ ; ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π°Π±ΠΎΠ½Π΅Π½ΡΠ°; ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π°Π±ΠΎΠ½Π΅Π½ΡΠ° ΠΈΠ· ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°.
3. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π°Π²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
4. Π ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠΈΡΠΊ. ΠΠΎΠΈΡΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ: ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ, Π½ΠΎΠΌΠ΅ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ.
5. ΠΡΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ ΠΎΠ± Π°Π±ΠΎΠ½Π΅Π½ΡΠ΅ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ ΡΠ°ΠΊΠΈΡ , ΠΊΠ°ΠΊ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ ΠΊΠ½ΠΈΠ³Ρ, ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ΄Π°Π»ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ, ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ, Π²ΡΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΡΠ²Π»ΡΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΡΠ±ΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΏΡΠΎΡΡΠΎΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
1. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, Π½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΠΈΠ· Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠΈΡΠΊΠ°.
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ . Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ Π΅ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΈ ΡΠ²ΠΎΠΈ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°, ΠΈ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π½ΡΠΆΠ½ΠΎ, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΠΊ ΠΈ ΡΡΠ°Π²Π½ΠΈΠΌ ΠΈΡ Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ, Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ°. Π‘ΡΡΡ ΡΡΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ, Π·Π°ΡΠ΅ΠΌ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Ρ ΠΎΡΡΠ°Π²ΡΠΈΠΌΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ ΠΏΠΎΠΊΠ° ΡΠΏΠΈΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½.
Π ΠΈΡ. 1.1 Π‘Ρ Π΅ΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ° Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π½Π° ΡΠΆΠ΅ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ ΠΈ Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π Π½Π°ΡΠ°Π»Π΅ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½Π°Ρ ΡΠ°ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· Π½Π°ΡΠ°Π»Π° Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ Π² ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½Π°Ρ ΡΠ°ΡΡΡ ΡΠ΄Π»ΠΈΠ½ΡΠ΅ΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π° Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½Π°Ρ — ΡΠΊΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΈΡΡΠ΅Π·Π½ΠΎΠ²Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ.
Π ΠΈΡ 1.2 Π‘Ρ Π΅ΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΡΠΌΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΠΈ ΡΠΌΠ΅Π½Π΅ ΠΌΠ΅ΡΡ Π΄Π»Ρ ΠΏΠ°ΡΡ ΡΠΎΡΠ΅Π΄Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΠΎΠ²ΡΠΎΡΡΡΡΡΡ ΠΏΡΠΎΡ ΠΎΠ΄Ρ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ, ΡΠ΄Π²ΠΈΠ³Π°Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ (ΠΈΠ»ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ) ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊ Π»Π΅Π²ΠΎΠΌΡ ΠΊΠΎΠ½ΡΡ ΡΠΏΠΈΡΠΊΠ°. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠ·ΡΡΡΠΊΠΎΠ²Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°. ΠΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° — Π±ΡΠ»ΠΈ ΠΈΠ»ΠΈ Π½Π΅ Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄Π°. ΠΡΠ»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ Π½Π΅ Π±ΡΠ»ΠΎ, ΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡ.
Π ΠΈΡ 1.3 Π‘Ρ Π΅ΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠ° Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π° Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΡΡΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ»ΠΎΠΆΠ½Ρ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡ Π½ΠΈΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ.
ΠΠ°ΠΆΠ½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΡΡΠΎΠΊΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ S — ΡΠ»ΠΎΠ²ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π·Π΅Ρ X. ΠΡΡΡΡ m ΠΈ n — Π΄Π»ΠΈΠ½Ρ ΡΠ»ΠΎΠ² S ΠΈ X ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠΎ ΡΠ»ΠΎΠ²ΠΎΠΌ X Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΠ»ΠΎΠ²Π° S, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ 1,2,…, m-n+1 Π² ΡΠ»ΠΎΠ²Π΅ S; Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΡΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ O ((m-n+1)*n+1).
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π Π°Π±ΠΈΠ½Π°. Π ΡΠ»ΠΎΠ²Π΅ A, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π²Π½Π° m, ΠΌΡ ΠΈΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π·Π΅Ρ X Π΄Π»ΠΈΠ½Ρ n. ΠΡΡΠ΅ΠΆΠ΅ΠΌ «ΠΎΠΊΠΎΡΠ΅ΡΠΊΠΎ» ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ n ΠΈ Π±ΡΠ΄Π΅ΠΌ Π΄Π²ΠΈΠ³Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎ Π²Ρ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ»ΠΎΠ²Ρ. ΠΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ, Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Π»ΠΈ ΡΠ»ΠΎΠ²ΠΎ Π² «ΠΎΠΊΠΎΡΠ΅ΡΠΊΠ΅» Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ. Π‘ΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΏΠΎ Π±ΡΠΊΠ²Π°ΠΌ Π΄ΠΎΠ»Π³ΠΎ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΊΡΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΡΠ»ΠΎΠ²Π°Ρ Π΄Π»ΠΈΠ½Ρ n, ΡΠΎΠ³Π΄Π° Π·Π°Π΄Π°ΡΠ° ΡΠ²Π΅Π΄Π΅ΡΡΡ ΠΊ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΈΡΠ΅Π», ΡΡΠΎ, Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, Π±ΡΡΡΡΠ΅Π΅. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΡΠ»ΠΎΠ²Π΅ Π² «ΠΎΠΊΠΎΡΠ΅ΡΠΊΠ΅» ΠΈ Π½Π° ΠΎΠ±ΡΠ°Π·ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½Ρ, ΡΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Π½Π΅Ρ. Π’ΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π±ΡΠΊΠ²Π°ΠΌ. ΠΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π΅ΡΡΡ O (n+m). ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅ΠΊΡΡ ΠΈ ΠΈΡΠΊΠΎΠΌΡΡ ΡΡΡΠΎΠΊΡ.
Π ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΈΡΠΊΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ°, Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΠΈΡΠΊΠΎΠΌΡΡ ΡΡΡΠΎΠΊΡ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ.
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ
2.1 Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°: 1) ΡΠΏΠΈΡΠΎΠΊ 2) ΠΌΠ°ΡΡΠΈΠ² 3) Π±ΠΈΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ 4) Π΄Π΅ΡΠ΅Π²ΡΡ ΠΈ Ρ. Π΄.
ΠΠ»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΄Π²ΡΡ ΡΠ²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ: ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ, Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π°Π±ΠΎΠ½Π΅Π½ΡΠ° (Π€ΠΠ, Π°Π΄ΡΠ΅Ρ, ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ°, Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²) ΠΈ ΠΏΠΎΠ»Ρ ΡΠ²ΡΠ·ΠΎΠΊ, Π³Π΄Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π°Π±ΠΎΠ½Π΅Π½ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΡΠΊΡΡΡΠ° ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π ΠΈΡ. 2.1 Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π²ΡΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅:
LinkAbonent = ^Abonent; //ΡΡΡΠ»ΠΊΠ° Π½Π° Π·Π°ΠΏΠΈΡΡ Π°Π±ΠΎΠ½Π΅Π½Ρ
Abonent = record //Π°Π±ΠΎΠ½Π΅Π½Ρ
Name:AnsiString; // ΠΈΠΌΡΠ°Π±ΠΎΠ½Π΅Π½ΡΠ°
SurName:AnsiString;// ΡΠ°ΠΌΠΈΠ»ΠΈΡ
SecondName:AnsiString; // ΠΎΡΡΠ΅ΡΡΠ²ΠΎ
Tel:LinkTel; //ΡΠΏΠΈΡΠΎΠΊΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²Π°Π±ΠΎΠ½Π΅Π½ΡΠ°
Adress:AnsiString; // Π°Π΄ΡΠ΅ΡΠ°Π±ΠΎΠ½Π΅Π½ΡΠ°
Mail:AnsiString;// ΠΏΠΎΡΡΠ°
nextAbonent: LinkAbonent; //ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉΠ°Π±ΠΎΠ½Π΅Π½ΡΠ²ΡΠΏΠΈΡΠΊΠ΅Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ²
backAbonent: LinkAbonent; //ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ
index:Integer; //ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉΠ½ΠΎΠΌΠ΅ΡΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎΠ°Π±ΠΎΠ½Π΅Π½ΡΠ°
show:Integer; //ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠ»ΠΈ Π½Π΅Ρ Π°Π±ΠΎΠ½Π΅Π½Ρ
end;
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠΌΠΈΠΌΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ, — ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π°Π»ΠΈΡΠΈΡ ΡΡΡΠ»ΠΎΠΊ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΊΠ΅, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΡΠ°Π·Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π°Π΄ΡΠ΅ΡΠΎΠΌ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°. ΠΡΠ³ΠΊΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ.
2.2 Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²
ΠΠ»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠΏΠΈΡΠΎΠΊ, Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΡΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ: ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ (Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²) ΠΈ ΠΏΠΎΠ»Ρ ΡΠ²ΡΠ·ΠΎΠΊ (ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ°).
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ:
Π ΠΈΡ. 2.2 Π‘ΡΡΡΠΊΡΡΡΠ° ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π‘ΡΡΡΠΊΡΡΡΠ° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅:
Telephone = record // ΡΠ΅Π»Π΅ΡΠΎΠ½
telephone: AnsiString; // Π½ΠΎΠΌΠ΅ΡΡΠ΅Π»Π΅ΡΠΎΠ½Π°
typeTel: TypeTelephone; //ΡΠΈΠΏ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° (ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ ΠΈΠ»ΠΈ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ)
nextTelephone: LinkTel; // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°
end;
ΠΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΠ΅Π»Π΅ΡΠΎΠ½Π°. ΠΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π»Π΅Π³ΠΊΠ° Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π° Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
2.3 Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠ°ΠΉΠ»Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ
Π€Π°ΠΉΠ» ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ tlb, Π²ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΡΠ°Π½ΠΈΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π°Π±ΠΎΠ½Π΅Π½ΡΠ°Ρ : Π€ΠΠ, Π°Π΄ΡΠ΅Ρ, ΠΏΠΎΡΡΠ°, Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ². ΠΠ°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΠ²Π°ΡΡ Π² ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ Π±Π»ΠΎΠΊΠ½ΠΎΡ.
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΏΠΈΡΠ΅ΠΌ ΠΈΡ .
New Abonent (SurName, Name, SecondName, Adress, Mail: AnsiString; Tel: LinkTel) — ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Π±ΠΎΠ½Π΅Π½ΡΠ° Π² ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ.
ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΡΠ°ΠΌΠΈΠ»ΠΈΡ, ΠΈΠΌΡ, ΠΎΡΡΠ΅ΡΡΠ²ΠΎ, Π°Π΄ΡΠ΅Ρ, ΠΏΠΎΡΡΠ° ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½Π°. Π ΡΡΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Add Abonent.
nextStep (cur, new: AnsiString): Step — ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ°Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ² Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅. ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
Add Abonent (Abonent: Link Abonent) — ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π°Π±ΠΎΠ½Π΅Π½ΡΠ° ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΏΠΈΡΠΊΠ° Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: Π°Π±ΠΎΠ½Π΅Π½Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°. ΠΠ· ΡΡΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈΠ΄Π΅Ρ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ nextStep.
Add Telephone (TelList: LinkTel; Telephone: AnsiString; TypeTel: TypeTelephone) — ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½Π°. ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π°Π±ΠΎΠ½Π΅Π½ΡΠ°, Π½ΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΡΠΈΠΏ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ°.
openTelBook (fileName: AnsiString) — ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΡΠ΅Π»Π΅ΡΠΎΠ½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π°.
saveTelBook (fileName: AnsiString): Integer — ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°. ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ.
freeMemBook () — ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°.
showListAbonent (listBox: TListBox) — ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ² Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ².
showAbonent (abonent: LinkAbonent; SG1, SG2: TStringGrid) — ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± Π°Π±ΠΎΠ½Π΅Π½ΡΠ΅. ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: Π°Π±ΠΎΠ½Π΅Π½Ρ. ΠΠ· Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° showAllTel.
showAllTel (telList: LinkTel; SG: TStringGrid) -ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² Π°Π±ΠΎΠ½Π΅Π½ΡΠ°. ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π°Π±ΠΎΠ½Π΅Π½ΡΠ°.
liveSearch (findStr: AnsiString; typeS: TypeSearch) — ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ°Ρ ΠΆΠΈΠ²ΠΎΠΉ ΠΏΠΎΠΈΡΠΊ Π² ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅. ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΈΡΠΊΠΎΠΌΠ°Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°, ΡΠΈΠΏ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Create Telephone Book (): Integer — ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π΅ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ.
ΠΠ΅ΡΠ°ΡΡ ΠΈΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄ (ΡΠΈΡ. 3.1):
Π ΠΈΡ. 3.1 ΠΠ΅ΡΠ°ΡΡ ΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ
4. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΠΈΡ. 4.1 ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π ΠΈΡ. 4.2 ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
1. Π€Π°ΠΉΠ». ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ ΠΊΠ½ΠΈΠ³Ρ, ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ, ΠΎΡΠΊΡΡΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΊΡΡΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ.
2. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π°Π±ΠΎΠ½Π΅Π½ΡΡ Π·Π°Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ ΠΊΠ½ΠΈΠ³Ρ.
3. ΠΠΎΠΈΡΠΊΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ°. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΠΈΡΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ, Π² ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Π±ΡΠ΄ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅.
4. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΏΠΎΠΈΡΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠΈΡΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠΎ ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ, ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ.
5. ΠΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠΉ Π°Π±ΠΎΠ½Π΅Π½Ρ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΠΈΠ· ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°.
6. ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π°Π±ΠΎΠ½Π΅Π½ΡΠ°: ΡΠ°ΠΌΠΈΠ»ΠΈΡ, ΠΈΠΌΡ, ΠΎΡΡΠ΅ΡΡΠ²ΠΎ, Π°Π΄ΡΠ΅Ρ, ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΎΡΡΡ, Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΠΈ ΡΠΈΠΏ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°.
7. ΠΡΠ²ΠΎΠ΄ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ Π°Π±ΠΎΠ½Π΅Π½ΡΡ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ.
ΠΠ»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΠΏΠΎΠ»Π΅ «ΡΠ°ΠΉΠ»», Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ «ΠΎΡΠΊΡΡΡΡ», ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠ΅Π΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΈΠ· ΡΠ°Π½Π΅Π΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΡ (ΡΠΈΡ.7).
Π ΠΈΡ. 7 ΠΡΠΊΡΡΡΠΈΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π ΠΈΡ. 8. ΠΡΠ²ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ ΠΠ΅ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π‘Π½Π°ΡΠ°Π»Π° Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π°Π±ΠΎΠ½Π΅Π½ΡΠ°, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ, ΡΡΠ»ΠΊΠ½Π΅ΠΌ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ΅ΡΠ°ΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ΄Π°ΡΡ Π½Π°ΠΌ ΠΎΠΊΠ½ΠΎ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ Π΄Π°Π½Π½ΡΠ΅ Π°Π±ΠΎΠ½Π΅Π½ΡΠ° (ΡΠΈΡ.3), Π΄Π°Π»Π΅Π΅ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ°ΡΡ ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΏΡΠΈΠ½ΡΠ΅Ρ (ΡΠΈΡ.4).
Π ΠΈΡ. 9. ΠΡΠ±ΠΎΡ ΠΏΡΠΈΠ½ΡΠ΅ΡΠ° ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ. Π Π΅Π΅ ΡΠΎΡΡΠ°Π² Π²Ρ ΠΎΠ΄ΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π²ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
5. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ΅Π±ΡΡΡΡΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ:
1. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°: Windows 98/NT/XP/VISTA/7 Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ. ΠΠ°ΠΌΡΡΡ: 108 ΠΠ±Π°ΠΉΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° ΠΆΡΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅. ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°, ΠΌΡΡΡ.
2. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ ΠΊΠ½ΠΈΠ³Ρ. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΎΠ±ΡΡΠΌΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
3. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ° *.tlb, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. ΠΠ½Π° Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡ ΡΠ°Π½Π΅Π½Π° ΠΎΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΡΠΌ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π·Π°ΡΠΈΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ.
6. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π±ΡΠ» ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ ΡΠ΅ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΡΠ°Π·Π½ΡΡ ΠΎΠ±ΡΡΠΌΠ°Ρ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . Π’Π΅ΡΡ Π²ΡΠ΄Π°Π²Π°Π» ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΡΠΈΠΌΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΡΡΠ°ΠΆΠ°ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ.
Π’Π΅ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅. ΠΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π΄Π΅ΡΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±ΡΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ .
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π½ΠΈΠΆΠ΅:
Π ΠΈΡ. 6.1 ΠΠΎΠ»-Π²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈ 1000 Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π ΠΈΡ. 6.2 ΠΠΎΠ»-Π²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΈ 1000 Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π ΠΈΡ. 6.3 ΠΠΎΠ»-Π²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈ 5000 Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π ΠΈΡ. 6.4 ΠΠΎΠ»-Π²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈ 5000 Π·Π°ΠΏΠΈΡΠ΅ΠΉ
7.ΠΠ½Π°Π»ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΠΈ Π²ΡΠ²ΠΎΠ΄Ρ
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π΄Π΅ΡΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π½ΠΈΠΆΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΈ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ°Ρ :
Π’Π°Π±Π»ΠΈΡΠ° 1
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠΌΠ°
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ | |||||||||||
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ | |||||||||||
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ | |||||||||||
Π ΠΈΡ. 7.1 ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΡ ΠΎΠ±ΡΡΠΌΠ° Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π ΠΈΡ. 7.2 ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠΌΠ° Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΠ·Π³Π»ΡΠ½ΡΠ² Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΊΠ°ΠΊ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ ΠΈΠ· ΡΠ΅ΠΎΡΠΈΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ ΡΠ°ΡΡΡΡ ΠΎΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅. ΠΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ.
ΠΠ· Π³ΡΠ°ΡΠΈΠΊΠ° Π²ΠΈΠ΄Π½ΠΎ, Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΎΠ±ΡΡΠΌΠ° Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ .
Π ΠΈΡ. 7.3 ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΠΎΡ ΠΎΠ±ΡΡΠΌΠ° Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠ΅Π½ΠΊΠΎΠΉ Π²Π΅ΡΡΠΌΠ° Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π±ΠΈΡΠ°ΡΡ Π²Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ²Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΈ ΠΎΠ±ΡΡΠΌΠ° Π΄Π°Π½Π½ΡΡ .
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΈΠΌΠ΅ΡΡΠ°Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΠΈ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ. Π Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΆΠΈΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°, ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΡΡΠΎΠΊΠ΅ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°, ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ Π°Π½Π°Π»ΠΈΠ· ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΠ°Π΄Π°ΡΠ° Π±ΡΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Borland Delphi 7.0.
1. ΠΠ°Π³Π°ΡΠΈΠ½Π° Π. Π. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ : ΡΡΠ΅Π±. ΠΏΠΎΡΠΎΠ±ΠΈΠ΅/Π.Π. ΠΠ°Π³Π°ΡΠΈΠ½Π°, Π. Π. ΠΠΎΠ»Π΄Π°Π΅Π². — Π.:, 2009. — 304 Ρ.
2. ΠΡ ΠΎ Π. Π‘ΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ: ΡΡΠ΅Π±. ΠΏΠΎΡΠΎΠ±ΠΈΠ΅/ Π. ΠΡ ΠΎ, Π₯ΠΎΠΏΠΊΡΠΎΡΡ Π. Π., Π£Π»ΡΠΌΠ°Π½ Π.Π.- Π., 2003. — 384Ρ.
3. ΠΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ // ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ — ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡURL: http://ru.wikipedia.org/wik/ΠΠΎΠΈΡΠΊ_ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ (Π΄Π°ΡΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ 03.05.2012)
4. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠΏΠΈΡΠΊΠ° // ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ — ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡ URL: (Π΄Π°ΡΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ 28.04.2012)
5. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠΈΡΠΊ // ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ — ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡ URL: http://ru.wikipedia.org/wik/ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ_ΠΏΠΎΠΈΡΠΊ (Π΄Π°ΡΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ 17.05.2012)
ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
unitUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, StdCtrls, Grids, Buttons, Mask;
type
TForm1 = class (TForm)
ListBox1: TListBox;
Panel1: TPanel;
MainMenu1: TMainMenu;
N1: TMenuItem;
Panel3: TPanel;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
Panel2: TPanel;
N2: TMenuItem;
OpenDialog1: TOpenDialog;
N3: TMenuItem;
N4: TMenuItem;
Panel4: TPanel;
Button1: TButton;
ComboBox1: TComboBox;
Button2: TButton;
Panel5: TPanel;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Edit2: TEdit;
RadioGroup1: TRadioGroup;
BitBtn1: TBitBtn;
Button9: TButton;
Label2: TLabel;
Button10: TButton;
N5: TMenuItem;
SaveDialog1: TSaveDialog;
N6: TMenuItem;
Label1: TLabel;
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
ComboBox2: TComboBox;
Timer1: TTimer;
Label3: TLabel;
procedure FormCreate (Sender: TObject);
procedure N2Click (Sender: TObject);
procedure N3Click (Sender: TObject);
procedure N4Click (Sender: TObject);
procedure ListBox1Click (Sender: TObject);
procedure Button1Click (Sender: TObject);
procedure Button5Click (Sender: TObject);
procedure Button6Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure Button4Click (Sender: TObject);
procedure Button7Click (Sender: TObject);
procedure Button3Click (Sender: TObject);
procedure Button8Click (Sender: TObject);
procedure Edit2KeyUp (Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure RadioGroup1Click (Sender: TObject);
procedure BitBtn1Click (Sender: TObject);
procedure Button9Click (Sender: TObject);
procedure Button10Click (Sender: TObject);
procedure N5Click (Sender: TObject);
procedure N6Click (Sender: TObject);
procedure FormClose (Sender: TObject; var Action: TCloseAction);
procedure MaskEdit2Change (Sender: TObject);
procedure MaskEdit1Change (Sender: TObject);
procedure ComboBox1Change (Sender: TObject);
procedure ComboBox2Change (Sender: TObject);
procedure Timer1Timer (Sender: TObject);
// procedure StringGrid2Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
LinkTel = ^Telephone;
TypeTelephone = (Mobile, Home);
Saved = (YesSaved, NoSaved);
Step = (Equal, less, more);
Action = (Add, Edit);
TypeSearch = (SurName, Name);
Telephone = record
telephone: AnsiString;
typeTel: TypeTelephone;
nextTelephone: LinkTel; // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π½ΡΠΎΠ½Π°
end;
type tmas=array [1.10] of string;
constmegafon:tmas=('920','','','','','','','','','');
tele2:tmas=('908','904','950','951','','','','','','');
mtc:tmas=('910','915','','','','','','','','');
beeline:tmas=('903','906','960','','','','','','','');
type
LinkAbonent = ^Abonent; //ΡΡΡΠ»ΠΊΠ° Π½Π° Π·Π°ΠΏΠΈΡΡ Π°Π±ΠΎΠ½Π΅Π½Ρ
Abonent = record //Π°Π±ΠΎΠ½Π΅Π½Ρ
Name:AnsiString;
SurName:AnsiString;
SecondName:AnsiString;
Tel:LinkTel; //ΡΠΏΠΈΡΠΎΠΊΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²Π°Π±ΠΎΠ½Π΅Π½ΡΠ°
Adress:AnsiString;
Mail:AnsiString;
nextAbonent: LinkAbonent; //ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉΠΎΠ±Π½Π΅Π½ΡΠ²ΡΠΏΠΈΡΠΊΠ΅Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ²
backAbonent: LinkAbonent; //ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ
index:Integer; //ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉΠ½ΠΎΠΌΠ΅ΡΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎΠ°Π±ΠΎΠ½Π΅Π½ΡΠ°
show:Integer; //ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠ»ΠΈ Π½Π΅Ρ Π°Π±ΠΎΠ½Π΅Π½Ρ
end;
var
Form1: TForm1;
time:real;
TelephoneBook, curAbonent: LinkAbonent; //ΡΡΡΠ»ΠΊΠ° Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΡΠΏΠΈΡΠΊΠ°
Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ Π°Π±ΠΎΠ½Π΅Π½Ρ
save: Saved = YesSaved; //ΡΠΎΡ ΡΠ°Π½Π΅Π½Π° ΠΈΠ»ΠΈ Π½Π΅Ρ ΡΠ΅Π». ΠΊΠ½ΠΈΠ³Π°
fileName:AnsiString; //ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ
telList, editTel: LinkTel; //ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π°Π±ΠΎΠ½Π΅Π½ΡΠ° ΠΈ ΡΡΡΠ»ΠΊΠ°
Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½
abAction, telAction: Action; //ΡΠΎΠ±ΡΡΠΈΡ: Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π°Π±ΠΎΠ½Π΅Π½ΡΠ°;
Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½
function CreateTelephoneBook ():Integer;
procedure
AddTelephone (varTelList:LinkTel;Telephone:AnsiString;TypeTel:TypeTele
phone);
procedure
NewAbonent (SurName, Name, SecondName, Adress, Mail: AnsiString;Tel:Lin
kTel);
procedure AddAbonent (Abonent:LinkAbonent);
procedure openTelBook (fileName:AnsiString);
function saveTelBook (fileName:AnsiString):Integer;
procedure freeMemBook ();
procedure showListAbonent (listBox:TListBox);
procedure showAllTel (telList:LinkTel;SG:TStringGrid);
procedure liveSearch (findStr:AnsiString;typeS:TypeSearch);
procedure vykl ();
function proverka (mas:tmas; str: string):boolean;
implementation
uses PrintForm, ComCtrls;
{$R *.dfm}
procedure
NewAbonent (SurName, Name, SecondName, Adress, Mail: AnsiString;Tel:Lin
kTel); //Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅Π½ΠΎΠ²ΠΎΠ³ΠΎΠ°Π±ΠΎΠ½Π΅Π½ΡΠ°
var
newAbonent:LinkAbonent;
begin
New (newAbonent);
newAbonent.Name:=Name;
newAbonent.SurName:=SurName;
newAbonent.SecondName:=SecondName;
newAbonent.Adress:=Adress;
newAbonent.Tel:=Tel;
newAbonent.Mail:=Mail;
AddAbonent (newAbonent);
end;
function nextStep (cur, new: AnsiString):Step;
//Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡΠΏΡΠΈΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ²
var
i:Integer;
begin
for i:=1 to Length (cur) do
begin
if i<=Length (new) then
begin
if (cur [i]=new [i]) then
Continue;
if cur [i]
begin
Result:=Less;
exit;
end
else
begin
Result:=More;
exit;
end;
end
else
begin
Result:=More;
exit;
end;
end;
if (i-1)=Length (new) then
Result:=Equal
else
Result:=Less;
end;
procedure AddAbonent (Abonent:LinkAbonent);
//Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅Π°Π±ΠΎΠ½Π΅Π½ΡΠ°ΠΈΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°ΡΠΏΠΈΡΠΊΠ°Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ²
var
curAbonent:LinkAbonent;
next:Step;
begin
if TelephoneBook. nextAbonent=nil then
begin
Abonent.backAbonent:=TelephoneBook;
Abonent.nextAbonent:=TelephoneBook.nextAbonent;
TelephoneBook.nextAbonent:=Abonent;
Abonent.show:=1;
exit;
end;
Form1.Timer1.Enabled:=true;
curAbonent:=TelephoneBook.nextAbonent;
while (curAbonent<>nil) do
begin
next:=nextStep (curAbonent.SurName, Abonent. SurName);
if next<>Equal then
if next=Less then
begin
if (curAbonent.nextAbonent=nil) then
break;
curAbonent:=curAbonent.nextAbonent;
end
else
begin
curAbonent:=curAbonent.backAbonent;
break;
end
else
begin
next:=nextStep (curAbonent.Name, Abonent.Name);
if next<>Equal then
if next=Less then
begin
if (curAbonent.nextAbonent=nil) then
break;
curAbonent:=curAbonent.nextAbonent;
end
else
begin
curAbonent:=curAbonent.backAbonent;
break;
end
else
begin
next:=nextStep (curAbonent.SecondName, Abonent. SecondName);
if (next=Equal) then
begin
if (curAbonent.nextAbonent=nil) then
break;
curAbonent:=curAbonent.nextAbonent;
end
else
if (next=Less) then
begin
if (curAbonent.nextAbonent=nil) then
break;
curAbonent:=curAbonent.nextAbonent;
end
else
begin
curAbonent:=curAbonent.backAbonent;
break;
end;
end;
end;
end;
Form1.Timer1.Enabled:=false;
Abonent.backAbonent:=curAbonent;
Abonent.nextAbonent:=curAbonent.nextAbonent;
if (curAbonent.nextAbonent<>nil) then
curAbonent.nextAbonent.backAbonent:=Abonent;
curAbonent.nextAbonent:=Abonent;
curAbonent.nextAbonent.show:=1;
end;
procedure
AddTelephone (varTelList:LinkTel;Telephone:AnsiString;TypeTel:TypeTele
phone); //Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΡΠ΅Π»Π΅ΡΠΎΠ½Π°
var
curTel:LinkTel;
begin
if Telephone='' then
exit;
if TelList=nil then
begin
New (TelList);
TelList.telephone:=Telephone;
TelList.typeTel:=TypeTel;
TelList.nextTelephone:=nil;
exit;
end;
curTel:=TelList;
while (curTel.nextTelephone<>nil) do
curTel:=curTel.nextTelephone;
New (curTel.nextTelephone);
curTel.nextTelephone.telephone:=Telephone;
curTel.nextTelephone.typeTel:=TypeTel;
curTel.nextTelephone.nextTelephone:=nil;
end;
procedure openTelBook (fileName:AnsiString);
//Π·Π°Π³ΡΡΠ·ΠΊΠ°ΠΈΠ»ΠΈΠΈΠΌΠΏΠΎΡΡΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉΠΊΠ½ΠΈΠ³ΠΈ
var
fileBook: TextFile;
buffer:AnsiString;
Abonent: LinkAbonent;
typeT:Integer;
begin
AssignFile (fileBook, fileName);
Reset (fileBook);
while not Eof (fileBook) do
begin
Readln (fileBook, buffer);
if buffer='$' then
begin
New (Abonent);
Abonent.Tel:=nil;
Readln (fileBook, Abonent. SurName);
Readln (fileBook, Abonent.Name);
Readln (fileBook, Abonent. SecondName);
Readln (fileBook, Abonent. Adress);
Readln (fileBook, buffer);
if buffer='%' then
begin
Readln (fileBook, buffer);
repeat
typeT:=StrToInt (buffer [Length (buffer)]);
Delete (buffer, Length (buffer)-1,2);
if (typeT=Integer (Mobile)) then
AddTelephone (Abonent.Tel, buffer, Mobile)
else
AddTelephone (Abonent.Tel, buffer, Home);
Readln (fileBook, buffer);
until buffer='%';
end;
Readln (fileBook, Abonent. mail);
AddAbonent (Abonent);
end;
end;
CloseFile (fileBook);
end;
function saveTelBook (fileName:AnsiString):Integer;
//ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉΠΊΠ½ΠΈΠ³ΠΈ
var
fileBook:TextFile;
curAbonent:LinkAbonent;
curTel:LinkTel;
begin
AssignFile (fileBook, fileName);
Rewrite (fileBook);
curAbonent:=TelephoneBook.nextAbonent;
while curAbonent<>nil do
begin
Writeln (fileBook,'$');
Writeln (fileBook, curAbonent. SurName);
Writeln (fileBook, curAbonent.Name);
Writeln (fileBook, curAbonent. SecondName);
Writeln (fileBook, curAbonent. Adress);
curTel:=curAbonent.Tel;
if curTel<>nil then
begin
Writeln (fileBook,'%');
while curTel<>nil do
begin
Writeln (fileBook, curTel. telephone+'|'+IntTostr (Integer (curTel.TypeTel)));
curTel:=curTel.nextTelephone;
end;
Writeln (fileBook,'%');
end;
Writeln (fileBook, curAbonent. mail);
curAbonent:=curAbonent.nextAbonent;
end;
CloseFile (fileBook);
Result:=1;
end;
procedurefreeMemBook (); //ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ
var
curAb:LinkAbonent;
nextTel:LinkTel;
begin
curAb:=TelephoneBook.nextAbonent;
while curAb<>nil do
begin
while curAb. Tel<>nil do
begin
nextTel:=curAb.Tel.nextTelephone;
Dispose (curAb.Tel);
curAb.Tel:=nextTel;
end;
TelephoneBook.nextAbonent:=curAb.nextAbonent;
Dispose (curAb);
curAb:=TelephoneBook.nextAbonent;
end;
end;
procedure showListAbonent (listBox:TListBox);
//ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΏΠΈΡΠΊΠ°Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ²
var
abonent:LinkAbonent;
numAb:Integer;
begin
numAb:=0;
listBox.Clear;
abonent:=TelephoneBook.nextAbonent;
while abonent<> nil do
begin
if (abonent.show=1)then
begin
listBox.Items.Add (abonent.SurName+' '+abonent.Name+'
'+abonent.SecondName);
abonent.index:=numAb;
Inc (numAb);
end
else
abonent.index:=-1;
abonent:=abonent.nextAbonent;
end;
end;
procedure showAbonent (abonent:LinkAbonent;SG1,SG2:TStringGrid);
//ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈΠΎΠ±Π°Π±ΠΎΠ½Π΅Π½ΡΠ΅
var
tel:LinkTel;
begin
with SG1 do
begin
Cols. Clear;
Cells [1,0]: =abonent.SurName;
Cells [1,1]: =abonent.Name;
Cells [1,2]: =abonent.SecondName;
Cells [1,3]: =abonent.Adress;
Cells [1,4]: =abonent.Mail;
end;
tel:=abonent.Tel;
showAllTel (tel, SG2);
end;
procedure showAllTel (telList:LinkTel;SG:TStringGrid);
//ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²Π°Π±ΠΎΠ½Π΅Π½ΡΠ°
var
colTel:Integer;
curTel:LinkTel;
begin
colTel:=0;
curTel:=telList;
SG.RowCount:=2;
SG.Rows. Clear;
while (curTel<>nil)do
begin
if colTel>0 then
SG.RowCount:=SG.RowCount+1;
SG.Cells [0,SG.RowCount-1]: =curTel.telephone;
if (curTel.typeTel=Mobile)then
SG.Cells [1,SG.RowCount-1]: ='ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ'
else
SG.Cells [1,SG.RowCount-1]: ='ΠΠΎΠΌΠ°ΡΠ½ΠΈΠΉ';
Inc (colTel);
curTel:=curTel.nextTelephone;
end;
end;
procedure liveSearch (findStr:AnsiString;typeS:TypeSearch); //ΠΆΠΈΠ²ΠΎΠΉΠΏΠΎΠΈΡΠΊ
var
curAb:LinkAbonent;
findTemp:AnsiString;
i, show: Integer;
tel:LinkTel;
begin
if findStr='' then
vykl else
begin
curAb:=TelephoneBook.nextAbonent;
while curAb<>nil do
begin
if typeS=SurName then
findTemp:=curAb.SurName
else
begin
tel:=curAb.Tel;
while tel<>nil do
begin
curAb.show:=0;
findTemp:=tel.telephone;
if Length (findTemp)>=Length (findStr) then
for i:=1 to Length (findStr) do
begin
if (findStr [i]<>findTemp [i]) then
begin
curAb.show:=0;
break;
end;
curAb.show:=1;
end;
if curAb. show=0 then
tel:=tel.nextTelephone
else break;
end;
curAb:=curAb.nextAbonent;
Continue;
end;
if (Length (findTemp)
curAb.show:=0
else
begin
show:=1;
for i:=1 to Length (findStr) do
if findStr [i]<>findTemp [i] then
begin
show:=0;
break;
end;
if show=0 then
curAb.show:=0
else
curAb.show:=1;
end;
curAb:=curAb.nextAbonent;
end; end;
end;
function CreateTelephoneBook ():Integer; //ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅Π½ΠΎΠ²ΠΎΠΉΠΊΠ½ΠΈΠ³ΠΈ
var
otvet: Integer;
begin
if save=NoSaved then
begin
otvet:=Application.MessageBox ('Π€Π°ΠΉΠ»Π½Π΅ΡΠΎΡ ΡΠ°Π½ΡΠ½.
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ?','Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅', MB_YESNOCANCEL+
MB_ICONINFORMATION);
if (otvet=IDCANCEL)then
begin
Result:=0;
exit;
end;
if (otvet=IDYES)then
begin
saveTelBook (fileName);
end;
end;
if (TelephoneBook<>nil)then
freeMemBook ();
New (TelephoneBook);
TelephoneBook.nextAbonent := nil;
TelephoneBook.backAbonent := nil;
Result:=1;
end;
//———————————————————————————————————————;
procedure TForm1. FormCreate (Sender: TObject);
begin
StringGrid1.Cells [0,0]: ='Π€Π°ΠΌΠΈΠ»ΠΈΡ';
StringGrid1.Cells [0,1]: ='ΠΠΌΡ';
StringGrid1.Cells [0,2]: ='ΠΡΡΠ΅ΡΡΠ²ΠΎ';
StringGrid1.Cells [0,3]: ='ΠΠ΄ΡΠ΅Ρ';
StringGrid1.Cells [0,4]: ='ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°ΡΠΏΠΎΡΡΠ°';
StringGrid2.Cells [0,0]: ='Π’Π΅Π»Π΅ΡΠΎΠ½';
StringGrid2.Cells [1,0]: ='Π’ΠΈΠΏΡΠ΅Π»Π΅ΡΠΎΠ½Π°';
MaskEdit1.Visible:=true;
MaskEdit2.Visible:=False;
end;
procedure TForm1. N2Click (Sender: TObject); //ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅Π½ΠΎΠ²ΠΎΠΉΠΊΠ½ΠΈΠ³ΠΈ
begin
CreateTelephoneBook;
fileName:='';
ListBox1.Enabled:=True;
Button1.Enabled:=True;
Button3.Enabled:=True;
Button9.Enabled:=True;
BitBtn1.Enabled:=True;
Edit2.Enabled:=True;
RadioGroup1.Enabled:=True;
N5.Enabled:=True;
ListBox1.Clear;
StringGrid1.Cols. Clear;
StringGrid2.RowCount:=2;
StringGrid2.Rows. Clear;
Edit2.Text:='';
RadioGroup1.ItemIndex:=0;
end;
procedure TForm1. N3Click (Sender: TObject); //ΠΎΡΠΊΡΡΡΠΈΠ΅ΠΊΠ½ΠΈΠ³ΠΈ
begin
time:=0;
Timer1.Enabled:=true;
if OpenDialog1. Execute then
begin
CreateTelephoneBook ();
fileName:=OpenDialog1.FileName;
openTelBook (fileName);
showListAbonent (ListBox1);
ListBox1.Enabled:=True;
Button1.Enabled:=True;
Button3.Enabled:=True;
Button9.Enabled:=True;
BitBtn1.Enabled:=True;
Edit2.Enabled:=True;
RadioGroup1.Enabled:=True;
N5.Enabled:=True;
end;
Timer1.Enabled:=false;
Label3.Caption:=FloatToStr (time)+' msec.';
end;
procedure TForm1. N4Click (Sender: TObject); //ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΊΠ½ΠΈΠ³ΠΈ
begin
if (fileName='')then
if SaveDialog1. Execute then
fileName:=SaveDialog1.FileName
else
exit;
if saveTelBook (fileName)=1 then
begin
save:=YesSaved;
N4.Enabled:=False;
end;
end;
procedure TForm1. ListBox1Click (Sender: TObject);
//ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈΠΎΠ±Π°Π±ΠΎΠ½Π΅Π½ΡΠ΅
begin
curAbonent:=TelephoneBook.nextAbonent;
while ((curAbonent.index<>ListBox1.ItemIndex) and (curAbonent<>nil))
do
curAbonent:=curAbonent.nextAbonent;
showAbonent (curAbonent, StringGrid1, StringGrid2);
end;
procedure TForm1. Button1Click (Sender: TObject);
//Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅Π½ΠΎΠ²ΠΎΠ³ΠΎΠ°Π±ΠΎΠ½Π΅Π½ΡΠ°
begin
N1.Enabled:=False;
Panel5.Visible:=True;
Button1.Enabled:=False;
Button3.Enabled:=False;
Button9.Enabled:=False;
BitBtn1.Enabled:=False;
ListBox1.Enabled:=False;
Edit2.Enabled:=False;
RadioGroup1.Enabled:=False;
StringGrid1.Enabled:=True;
StringGrid1.Cols. Clear;
StringGrid2.RowCount:=2;
StringGrid2.Cells [0,1]: ='';
StringGrid2.Cells [1,1]: ='';
abAction:=Add;
telList:=nil;
end;
procedure TForm1. Button5Click (Sender: TObject);
//ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠ΄Π°Π½Π½ΡΡ Π°Π±ΠΎΠ½Π΅Π½ΡΠ°
begin
if abAction=Add then
with StringGrid1 do
begin
if (Cells [1,0]<>'')or (Cells [1,1]<>'')or (Cells [1,2]<>'')then
NewAbonent (Cells [1,0], Cells [1,1], Cells [1,2], Cells [1,3], Cells
[1,4], telList)
else
begin
Application.MessageBox ('ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ:
Π€Π°ΠΌΠΈΠ»ΠΈΡ, ΠΠΌΡ ΠΈΠ»ΠΈ
ΠΡΡΠ΅ΡΡΠ²ΠΎ!','ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΄Π°Π½Π½ΡΡ ', MB_OK+MB_ICONINFORMATION);
exit;
end;
end
else
begin
with StringGrid1 do
begin
curAbonent.SurName:=Cells [1,0];
curAbonent.Name:=Cells [1,1];
curAbonent.SecondName:=Cells [1,2];
curAbonent.Adress:=Cells [1,3];
curAbonent.Mail:=Cells [1,4];
end;
curAbonent.Tel:=telList;
curAbonent.backAbonent.nextAbonent:=curAbonent.nextAbonent;
if (curAbonent.nextAbonent<>nil) then
curAbonent.nextAbonent.backAbonent:=curAbonent.backAbonent;
AddAbonent (curAbonent);
end;
N1.Enabled:=True;
Panel5.Visible:=False;
Button1.Enabled:=True;
Button3.Enabled:=True;
Button9.Enabled:=True;
ListBox1.Enabled:=True;
StringGrid1.Enabled:=False;
Edit2.Enabled:=True;
RadioGroup1.Enabled:=True;
BitBtn1.Enabled:=True;
showListAbonent (ListBox1);
ListBox1.ItemIndex:=0;
ListBox1Click (Sender);
save:=NoSaved;
N4.Enabled:=True;
end;
procedure TForm1. Button6Click (Sender: TObject); //ΠΎΡΠΌΠ΅Π½Π°ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
begin
N1.Enabled:=True;
Panel5.Visible:=False;
Button1.Enabled:=True;
Button3.Enabled:=True;
Button9.Enabled:=True;
ListBox1.Enabled:=True;
StringGrid1.Enabled:=False;
Edit2.Enabled:=True;
RadioGroup1.Enabled:=True;
BitBtn1.Enabled:=True;
ListBox1.ItemIndex:=0;
ListBox1Click (Sender);
end;
procedure TForm1. Button2Click (Sender: TObject); //Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ
ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² Π°Π±ΠΎΠ½Π΅Π½ΡΠ°
begin
Panel4.Visible:=False;
Button7.Enabled:=True;
Button6.Enabled:=True;
Button5.Enabled:=True;
Button8.Enabled:=True;
Button10.Enabled:=True;
StringGrid1.Enabled:=True;
if (telAction=Add)then
begin
if (MaskEdit1.Text<>'')or (MaskEdit2.Text<>'') then
if (ComboBox1.ItemIndex=0) then
AddTelephone (telList, MaskEdit1. Text, Mobile)
else
AddTelephone (telList, MaskEdit2. Text, Home);
end
else
//begin
if (ComboBox1.ItemIndex=0) then
begin
editTel.telephone:=MaskEdit1.Text;
editTel.typeTel:=TypeTelephone (ComboBox1.ItemIndex);
end else
begin
editTel.telephone:=MaskEdit2.Text;
editTel.typeTel:=TypeTelephone (ComboBox1.ItemIndex);
end;
showAllTel (telList, StringGrid2);
save:=NoSaved;
N4.Enabled:=True;
end;
procedure TForm1. Button4Click (Sender: TObject);
//ΠΎΡΠΌΠ΅Π½Π°ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡΠΈΠ»ΠΈΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡΠ΅Π»Π΅ΡΠΎΠ½Π°Π°Π±ΠΎΠ½Π΅Π½ΡΠ°
begin
Panel4.Visible:=False;
Button7.Enabled:=True;
Button6.Enabled:=True;
Button5.Enabled:=True;
Button8.Enabled:=True;
Button10.Enabled:=True;
StringGrid1.Enabled:=True;
end;
procedure TForm1. Button7Click (Sender: TObject); //Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΡΠ΅Π»Π΅ΡΠΎΠ½Π°
begin
Panel4.Visible:=True;
Button7.Enabled:=False;
Button5.Enabled:=False;
Button6.Enabled:=False;
Button8.Enabled:=False;
Button10.Enabled:=False;
StringGrid1.Enabled:=False;
MaskEdit1.Text:='';
MaskEdit2.Text:='';
end;
procedure TForm1. Button3Click (Sender: TObject);
//ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Π΄Π°Π½Π½ΡΡ Π°Π±ΠΎΠ½Π΅Π½ΡΠ°
begin
if (ListBox1.ItemIndex<0)then
begin
Application.MessageBox ('ΠΡΠ±ΠΈΡΠΈΡΠ΅Π°Π±ΠΎΠ½Π΅Π½ΡΠ°Π΄Π»ΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ!','ΠΠ΅Π²ΡΠ± ΡΠ°Π½Π°Π±ΠΎΠ½Π΅Π½Ρ', MB_OK+MB_ICONINFORMATION);
exit;
end;
N1.Enabled:=False;
Panel5.Visible:=True;
Button1.Enabled:=False;
Button3.Enabled:=False;
Button9.Enabled:=False;
BitBtn1.Enabled:=False;
ListBox1.Enabled:=False;
Edit2.Enabled:=False;
RadioGroup1.Enabled:=False;
StringGrid1.Enabled:=True;
telList:=curAbonent.Tel;
abAction:=Edit;
showAbonent (curAbonent, StringGrid1, StringGrid2);
end;
procedure TForm1. Button8Click (Sender: TObject);
//ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΡΠ΅Π»Π΅ΡΠΎΠ½Π°
var
index:Integer;
begin
if (StringGrid2.Row<1)then
begin
Application.MessageBox ('ΠΡΠ±ΠΈΡΠΈΡΠ΅ΡΠ΅Π»Π΅ΡΠΎΠ½Π΄Π»ΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ!','ΠΠ΅Π²ΡΠ± ΡΠ°Π½ΡΠ΅Π»Π΅ΡΠΎΠ½', MB_OK+MB_ICONINFORMATION);
exit;
end;
if (telList=nil)then
exit;
if StringGrid2. Row<0 then
StringGrid2.Row:=0;
index:=1;
editTel:=telList;
while ((index<>StringGrid2.Row) and (editTel<>nil)) do
begin
editTel:=editTel.nextTelephone;
Inc (index);
end;
if editTel. typeTel=Home then
begin
MaskEdit2.Text:=editTel.telephone;
MaskEdit1.Visible:=false;
MaskEdit2.Visible:=true;
end else
begin
MaskEdit1.Text:=editTel.telephone;
MaskEdit2.Visible:=false;
MaskEdit1.Visible:=true;
end;
ComboBox1.ItemIndex:=Integer (editTel.typeTel);
telAction:=Edit;
Panel4.Visible:=True;
Button7.Enabled:=False;
Button5.Enabled:=False;
Button6.Enabled:=False;
Button8.Enabled:=False;
Button10.Enabled:=False;
StringGrid1.Enabled:=False;
end;
procedure TForm1. Edit2KeyUp (Sender: TObject; var Key: Word;
//ΠΆΠΈΠ²ΠΎΠΉΠΏΠΎΠΈΡΠΊ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΏΠΈΡΠΊΠ°Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ
Shift: TShiftState);
begin
time:=0;
Timer1.Enabled:=true;
liveSearch (Edit2.Text, TypeSearch (RadioGroup1.ItemIndex));
showListAbonent (ListBox1);
Timer1.Enabled:=false;
label3.Caption:=FloatToStr (time)+' msec.';
end;
procedure TForm1. RadioGroup1Click (Sender: TObject);
begin
vykl ();
if RadioGroup1. ItemIndex=1 then
begin
Edit2.Visible:=false;
ComboBox2.Visible:=true;
end
else
begin
ComboBox2.Visible:=false;
Edit2.Visible:=true;
end;
end;
procedure TForm1. BitBtn1Click (Sender: TObject);
//Π²ΡΠ²ΠΎΠ΄Π½Π°ΠΏΠ΅ΡΠ°ΡΡΠ΄Π°Π½Π½ΡΡ Π°Π±ΠΎΠ½Π΅Π½ΡΠ°
var
tel:LinkTel;
begin
if ListBox1. ItemIndex<0 then
begin
Application.MessageBox ('ΠΠ΅Π²ΡΠ±ΡΠ°Π½Π°Π±ΠΎΠ½Π΅Π½ΡΠ΄Π»ΡΠ²ΡΠ²ΠΎΠ΄Π°Π½Π°ΠΏΠ΅ΡΠ°ΡΡ','Π‘ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΠ΅', MB_OK+MB_ICONINFORMATION);
exit;
end;
with Form2. RichEdit1 do
begin
Clear;
Paragraph.FirstIndent:=30;
Font.Size:=14;
Paragraph.Alignment:=taCenter;
Lines.Add ('ΠΠ°Π½Π½ΡΠ΅Π°Π±ΠΎΠ½Π΅Π½ΡΠ°');
Paragraph.Alignment:=taLeftJustify;
Lines.Add ('Π€Π°ΠΌΠΈΠ»ΠΈΡ — '+curAbonent.SurName);
Lines.Add ('ΠΠΌΡ — '+curAbonent.Name);
Lines.Add ('ΠΡΡΠ΅ΡΡΠ²ΠΎ — '+curAbonent.SecondName);
Lines.Add ('ΠΠ΄ΡΠ΅Ρ: '+curAbonent.Adress);
Lines.Add ('ΠΠΎΡΡΠ°: '+curAbonent.Mail);
tel:=curAbonent.Tel;
if tel<>nil then
begin
Paragraph.Alignment:=taCenter;
Lines.Add ('Π’Π΅Π»Π΅ΡΠΎΠ½ΡΠ°Π±ΠΎΠ½Π΅Π½ΡΠ°');
Paragraph.Alignment:=taLeftJustify;
end;
while tel<>nil do
begin
if (tel.typeTel=Mobile)then
Lines.Add ('ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ: '+tel.telephone)
else
Lines.Add ('ΠΠΎΠΌΠ°ΡΠ½ΠΈΠΉ: '+tel.telephone);
tel:=tel.nextTelephone;
end;
Lines.Add ('');
end;
Form1.Enabled:=False;
Form2.Visible:=True;
end;
procedure TForm1. Button9Click (Sender: TObject); //ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅Π°Π±ΠΎΠ½Π΅Π½ΡΠ°
begin
if (ListBox1.ItemIndex<0)then
begin
Application.MessageBox ('ΠΡΠ±ΠΈΡΠΈΡΠ΅Π°Π±ΠΎΠ½Π΅Π½ΡΠ°Π΄Π»ΡΡΠ΄Π°Π»Π΅Π½ΠΈΡ','ΠΠ΅Π²ΡΠ±ΡΠ°Π½Π°Π±ΠΎ Π½Π΅Π½Ρ', MB_OK+MB_ICONINFORMATION);
exit;
end;
if (Application.MessageBox ('ΠΡΠ΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡ ΠΎΡΠΈΡΠ΅ΡΠ΄Π°Π»ΠΈΡΡΠΊΠΎΠ½ΡΠ°ΠΊΡ?','Π£ Π΄Π°Π»Π΅Π½ΠΈΠ΅ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°', MB_YESNO+
MB_ICONINFORMATION)=IDYES)then
begin
curAbonent.backAbonent.nextAbonent:=curAbonent.nextAbonent;
if curAbonent. nextAbonent<>nil then
curAbonent.nextAbonent.backAbonent:=curAbonent.backAbonent;
Dispose (curAbonent);
showListAbonent (ListBox1);
ListBox1.ItemIndex:=0;
ListBox1Click (Sender);
save:=NoSaved;
end;
end;
procedure TForm1. Button10Click (Sender: TObject); //ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΡΠ΅Π»Π΅ΡΠΎΠ½Π°
var
delTel, backTel: LinkTel;
index:Integer;
begin
if (StringGrid2.Row<1)then
begin
Application.MessageBox ('ΠΡΠ±ΠΈΡΠΈΡΠ΅ΡΠ΅Π»Π΅ΡΠΎΠ½Π΄Π»ΡΡΠ΄Π°Π»Π΅Π½ΠΈΡ!','ΠΠ΅Π²ΡΠ±ΡΠ°Π½ΡΠ΅Π» Π΅ΡΠΎΠ½', MB_OK+MB_ICONINFORMATION);
exit;
end;
if (telList=nil)then
exit;
if StringGrid2. Row<0 then
StringGrid2.Row:=0;
if (Application.MessageBox ('ΠΡΠ΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡ ΠΎΡΠΈΡΠ΅ΡΠ΄Π°Π»ΠΈΡΡΡΠ΅Π»Π΅ΡΠΎΠ½?','Π£ Π΄Π°Π»Π΅Π½ΠΈΠ΅ΡΠ΅Π»Π΅ΡΠΎΠ½Π°', MB_YESNO+
MB_ICONINFORMATION)=IDYES)then
begin
index:=1;
delTel:=telList;
backTel:=nil;
while ((index<>StringGrid2.Row) and (delTel<>nil)) do
begin
backTel:=delTel;
delTel:=delTel.nextTelephone;
Inc (index);
end;
if backTel<>nil then
backTel.nextTelephone:=delTel.nextTelephone;
if (delTel=telList)then
telList:=nil;
Dispose (delTel);
save:=NoSaved;
end;
showAllTel (telList, StringGrid2);
end;
procedure TForm1. N5Click (Sender: TObject); //ΠΈΠΌΠΏΠΎΡΡΠΊΠ½ΠΈΠ³ΠΈ
begin
if (OpenDialog1.Execute)then
begin
openTelBook (OpenDialog1.FileName);
showListAbonent (ListBox1);
end;
end;
procedure TForm1. N6Click (Sender: TObject); //Π·Π°ΠΊΡΡΡΠΈΠ΅ΠΊΠ½ΠΈΠ³ΠΈ
begin
CreateTelephoneBook;
fileName:='';
N4.Enabled:=False;
N5.Enabled:=False;
ListBox1.Clear;
StringGrid1.Cols. Clear;
StringGrid2.RowCount:=2;
StringGrid2.Rows. Clear;
Edit2.Text:='';
RadioGroup1.ItemIndex:=0;
ListBox1.Enabled:=False;
Button1.Enabled:=False;
Button3.Enabled:=False;
Button9.Enabled:=False;
BitBtn1.Enabled:=False;
Edit2.Enabled:=False;
RadioGroup1.Enabled:=False;
save:=YesSaved;
end;
procedure TForm1. FormClose (Sender: TObject; var Action: TCloseAction);
begin
CreateTelephoneBook;
end;
procedure TForm1. MaskEdit2Change (Sender: TObject);
begin
if (ComboBox1.ItemIndex=0) then
begin
MaskEdit1.Visible:=true;
MaskEdit2.Visible:=false;
end
else
begin
MaskEdit1.Visible:=false;
MaskEdit2.Visible:=true;
end;
end;
procedure TForm1. MaskEdit1Change (Sender: TObject);
begin
if (ComboBox1.ItemIndex=0) then
begin
MaskEdit1.Visible:=true;
MaskEdit2.Visible:=false;
end
else
begin
MaskEdit1.Visible:=false;
MaskEdit2.Visible:=true;
end;
end;
procedure TForm1. ComboBox1Change (Sender: TObject);
begin
if (ComboBox1.ItemIndex=0) then
begin
MaskEdit1.Visible:=true;
MaskEdit2.Visible:=false;
end
else
begin
MaskEdit1.Visible:=false;
MaskEdit2.Visible:=true;
end;
end;
procedure PoiskOperator (findStrAr:tmas);
varcurAb:LinkAbonent;
findTemp, findStr: AnsiString;
i, show, j: Integer;
tel:LinkTel;
begin
curAb:=TelephoneBook.nextAbonent;
while curAb<>nil do
begin
tel:=curAb.Tel;
while tel<>nil do
begin
curAb.show:=0;
if tel. typeTel=Mobile then
begin
findTemp:=tel.telephone;
if proverka (findStrAr, findTemp) then
begin
curAb.show:=1;
break;
end
else
if curAb. show=0 then
tel:=tel.nextTelephone
else break;
end
else
begin
curAb.show:=0;
tel:=tel.nextTelephone;
Continue;
end;
end;
curAb:=curAb.nextAbonent;
Continue;
end;
end;
procedure TForm1. ComboBox2Change (Sender: TObject);
begin
time:=0;
Timer1.Enabled:=true;
if Combobox2. ItemIndex=1 then
PoiskOperator (beeline)
else
if Combobox2. ItemIndex=2 then
PoiskOperator (megafon)
else
if Combobox2. ItemIndex=3 then
PoiskOperator (mtc)
else
if Combobox2. ItemIndex=4 then
PoiskOperator (tele2);
if Combobox2. ItemIndex=0 then
vykl ();
showListAbonent (ListBox1);
Timer1.Enabled:=false;
Label3.Caption:=FloatToStr (time)+' msec.';
end;
procedure vykl ();
varcurAb:LinkAbonent;
begin
curAb:=TelephoneBook.nextAbonent;
while curAb<>nil do
begin
curAb.show:=1;
curAb:=curAb.nextAbonent;
end;
end;
function proverka (mas:tmas; str: string):boolean;
var s: string;
i:integer;
begin
proverka:=false;
s:= copy (str, 1,3);
for i:=0 to 9 do
if mas [i]=s then
begin
proverka:=true;
break;
end;
end;
procedure TForm1. Timer1Timer (Sender: TObject);
begin
time:=time+1;
end;
end.
ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
unitUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class (TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
procedure Button1Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
function Nam ():string;
function Tel ():string;
function Teld ():string;
type tmas=array [1.33] of string;
var
Form1: TForm1;
n:integer;
fileBook:TextFile;
const
c:tmas=('Π°','Π±','Π²','Π³','Π΄','Π΅','Ρ','ΠΆ','Π·','ΠΈ','ΠΉ','ΠΊ','Π»','ΠΌ','Π½','ΠΎ','ΠΏ','Ρ','Ρ','Ρ','Ρ','Ρ','Ρ ','Ρ','
Ρ','Ρ','Ρ','Ρ','Ρ','Ρ','Ρ','Ρ','Ρ');
implementation
{$R *.dfm}
procedure TForm1. Button1Click (Sender: TObject);
var i: integer; Ne: string;
begin
AssignFile (fileBook,'c:test.tlb');
Rewrite (fileBook);
n:=StrToInt (Edit1.Text);
i:=0;
while i
begin
Writeln (fileBook,'$');
Writeln (fileBook, Nam ());
Writeln (fileBook, Nam ());
Writeln (fileBook, Nam ());
Writeln (fileBook,'');
Writeln (fileBook,'%');
Writeln (fileBook, Tel ());
Writeln (fileBook, Teld ());
Writeln (fileBook,'%');
Writeln (fileBook,'');
inc (i);
end;
CloseFile (fileBook);
end;
function Nam ():string;
vari, k: integer;
s:string;
begin
s:='';
for i:=1 to 3+random (10) do
begin
k:=round (random (33));
s:=s+c [k+1];
end;
Nam:=s;
end;
function Tel ():string;
var i: integer;
s:string;
begin
i:=1;
s:='';
while i<10 do
begin
s:=s+IntToStr (random (10));
inc (i);
end;
Tel:=s+'|1';
end;
function Teld ():string;
var i: integer;
s:string;
begin
s:='';
i:=1;
while i<10 do
begin
s:=s+IntToStr (random (10));
inc (i);
end;
Teld:=s+'|0';
end;
end.