ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС Delphi Π½Π° языкС программирования Object Pascal

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ часто приходится Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ вычислСния Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌ, Π½ΠΎ ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ значСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ ΡΡ‚ΠΎΠΌ случаС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ части цСлСсообразно ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ — ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ИспользованиС ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ освобоТдаСт ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΡ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС Delphi Π½Π° языкС программирования Object Pascal (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
    • 1. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ
    • 1.1 Π—Π°Π΄Π°Ρ‡Π° 1. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ модСль
    • 1.2 Π—Π°Π΄Π°Ρ‡Π° 2. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ модСль
    • 2. Алгоритмы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡
    • 2.1 Π—Π°Π΄Π°Ρ‡Π° 1. Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ
    • 2.2 Π—Π°Π΄Π°Ρ‡Π° 2. Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ
    • 3. ОписаниС основных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²
    • 4. ВСкст ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
    • 5. Π€ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
    • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
    • Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников
    • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

ЦСлью курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ Π½Π°Π²Ρ‹ΠΊΠΎΠ² программирования ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡ… Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС Delphi Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Object Pascal.

Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE) — это срСда, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ прСдоставляСтся всё Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для написания, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, запуска ΠΈ Ρ‚Сстирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Она позволяСт Π² ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠ΅ сроки ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ прилоТСния, Π½Π° Ρ…ΠΎΠ΄Ρƒ проСктируя ΠΈ Π²ΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½ΡΡ ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс.

Π’ ΡΠΎΡΡ‚Π°Π² IDE Π²Ρ…ΠΎΠ΄ΠΈΡ‚ нСсколько элСмСнтов: Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π°, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, Π½Π°Π±ΠΎΡ€ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ инструмСнтов, ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, инструмСнтарий Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Ρ€Π΅Π΄Π° Delphi — ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… систСм, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Rapid Application Development — RAD) ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ конструирования (Visual Design). ВСхнология Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ конструирования содСрТит Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… строится интСрфСйс Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ особСнности срСды Delphi: Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ конструированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, использованиС Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²-Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΊ для Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языков программирования, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ мноТСства Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΡ… ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΡ… написаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π—Π°Π΄Π°Ρ‡Π°ΠΌΠΈ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся: ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ основы Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΡΡ€Π΅Π΄Π΅ Delphi; ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ основныС этапы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ Π½Π° Π­Π’Πœ; Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ матСматичСскиС ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡; ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ составлСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡; ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π­Π’Πœ.

1. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ

1.1 Π—Π°Π΄Π°Ρ‡Π° 1. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ модСль

Π’ Π·Π°Π΄Π°Ρ‡Π΅ ΠΏΠΎ Π°Π½Π°Π»ΠΈΡ‚ичСской Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для нахоТдСния расстояния ΠΎΡ‚ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΉ стороны Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. Для этого Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ прямой, проходящСй Ρ‡Π΅Ρ€Π΅Π· Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (Ρ…1, Ρƒ1) ΠΈ (Ρ…2, Ρƒ2) Π² ΠΎΠ±Ρ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ [2]:

Ax + By + C=0, (1.1)

А= Ρƒ2 — Ρƒ1, (1.2)

Π’= Ρ…1 — Ρ…2, (1.3)

Π‘= - Ρ…1β€’ (Ρƒ2 — Ρƒ1) + Ρƒ1β€’ (Ρ…2 — Ρ…1). (1.4)

РасстояниС ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (Ρ…4, Ρƒ4), Π΄ΠΎ ΠΏΡ€ΡΠΌΠΎΠΉ, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ (1.1), ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Ρ‚Π°ΠΊ [2]:

d =. (1.5)

Π’ Π·Π°Π΄Π°Ρ‡Π΅ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° (Ρ…1, Ρƒ1), (Ρ…2, Ρƒ2), (Ρ…3, Ρƒ3) Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ (1.5) Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ, для нахоТдСния расстояния ΠΊ Ρ‚Ρ€Π΅ΠΌ сторонам Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. А Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ наимСньшСС ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ искомым расстояниСм.

ΠŸΡƒΡΡ‚ΡŒ стороны Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ a, b, c. НайдСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ сторон Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌ (1.2), (1.3), (1.4).

Для стороны Π°: a1=y2-y1; b1=x1-x2; c1= (-x1) β€’ (y2-y1) +y1β€’ (x2-x1).

Для стороны b: a2=y3-y2; b2=x2-x3; c2= (-x2) β€’ (y3-y2) +y2β€’ (x3-x2).

Для стороны c: a3=y1-y3; b1=x3-x1; c3= (-x3) β€’ (y1-y3) +y3β€’ (x1-x3).

РасстояниС ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (Ρ…4, Ρƒ4), Π΄ΠΎ ΡΡ‚ΠΎΡ€ΠΎΠ½ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° a, b, c ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ (1.5):

d1 =;

d2 =;

d3 =.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ систСму ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. Если Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ (1.5) нахоТдСния расстояния ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (Ρ…4, Ρƒ4), Π΄ΠΎ ΠΏΡ€ΡΠΌΠΎΠΉ, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ (1.1), Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ ΠΈ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ условиСм сущСствования выраТСния являСтся нСравСнство [2]:

? 0. (1.6)

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, примСняя Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ (1.6) для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ запишСм систСму ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ:

. (1.7)

По ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ исходными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅Ρ€ΡˆΠΈΠ½ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, поэтому систСму ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ для Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ условиСм сущСствования Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°:

. (1.8)

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π΄Π»ΠΈΠ½Ρ‹ сторон Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ [2]:

d=. (1.9)

Для Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° со ΡΡ‚ΠΎΡ€ΠΎΠ½Π°ΠΌΠΈ a, b, c Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° (1.9) ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

a=,

b=,

c=.

ВычислСнныС Π΄Π»ΠΈΠ½Ρ‹ сторон Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ ΡΠΈΡΡ‚Π΅ΠΌΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ (1.8). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² Π·Π°Π΄Π°Ρ‡Π΅ рассматриваСтся Π΄Π²Π΅ систСмы ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ (1.7), (1.8) для Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΈ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ условия сущСствования Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

1.2 Π—Π°Π΄Π°Ρ‡Π° 2. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ модСль

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΏΠΎ Ρ‚СорСтичСской ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΡΠΎΠΎΡ‚вСтствии с ΠΊΠΈΠ½Π΅ΠΌΠ°Ρ‚ичСской схСмой, рисунок 1 (ΠšΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ схСма).

Рисунок 1 — ΠšΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ схСма

На Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ (рисунок 1 (ΠšΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ схСма)) имССтся ΠΎΠ΄Π½Π° нСподвиТная ΠΎΠΏΠΎΡ€Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Ρ‹ΠΉ Π±Π°Ρ€Π°Π±Π°Π½, ΠΊ Π½Π΅ΠΌΡƒ Π½Π° ΡˆΠ°Ρ€Π½ΠΈΡ€Π°Ρ… ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹ стСрТни. Один ΡΡ‚Π΅Ρ€ΠΆΠ΅Π½ΡŒ связан ΡˆΠ°Ρ€Π½ΠΈΡ€ΠΎΠΌ с ΠΏΠΎΠ»Π·ΡƒΠ½ΠΎΠΌ ΠΈ Π΄Π²ΠΈΠΆΠ΅Ρ‚ся вдоль Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ. Π”Ρ€ΡƒΠ³ΠΎΠΉ ΡΡ‚Π΅Ρ€ΠΆΠ΅Π½ΡŒ ΡˆΠ°Ρ€Π½ΠΈΡ€ΠΎΠΌ соСдинСн с Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΉ осью ΠΈ Π΄Π²ΠΈΠΆΠ΅Ρ‚ся Π² Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π°Π΄Π°Π½Π° пСрСмСнная W. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ опрСдСляСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ W. Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ полоТСния Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ Π·Π²Π΅Π½Π° измСняСтся ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π² Ρ†Π΅Π»ΠΎΠΌ. Π’Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π΅ΡΡ Π·Π²Π΅Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΈ Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²ΠΎΠΉ систСмы ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. Π—Π°Π΄Π°Π΄ΠΈΠΌ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°, рисунок 2 (Π’ΠΎΡ‡ΠΊΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°).

Рисунок 2 — Π’ΠΎΡ‡ΠΊΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°

На ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ схСмы ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2 (Π’ΠΎΡ‡ΠΊΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°), составим ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ модСль, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΡƒΡŽ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡƒΠ³Π»Π° W. Π’ ΡΠ²ΡΠ·ΠΈ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ гСомСтричСских ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ Π·Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Ρƒ систСму ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ с Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ осСй X ΠΈ Y.

Радиус окруТности Π±Π°Ρ€Π°Π±Π°Π½Π° Π·Π°Π΄Π°Π΅Ρ‚ сам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ΅, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ OD = OB = R. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ О (Ρ…0, Ρƒ0) Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π Π°Π·ΠΌΠ΅Ρ€ стСрТнСй принимаСтся Π·Π° ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π£Π³ΠΎΠ» W Π·Π°Π΄Π°Π΅Ρ‚ся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² Ρ„ΠΎΡ€ΠΌΠ΅. ИзмСняя Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠ³Π»Π° W, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ D.

ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ Ρ‚ΠΎΡ‡ΠΊΠΈ D Π½Π° ΠΎΡΡŒ Ρ… Ρ€Π°Π²Π½Π° [2]: ODx = OD β€’ cos W= R β€’ cos W.

ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ Ρ‚ΠΎΡ‡ΠΊΠΈ D Π½Π° ΠΎΡΡŒ y Ρ€Π°Π²Π½Π° [2]: ODy = OD β€’ sin W= R β€’ sin W.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ B. Для этого ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ ΡƒΠ³Π»Π° W1. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Ρ€ΠΈΡΡƒΠ½ΠΊΠ° 2 (Π’ΠΎΡ‡ΠΊΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°) Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ вСсь ΡƒΠ³ΠΎΠ» являСтся Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΌ ΠΈ Ρ€Π°Π²Π΅Π½ 1800, исходя, ΠΈΠ· ΡΡ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ ΡƒΠ³Π»Π° W1:

W1=1800 — 900 — W = 900 — W.

ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ Ρ‚ΠΎΡ‡ΠΊΠΈ B Π½Π° ΠΎΡΡŒ Ρ… Ρ€Π°Π²Π½Π° [2]: OBx = OB β€’ cos (90 0 — W) = R β€’ sin W.

ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ Ρ‚ΠΎΡ‡ΠΊΠΈ B Π½Π° ΠΎΡΡŒ y Ρ€Π°Π²Π½Π° [2]: OBy = OB β€’ sin (90 0 — W) = R β€’ cos W.

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π½Π° стСрТнСй ΠΠ’ ΠΈ DC Π·Π°Π΄Π°Π½Π° константой Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ Π‘ ΠΈ А.

ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ C.

ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ Ρ‚ΠΎΡ‡ΠΊΠΈ Π‘ Π½Π° ΠΎΡΡŒ Ρ… Ρ€Π°Π²Π½Π°: DΠ‘x = Ρ…0 +DΠ‘ β€’ cos W.

ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ Ρ‚ΠΎΡ‡ΠΊΠΈ Π‘ Π½Π° ΠΎΡΡŒ y Ρ€Π°Π²Π½Π°: DΠ‘y = Ρƒ0+DΠ‘.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ А.

ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ Ρ‚ΠΎΡ‡ΠΊΠΈ, А Π½Π° ΠΎΡΡŒ Ρ… Ρ€Π°Π²Π½Π°: АВx = Ρ…0 — АВ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ Ρ‚ΠΎΡ‡ΠΊΠΈ, А Π½Π° ΠΎΡΡŒ y Ρ€Π°Π²Π½Π°: АВy = Ρƒ0+АВ β€’ cos W1.

2. Алгоритмы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡

Алгоритм — Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ прСдписаниС, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс, Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΠΎΡ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ ΠΈΡΠΊΠΎΠΌΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ свойства Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΡΡ‚ΡŒ: указания, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΈΠΌΠΈ ΠΈ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ΠΌΠΈ, Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ двоякого толкования;

Π΄ΠΈΡΠΊΡ€Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ поэтапной Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡƒΡ‚Π΅ΠΌ разлоТСния любой слоТной структуры Π½Π° Ρ€ΡΠ΄ простых, строго ΠΎΡ‡Π΅Ρ€Ρ‡Π΅Π½Π½Ρ‹Ρ… дСйствий;

ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ: Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ дСйствий;

Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ: конСчная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‹Π΄Π°Ρ‡Π΅ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ сообщСниСм ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ;

Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс Π΄ΠΎΠ»ΠΆΠ΅Π½ привСсти ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ Π·Π° Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠ΅Π΅ врСмя ΠΏΡ€ΠΈ минимальном использовании рСсурсов ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°;

ΠΌΠ°ΡΡΠΎΠ²ΠΎΡΡ‚ΡŒ: Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ мноТСства ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Π½Π° Ρ„изичСском носитСлС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами:

словСсный (Π²Π΅Ρ€Π±Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅): срСдствами языка чСловСчСского общСния с Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ слов ΠΈ Ρ„Ρ€Π°Π·;

структурно-стилизованный: языком псСвдокодов;

графичСский: схСмами ΠΈΠ· Π³Ρ€Π°Ρ„ичСских Π±Π»ΠΎΠΊ — символов;

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ: тСкстами ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

2.1 Π—Π°Π΄Π°Ρ‡Π° 1. Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ 1 Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, прСдставлСнный Π² Π³Ρ€Π°Ρ„ичСском Π²ΠΈΠ΄Π΅. На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3 (Π‘Π»ΠΎΠΊ-схСма Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ1) прСдставлСн Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊ-схСмы, Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4 (Π‘Π»ΠΎΠΊ-схСма ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π°Π΄Π°Ρ‡ΠΈ1) прСдставлСна Π±Π»ΠΎΠΊ-схСма ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для вычислСния расстояния Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΉ стороны.

+ ?

+ ?

Рисунок 3 — Π‘Π»ΠΎΠΊ-схСма Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ 1

ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ часто приходится Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ вычислСния Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌ, Π½ΠΎ ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ значСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ ΡΡ‚ΠΎΠΌ случаС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ части цСлСсообразно ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ — ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ИспользованиС ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ освобоТдаСт ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΡ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ тСкста, Π½ΠΎ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, позволяСт ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΠΈΡ‡Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π’ Delphi ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡŽΡ‚ Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ входят Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΡƒΡ‚Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ описания. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π±Ρ‹Π»Π° использована ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, оформлСнная Π² Π²ΠΈΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, рисунок 4 (Π‘Π»ΠΎΠΊ-схСма ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π°Π΄Π°Ρ‡ΠΈ 1).

Ѐункция ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ? это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² оформлСния ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ части ΠΎΠ±Ρ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. Ѐункция ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для вычислСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ся Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΈΠΌΠ΅Π½Π΅ΠΌ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, записываСмыС Π² ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ фактичСскими, Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ,? Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π’ Ρ‚Π΅Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания, Π³Π΄Π΅ Π² Π»Π΅Π²ΠΎΠΉ части стоит имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° Π² ΠΏΡ€Π°Π²ΠΎΠΉ — Π΅Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π˜Π½Π°Ρ‡Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ.

Рисунок 4 — Π‘Π»ΠΎΠΊ-схСма ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π°Π΄Π°Ρ‡ΠΈ 1

2.2 Π—Π°Π΄Π°Ρ‡Π° 2. Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

На ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ созданной матСматичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ 2 составим Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прилоТСния.

Алгоритм прилоТСния Π·Π°Π΄Π°Ρ‡ΠΈ 2 являСтся Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ, Π² Π½Ρ‘ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ΄Π½Π° Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π² Π΅ΡΡ‚СствСнном ΠΈ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΠΎΠΌ порядкС слСдования. ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ соСдинСниС логичСской связью ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².

Для простых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π±Π»ΠΎΠΊ — схСмы Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Боставим Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π² Π²Π΅Ρ€Π±Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

Π’ ΡΠ²ΡΠ·ΠΈ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ гСомСтричСских характСристик систСмы Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ W, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… дСйствий:

Π²Π²ΠΎΠ΄ значСния радиуса Π±Π°Ρ€Π°Π±Π°Π½Π° ®;

ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ констант (Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ стСрТнСй ΠΠ’ ΠΈ Π‘D);

ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ значСния ΡƒΠ³Π»Π° W;

ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ полоТСния Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ О (Ρ…0, Ρƒ0);

ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ W1;

ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°;

ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ рисованиС элСмСнтов Π½Π° ΡΠΊΡ€Π°Π½Π΅;

Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прилоТСния.

3. ОписаниС основных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

ΠŸΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π·Π°Π΄Π°Ρ‡ΠΈ 1 использовался условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€. Он ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ условиС ΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ дСйствиС. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ — это срСдство вСтвлСния Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ процСсса.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄ [1]:

if <�условиС> then <οΏ½ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€1> else <οΏ½ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€2>,

Π³Π΄Π΅: if/ then/ else — Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова (Ссли, Ρ‚ΠΎ, ΠΈΠ½Π°Ρ‡Π΅);

<�условиС> - ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ логичСского Ρ‚ΠΈΠΏΠ°;

<οΏ½ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€1>, <οΏ½ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€2> - Π»ΡŽΠ±Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ языка Object Pascal.

Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ. Π’Π½Π°Ρ‡Π°Π»Π΅ вычисляСтся условноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ <�условиС>. Если Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΅ΡΡ‚ΡŒ True (истина), Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся <οΏ½ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€1>, Π° <οΏ½ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€2> пропускаСтся; Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΅ΡΡ‚ΡŒ False (лоТь), Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, <οΏ½ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€1> пропускаСтся, Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся <οΏ½ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€2>. Условными Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ выраТСния, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: истина ΠΈΠ»ΠΈ лоТь. Π’Π°ΠΊΠΈΠ΅ выраТСния Ρ‡Π°Ρ‰Π΅ всСго ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ сравнСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ =, <>, >, >=, <, <=. Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ логичСскиС выраТСния ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ and (логичСскоС И), or (логичСскоС Π˜Π›Π˜) ΠΈ not (логичСскоС НЕ).

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прилоТСния Π·Π°Π΄Π°Ρ‡ΠΈ1 использовались ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

функция прСобразования Ρ‚ΠΈΠΏΠ°

StrToFloat (const S: string): Extended;

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строку S Π² Π²Π΅Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ число. Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°ΠΊ, Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈ Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎΠΌ для записи дСсятичных Π΄Ρ€ΠΎΠ±Π΅ΠΉ. Π’Π°ΠΊΠΆΠ΅ строка ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ мантиссу, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· Π·Π½Π°ΠΊΠ°, Π±ΡƒΠΊΠ²Ρ‹ Π• ΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа. ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ строки ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. Если S ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅;

функция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ прСобразования Ρ‚ΠΈΠΏΠ°

FloatToStr (Value: Extended): String;

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ вСщСствСнноС число Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚ΠΈΠΏΠ° string. Π‘Ρ‚Ρ€ΠΎΠΊΠ°, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° задаСтся Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ отобраТСния;

матСматичСская функция

Abs (n);

Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n ;

матСматичСская функция

Sqrt (n);

ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΈΠ· n (n? 0);

матСматичСская функция

Sqr (n);

Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ n.

Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ 1 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий, происходящих Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅, ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… создан Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния:

procedure Button1Click (Sender: TObject); - Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Button1;

procedure Button2Click (Sender: TObject); - Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Button2;

procedure Button3Click (Sender: TObject); - Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Button3.

Для опрСдСлСния расстояния Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΉ стороны Π² Π·Π°Π΄Π°Ρ‡Π΅ 1 Π±Ρ‹Π»Π° написана ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ функция function Rj (k, x, n, y, m: real): real;.

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прилоТСния Π·Π°Π΄Π°Ρ‡ΠΈ 2 использовались ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

функция прСобразования Ρ‚ΠΈΠΏΠ°

StrToInt (const S: string): Integer;

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строку S, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ записано Ρ†Π΅Π»ΠΎΠ΅ число, Π² Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ;

функция прСобразования Ρ‚ΠΈΠΏΠ°

Round (x: real): integer;

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ вСщСствСнноС число Π² Ρ†Π΅Π»ΠΎΠ΅ ;

матСматичСская функция Sin (a); - синус ΡƒΠ³Π»Π° Π°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ… ;

матСматичСская функция Cos (a); - косинус ΡƒΠ³Π»Π° Π°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ….

Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ 2 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий, происходящих Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅, ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… создан Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния:

procedure Button1Click (Sender: TObject); - Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Button1;

procedure SpinEdit1Change (Sender: TObject); - ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ содСрТимого SpinEdit.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Canvas, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рисованиС Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ… Ρ„ΠΎΡ€ΠΌΡ‹:

MoveTo (x, y) — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ (x, y) ΠΊΠ°Ρ€Π°Π½Π΄Π°Ρˆ, Π½Π΅ Π²Ρ‹Ρ‡Π΅Ρ€Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… графичСских ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²;

LineTo (x, y) — рисуСт линию, рисованиС осущСствляСтся ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΊΠ°Ρ€Π°Π½Π΄Π°ΡˆΠ° Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ (Ρ…, Ρƒ);

Rectangle (x1,y1,x2,y2) — рисуСт ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ x1, y1, x2, y2 — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ находящихся Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΡƒΠ³Π»ΠΎΠ² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°;

Ellipse (x1,y1,x2,y2) — рисуСт эллипс, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ x1, y1, x2, y2 — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ³Π»ΠΎΠ² области, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вычСрчиваСтся эллипс;

TextOut (x, y, <�ВСкст>); - Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (Ρ…, Ρƒ) Π·Π°Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ тСкста Π½Π° ΡΠΊΡ€Π°Π½Π΅, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ <�ВСкст> содСрТит строку тСкста, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ.

ΠŸΡ€ΠΈ рисовании графичСских ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² использовался ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «ΠΊΠ°Ρ€Π°Π½Π΄Π°Ρˆ» (Canvas. Pen), с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π³ΠΎ прорисовка Π»ΠΈΠ½ΠΈΠΉ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ»Π°ΡΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½ΠΎΠΉ ΠΈ Ρ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ стилСм [1]:

Pen. Style: =; - опрСдСляСт Π²ΠΈΠ΄ Π»ΠΈΠ½ΠΈΠΈ (задаСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ константами: psSolid — сплошная линия, psDot — пунктирная линия с ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ ΡˆΡ‚Ρ€ΠΈΡ…Π°ΠΌΠΈ, psDash — пунктирная линия с Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ ΡˆΡ‚Ρ€ΠΈΡ…Π°ΠΌΠΈ);

Pen. Width: =<�числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ…>; - Π·Π°Π΄Π°Π΅Ρ‚ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρƒ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ….

4. ВСкст ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния ΠΊ Π·Π°Π΄Π°Ρ‡Π΅ 1.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Math;

type

TForm1 = class (TForm)

Button1: TButton;

Button2: TButton;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Edit8: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label8: TLabel;

Button3: TButton;

Label9: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

procedure Button2Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *. dfm}

procedure TForm1. Button2Click (Sender: TObject);

begin

close;

end;

procedure TForm1. Button3Click (Sender: TObject);

begin

Label15. Caption: = ('');

end;

procedure TForm1. Button1Click (Sender: TObject);

var

x1,x2,x3,x0,y1,y2,y3,y0: real;

a, b, c, a1, b1,c1,a2,b2,c2,a3,b3,c3,t1,t2,t3: real;

d1,d2,d3,d: real;

h, g, w: real;

// ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° опрСдСлСния расстояния Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΉ стороны

function Rj (k, x, n, y, m: real): real;

var

d0: real;

begin

d0: =abs (k*x+n*y+m) / (sqrt (sqr (k) +sqr (n)));

Rj: =d0;

end;

begin

// Π²Π²ΠΎΠ΄ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π²Π΅Ρ€ΡˆΠΈΠ½ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°

x1: =strtofloat (edit1. text);

y2: =strtofloat (edit2. text);

x2: =strtofloat (edit3. text);

y2: =strtofloat (edit4. text);

x3: =strtofloat (edit5. text);

y3: =strtofloat (edit6. text);

// Π²Π²ΠΎΠ΄ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ

x0: =strtofloat (edit7. text);

y0: =strtofloat (edit8. text);

// вычислСниС Π΄Π»ΠΈΠ½ сторон Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°

a: =sqrt (sqr (x2-x1) +sqr (y2-y1));

b: =sqrt (sqr (x3-x2) +sqr (y3-y2));

c: =sqrt (sqr (x1-x3) +sqr (y1-y3));

// ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условий сущСствования Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°

h: = a+b; g: =b+c; w: =a+c;

if ((a>=g) or (b>=w) or (c>=h)) then Label15. Caption: ='НСт Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ'

else begin

// вычислСниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ сторон Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°

a1: =y2-y1; b1: =x1-x2; c1: = (-x1) * (y2-y1) +y1* (x2-x1);

a2: =y3-y2; b2: =x2-x3; c2: = (-x2) * (y3-y2) +y2* (x3-x2);

a3: =y1-y3; b1: =x3-x1; c3: = (-x3) * (y1-y3) +y3* (x1-x3);

t1: =sqrt (sqr (a1) +sqr (b1));

t2: =sqrt (sqr (a2) +sqr (b2));

t3: =sqrt (sqr (a3) +sqr (b3));

// ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условия сущСствования Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ для нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ расстояния

if ((t1=0) or (t2=0) or (t3=0)) then Label15. Caption: ='НСт Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ'

else begin

// вычислСниС ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ расстояния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊ Ρ‚Ρ€Π΅ΠΌ сторонам Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°

d1: =Rj (a1,x0,b1,y0,c1);

d2: =Rj (a2,x0,b2,y0,c2);

d3: =Rj (a3,x0,b3,y0,c3);

// Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ наимСньшСго значСния

if ((d1<=d2) and (d1<=d3)) then d: =d1 else

if ((d2<=d1) and (d2<=d3)) then d: =d2 else d: =d3;

end;

Label15. Caption: ='d='+floattostr (d) +'см';

end; end;

end.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния ΠΊ Π·Π°Π΄Π°Ρ‡Π΅2.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, Spin, Math;

type

TForm1 = class (TForm)

Panel1: TPanel;

Label1: TLabel;

Label3: TLabel;

Button1: TButton;

Panel2: TPanel;

Image1: TImage;

SpinEdit1: TSpinEdit;

Label2: TLabel;

Edit1: TEdit;

procedure Button1Click (Sender: TObject);

procedure SpinEdit1Change (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *. dfm}

procedure TForm1. Button1Click (Sender: TObject);

begin

close;

end;

procedure TForm1. SpinEdit1Change (Sender: TObject);

var

// ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ основных Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°

xd, xb, xa, xc, x0, yd, yb, ya, yc, y0, o1,o2,o3,o4: integer;

// значСния радиуса Π±Π°Ρ€Π°Π±Π°Π½Π° ΠΈ ΡΡ€Π΅Ρ€ΠΆΠ½Π΅ΠΉ

od, dc, ab, ob, R: integer;

// ΡƒΠ³Π»Ρ‹

w, w1: real;

begin

// Π²Π²ΠΎΠ΄ значСния радиуса Π±Π°Ρ€Π°Π±Π°Π½Π°

R: =StrToInt (Edit1. Text);

od: =round ®;

ob: =round (od);

// Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² стСрТнСй

dc: =90;

ab: =70;

// ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ значСния ΡƒΠ³Π»Π° W

W: =spinedit1. value*pi/180;

// Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅ΠΉ Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚

x0: =round (form1. image1. width/2);

y0: =round (form1. image1. height/2);

// вычислСниС значСния ΡƒΠ³Π»Π° W1

w1: =pi-pi/2-w;

// вычислСниС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°

xd: =x0+round (od*cos (w));

yd: =y0-round (od*sin (w));

xb: =x0-round (ob*cos (w1));

yb: =y0-round (ob*sin (w1));

xc: =x0+round (dc*cos (w));

yc: =y0+round (dc);

xa: =x0-round (ab);

ya: =y0+round (ab*cos (w1));

o1: =round (x0-od);

o2: =round (y0-od);

o3: =round (x0+od);

o4: =round (y0+od);

// рисованиС элСмСнтов систСмы Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ основных Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°

form1. image1. picture: =nil;

with form1. image1. canvas do

begin

ellipse (o1,o2,o3,o4);

ellipse (xd-3, yd-3, xd+3, yd+3);

ellipse (xb-3, yb-3, xb+3, yb+3);

moveto (x0,y0);

Pen. Style: =psDot;

lineto (xd, yd);

moveto (x0,y0);

lineto (xb, yb);

Pen. Style: =psSolid;

moveto (xc, yc);

Rectangle (xc+10,yc+8,xc-10,yc-8);

Lineto (xc+400,yc);

lineto (xc-400,yc);

moveto (xc, yc+10);

Pen. Width: =2;

lineto (400,yc+10);

lineto (150,yc+10);

moveto (xc, yc-10);

lineto (400,yc-10);

lineto (150,yc-10);

moveto (xd, yd);

Pen. Width: =1;

lineto (xc, yc);

ellipse (xc-3, yc-3, xc+3, yc+3);

moveto (xb, yb);

lineto (xa, ya);

ellipse (xa-3, ya-3, xa+3, ya+3);

moveto (xa, ya);

Pen. Width: =2;

lineto (xa, ya+400);

lineto (xa, ya-400);

Pen. Width: =1;

moveto (xd+5,yd-8);

Textout (xd+5,yd-8,'D');

moveto (xb-5,yb-15);

Textout (xb-5,yb-15,'B');

moveto (xa-15,ya-8);

Textout (xa-15,ya-8,'A');

moveto (xc+10,yc-25);

Textout (xc+10,yc-25,'C');

moveto (x0+1,y0+1);

Textout (x0+1,y0+1,'O');

moveto (x0,y0+R);

Textout (x0,y0+R+3,'P');

Pen. Width: =2;

Lineto (x0+20,y0+R);

Lineto (x0−20,y0+R);

end;

end;

end.

5. Π€ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Одним ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Ρ… элСмСнтов прилоТСния являСтся Ρ„ΠΎΡ€ΠΌΠ°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ управляСт событиями, происходящими Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния.

Π€ΠΎΡ€ΠΌΠ°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, являСтся основой Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Delphi. Она прСдставляСт собой ΠΎΠΊΠ½ΠΎ создаваСмого прилоТСния, опрСдСляСт интСрфСйс прилоТСния для общСния с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ΅ располоТСниС ΠΈ ΡΠ²ΠΎΠΉΡΡ‚Π²Π° (Ρ†Π²Π΅Ρ‚, Ρ€Π°Π·ΠΌΠ΅Ρ€) элСмСнтов интСрфСйса для придания Π΅ΠΌΡƒ большСй эргономичности.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ 1 Π² Delphi Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ΠΈΠ΄ ΠΎΠΊΠ½Π° прилоТСния Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ вычислСний прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 5 (Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° прилоТСния Π·Π°Π΄Π°Ρ‡ΠΈ 1).

Рисунок 5 — Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° прилоТСния Π·Π°Π΄Π°Ρ‡ΠΈ 1

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 6 (Π€ΠΎΡ€ΠΌΠ° прилоТСния с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ вычислСний Π·Π°Π΄Π°Ρ‡ΠΈ 1) прСдставлСна Ρ„ΠΎΡ€ΠΌΠ° прилоТСния с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ вычислСний. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° прилоТСния ΠΊ Π·Π°Π΄Π°Ρ‡Π΅ 1 ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ А.9 (Π€ΠΎΡ€ΠΌΠ° прилоТСния с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ вычислСний Π·Π°Π΄Π°Ρ‡ΠΈ 1), Π³Π΄Π΅ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΈ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ Π’.10 (Π€ΠΎΡ€ΠΌΠ° прилоТСния с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ вычислСний Π·Π°Π΄Π°Ρ‡ΠΈ 1), Π³Π΄Π΅ Ρ‚ΠΎΡ‡ΠΊΠ° располагаСтся Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

Рисунок 6 — Π€ΠΎΡ€ΠΌΠ° прилоТСния с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ вычислСний Π·Π°Π΄Π°Ρ‡ΠΈ 1

На Ρ„ΠΎΡ€ΠΌΠ΅ располоТСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹:

Label — ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Π²Ρ‹Π²ΠΎΠ΄Π° тСкста (13 ΡˆΡ‚.);

Edit — поля рСдактирования (8 ΡˆΡ‚.);

Button — ΠΊΠ½ΠΎΠΏΠΊΠΈ (3 ΡˆΡ‚.).

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ 2 Π² Delphi Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ кинСматичСской схСмы. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ Π²ΠΈΠ΄ ΠΎΠΊΠ½Π° прилоТСния прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 7 (Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° прилоТСния Π·Π°Π΄Π°Ρ‡ΠΈ 2), Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 8 (Π€ΠΎΡ€ΠΌΠ° прилоТСния кинСматичСской схСмы) прСдставлСна Ρ„ΠΎΡ€ΠΌΠ° прилоТСния с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ кинСматичСской схСмы, Ссли радиус Π±Π°Ρ€Π°Π±Π°Π½Π° R=30. Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° прилоТСния кинСматичСской схСмы прСдставлСны Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ Π‘. 11 (Π€ΠΎΡ€ΠΌΠ° прилоТСния кинСматичСской схСмы), Π³Π΄Π΅ радиус Π±Π°Ρ€Π°Π±Π°Π½Π° R= 40 ΠΈ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ D.12 (Π€ΠΎΡ€ΠΌΠ° прилоТСния кинСматичСской схСмы), Π³Π΄Π΅ радиус Π±Π°Ρ€Π°Π±Π°Π½Π° R= 20.

Рисунок 7 — Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° прилоТСния Π·Π°Π΄Π°Ρ‡ΠΈ 2

Рисунок 8 — Π€ΠΎΡ€ΠΌΠ° прилоТСния кинСматичСской схСмы

На Ρ„ΠΎΡ€ΠΌΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹:

Panel1, Panel2 — это ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, находящиСся Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ, Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ свойства ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Panel);

Button1 — командная ΠΊΠ½ΠΎΠΏΠΊΠ° для закрытия прилоТСния;

Edit1 — ΠΏΠΎΠ»Π΅ рСдактирования, содСрТащСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹;

SpiEdit1 — строка, содСрТащая числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ W;

Label1, Label2, Label3 — ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Π²Ρ‹Π²ΠΎΠ΄Π° тСкста, содСрТащиС тСкст ΠΈ Π½Π΅ΡΡƒΡ‰ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²;

Image1 — мСсто для рисования схСмы.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹ Π½Π°Π²Ρ‹ΠΊΠΈ программирования. Π˜Π·ΡƒΡ‡Π΅Π½Ρ‹ способы примСнСния ΠΈΡ… Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС Delphi Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Object Pascal.

Π’ Ρ…ΠΎΠ΄Π΅ выполнСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ написаны прилоТСния для Π΄Π²ΡƒΡ… Π·Π°Π΄Π°Ρ‡ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

РСшСниС ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ основываСтся Π½Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ процСсса для нахоТдСния расстояния ΠΎΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΉ стороны этого Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ структуры, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ…ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° условного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° IF, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слуТит для измСнСния порядка выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ условия.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ поставлСны Π΄Π²Π° условия:

систСма ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ (1.8), ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ сущСствования Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°;

систСма ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ (1.7), сущСствования Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ (1.5) для расчСта наимСньшСго расстояния Π΄ΠΎ ΡΡ‚ΠΎΡ€ΠΎΠ½ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

РСшСниС Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ:

Panel;

Button;

Edit;

SpiEdit;

Label;

Image.

РСализация Π·Π°Π΄Π°Π½Π½ΠΎΠΉ кинСматичСской схСмы позволяСт ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ основы Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС Delphi.

Π˜Π·ΡƒΡ‡Π΅Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ вычСрчивания основных графичСских ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²:

MoveTo (x, y);

LineTo (x, y);

Rectangle (x1,y1,x2,y2);

Ellipse (x1,y1,x2,y2)).

ΠœΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π²ΠΎΠ΄Π° тСкста Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ — TextOut (x, y,<�ВСкст>). Π˜Π·ΡƒΡ‡Π΅Π½Ρ‹ свойства основного инструмСнта, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π³Ρ€Π°Ρ„ичСской повСрхности — ΠΊΠ°Ρ€Π°Π½Π΄Π°Ρˆ (Pen).

Π—Π°Π΄Π°Ρ‡Π°ΠΌΠΈ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ являлось:

ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ основы Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΡΡ€Π΅Π΄Π΅ Delphi;

ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ основныС этапы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ Π½Π° Π­Π’Πœ;

Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ матСматичСскиС ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡;

ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ составлСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡;

ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π­Π’Πœ.

ΠŸΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π² Ρ…ΠΎΠ΄Π΅ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ объСмС.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

1. Π¨ΡƒΠΏΡ€ΡƒΡ‚Π° Π’. Π’. Delphi 2005. Учимся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ / Π’. Π’. Π¨ΡƒΠΏΡ€ΡƒΡ‚Π°. — Πœ.: НВ ΠŸΡ€Π΅ΡΡ, 2005. — 352с.;

2. Π’ΠΎΠ΄Π½Π΅Π² Π’. Π’. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ матСматичСскиС Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹: справочник / Π’. Π’. Π’ΠΎΠ΄Π½Π΅Π², А. Π€. Наумович, Н. Π€. Наумович. — ΠœΠ½: Π’Ρ‹ΡΡˆ. шк., 2000. — 269с.;

3. ΠŸΡ€ΠΈΡ‰Π΅ΠΏΠΎΠ² М. А. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ°Ρ… Basic, Pascal ΠΈ Object Pascal Π² ΡΡ€Π΅Π΄Π΅ Delphi / М. А. ΠŸΡ€ΠΈΡ‰Π΅ΠΏΠΎΠ², Π•. Π’. Π‘Π΅Π²Π΅Ρ€Π½Ρ‘Π²Π°, А. И. Π¨Π°ΠΊΠΈΡ€ΠΈΠ½. — ΠœΠ½.: ВСтраБистСмс, 2006. — 320с.;

4. БСскоровайный И. Π’. Азбука Delphi: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с Π½ΡƒΠ»Ρ / И. Π’. БСскоровайный. — ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡ€ΡΠΊ: Π‘ΠΈΠ±. ΡƒΠ½ΠΈΠ². ΠΈΠ·Π΄-Π²ΠΎ, 2008. — 112с.;

5. Яблонский А. А. ΠšΡƒΡ€Ρ тСорСтичСской ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ / А. А. Яблонский, Π’. М. Никифорова. — Πœ.: Π’Ρ‹ΡΡˆ. шк., 1977. — 368с. с ΠΈΠ».;

6. Π€Π°Ρ€ΠΎΠ½ΠΎΠ² Π’. Π’. Π’ΡƒΡ€Π±ΠΎ Паскаль 7.0/Π’.Π’. Π€Π°Ρ€ΠΎΠ½ΠΎΠ². — Πœ.: НолидТ, 2006. — 616с.;

7. ВСйксСйра Π‘. Borland Delphi6/Π‘. ВСйксСйра, К. ΠŸΠ°Ρ‡Π΅ΠΊΠΎ. — Πœ.: НолидТ, 2002. — 1120с.;

8. Π€Π°Ρ€ΠΎΠ½ΠΎΠ² Π’. Π’. ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° Π² Delphi 6/Π’.Π’. Π€Π°Ρ€ΠΎΠ½ΠΎΠ². — Πœ.: НолидТ, 2002. — 320 с.;

9. ΠšΡƒΠ»ΡŒΡ‚ΠΈΠ½ И. Π‘. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Turbo Pascal 7.0 ΠΈ Delphi / И. Π‘. ΠšΡƒΠ»ΡŒΡ‚ΠΈΠ½. — Π‘Пб.: ВНV, 2003. — 462с.;

10. Яблонский А. А. Π‘Π±ΠΎΡ€Π½ΠΈΠΊ Π·Π°Π΄Π°Π½ΠΈΠΉ для курсовых Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ Ρ‚СорСтичСской ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ΅: Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС для тСхничСских Π²ΡƒΠ·ΠΎΠ² / А. А. Яблонский, Π‘. Π‘. НорСйко, Π‘. А. Π’ΠΎΠ»ΡŒΡ„ΡΠΎΠ½. — Πœ.: Π˜Π½Ρ‚Π΅Π³Ρ€Π°Π»-ΠŸΡ€Π΅ΡΡ, 2008. — 384с.;

11. ΠšΡ€Π°ΡΠ½ΠΎΠ² М. Π“Ρ€Π°Ρ„ΠΈΠΊΠ° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Delphi / М. ΠšΡ€Π°ΡΠ½ΠΎΠ². — Π‘Пб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2000. — 352с. .

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А

Рисунок 9 — Π€ΠΎΡ€ΠΌΠ° прилоТСния с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ вычислСний Π·Π°Π΄Π°Ρ‡ΠΈ 1

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π’

Рисунок 10 — Π€ΠΎΡ€ΠΌΠ° прилоТСния с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ вычислСний Π·Π°Π΄Π°Ρ‡ΠΈ 1

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘

Рисунок 11 — Π€ΠΎΡ€ΠΌΠ° прилоТСния кинСматичСской схСмы

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ D

Рисунок 12 — Π€ΠΎΡ€ΠΌΠ° прилоТСния кинСматичСской схСмы

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ