ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°. ΠΠ°Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ B, C, D Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΠΠΠΠΠΠ ΠΠΠ₯ΠΠΠΠΠΠ, Π‘ΠΠΠ ΠΠ‘Π’Π¬, Π£Π‘ΠΠΠ ΠΠΠΠ, Π£Π ΠΠΠΠΠΠΠ ΠΠΠΠΠΠΠΠ― Π‘ΠΠ‘Π’ΠΠΠ« Π’ΠΠ, ΠΠΠΠΠΠΠ ΠΠΠΠΠΠ, Π£Π ΠΠΠΠΠΠΠ ΠΠ Π―ΠΠΠ Π¦Π΅Π»Ρ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ: ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΈ Π½Π°ΠΉΡΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π€Π΅Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π°Π³Π΅Π½ΡΡΡΠ²ΠΎ ΠΏΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π‘ΠΠΠΠ Π‘ΠΠΠ ΠΠΠ‘Π£ΠΠΠ Π‘Π’ΠΠΠΠΠ«Π ΠΠΠ ΠΠΠΠ‘ΠΠΠ§ΠΠ‘ΠΠΠ Π£ΠΠΠΠΠ Π‘ΠΠ’ΠΠ’ ΠΈΠΌΠ΅Π½ΠΈ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠΊΠ° Π‘.Π. ΠΠΠ ΠΠΠΠΠ ΠΠ°ΡΠ΅Π΄ΡΠ° Π»Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠΎΠ² ΠΠΠ―Π‘ΠΠΠ’ΠΠΠ¬ΠΠΠ― ΠΠΠΠΠ‘ΠΠ ΠΊ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅ ΠΠΠΠΠΠΠ ΠΠΠΠΠΠ Π ΠΠΠΠ’Π« Π‘ΠΠΠΠΠΠΠ ΠΠΠ₯ΠΠΠΠΠΠ Π‘Π°ΠΌΠ°ΡΠ° 2010
ΠΠΠΠΠΠΠ
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΡΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°.
1. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π² ΡΡΠ΅Π΄Π΅ Delphi 7 Ρ ΡΡΠ΅ΡΠΎΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΡΡΡΠΎΠ²ΡΡ ΡΠ°Π±ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ 230 301.
2. ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
3. ΠΡΠΎΡΠΌΠΈΡΡ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠΊΡ.
4. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠΊΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΊΠ°Π·Π°Π½ΠΈΠΉ
Β· ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ°: ΠΠ΅ΡΠΎΠ΄. Π£ΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ (ΠΊΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ°) Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² Π·Π°ΠΎΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ / Π‘Π°ΠΌΠ°Ρ.Π³ΠΎΡ.Π°ΡΡΠΎΠΊΠΎΡΠΌ. ΡΠ½-Ρ; Π‘ΠΎΡΡ. Π. Π. ΠΡΡΠ΅Π½ΠΊΠΎΠ². Π‘Π°ΠΌΠ°ΡΠ° 1999. 23 Ρ.
Β· Π‘Π’Π Π‘ΠΠΠ£ 2 068 410−004−2007 «ΠΠ±ΡΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΡΡΠ΅Π±Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ².» Π‘Π°ΠΌΠ°ΡΠ°, 2007.
Β· «ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²» / ΠΠ²ΡΠΎΡ-ΡΠΎΡΡΠ°Π²ΠΈΡΠ΅Π»Ρ Π. Π. ΠΠ»Π΅Π½Π΅Π², ΠΡΠΉΠ±ΡΡΠ΅Π². Π°Π²ΠΈΠ°Ρ. ΠΈΠ½-Ρ. ΠΡΠΉΠ±ΡΡΠ΅Π², 1987.
Π ΠΠ€ΠΠ ΠΠ’
ΠΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΠΊΠ° 30 ΡΡΡΠ°Π½ΠΈΡ, 7 ΡΠΈΡΡΠ½ΠΊΠΎΠ², 3 ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°.
ΠΠΠΠΠΠΠΠ ΠΠΠ₯ΠΠΠΠΠΠ, Π‘ΠΠΠ ΠΠ‘Π’Π¬, Π£Π‘ΠΠΠ ΠΠΠΠ, Π£Π ΠΠΠΠΠΠΠ ΠΠΠΠΠΠΠΠ― Π‘ΠΠ‘Π’ΠΠΠ« Π’ΠΠ, ΠΠΠΠΠΠΠ ΠΠΠΠΠΠ, Π£Π ΠΠΠΠΠΠΠ ΠΠ Π―ΠΠΠ Π¦Π΅Π»Ρ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ: ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΈ Π½Π°ΠΉΡΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ.
1. ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ Π·Π°Π΄Π°ΡΠΈ
2. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
3. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π
Π¦Π΅Π»ΡΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°, ΡΠΎΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΈΠ· Π΄Π²ΡΡ ΠΊΡΠΈΠ²ΠΎΡΠΈΠΏΠΎΠ², ΡΠ°ΡΡΠ½ΠΎΠ² ΠΈ ΠΏΠΎΠ»Π·ΡΠ½Π°. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ: Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π²ΡΠ΅Ρ Π΄Π»ΠΈΠ½, Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ³Π»Π° ΠΏΠΎΠ²ΠΎΡΠΎΡΠ°; ΠΏΠΎΠ΄ΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠΉ ΡΠΎΡΠ΅ΠΊ. Π ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ, Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈ.
Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠ°
1. ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠΉ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΡΡ . ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ° ΡΠ΄Π²ΠΈΠ³Π° ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ ΡΠΎΡΠ΅ΠΊ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ, Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π£ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π²Π΅Π΄ΡΡΠ΅Π³ΠΎ Π·Π²Π΅Π½Π°:
Π£ΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ C:
Π£ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ D:
Π£ΡΠ»ΠΎΠ²ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ Π·Π°Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ:
1.
BCΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΊΡΠ°ΠΉΠ½Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΠΈ B, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ C
2.
CEΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΊΡΠ°ΠΉΠ½Π΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΡΠΊΠΈ Π, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ Π‘
CEΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅2 Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²ΡΠΎΡΠΎΠΌ ΠΊΡΠ°ΠΉΠ½Π΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΡΠΊΠΈ Π.
2. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ±ΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΡ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2.
Π ΠΈΡΡΠ½ΠΎΠΊ — ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
3. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ — ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ. ΠΠ°Π»Π΅Π΅ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ «Π·Π°ΠΏΡΡΠΊ». ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡ Π·Π°ΠΊΠΎΠ½Π°ΠΌ ΡΠΈΠ·ΠΈΠΊΠΈ. ΠΠ»ΠΈΠ½Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π²Π½ΠΈΠ·Ρ ΡΠΎΡΠΌΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 3 — ΠΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ v (t) ΠΈ a (t)
Π ΠΈΡΡΠ½ΠΎΠΊ — Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ B ΠΎΡ t
Π ΠΈΡΡΠ½ΠΎΠΊ — Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ C ΠΎΡ t
Π ΠΈΡΡΠ½ΠΎΠΊ 10 — Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ D ΠΎΡ t
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°. ΠΠ°Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ B, C, D Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ°ΠΊ: Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π²ΡΠ΅Ρ ΡΠ·Π»ΠΎΠ², Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ³Π»Π° ΠΏΠΎΠ²ΠΎΡΠΎΡΠ°; ΠΏΠΎΠ΄ΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠΉ ΡΠΎΡΠ΅ΠΊ. Π ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠ°Π²ΠΊΠ°. Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π²ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
1. Π€Π°ΡΠΎΠ½ΠΎΠ², Π.Π. Delphi 7. Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅. Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ «ΠΠΈΡΠ΅Ρ» 2006.
2. ΠΡΡ Π°Π½Π³Π΅Π»ΡΡΠΊΠΈΠΉ, Π. Π―. Π―Π·ΡΠΊ Pascal ΠΈ ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Delphi. Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅. ΠΠΎΡΠΊΠ²Π° «ΠΠΈΠ½ΠΎΠΌ» 2004
3. Π‘Π’Π Π‘ΠΠΠ£ 2 068 410−004−2007. ΠΠ±ΡΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡΠ΅Π±Π½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌ. Π‘Π°ΠΌΠ°ΡΠ° 2007
ΠΠ ΠΠΠΠΠΠΠΠ Π
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Math, Menus, ComCtrls, Spin;
type
Pnt = record
x, y: integer;
end;
TForm1 = class (TForm)
img: TImage;
Timer1: TTimer;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
TrackBar1: TTrackBar;
TrackBar2: TTrackBar;
Panel1: TPanel;
Label11: TLabel;
L1: TSpinEdit;
L3: TSpinEdit;
L5: TSpinEdit;
L2: TSpinEdit;
L7: TSpinEdit;
L4: TSpinEdit;
L6: TSpinEdit;
Button1: TButton;
N2: TMenuItem;
N3: TMenuItem;
Label16: TLabel;
Label17: TLabel;
Label12: TLabel;
Label18: TLabel;
Label19: TLabel;
Label14: TLabel;
L8: TSpinEdit;
Label13: TLabel;
procedure N1Click (Sender: TObject);
procedure Timer1Timer (Sender: TObject);
procedure FormActivate (Sender: TObject);
procedure MoveB;
procedure MoveAB;
procedure MoveBC;
procedure MoveCD;
procedure MoveDE;
procedure DrawC;
procedure Reset;
procedure Dif (f1,f2:integer; var fp: real);
procedure DifDif (f1,f2,f3:integer; var fpp: real);
procedure Count (c, e: pnt; var d: pnt);
procedure DrawD (c, e: Pnt);
procedure TrackBar1Change (Sender: TObject);
procedure TrackBar2Change (Sender: TObject);
procedure L1Change (Sender: TObject);
procedure L3Change (Sender: TObject);
procedure L5Change (Sender: TObject);
procedure L2Change (Sender: TObject);
procedure L7Change (Sender: TObject);
procedure L4Change (Sender: TObject);
procedure DxChange (Sender: TObject);
procedure L6Change (Sender: TObject);
procedure ExChange (Sender: TObject);
procedure EyChange (Sender: TObject);
procedure Button1Click (Sender: TObject);
procedure Check (var ErrMsg: byte);
procedure ShowErr (ErrMsg:byte);
procedure Redraw;
procedure N2Click (Sender: TObject);
procedure N3Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
dx, dy, bc, ab, cd, de: integer;
t, dt, h: real;
A, B, C, D, E, b_old, b_next, c_old, c_next: Pnt;
ErrMsg:byte;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1. N1Click (Sender: TObject);
begin
if N1. Caption='ΠΠ°ΠΏΡΡΠΊ' then begin
N1.Caption:='ΠΡΡΠ°Π½ΠΎΠ²ΠΊΠ°';
Panel1.Enabled:=false;
Button1.Enabled:=false;
end
else begin
N1.Caption:='ΠΠ°ΠΏΡΡΠΊ';
Panel1.Enabled:=true;
Button1.Enabled:=true;
img.Canvas.Pen.Color:=ClWhite;
Redraw;
img.Canvas.Pen.Color:=ClBlack;
Reset;
end;
Timer1.Enabled:=Timer1.Enabled xor true;
end;
procedure TForm1. N2Click (Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1. N3Click (Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1. MoveB;
var fp: real;
begin
img.Canvas.Pen.Color:=ClWhite;
img.Canvas.Ellipse (b.x-10,b.y-10,b.x+10,b.y+10);
img.Canvas.Pen.Color:=clBlack;
b_old.x:=a.x+round (ab*cos (t-dt));
b_old.y:=a.y-round (ab*sin (t-dt)); //Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ
b.x:=a.x+round (ab*cos (t)); //ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ-ΡΠΈΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ
b.y:=a.y-round (ab*sin (t));
b_next.x:=a.x+round (ab*cos (t+dt));
b_next.y:=a.y-round (ab*sin (t+dt));
Dif (b_next.x, b_old.x, fp);
Label1.Caption:='Π‘ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΠΊΠΈ B ΠΏΠΎ Π₯ = '+floattostr (fp);
Dif (b_next.y, b_old.y, fp);
Label2.Caption:='Π‘ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΠΊΠΈ B ΠΏΠΎ Y = '+floattostr (-fp);
DifDif (b_next.x, b. x, b_old.x, fp);
Label6.Caption:='Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ B ΠΏΠΎ Π₯ = '+floattostr (fp);
DifDif (b_next.y, b. y, b_old.y, fp);
Label7.Caption:='Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ B ΠΏΠΎ Y = '+floattostr (-fp);
img.Canvas.Ellipse (b.x-10,b.y-10,b.x+10,b.y+10);
end;
procedure TForm1. MoveAB;
begin
img.Canvas.MoveTo (a.x, a. y);
img.Canvas.LineTo (b.x, b. y);
end;
procedure TForm1. MoveBC;
begin
img.Canvas.MoveTo (c.x, c. y);
img.Canvas.LineTo (b.x, b. y);
end;
procedure TForm1. MoveCD;
begin
img.Canvas.MoveTo (c.x, c. y);
img.Canvas.LineTo (d.x, d. y);
end;
procedure TForm1. MoveDE;
begin
img.Canvas.MoveTo (e.x, e. y);
img.Canvas.LineTo (d.x, d. y);
end;
procedure TForm1. Redraw;
begin
img.Canvas.Ellipse (a.x-10,a.y-10,a.x+10,a.y+10);
img.Canvas.Rectangle (a.x-10,a.y+5,a.x+10,a.y+10);
img.Canvas.Ellipse (b.x-10,b.y-10,b.x+10,b.y+10);
img.Canvas.Rectangle (c.x-20,c.y-10,c.x+20,c.y+10);
img.Canvas.Ellipse (c.x-10,c.y-10,c.x+10,c.y+10);
img.Canvas.MoveTo (10,c.y+9);
img.Canvas.LineTo (img.Width-10,c.y+9);
img.Canvas.Ellipse (e.x-10,e.y-10,e.x+10,e.y+10);
img.Canvas.Ellipse (d.x-10,d.y-10,d.x+10,d.y+10);
MoveAB;
MoveBC;
MoveCD;
MoveDE;
end;
procedure TForm1. L1Change (Sender: TObject);
begin
N1.Enabled:=false;
end;
procedure TForm1. L3Change (Sender: TObject);
begin
N1.Enabled:=false;
end;
procedure TForm1. Check (var ErrMsg: Byte);
var bb, temp_ac, temp_bc, ac, ce: integer;
k, temp_alpha, alpha: real;
c_temp, b_temp, d_temp:pnt;
begin
ErrMsg:=0;
ab:=round (sqrt (sqr (b.x-a.x)+sqr (b.y-a.y)));
bc:=round (sqrt (sqr (b.x-c.x)+sqr (b.y-c.y)));
cd:=round (sqrt (sqr (d.x-c.x)+sqr (d.y-c.y)));
de:=round (sqrt (sqr (d.x-e.x)+sqr (d.y-e.y)));
temp_ac:=bc-ab;
c_temp.y:=c.y;
temp_alpha:=(c.y-a.y)/temp_ac;
if (temp_alpha>=-1) and (temp_alpha<=1) then begin
alpha:=arccos (temp_alpha);
c_temp.x:=round (temp_ac*sin (alpha))+a.x;
k:=(a.y-c.y)/(a.x-c.x);
bb:=round (a.y-k*a.x);
b_temp.x:=a.x-round (ab*sin (alpha));
b_temp.y:=a.y-round (ab*cos (alpha));
ac:=round (sqrt (sqr (c_temp.x-a.x)+sqr (c_temp.y-a.y)));
temp_bc:=round (sqrt (sqr (b_temp.x-c_temp.x)+sqr (b_temp.y-c_temp.y)));
if temp_bc>bc then ErrMsg:=1;
ce:=round (sqrt (sqr (c_temp.x-e.x)+sqr (c_temp.y-e.y)));
if de+cd<=ce then ErrMsg:=2;
if (a.y+ab>=c.y-10) or (a.x-ab<=10) then ErrMsg:=3;
c_temp.x:=a.x+round (sqrt (sqr (ab+bc)-sqr (c.y-a.y)));
// Count (c_temp, e, d_temp);
// if (d_temp.x>img.Width) or (d_temp.y>c.y) then ErrMsg:=4;
ce:=round (sqrt (sqr (c_temp.x-e.x)+sqr (c_temp.y-e.y)));
if de+cd<=ce then ErrMsg:=5;
end
else
ErrMsg:=1;
end;
procedure TForm1. ShowErr (ErrMsg: Byte);
var s: string;
begin
case ErrMsg of
1: s:='ΠΡΠΈΠ±ΠΊΠ° Π·Π°Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠ΅ΠΊ A, B, C. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΎΡΡΠ΅Π·ΠΎΠΊ AB, Π»ΠΈΠ±ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ BC.';
2: s:='ΠΡΠΈΠ±ΠΊΠ° Π·Π°Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠ΅ΠΊ C, D, E. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΎΡΡΠ΅Π·ΠΊΠΈ CD ΠΈ DE.';
3: s:='ΠΡΠΈΠ±ΠΊΠ° Π·Π°Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΠΈ A ΠΈ B. Π‘Π»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π΄ΠΈΡΡ Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ ΠΊΡΠ°Π΅Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.';
4: s:='ΠΡΠΈΠ±ΠΊΠ° Π·Π°Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠ΅ΠΊ A, B, Π‘ ΠΈΠ»ΠΈ E. Π’ΠΎΡΠΊΠ° D Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ.';
5: s:='ΠΡΠΈΠ±ΠΊΠ° Π·Π°Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠ΅ΠΊ. ΠΡΡΠ΅Π·ΠΎΠΊ ΠΠ‘ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ.';
end;
MessageDlg (s, mtError,[mbOk], 0);
end;
procedure TForm1. Button1Click (Sender: TObject);
var alpha: real;
begin
img.Canvas.Pen.Color:=clWhite;
Redraw;
a.y:=c.y-L5.Value;
b.x:=a.x+L1.Value;
b.y:=a.y-L6.Value;
bc:=L2.Value;
alpha:=arccos ((L6.Value+L5.Value)/bc);
c.x:=b.x+round (bc*sin (alpha));
cd:=l3.Value;
de:=L4.Value;
e.x:=c.x+L7.Value;
e.y:=c.y-L8.Value;
Count (c, e, d);
img.Canvas.Pen.Color:=clBlack;
Redraw;
Check (ErrMsg);
if ErrMsg<>0 then ShowErr (ErrMsg) else begin
N1.Enabled:=true;
end;
end;
rocedure TForm1. L5Change (Sender: TObject);
begin
N1.Enabled:=false;
end;
procedure TForm1. L2Change (Sender: TObject);
begin
N1.Enabled:=false;
end;
procedure TForm1. Count (c, e: pnt; var d: pnt);
var CE, CF, DF: integer;
beta, alpha, g: real;
begin
CE:=round (sqrt (sqr (c.x-e.x)+sqr (c.y-e.y)));
beta:=arcsin ((e.x-c.x)/CE);
alpha:=arccos ((sqr (ce)+sqr (cd)-sqr (de))/(2*ce*cd));
g:=pi/2-beta-alpha;
CF:=round (CD*cos (g));
DF:=round (CD*sin (g));
d.x:=c.x+CF;
d.y:=c.y-DF;
end;
procedure TForm1. L7Change (Sender: TObject);
begin
N1.Enabled:=false;
end;
procedure TForm1. L4Change (Sender: TObject);
begin
N1.Enabled:=false;
end;
procedure TForm1. DrawD (c, e: Pnt);
var d_old, d_next:pnt;
fp:real;
begin
img.Canvas.Pen.Color:=clWhite;
img.Canvas.Ellipse (d.x-10,d.y-10,d.x+10,d.y+10);
Count (c_old, e, d_old);
Count (c, e, d);
Count (c_next, e, d_next);
Dif (d_next.x, d_old.x, fp);
Label4.Caption:='Π‘ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΠΊΠΈ D ΠΏΠΎ Π₯ = '+floattostr (fp);
Dif (d_next.y, d_old.y, fp);
Label5.Caption:='Π‘ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΠΊΠΈ D ΠΏΠΎ Y = '+floattostr (-fp);
DifDif (d_next.x, d. x, d_old.x, fp);
Label9.Caption:='Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ D ΠΏΠΎ Π₯ = '+floattostr (fp);
DifDif (d_next.y, d. y, d_old.y, fp);
Label10.Caption:='Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ D ΠΏΠΎ Y = '+floattostr (-fp);
img.Canvas.Pen.Color:=clBlack;
img.Canvas.Ellipse (d.x-10,d.y-10,d.x+10,d.y+10);
end;
procedure TForm1. DxChange (Sender: TObject);
begin
N1.Enabled:=false;
end;
procedure TForm1. L6Change (Sender: TObject);
begin
N1.Enabled:=false;
end;
procedure TForm1. ExChange (Sender: TObject);
begin
N1.Enabled:=false;
end;
procedure TForm1. EyChange (Sender: TObject);
begin
N1.Enabled:=false;
end;
procedure TForm1. Timer1Timer (Sender: TObject);
begin
t:=t+dt;
if t=2*pi then t:=0;
img.Canvas.Pen.Color:=clWhite; //ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΠΊΠΈΡΡΠΈ Π½Π° Π±Π΅Π»ΡΠΉ
MoveAB; //ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ΅Π·ΠΊΠΎΠ² ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ
MoveBC;
MoveCD;
MoveDE;
MoveB; //Π‘Π΄Π²ΠΈΠ³ Π²Π΅Π΄ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ B
DrawC; //Π‘Π΄Π²ΠΈΠ³ ΡΠΎΡΠΊΠΈ Π‘
DrawD (c, e); //ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ D
img.Canvas.Pen.Color:=clBlack; //ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ²Π΅Ρ ΠΊΠΈΡΡΠΈ Π½Π° ΡΠ΅ΡΠ½ΡΠΉ
img.Canvas.Ellipse (a.x-10,a.y-10,a.x+10,a.y+10);
img.Canvas.Rectangle (a.x-10,a.y+5,a.x+10,a.y+10);
img.Canvas.MoveTo (10,c.y+9);
img.Canvas.LineTo (img.Width-10,c.y+9);
img.Canvas.Ellipse (e.x-10,e.y-10,e.x+10,e.y+10);
MoveAB; //ΠΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ° ΠΎΡΡΠ΅Π·ΠΊΠΎΠ² Ρ Π½ΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ
MoveBC;
MoveCD;
MoveDE;
end;
procedure TForm1. TrackBar1Change (Sender: TObject);
begin
Timer1.Interval:=TrackBar1.Position*10;
end;
procedure TForm1. TrackBar2Change (Sender: TObject);
begin
dt:=TrackBar2.Position/100;
end;
procedure TForm1. DrawC;
var fp: real;
begin
img.Canvas.Pen.Color:=clWhite;
img.Canvas.Rectangle (c.x-20,c.y-10,c.x+20,c.y+10);
img.Canvas.Ellipse (c.x-10,c.y-10,c.x+10,c.y+10);
c_old.x:=b_old.x+round (sqrt (sqr (bc)-sqr (c.y-b_old.y)));
c.x:=b.x+round (sqrt (sqr (bc)-sqr (c.y-b.y)));
c_next.x:=b_next.x+round (sqrt (sqr (bc)-sqr (c.y-b_next.y)));
c_old.y:=c.y;
c_next.y:=c.y;
Dif (c_next.x, c_old.x, fp);
Label3.Caption:='Π‘ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΠΊΠΈ Π‘ = '+floattostr (fp);
DifDif (c_next.x, c. x, c_old.x, fp);
Label8.Caption:='Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ C = '+floattostr (fp);
img.Canvas.Pen.Color:=clBlack;
img.Canvas.Rectangle (c.x-20,c.y-10,c.x+20,c.y+10);
img.Canvas.Ellipse (c.x-10,c.y-10,c.x+10,c.y+10);
end;
procedure TForm1. Dif (f1,f2:integer; var fp: real);
begin
fp:=(f1-f2)/2*h;
end;
procedure TForm1. DifDif (f1: Integer; f2: Integer; f3: Integer; var fpp: Real);
begin
fpp:=(f1−2*f2+f3)/sqr (h);
end;
procedure TForm1. FormActivate (Sender: TObject);
begin
Reset;
end;
procedure TForm1. Reset;
begin
t:=1;
dt:=0.01;
h:=Timer1.Interval/100;
b.x:=280; b. y:=120;
a.x:=200; a. y:=200;
c.x:=500; c. y:=330;
d.x:=650; d. y:=270;
e.x:=530; e. y:=100;
// Ax. Value:=a.x;
// Ay. Value:=a.y;
// Bx. Value:=b.x;
// By. Value:=b.y;
// Cx. Value:=c.x;
// Cy. Value:=c.y;
// Dx. Value:=d.x;
// Dy. Value:=d.y;
// Ex. Value:=e.x;
// ab:=round (sqrt (sqr (b.x-a.x)+sqr (b.y-a.y)));
bc:=round (sqrt (sqr (b.x-c.x)+sqr (b.y-c.y)));
cd:=round (sqrt (sqr (d.x-c.x)+sqr (d.y-c.y)));
de:=round (sqrt (sqr (d.x-e.x)+sqr (d.y-e.y)));
// CD:=220;
// DE:=150;
ab:=100;
// Redraw
end;