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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Β«ΠœΠ΅Ρ…Π°Π½ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ часы, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя»

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

Delphi ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ (мСханичСскиС часы). ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡΠ²Π»ΡΡ‚ΡŒΡΡ стандартным ΠΈ Ρ Π½ΠΈΠΌΠΈ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ слоТности. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ класс TCanvas позволяСт Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Π΅Ρ€Π±Π»Π°Ρ‚ ΠΈ ΡΡ‚Ρ€Π΅Π»ΠΊΠΈ часов, Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ матСматичСских расчСтов. ΠŸΡ€ΠΈ нСобходимости Π±ΠΎΠ»Π΅Π΅ качСствСнной прорисовки Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Β«ΠœΠ΅Ρ…Π°Π½ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ часы, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя» (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ «ΠΌΠ΅Ρ…аничСскиС часы, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя»

  • Π’Π’Π•Π”Π•ΠΠ˜Π•
  • 1 ΠΠΠΠ›Π˜Π’Π˜Π§Π•Π‘ΠšΠ˜Π™ ΠžΠ‘Π—ΠžΠ  Π―Π—Π«ΠšΠžΠ’ ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π ΠžΠ’ΠΠΠ˜Π―
  • 2 ΠœΠΠ’Π•ΠœΠΠ’Π˜Π§Π•Π‘ΠšΠΠ― ГЛАВА
  • 3 ΠžΠŸΠ˜Π‘ΠΠΠ˜Π• ΠΠ›Π“ΠžΠ Π˜Π’ΠœΠ Π ΠΠ‘ΠžΠ’Π« ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ«
  • Π’Π«Π’ΠžΠ”
  • БПИБОК Π›Π˜Π’Π•Π ΠΠ’Π£Π Π«
  • ΠŸΠ Π˜Π›ΠžΠ–Π•ΠΠ˜Π―

язык ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ матСматичСская модСль

Π’Π΅ΠΌΠ° ΠΌΠΎΠ΅ΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ — мСханичСскиС часы, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя.

Π—Π°Π΄Π°Ρ‡Π° курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ состоит Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ: ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Ρ€ΠΈΡΡƒΡŽΡ‰ΠΈΠΉ мСханичСскиС часы ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… графичСских ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ часы.

ЦСлью Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° языков программирования. Π‘Ρ€Π°Π²Π½ΠΈΡ‚ΡŒ языки потрСбуСтся ΠΊΠ°ΠΊ Π² ΠΎΠ±Ρ‰Π΅ΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ поставлСнной Π·Π°Π΄Π°Ρ‡Π΅.

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

Часы Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ (ΠΊΡ€ΡƒΠ³Π°), Ρ†ΠΈΡ„Π΅Ρ€Π±Π»Π°Ρ‚Π° (числа ΠΎΡ‚ 1 Π΄ΠΎ 12 ΠΈ 48 Π΄Π΅Π»Π΅Π½ΠΈΠΉ), сСкундной, ΠΌΠΈΠ½ΡƒΡ‚Π½ΠΎΠΉ ΠΈ Ρ‡Π°ΡΠΎΠ²ΠΎΠΉ стрСлок.

Для написания Π²Ρ‹Π±Ρ€Π°Π½ язык программирования Π‘++, срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Microsoft Visual Studio 2010.

1. ΠΠΠΠ›Π˜Π’Π˜Π§Π•Π‘ΠšΠ˜Π™ ΠžΠ‘Π—ΠžΠ  Π―Π—Π«ΠšΠžΠ’ ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π ΠžΠ’ΠΠΠ˜Π―

Π―Π·Ρ‹ΠΊΠΈ программирования ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π° большиС Π³Ρ€ΡƒΠΏΠΏΡ‹: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки (Π‘++, C#, Delphi, Java, Perl ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅) ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ языки (Basic, C, Pascal, Π€ΠΎΡ€Ρ‚Ρ€Π°Π½, АссСмблСр ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅).

Рассмотрим Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΌΠΈ языками.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ΅ (ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ являСтся ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π­Π’Πœ, которая Π±Ρ‹Π»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Ρ„ΠΎΠ½ НСйманом Π² 40-Ρ… Π³ΠΎΠ΄Π°Ρ…. ВСорСтичСской модСлью ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ программирования слуТит алгоритмичСская систСма ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «ΠΌΠ°ΡˆΠΈΠ½Π° Π’ΡŒΡŽΡ€ΠΈΠ½Π³Π°».

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

ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования послуТил ряд срСдств, входящих Π² ΡΠΎΡΡ‚Π°Π² языка SIMULA-67. Но Π² ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ ΠΎΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠΈΠ»ΠΎΡΡŒ с ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ языка SMALLTALK, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ машинной Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.

Π’ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ стиля программирования Π»Π΅ΠΆΠΈΡ‚ понятиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° ΡΡƒΡ‚ΡŒ Π΅Π³ΠΎ выраТаСтся Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ: «ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ = Π΄Π°Π½Π½Ρ‹Π΅ + ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹». ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π² ΡΠ΅Π±Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅ΠΌΡƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ этих Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. ОбъСдинСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ называСтся инкапсуляциСй ΠΈ ΠΏΡ€ΠΈΡΡƒΡ‰Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

Для описания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² слуТат классы. Класс опрСдСляСт свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅Π³ΠΎ этому классу. БоотвСтствСнно, любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ экзСмпляр класса.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рассматриваСмого стиля Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΈΠ»ΠΈ создании Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. ΠŸΡ€ΠΈ создании Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²-ΠΏΡ€Π΅Π΄ΠΊΠΎΠ². Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ допускаСтся ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

Рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ языки программирования Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΈ, Π² Ρ‡Π°ΡΡ‚ности, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ.

АссСмблСр — язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΌ языкам программирования. Π’Π°ΠΊ ΠΆΠ΅ являСтся языком Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, Ρ‚. Π΅ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ (Π·Π° Ρ€Π΅Π΄ΠΊΠΈΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ) ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ инструкциям процСссора Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы.

Достоинствами ассСмблСра ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ самыС быстрыС ΠΈΠ· Π²ΡΠ΅Ρ…, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ для процСсса, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ написан ΠΊΠΎΠ΄;

2) нСпосрСдствСнный доступ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π΅ (ΠΏΠΎΡ€Ρ‚Ρ‹ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄, рСгистры процСссора);

3) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ встраивания ΠΊΠΎΠ΄Π° ассСмблСра Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ языки программирования (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ C++).

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… достоинств, ассСмблСр часто ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ для написания Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², ядСр ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, «ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ» BIOS, написания вирусов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… врСдоносных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π΄Ρ€.

Но, нСсмотря Π½Π° Π΄ΠΎΡΡ‚оинства, ассСмблСр ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈ ΡΠ²ΠΎΠΈ нСдостатки:

1) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ со ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ ΠΎΡ‡Π΅Π½ΡŒ слоТно, Π° ΠΏΠΎΡ€ΠΎΠΉ Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ;

2) ΠΊΠΎΠ΄ языка Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня Ρ…ΡƒΠΆΠ΅ читаСтся ΠΈ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ся, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΡΠ·Ρ‹ΠΊΠ°ΠΌΠΈ высокого уровня;

3) Π½Π΅ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅, Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚Π΅ΠΉ ассСмблСра, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ, Π½Π΅ ΡΠΌΠΎΡ‚ря Π½Π° Π²Ρ‹ΡΠΎΠΊΠΎΠ΅ быстродСйствиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° Π½Π΅ΠΌ, ΠΎΠ½ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ уступаСт языкам программирования высокого уровня. ИспользованиС Π΅Π³ΠΎ, ΠΊΠ°ΠΊ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанной Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ.

Для написания мСханичСских часов Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ матСматичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π³Ρ€Π°Ρ„ичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Если матСматичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π΅ ΡΠ²Π»ΡΡ‚ΡŒΡΡ слоТной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅, Ρ‚ΠΎ Π³Ρ€Π°Ρ„ичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ассСмблСра Π½Π΅ Ρ‚Π°ΠΊ сильно Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹, ΠΊΠ°ΠΊ графичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков. Π₯отя рСализация Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅, я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ использованиС для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ.

Delphi — язык программирования высокого уровня. ΠžΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языкам программирования. ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΎΡ‚ ΡΠ·Ρ‹ΠΊΠ° Object Pascal, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΎΡ‚ Turbo Pascal.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Delphi являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком, Π² Π½Π΅ΠΌ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ всС особСнности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования: инкапсуляция, наслСдованиС, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ.

К Π΄ΠΎΡΡ‚ΠΎΠΈΠ½ΡΡ‚Π²Π°ΠΌ Delphi ΠΌΠΎΠΆΠ½ΠΎ отнСсти:

1) простота изучСния синтаксиса языка;

2) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использованиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, написанных Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ программистами;

3) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Delphi, Π½Π΅ Ρ‚рСбуСтся ΡΠ½Π°Π±ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡΠ²ΡΠ·ΠΊΠΈ C++/MFC);

4) быстрый Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ классов ΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ подсказки Π°Π²Ρ‚ΠΎΠ·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° (code completion);

5) высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ компиляции.

К Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠ°ΠΌ Delphi ΠΌΠΎΠΆΠ½ΠΎ отнСсти:

1) ΠΌΠ°Π»ΠΎΠ΅ число ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°;

2) отсутствиС Π³ΠΈΠ±ΠΊΠΈΡ… инструмСнтов для мСтапрограммирования ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Π½ΠΎΠ³ΠΎ программирования;

3) отсутствиС возмоТности создания кроссплатформСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;

4) статичСскоС присоСдинСниС (linking) Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ VCL ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ.

Π’ Ρ†Π΅Π»ΠΎΠΌ Delphi довольно ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Windows[2]. Π‘Ρ€Π΅Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Borland Delphi Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вСрсий) ΡΠ²Π»ΡΡ‚ΡŒΡΡ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ большС ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ созданиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

БистСму Delphi относят ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ RAD-систСм программирования (RAD— Rapid Application Development, быстрая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ).

ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° языка (ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования) позволяСт ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ сроки. Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹Π΅ прилоТСния Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ достаточно быстро. Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ассСмблСром, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ большС ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Delphi ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ (мСханичСскиС часы). ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡΠ²Π»ΡΡ‚ΡŒΡΡ стандартным ΠΈ Ρ Π½ΠΈΠΌΠΈ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ слоТности. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ класс TCanvas позволяСт Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Π΅Ρ€Π±Π»Π°Ρ‚ ΠΈ ΡΡ‚Ρ€Π΅Π»ΠΊΠΈ часов, Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ матСматичСских расчСтов. ΠŸΡ€ΠΈ нСобходимости Π±ΠΎΠ»Π΅Π΅ качСствСнной прорисовки Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ графичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ OpenGL).

C++ - относится ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языкам программирования. ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΎΡ‚ ΡΠ·Ρ‹ΠΊΠ° C.

C++ сочСтаСт свойства языков программирования высокого уровня ΠΈ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня. Он ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡ‹Ρ… популярных языков программирования.

Достоинства языка Π‘++:

1) Π²Ρ‚ΠΎΡ€ΠΎΠΉ, ΠΏΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΠΈ компиляции, язык программирования (быстрСС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ассСмблСр);

2) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° шаблонного программирования, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ;

3) ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠ°ΠΊ стандартных (Π² Ρ‡Π°ΡΡ‚ности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° стандартных шаблонов STL), Ρ‚Π°ΠΊ ΠΈ ΡΠΎΠ·Π΄Π°Π½Π½Ρ‹Ρ… сторонними Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ;

4) ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ;

5) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, адрСсами, ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ.

НСдостатки языка Π‘++:

1) НСкоторая Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎΡΡ‚ΡŒ синтаксиса, унаслСдованного ΠΎΡ‚ Π‘;

2) Иногда для создания шаблонов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°;

3) НСкоторая ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ языка, Ρ‡Ρ‚ΠΎ часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ям изучСния.

Π‘++ являСтся ΠΌΠΎΡ‰Π½Ρ‹ΠΌ срСдством для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм.

Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ сущСствСнно ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π° ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ язык Π‘++. НаиболСС популярными ΡΠ²Π»ΡΡŽΡ‚ΡΡ Microsoft Visual Studio 2010 ΠΈ Borland C++ Builder.

БистСма Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Microsoft Visual Studio 2010 являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния[3]. Π’ Ρ†Π΅Π½Ρ‚Ρ€Π΅ систСмы Microsoft Visual Studio 2010 Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET Framework — встроСнный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Windows, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ созданиС ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½ΠΎΠ²ΠΎΠ³ΠΎ поколСния ΠΈ Π²Π΅Π±-слуТб. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ .NET Framework ΡΠ²Π»ΡΡŽΡ‚ΡΡ общСязыковая срСда выполнСния (CLR) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов .NET Framework, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ ADO.NET, ASP.NET, Windows Forms ΠΈ Windows Presentation Foundation (WPF). ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET Framework прСдоставляСт срСду управляСмого выполнСния, возмоТности ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚ывания, Π° Ρ‚Π°ΠΊΠΆΠ΅ возмоТности ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками программирования.

Π‘++ Builder — ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Ρ„ΠΈΡ€ΠΌΡ‹ Borland, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++[4]. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π‘++ Builder ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Windows-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘++ быстро ΠΈ ΠΏΡ€ΠΎΡΡ‚ΠΎ. ΠŸΡ€ΠΈ создании ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ графичСский интСрфСйс (GUI — graphical user interface). Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ создании ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ тСхнология grag-and-grop. ΠŸΡ€ΠΈ этом ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ остаСтся высокой.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ язык Π‘++ прСкрасно ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. Π’ Ρ‡Π°ΡΡ‚ности прСдполагаСтся использования Microsoft Visual 2010. Для матСматичСских вычислСний ΠΈΠΌΠ΅Ρ‚ΡŒΡΡ стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Math, которая позволяСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ значСния тригономСтричСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Π² Ρ‡Π°ΡΡ‚ности потрСбуСтся Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ значСния синусов ΠΈ ΠΊΠΎΡΠΈΠ½ΡƒΡΠΎΠ²), логарифмичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Класс Graphics позволяСт Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ графичСскиС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ (эллипсы, Π»ΠΈΠ½ΠΈΠΈ, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ, тСкст ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅) Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… (Ρ„ΠΎΡ€ΠΌΠ°, pictureBox ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅). Если Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ графичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Direct X, OpenGL ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅). На ΠΌΠΎΠΉ взгляд, Visual C++ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ.

На ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π²Ρ‹ΡˆΠ΅ сказанного, я ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽ Π²Ρ‹Π±ΠΎΡ€ языка программирования для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π‘++ ΠΈ Π² Ρ‡Π°ΡΡ‚ности Π½Π° ΡΡ€Π΅Π΄Π΅ Microsoft Visual 2010. Π‘++ являСтся Π±ΠΎΠ»Π΅Π΅ быстрым ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, Ρ‡Π΅ΠΌ Delphi, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ большСС ΠΌΠΎΡ‰Π½Ρ‹Π΅ срСдства для выполнСния поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ. Для рисования Π² Microsoft Visual 2010 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс Graphics, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ряд прСимущСств ΠΏΠ΅Ρ€Π΅Π΄ классом TCanvas, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ происходит рисованиС Π² Delphi. Π­Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠ΅ управлСния кистями ΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ Π·Π°Π»ΠΈΠ²ΠΊΠΈ, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вставки тСкста. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠΌ, создания часов Π½Π° Π‘++ Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ простой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ассСмблСр Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΡ‰Π½Ρ‹Ρ… инструмСнтов для программирования Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ Π΄Π»Ρ написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ потрСбуСтся ΠΌΠ½ΠΎΠ³ΠΎ усилий.

2. ΠœΠΠ’Π•ΠœΠΠ’Π˜Π§Π•Π‘ΠšΠΠ― ГЛАВА

Для написания мСханичСских часов потрСбуСтся ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ графичСски ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты: основаниС часов, Ρ†ΠΈΡ„Π΅Ρ€Π±Π»Π°Ρ‚, Ρ‡Π°ΡΠΎΠ²ΡƒΡŽ, ΠΌΠΈΠ½ΡƒΡ‚Π½ΡƒΡŽ ΠΈ ΡΠ΅ΠΊΡƒΠ½Π΄Π½ΡƒΡŽ стрСлки.

ОснованиС часов — ΠΊΡ€ΡƒΠ³. ΠžΡ‚Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ стандартной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ, с Ρ€Π°Π΄ΠΈΡƒΡΠΎΠΌ R

R = h/2,

Π³Π΄Π΅ h — высота области рисования.

Для удобства ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ парамСтричСский ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌ:

Π³Π΄Π΅ x, y — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²ΠΎΠΉ систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚,

 — Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ OX’Y',

r — Π΄Π»ΠΈΠ½Π° радиус-Π²Π΅ΠΊΡ‚ΠΎΡ€Π°,

— ΡƒΠ³ΠΎΠ» отклонСния ΠΎΡ‚ ΠΎΡΠΈ OX'.

Начало систСмы OX’Y' Ρ‚ΠΎΡ‡ΠΊΠ° (R, R), Π³Π΄Π΅ R — радиус ΠΊΡ€ΡƒΠ³Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ происходит прорисовка.

Π¦ΠΈΡ„Π΅Ρ€Π±Π»Π°Ρ‚ состоит ΠΈΠ· 12-Ρ‚ΠΈ Ρ†ΠΈΡ„Ρ€ ΠΈ 48 Π΄Π΅Π»Π΅Π½ΠΈΠΉ. Для прорисовки Ρ†ΠΈΡ„Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стандартная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°. Для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ отобраТСния Ρ†ΠΈΡ„Ρ€, ΠΏΠΎΠ²Π΅Ρ€Π½Π΅ΠΌ систСму OX’Y' Π½Π° Ρ€Π°Π΄ΠΈΠ°Π½. ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° для ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ†ΠΈΡ„Ρ€:

Π³Π΄Π΅ R — радиус ΠΊΡ€ΡƒΠ³Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ происходит прорисовка,

i — Ρ†ΠΈΡ„Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ трСбуСтся ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ.

Для сСкундной ΠΈ ΠΌΠΈΠ½ΡƒΡ‚Π½ΠΎΠΉ стрСлок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°:

Π³Π΄Π΅ = 0.8 для сСкундной стрСлки,

= 0.65 для ΠΌΠΈΠ½ΡƒΡ‚Π½ΠΎΠΉ стрСлки,

i — Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (сСкунд ΠΈ ΠΌΠΈΠ½ΡƒΡ‚ соотвСтствСнно).

Для часовой стрСлки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°:

Π³Π΄Π΅ h — Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ часов Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ,

m — Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ½ΡƒΡ‚ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

3. ΠžΠŸΠ˜Π‘ΠΠΠ˜Π• ΠΠ›Π“ΠžΠ Π˜Π’ΠœΠ Π ΠΠ‘ΠžΠ’Π« ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ« Алгоритм опрСдСлСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π±Π»ΠΎΠΊ-схСмС (см. Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ 3.1):

Рисунок 3.1. Π‘Π»ΠΎΠΊ-схСма

Π’Π«Π’ΠžΠ”

Π‘Ρ‹Π» ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ Π°Π½Π°Π»ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… языков программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ язык Π‘++ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ задания, Ρ‡Π΅ΠΌ ассСмблСр ΠΈΠ»ΠΈ Delphi.

Π’ Ρ…ΠΎΠ΄Π΅ выполнСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½Ρ‹: синтаксис языка Π‘++, способы создания Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π² Microsoft Visual Studio 2010, Π² Ρ‡Π°ΡΡ‚ности Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Graphics, BufferedGraphics, BufferedGraphicsContext. Π‘Ρ‹Π»ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, ΠΊΠ°ΠΊ: Form, Label, PictureBox.

Π‘Ρ‹Π»Π° составлСна матСматичСская модСль Π·Π°Π΄Π°Ρ‡ΠΈ, Π³Π΄Π΅ описаны основныС матСматичСскиС Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹, Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»Π° написана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° опрСдСлСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±Ρ‹Π»Π° составлСна Π±Π»ΠΎΠΊ-схСма.

Для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ‚Сстирования Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ собой числовой Ρ†ΠΈΡ„Π΅Ρ€Π±Π»Π°Ρ‚ часов с Ρ‡Π°ΡΠΎΠ²ΠΎΠΉ, ΠΌΠΈΠ½ΡƒΡ‚Π½ΠΎΠΉ ΠΈ ΡΠ΅ΠΊΡƒΠ½Π΄Π½ΠΎΠΉ стрСлками. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΊΠ½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° вСлась Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++ Π² ΡΡ€Π΅Π΄Π΅ программирования Microsoft Visual Studio 2010.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ часы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя (см. ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘).

Π’ Ρ…ΠΎΠ΄Π΅ тСстов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ошибок Π·Π°ΠΌΠ΅Ρ‡Π΅Π½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ.

1 Аратамонов Π‘. Н ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ — БПб.: КОРОНА ΠΏΡ€ΠΈΠ½Ρ‚, 1998. — Ρ.448

2 Π’. М .ΠŸΠ΅ΡΡ‚Ρ€ΠΈΠΊΠΎΠ², А. Н. МаслобоСв, Delphi Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…. — Π‘Пб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2005. — Ρ. 496

Π’. Π’. Π—ΠΈΠ±ΠΎΡ€ΠΎΠ² MS Visual C++ 2010 Π² ΡΡ€Π΅Π΄Π΅ .NET. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€ 2012. — Ρ. 320

4 РСйсдорф К., Π₯СндСрсон К. — Borland C++ Builder — М., 2000. — c.702

ПРилоТСния

ΠŸΠ Π˜Π›ΠžΠ–Π•ΠΠ˜Π• А

(ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅)

ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π€Π°ΠΉΠ» Form1. h*:

#pragma once

#include" FunctionPaint. h"

namespace Kursovuk {

using namespace System;

using namespace System: ComponentModel;

using namespace System: Collections;

using namespace System: Windows:Forms;

using namespace System: Data;

using namespace System: Drawing;

/// Бводка для Form1

public ref class Form1: public System: Windows:Forms:Form

{

public:

Form1(void)

{

InitializeComponent ();

//TODO: Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠ΄ конструктора

}

protected:

/// ΠžΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ всС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ рСсурсы.

~Form1()

{

if (components)

{

delete components;

}

}

private: System: Windows:Forms:PictureBox^ pictureBox1;

private: System: Windows:Forms:Timer^ timer1;

private: System: Windows:Forms:Label^ label1;

private: System: ComponentModel:IContainer^ components;

protected:

private:

/// ВрСбуСтся пСрСмСнная конструктора.

#pragma region Windows Form Designer generated code

/// ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ конструктора — Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠΉΡ‚Π΅

/// содСрТимоС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π°.

void InitializeComponent (void)

{

this->components = (gcnew System: ComponentModel:Container ());

this->pictureBox1 = (gcnew System: Windows:Forms:PictureBox ());

this->timer1 = (gcnew System: Windows:Forms:Timer (this->components));

this->label1 = (gcnew System: Windows:Forms:Label ());

(cli:safe_cast (this->pictureBox1))->BeginInit ();

this->SuspendLayout ();

// pictureBox1

this->pictureBox1->Dock = System: Windows:Forms:DockStyle:Fill;

this->pictureBox1->Location = System: Drawing:Point (0, 0);

this->pictureBox1->Name = L" pictureBox1″ ;

this->pictureBox1->Size = System: Drawing:Size (384, 362);

this->pictureBox1->TabIndex = 0;

this->pictureBox1->TabStop = false;

this->pictureBox1->SizeChanged += gcnew System: EventHandler (this, &Form1:pictureBox1_SizeChanged);

this->pictureBox1->Click += gcnew System: EventHandler (this, &Form1:pictureBox1_Click);

this->pictureBox1->Paint += gcnew System: Windows:Forms:PaintEventHandler (this, &Form1:pictureBox1_Paint);

this->pictureBox1->MouseEnter += gcnew System: EventHandler (this, &Form1:pictureBox1_MouseEnter);

this->pictureBox1->MouseLeave += gcnew System: EventHandler (this, &Form1:pictureBox1_MouseLeave);

// timer1

this->timer1->Interval = 1000;

this->timer1->Tick += gcnew System: EventHandler (this, &Form1:timer1_Tick);

// label1

this->label1->AutoSize = true;

this->label1->Location = System: Drawing:Point (12, 9);

this->label1->Name = L" label1″ ;

this->label1->Size = System: Drawing:Size (35, 13);

this->label1->TabIndex = 1;

this->label1->Text = L" label1″ ;

this->label1->Visible = false;

this->label1->Click += gcnew System: EventHandler (this, &Form1:label1_Click);

// Form1

this->AutoScaleDimensions = System: Drawing:SizeF (6, 13);

this->AutoScaleMode = System: Windows:Forms:AutoScaleMode:Font;

this->ClientSize = System: Drawing:Size (384, 362);

this->Controls->Add (this->label1);

this->Controls->Add (this->pictureBox1);

this->DoubleBuffered = true;

this->MaximumSize = System: Drawing:Size (1000, 700);

this->MinimumSize = System: Drawing:Size (300, 300);

this->Name = L" Form1″ ;

this->StartPosition = System: Windows:Forms:FormStartPosition:CenterScreen;

this->Text = L" Form1″ ;

this->Load += gcnew System: EventHandler (this, &Form1:Form1_Load);

this->Resize += gcnew System: EventHandler (this, &Form1:Form1_Resize);

(cli:safe_cast (this->pictureBox1))->EndInit ();

this->ResumeLayout (false);

this->PerformLayout ();

}

#pragma endregion

Graphics^ GrafOut;

int R;

private: System: Void Form1_Load (System:Object^ sender, System: EventArgs^ e) {

this->Text = «Clock» ;

timer1->Enabled=true;

this->DoubleBuffered = true; //Π²Π»ΡŽΡ‡Π°Π΅ΠΌ Π΄Π²ΠΎΠΉΠ½ΡƒΡŽ Π±ΡƒΡ„Ρ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ

GrafOut = pictureBox1->CreateGraphics (); //создаСм привязкС GrafOut k pictureBox1

Font = gcnew System: Drawing:Font («Times New Roman», 9. F); //устанавливаСм ΡˆΡ€ΠΈΡ„Ρ‚

pictureBox1->Height=this->Height;

pictureBox1->Width=this->Height;

}

private: System: Void timer1_Tick (System:Object^ sender, System: EventArgs^ e) {

label1->Text = String: Format («{0:T}», DateTime: Now); // считываСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя

int S, M, H; // Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя

int H1 = pictureBox1->Height;

int W = pictureBox1->Width;

if (pictureBox1->HeightWidth) R=(pictureBox1->Size.Height)/2;

else R=(pictureBox1->Size.Width)/2;

if (label1->Text->Length==8) //ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ строку со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ S, M, H

{

//ΠΊΠΎΠ²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ SystemString Π² std: string

//послС ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ std: string Π² Int32

String^ Mx = Convert: ToString (label1->Text[6]);

String^ Mxx = Convert: ToString (label1->Text[7]);

Mx +=Mxx;

S = Convert: ToInt32(Mx);

Mx = Convert: ToString (label1->Text[3]);

Mxx = Convert: ToString (label1->Text[4]);

Mx +=Mxx;

M = Convert: ToInt32(Mx);

Mx = Convert: ToString (label1->Text[0]);

Mxx = Convert: ToString (label1->Text[1]);

Mx +=Mxx;

H = Convert: ToInt32(Mx);

if (H>12) H-=12;

}

else

{

String^ Mx = Convert: ToString (label1->Text[5]);

String^ Mxx = Convert: ToString (label1->Text[6]);

Mx +=Mxx;

S = Convert: ToInt32(Mx);

Mx = Convert: ToString (label1->Text[2]);

Mxx = Convert: ToString (label1->Text[3]);

Mx +=Mxx;

M = Convert: ToInt32(Mx);

Mx = Convert: ToString (label1->Text[0]);

H = Convert: ToInt32(Mx);

};

PaintClock (GrafOut, S, M, H, R, W, H1); //ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° прорисовки

}

private: System: Void pictureBox1_Paint (System:Object^ sender, System: Windows:Forms:PaintEventArgs^ e) {

}

private: System: Void pictureBox1_MouseEnter (System:Object^ sender, System: EventArgs^ e) {

label1->Visible=true; //тСкст с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π²ΠΈΠ΄Π΅Π½

}

private: System: Void pictureBox1_MouseLeave (System:Object^ sender, System: EventArgs^ e) {

label1->Visible=false; //тСкст с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ Π²ΠΈΠ΄Π΅Π½

}

private: System: Void Form1_Resize (System:Object^ sender, System: EventArgs^ e) {

}

private: System: Void pictureBox1_Click (System:Object^ sender, System: EventArgs^ e) {

}

private: System: Void label1_Click (System:Object^ sender, System: EventArgs^ e) {

}

private: System: Void pictureBox1_SizeChanged (System:Object^ sender, System: EventArgs^ e) {

}

};

}

FunctionPaint.cpp:

#include" stdafx. h"

#include" FunctionPaint. h"

using namespace System;

using namespace System: ComponentModel;

using namespace System: Collections;

using namespace System: Windows:Forms;

using namespace System: Data;

using namespace System: Drawing;

void PaintClock (GraphicsbufG, int S, int M, int H, int R, int H1, int W)

{

BufferedGraphics^ Graf; //создаСм Π±ΡƒΡ„Ρ„Π΅Ρ€

BufferedGraphicsContext^ context; // создаСм контСкст

Rectangle rec;

rec = Rectangle (0,0,H1,W); //допустимая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ рисования

context = BufferedGraphicsManager: Current; //Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌ контСкст

//опрСдСляСм Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Ρ„Π΅Ρ€Π°

context->MaximumBuffer = System: Drawing:Size (H1+1, W+1);

Graf = context->Allocate (bufG, rec); // создаСм ΠΈΠ· ΠΊΠΎΠ½Ρ‚Сста Π±ΡƒΡ„Ρ„Π΅Ρ€

Brush^ brush = gcnew SolidBrush (Color:White); //Ρ†Π²Π΅Ρ‚ Π·Π°Π»ΠΈΠ²ΠΊΠΈ

Graf->Graphics->Clear (SystemColors:Control); //ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ рисования

Graf->Graphics->FillEllipse (brush, 0,0,2*R, 2*R); // рисуСм основу часов

brush = gcnew SolidBrush (Color:Red); // Ρ†Π²Π΅Ρ‚ Π·Π°Π»ΠΈΠ²ΠΊΠΈ — красный

Pen^ pen = gcnew Pen (Color:Black); //Ρ†Π²Π΅Ρ‚ Π»ΠΈΠ½ΠΈΠΈ — Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ

for (int i=1; i<13; ++i) //рисуСм Ρ†ΠΈΡ„Ρ€Ρ‹

{

int a, b;

a = R + 0.9*R*Math:Cos (i*2*Math:PI / 12 — Math: PI/2);

b = R + 0.9*R*Math:Sin (i*2*Math:PI / 12 — Math: PI/2);

Graf->Graphics->DrawString (i.ToString (), gcnew System: Drawing:Font («Times New Roman», 9), brush, a-6, b-6);

};

for (int i=1; i<=60; ++i) //рисуСм 48 Π΄Π΅Π»Π΅Π½ΠΈΠΉ

{

if (i%5==0) continue;

int a1, a2,b1,b2;

a1 = R + 0.95*R*Math:Sin (i*2*Math:PI /60);

b1 = R + 0.95*R*Math:Cos (i*2*Math:PI /60);

a2 = R + R*Math:Sin (i*2*Math:PI /60);

b2 = R + R*Math:Cos (i*2*Math:PI /60);

Graf->Graphics->DrawLine (pen, a1, b1,a2,b2);

};

int x, y; //ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚

//рисуСм ΡΠ΅ΠΊΡƒΠ½Π΄Π½ΡƒΡŽ стрСлку

x = R + 0.80*R*Math:Cos (((S*Math:PI)/30)-Math:PI/2);

y = R + 0.80*R*Math:Sin (((S*Math:PI)/30)-Math:PI/2);

Graf->Graphics->DrawLine (pen, R, R, x, y);

//рисуСм ΠΌΠΈΠ½ΡƒΡ‚Π½ΡƒΡŽ стрСлку

pen->Width = 2; //Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π° стрСлки — 2 пиксСля

pen->Color = Color: Blue; //Ρ†Π²Π΅Ρ‚ стрСлки — Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ

x = R + 0.65*R*Math:Cos (((M*Math:PI)/30)-Math:PI/2);

y = R + 0.65*R*Math:Sin (((M*Math:PI)/30)-Math:PI/2);

Graf->Graphics->DrawLine (pen, R, R, x, y);

//рисуСм Ρ‡Π°ΡΠΎΠ²ΡƒΡŽ стрСлку

x = R + 0.50*R*Math:Cos (((H*Math:PI)/6)+(M*Math:PI/360)-Math:PI/2);

y = R + 0.50*R*Math:Sin (((H*Math:PI)/6)+(M*Math:PI/360)-Math:PI/2);

pen->Width = 3; // Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π° 3 пиксСля

pen->Color = Color: Green; //Ρ†Π²Π΅Ρ‚ — Π·Π΅Π»Π΅Π½Ρ‹ΠΉ

Graf->Graphics->DrawLine (pen, R, R, x, y);

Graf->Render (bufG); //Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° pictureBox1

};

ΠŸΠ Π˜Π›ΠžΠ–Π•ΠΠ˜Π• Π‘

(ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅)

РЕЗУЛЬВАВ Π ΠΠ‘ΠžΠ’Π« ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ« На Ρ€ΠΈΡΡƒΠ½ΠΊΠ°Ρ… ΠŸΠ‘.1 ΠΈ ΠŸΠ‘.2 прСдставлСн Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Рисунок ΠŸΠ‘.1. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Рисунок ΠŸΠ‘.2. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

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