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

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ прилоТСния, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ синтаксичСский Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

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

ОбС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, рассмотрСнныС Π² Ρ€Π°ΠΌΠΊΠ°Ρ… настоящСго курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈΠΌΠ΅ΡŽΡ‚ интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΈΠ°Π»ΠΎΠ³Π° с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ исходя ΠΈΠ· ΡΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ удобства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΎΡ‚сутствия ΠΊΠ°ΠΊΠΈΡ…-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠΊΠ½Π°, Π² ΡΠ»ΡƒΡ‡Π°Π΅ ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ прилоТСния. Π”ΠΈΠ°Π»ΠΎΠ³ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ прСдлоТСния Π²Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ прилоТСния, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ синтаксичСский Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Ρ‚Π΅ΠΌΡƒ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прилоТСния для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎ-логичСских Π·Π°Π΄Π°Ρ‡ Π‘Π°Ρ„Ρ€ΠΎΠ½ΠΎΠ² ВячСслав АндрССвич ИБ-091.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅.

1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° тСхничСского задания Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

1.1 ΠžΠ±Ρ‰Π°Ρ постановка Π·Π°Π΄Π°Ρ‡ΠΈ.

1.2 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

1.3 ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.

1.4 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΡΠΈΡΡ‚Π΅ΠΌΠ΅.

1.4.1 ВрСбования ΠΊ ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Π² Ρ†Π΅Π»ΠΎΠΌ.

1.4.2 ВрСбования ΠΊ Ρ‚СхничСскому ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ.

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

2.1 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

2.2 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° структуры ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ….

2.3 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.

2.4 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.

2.4.1 Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств.

2.4.2 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

2.4.3 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

2.4.4 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ интСрфСйса.

2.4.5 ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ надСТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

2.5 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ тСхничСских срСдств.

2.6 ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

2.6.1 ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния.

2.6.2 ΠŸΡ€ΠΎΡ†Π΅ΡΡ тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

2.6.3 ΠžΡ†Π΅Π½ΠΊΠ° надСТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

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

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

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

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

ПоявлСниС ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс обучСния Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΏΡƒΡ‚Ρ‘ΠΌ создания наглядных ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

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

Но ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π΅Ρ‰Ρ‘ создано, поэтому сущСствуСт Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΉ дСнь достаточноС количСство срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠŸΠž. Они ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ программистам Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стадии процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Одна ΠΈΠ· ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚Π΅ΠΉ срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ — это ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° Π½Π°Π±ΠΈΡ€Π°Π΅ΠΌΠΎΠ³ΠΎ программистом ΠΊΠΎΠ΄Π°. БистСма Π²Ρ‹Π»Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ синтаксичСскиС ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ошибки, Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ программистом, ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибки.

Π’ Π½Π°ΡΡ‚оящСй курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ синтаксичСских ошибок Π² Ρ‚СкстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΌΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ошибки Π² Ρ‚СкстС.

Π’Π°ΠΊΠΆΠ΅ рассмотрСна ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π°Π½Π°Π»ΠΈΠ·Π° арифмСтичСского выраТСния, ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΅Π³ΠΎ Π½Π° ΡΡƒΠΌΠΌΡƒ ΠΈΠ»ΠΈ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ. ВСкст Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ тСстового ΠΎΠ±Ρ€Π°Π·Ρ†Π° для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°.

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

1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° тСхничСского задания Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

1.1 ΠžΠ±Ρ‰Π°Ρ постановка Π·Π°Π΄Π°Ρ‡ΠΈ Π’ Π΄Π°Π½Π½ΠΎΠΌ курсовом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ трСбуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ арифмСтичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ суммой (Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒΡŽ). Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰Π΅Π΅ синтаксичСский Π°Π½Π°Π»ΠΈΠ· простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, содСрТащСй ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты: Ρ‚ΠΈΠΏΡ‹ float, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ if… goto, if… else, switch, описаниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, описаниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, арифмСтичСскиС ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ выраТСния, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° трСбуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² символом «;», ΠΏΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ скобок «(…)», «[…]», «{…}», ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ оформлСния ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π²ΠΈΠ΄Π° «/*…*/», ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ ΠΈ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа латинского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°, Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ всС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… строках с ΡΠΎΠ±Π»ΡŽΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ» отступа.

РСшСниС этой Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Π½ΠΈΠΉ синтаксиса ΠΈ ΡΠ΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠΈ языка C, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π½Π°Π½ΠΈΠΉ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ тСкстовых строк ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ состоит Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ построСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ. НСобходимо ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ парности скобок Π² Ρ‚Скстовом Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΆΠ΅ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ диагностичСских сообщСний ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ошибки, Ρ‡Ρ‚ΠΎ влияСт Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ эта Π·Π°Π΄Π°Ρ‡Π° ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½Π° Π² ΡΡ€Π΅Π΄Π°Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄Π°Π½Π½ΠΎΠ³ΠΎ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° это Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ новая ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π°. МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° арифмСтичСского выраТСния состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ скобок ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ расстановки Π·Π½Π°ΠΊΠΎΠ² арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

1.2 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠ³ΠΎ функционирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ряд Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ срСдой ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π°Π½Π°Π»ΠΈΠ·Π° арифмСтичСского выраТСния Π΄ΠΎΠ»ΠΆΠ½Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ арифмСтичСскиС выраТСния Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Π½Π΅ Π±ΠΎΠ»Π΅Π΅, Ρ‡Π΅ΠΌ 256 символов. Π­Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ связано с Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ мСста Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΏΠΎΠ΄ строку, состоящСй ΠΈΠ· 256 символов, ΠΈ Ρ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π° Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ консоли Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄Π»ΠΈΠ½ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ 256 символов, Ρ‚ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅. Π’ΠΎ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ расставлСны скобки, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π°Π½Π°Π»ΠΈΠ·Π° выраТСния выдаст сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ с ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ расставлСны скобки. Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ расставлСны Π·Π½Π°ΠΊΠΈ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. На Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ поставлСнныС Π·Π½Π°ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‡Π΅ΠΉ ΡΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ сообщСния ΠΎ ΠΎΡˆΠΈΠ±ΠΊΠ΅. НС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π° скобок Π±ΠΎΠ»Π΅Π΅, Ρ‡Π΅ΠΌ Π² Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π°. Π­Ρ‚ΠΎ услоТняСт процСсс Π°Π½Π°Π»ΠΈΠ·Π° выраТСния Π½Π° Π½Π΅ΠΏΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ скобок. АрифмСтичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½ΠΎ Π² ΡΠΊΠΎΠ±ΠΊΠΈ, Ссли это Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ‚ смысл выраТСния. ДопустимыС для Π²Π²ΠΎΠ΄Π° символы: «+», «-», «*», «/», «(», «)». ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΈΠ½Ρ‹Ρ… символов Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅.

ВрСбования ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° тСкста простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ состоят Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… условиях. Π”Π»ΠΈΠ½Π° строки ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 80 символов. ИспользованиС Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строк услоТняСт процСсс чтСния тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ процСсс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибки ΠΈ Π½ΠΎΠΌΠ΅Ρ€ строки с ΠΎΡˆΠΈΠ±ΠΊΠΎΠΉ. Если Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² ΠΎΠ΄Π½Ρƒ строку, Ρ‚ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибки Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, поэтому ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅. ОписаниС всСх Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ строго Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°, находящихся Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…. ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π±Π»ΠΎΠΊΠ° с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ символа «{» ΠΈ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ «}», Π΄Π°Π½Π½Ρ‹Π΅ символы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… строках, ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π½ΠΈΡ…. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ символами «;» ΠΈ «:», ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ пСрСнСсСн Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку.

Π’ Ρ„ункциях Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ условиям Π·Π°Π΄Π°Ρ‡ΠΈ. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ нСльзя Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main. Максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ число ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ€Π°Π²Π½ΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ.

ИспользованиС Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°Π΅Ρ‚ся. ΠŸΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Π»ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Π΅Ρ‘ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ запрСщаСтся. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ символом «;».

ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ символом «;». ΠŸΡ€ΠΈ использовании ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «goto» Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ большС, Ρ‡Π΅ΠΌ ΠΎΠ΄Π½Π° ΠΌΠ΅Ρ‚ΠΊΠ°. ΠŸΡ€ΠΈ использовании ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° switch, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ «case» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠΌΠ΅Ρ‚ΡŒ константу, Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ символом «:». НС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π° конструкций «switch». ΠŸΡ€ΠΈ использовании ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «if» ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒΡΡ Π² ΡΠΎΠΎΡ‚вСтствиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ «else». НС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² «if» Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ Π²Ρ‹Π΄Π°Ρ‡ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Π§Ρ‚ΠΎ касаСтся надёТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ устойчива ΠΎΡ‚ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ошибок Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ: установка многострочного коммСнтария Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π½Π΅ΠΏΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ скобок ΠΏΡ€ΠΈ опСрациях с ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, функциями, арифмСтичСскими выраТСниями. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ошибки ΠΈ ΡΡ‚Ρ€ΠΎΠΊΡƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° исслСдуСмый Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠΌ простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Ρ‡Ρ‚ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°.

БрСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ язык C ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ компиляции исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΎΠ΄ описанныС Π²Ρ‹ΡˆΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

1.3 ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° арифмСтичСского выраТСния ΠΈ ΡΠΈΠ½Ρ‚аксичСского Π°Π½Π°Π»ΠΈΠ·Π° Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π’Π°ΠΊ ΠΊΠ°ΠΊ эта Π·Π°Π΄Π°Ρ‡Π° ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠ΅Π½Π° Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Π°Ρ…, Ρ‚ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡. ПослС этого осущСствим описаниС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° арифмСтичСского выраТСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ Π·Π½Π°ΠΊΠΎΠ² Π½Π° ΠΊΠΎΠ½Ρ†Π°Ρ… арифмСтичСского выраТСния. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ составляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°ΠΊ «-», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ выраТСния. Π‘ΡƒΠΌΠΌΠΎΠΉ считаСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ всС слагаСмыС соСдинСны ΠΌΠ΅ΠΆΠ΄Ρƒ собой Π·Π½Π°ΠΊΠΎΠΌ слоТСния «+». Π Π°Π·Π½ΠΎΡΡ‚ΡŒΡŽ считаСтся Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ со Π·Π½Π°ΠΊΠΎΠΌ «-». Если всС Π·Π½Π°ΠΊΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹, Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ принадлСТности ΠΊ ΡΡƒΠΌΠΌΠ΅ ΠΈΠ»ΠΈ ΠΊ Ρ€Π°Π·Π½ΠΎΡΡ‚ΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΈΠΌΠΎ Π·Π½Π°ΠΊΠΎΠ² слоТСния ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚ания Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π½Π°ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ: «*», «/», «««. Они Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π°Π½Π°Π»ΠΈΠ·Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°Π½ΠΈΡŽ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π·Π½Π°ΠΊΠΎΠ² слоТСния ΠΈΠ»ΠΈ вычитания.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг — это ΠΈΠ·Π±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ ΡΠΊΠΎΠ±ΠΎΠΊ. Π’Π°ΠΊ ΠΊΠ°ΠΊ скобки ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ слагаСмоС, Ρ‚ΠΎ Π½Π°Ρ…одящимся Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½ΠΈΡ… содСрТимым ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Ρ‡ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ скобок. Если Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ нСсоотвСтствиС парности скобок — Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ сообщСниС ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ арифмСтичСского выраТСния. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, содСрТащССся Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ… Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ся, провСряСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΏΡ€Π΅Ρ‰Ρ‘Π½Π½Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ². ИзбавлСниС ΠΎΡ‚ ΡΠΊΠΎΠ±ΠΎΠΊ рСализуСтся ΠΏΡƒΡ‚Π΅ΠΌ подсчСта количСства ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… скобок.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° тСкста простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ· Ρ„Π°ΠΉΠ»Π° строк посимвольно ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΡ… Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. Π­Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ доступ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ мСстополоТСния ошибки. Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎ строчныС ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡƒΠ·ΠΈΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π°Π½Π°Π»ΠΈΠ·Π°. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ «main», Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° парности скобок «(…)», «[…]», «{…}», Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° парности ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΈ ΠΎΡ„ормлСния ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π²ΠΈΠ΄Π° «/*…*/». Поиск Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. Π”Π°Π»Π΅Π΅ слСдуСт Π°Π½Π°Π»ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², входящих Π² Ρ‚Скст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. На ΡΡ‚ΠΎΠΌ этапС происходит Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ использования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΡΡ‚ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ…. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ пСрСмСнная — выводится сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° нахоТдСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ поиск ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π² ΡƒΡΠ»ΠΎΠ²ΠΈΠΈ задания.

ΠŸΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡƒΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ отступы Π²ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° ΠΏΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ, Π½ΠΎ Π²Ρ…одящий Π² Π½ΠΈΡ… тСкст Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ся. Π’ ΠΊΠΎΠ΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ставятся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшниС Ρ„Π°ΠΉΠ»Ρ‹ с Π»ΡŽΠ±Ρ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ, Ρ‚ΠΎ Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ запрСщаСтся Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ нСтСкстовыС ΠΈ ΠΏΡƒΡΡ‚Ρ‹Π΅ (Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ) Ρ„Π°ΠΉΠ»Ρ‹.

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

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… настоящСго курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° слСдуСт ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.

Для описания Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… конструкций языка ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ синтаксичСскиС Ρ„ΠΎΡ€ΠΌΡ‹ Бэкуса-Наура (РБНЀ). ОпишСм с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ синтаксичСскиС конструкции для Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ арифмСтичСского выраТСния.

Для Π½Π°Ρ‡Π°Π»Π° ΡƒΠΊΠ°ΠΆΠ΅ΠΌ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π°Π»Ρ„Π°Π²ΠΈΡ‚.

Рисунок 1 — РБНЀ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° ОпишСм процСсс Π°Π½Π°Π»ΠΈΠ·Π° суммы ΠΈΠ»ΠΈ разности.

Рисунок 2 — Анализ арифмСтичСского выраТСния Π˜Π·ΡƒΡ‡ΠΈΠ² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ происходит Π°Π½Π°Π»ΠΈΠ· синтаксиса Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π°Π½Π°Π»ΠΈΠ·Π° арифмСтичСского выраТСния. Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² Π²ΠΈΠ΄Π΅ мСталингвистичСских Ρ„ΠΎΡ€ΠΌΡƒΠ». Для Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1 ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

<οΏ½Π‘ΡƒΠΊΠ²Π°> := «a» | «b» | «c» | «d» | «e» | «f» | «g» | «h» | «i» | «j» | «k» | «l» | «m» | «n» | «o» | «p» | «r» | «s» | «t» | «u» | «v» | «w» | «x» | «y» | «z» | «A» | «B» | «C» | «D» | «E» | «F» | «G» | «H» | «I» | «J» | «K» | «L» | «M» | «N» | «O» | «P» | «R» | «S» | «T» | «U» | «V» | «W» | «X» | «Y» | «Z» | «0» | «1» | «2» | «3» | «4» | «5» | «6» | «7» | «8» | «9» | «/» | «*» | «-» | «+».

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ всС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ для написания выраТСния символы.

Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ ΠΌΠ΅Ρ‚Π°Π»ΠΈΠ½Π³Π²ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ для Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.

<οΏ½ΠœΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ> := <οΏ½ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π°> | «(«<οΏ½Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> «)».

<�АрифмСтичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> := <οΏ½ΠœΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ> («+» .

1.4 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΡΠΈΡΡ‚Π΅ΠΌΠ΅.

1.4.1 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Π² Ρ†Π΅Π»ΠΎΠΌ ΠŸΡ€ΠΈ эксплуатации ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒΡΡ трСбования ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, описанныС Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 1.2 настоящСго курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡΠΌΠΈ Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

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

Разработанная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ происходит Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π­Ρ‚ΠΎ сдСлано для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для функционирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ тСорСтичСски ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скомпилирована Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, Π½ΠΎ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠžΠ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Microsoft Windows.

1.4.2 ВрСбования ΠΊ Ρ‚СхничСскому ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ трСбуСтся IBM — совмСстимый ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ с ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π½Π° Π½Π΅Π³ΠΎ 32-Ρ… разрядной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Microsoft Windows XP ΠΈΠ»ΠΈ ΡΡ‚Π°Ρ€ΡˆΠ΅. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свободного компилятора MinGW 3.4.2, распространяСмого ΠΏΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ GNU GPL. Π­Ρ‚ΠΎ обСспСчит ΠΏΠ°Ρ‚Π΅Π½Ρ‚Π½ΡƒΡŽ чистоту ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹Π±ΠΎΡ€ компилятора довольно Π²Π°ΠΆΠ΅Π½ для выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹. НСт зависимостСй, ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΡ… Π»ΠΈΠ±ΠΎ сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ MinGW — это вСрсия компилятора GCC для Windows. НСобходимый для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄ помСщаСтся Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ». Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ язык Π‘ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π° Π‘ 89. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° происходит Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡΠ·Ρ‹ΠΊΠ°Ρ… Π‘ ΠΈ Π‘++. Π’ ΡΠΈΠ»Ρƒ своСй похоТСсти Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ·Π° языков стандартов Π‘ 89 ΠΈ Π‘ 99, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, содСрТащиСся Π² ΡΠ·Ρ‹ΠΊΠ΅ Π‘++.

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

2.1 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ своСго функционирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π²Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹. Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΈ Ρ„ункционирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ трСбования ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, описанныС Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 1.3.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Π²ΡƒΠΌΡ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π·Π°Ρ€Π°Π½Π΅Π΅ тСкст простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ форматирования тСкста, содСрТащСгося Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдоставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡƒΡ‚Π΅ΠΌ Π²Π²ΠΎΠ΄Π° Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, Π° Π·Π°Ρ‚Π΅ΠΌ ввСсти имя сохраняСмого Ρ„Π°ΠΉΠ»Π°.

ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ ряд прСимущСств ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΎΠ².

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

— Π€Π°ΠΉΠ» для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ считываСтся Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΄Π°Π»Π΅Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ сбоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ρ„Π°ΠΉΠ» с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ тСстом записываСтся Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

— Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Π½Π΅ΡΠ°Π½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ измСнСния тСкста Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

— ΠŸΠ°ΠΊΠ΅Ρ‚ная запись, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ, Ρ€Π΅ΠΆΠ΅ обращаСтся ΠΊ ΠΏΠΎΡΡ‚оянным Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ устройствам (ΠŸΠ—Π£), Ρ‚ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ использовании Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠŸΠ—Π£ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Flash-памяти.

НСдостатки:

— Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти приходится Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ большой объСм Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ тСкстов Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

— ΠŸΡ€ΠΈ сбоС Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… раздСляСтся Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ чтСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сдвига символов, поиск Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° тСкста Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅. На ΠΎΡΠ½ΠΎΠ²Π΅ этих Ρ‚Ρ€Π΅Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ синтаксиса, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ: ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ располоТСния скобок, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΡΠΎΠΎΡ‚вСтствии с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ.

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

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Π²Π²ΠΎΠ΄Π° ΠΈ Ρ‡Ρ‚Сния Π΄Π°Π½Π½Ρ‹Ρ… — базовая опСрация, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, указывая ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ячСйки.

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

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ поиска тСкста Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для упрощСния поиска синтаксичСских конструкций Π² Ρ‚СкстС. На Π±Π°Π·Π΅ этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ мСсто, Π³Π΄Π΅ встрСтился ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ скобок позволяСт ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΡΠ»ΡƒΡ‡Π°Π΅ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ тСкст Π² Ρ‚Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² «Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ» для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΡΠΊΠΎΠ±ΠΎΠΊ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² — Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ваТная опСрация, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ синтаксичСский Π°Π½Π°Π»ΠΈΠ· тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Ссли ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ.

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ Π² Ρ„Π°ΠΉΠ» Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° отступа ΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠ° Π² Ρ‚СкстС.

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

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° тСхнологичСского процСсса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΡΠΎΠΎΡ‚вСтствии с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описан Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡƒΠ½ΠΊΡ‚Π°Ρ… ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ записки.

2.2 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° структуры ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π·Π°Ρ€Π°Π½Π΅Π΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Windows CP=1251. ИспользованиС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π² Π½Π°ΡΡ‚оящСм курсовом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ся.

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π³Π΄Π΅ происходит основная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, хранятся Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, число столбцов ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π½ΠΎ 80 (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ трСбованиями ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹), Π° ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ строк зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π°. ΠŸΠ΅Ρ€Π΅Π΄ считываниСм Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π°Π½Π°Π»ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ количСство строк Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, послС Ρ‡Π΅Π³ΠΎ происходит посимвольноС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π½Π΅Π³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π΄Π°Π»Π΅Π΅ упоминаСтся ΠΊΠ°ΠΊ внутрСнняя ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив, Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ символ.

Для хранСния ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… примСняСтся структура, состоящая ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ: Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π΅Π΅ Ρ‚ΠΈΠΏ, Π½ΠΎΠΌΠ΅Ρ€ строки ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎΠΌΠ΅Ρ€ столбца ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

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

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

Π’Π²ΠΈΠ΄Ρƒ описанных Π²Ρ‹ΡˆΠ΅ прСимущСств, использованиС Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ памяти массива символов позволяСт Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚Скстом, Π½Π΅ΠΆΠ΅Π»ΠΈ Ссли Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² Π²ΠΈΠ΄Π΅ массива строк.

Π§Ρ‚ΠΎ касаСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π°Π½Π°Π»ΠΈΠ·Π° арифмСтичСского выраТСния, Ρ‚ΠΎ Π²ΡΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ символов с ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠΌ элСмСнтов Ρ€Π°Π²Π½Ρ‹ΠΌ 255. Π—Π°ΠΏΠΈΡΡŒ Π² ΠΌΠ°ΡΡΠΈΠ² происходит ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ тСкста ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π‘Ρ€Π΅Π΄ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ поиск Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ символа Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. На Π±Π°Π·Π΅ этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° опСрация ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ парности скобок.

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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° арифмСтичСского выраТСния.

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Для этого Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» «do{ }while ()» Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΠΈ, Π° ΡƒΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ пСрСмСнная «flag» (ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π»ΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ истинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΡΠ»ΡƒΡ‡Π°Π΅ обнаруТСния ошибки. ПослС Ρ†ΠΈΠΊΠ»Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° выраТСния Π½Π° ΡΡƒΠΌΠΌΡƒ ΠΈΠ»ΠΈ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ.

Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° do. Π’ Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»Π΅ происходит ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° ΠΈ Π²Π²ΠΎΠ΄ строки ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. ПослС этого ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° — Π²Π²Π΅Π» Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡƒΡΡ‚ΡƒΡŽ строку ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Π”Π°Π»Π΅Π΅ происходит ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ символов латинского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° ΠΈΠ· ΠΏΡ€ΠΎΠΏΠΈΡΠ½Ρ‹Ρ… Π² ΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅, ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΡΠ»ΡƒΡ‡Π°ΠΉ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ выраТСния, содСрТащСго «()». ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π²ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ строкС символов, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΡ… Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ, ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° парности скобок. Π¦ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π²Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… подсчитываСтся количСство Π·Π½Π°ΠΊΠΎΠ² «+» ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π·Π½Π°ΠΊΠΎΠ² «-». Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° слСдит, Ρ‡Ρ‚ΠΎΠ±Ρ‹ подсчСт Π½Π΅ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΠ» Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ…. ПослС подсчСта Ссли ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ большС Π·Π½Π°ΠΊΠΎΠ² «+», Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ считаСтся суммой, Ссли «-», Ρ‚ΠΎ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒΡŽ, Ссли Π½Π΅Ρ‚ арифмСтичСских Π·Π½Π°ΠΊΠΎΠ² ΠΈΠ»ΠΈ количСство плюсов ΠΈ ΠΌΠΈΠ½ΡƒΡΠΎΠ² совпадаСт, Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π½ΠΈ ΡΡƒΠΌΠΌΡ‹, Π½ΠΈ Ρ€Π°Π·Π½ΠΎΡΡ‚ΠΈ.

Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊ-схСмы Π² ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ А;

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° тСкста простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ памяти происходит ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚ΠΎ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π° ΠΏΠΎΠ΄ ΠΊΠΎΠ½Π΅Ρ† Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ рассмотрСнныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

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

Рассмотрим ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ поиска тСкста Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅. Π­Ρ‚Π° опСрация Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Если функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ минус 1, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ слово Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ. Если слово Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ индСкс элСмСнта строки, Π³Π΄Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ совпадСниС. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ†ΠΈΠΊΠ»ΠΎΠΌ, Π³Π΄Π΅ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ провСряСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ совпадСний, ΠΈ Π΅ΡΠ»ΠΈ Π΅ΡΡ‚ΡŒ совпадСниС — пСрСмСнная-счСтчик увСличиваСтся Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Если количСство совпадСний Ρ€Π°Π²Π½ΠΎ Π΄Π»ΠΈΠ½Π΅ искомого слова — возвращаСтся индСкс строки, ΠΈΠ½Π°Ρ‡Π΅ минус 1.

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ удалСния ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² Ρ†ΠΈΠΊΠ»Π΅ провСряСтся — Ρ€Π°Π²Π΅Π½ Π»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ, Ссли Ρ€Π°Π²Π½Ρ‹, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ся Π½Π° Ρ€Π°Π²Π΅Π½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Ρƒ, Ссли Ρ€Π°Π²Π½ΠΎ — происходит сдвиг Π½Π° ΠΎΠ΄ΠΈΠ½ символ Π²Π»Π΅Π²ΠΎ.

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ²Π΅Ρ€ΠΊΠΈ парности скобок провСряСтся ΠΏΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ скобок Π²ΠΈΠ΄Π° «(…)», «[ … ]», «{ … }», Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° парности ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ «««. ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ΡΡ Π² Ρ†ΠΈΠΊΠ»Π΅ количСство ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… скобок. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ скобка ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. ПослС Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° провСряСтся ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ счСтчиков ΠΎΡ‚ Π½ΡƒΠ»Ρ. Если ΠΎΠ½ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, Ρ‚ΠΎ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ обрабатываСтся каТдая строка ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся индСкс строки, Π³Π΄Π΅ Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π° ΠΏΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ скобок.

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

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ организуСтся поиск ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ наимСнованию Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС «stdio.h». Если Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π°ΠΉΠ΄Π΅Π½Π°, Ρ‚ΠΎ Π² Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ строкС ищСтся Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° «#include» ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ся порядок ΠΈΡ… ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² Ρ‚СкстС.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ сохранСния Π² Ρ„Π°ΠΉΠ» прСдставляСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ символа Π² Ρ„Π°ΠΉΠ».

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

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ синтаксиса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ: ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ «main», ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «goto», «if», «switch», ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ эти ΠΏΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main ΠΈΡ‰Π΅Ρ‚ Π² Ρ‚СкстС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ «main», провСряСт случай отсутствия Π΅Ρ‘ Π² Ρ‚СкстС ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Если Π½Π°ΠΉΠ΄Π΅Π½Π° функция main, Ρ‚ΠΎ ΡΡ‚Ρ€ΠΎΠΊΠ°, Π³Π΄Π΅ ΠΎΠ½Π° ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π°, запоминаСтся Π² Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ использования.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… слСдит Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π»ΠΈΠ½Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π»Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа, Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π»Π°ΡΡŒ пустым ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ. Π’ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°ΠΊΠΆΠ΅ записываСтся имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π΅Π΅ Ρ‚ΠΈΠΏ, ΠΈ ΠΌΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ‚СкстС.

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

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «goto» ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅Ρ‚ поиск Π² Ρ‚СкстС этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΏΡ€ΠΈ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΡ‰Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΊΡƒ, Ссли ΠΌΠ΅Ρ‚ΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΈΠ»ΠΈ находится Π½Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main, Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «if» ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅Ρ‚ поиск Π΅Π³ΠΎ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ условия: ΠΏΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ скобок, использованиС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… констант, наличия Π² ΡƒΡΠ»ΠΎΠ²ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ арифмСтичСских ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΡ… Π·Π½Π°ΠΊΠΎΠ². Π’Π°ΠΊΠΆΠ΅ провСряСтся мСстополоТСниС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «else», Ссли ΠΎΠ½ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ «if» выводится сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «switch» ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅Ρ‚ поиск названия этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² Ρ‚СкстС, Ρ‚Π°ΠΊΠΆΠ΅ провСряСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² «case» Ссли «switch» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½. ΠŸΡ€ΠΈ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ искомого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° провСряСтся мСстонахоТдСниС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «case» ΠΏΠ΅Ρ€Π΅Π΄ «switch». ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ΡΡ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ констант послС «case» ΠΈ Ρ„инализация ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° арифмСтичСского выраТСния Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΠΈΡΠΊΠ΅ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ Π·Π½Π°ΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π² Π°Ρ€ΠΈΡ„мСтичСских выраТСниях. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡΡ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° соСдинСния констант ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… арифмСтичСскими Π·Π½Π°ΠΊΠ°ΠΌΠΈ.

Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ прСдставлСн Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊ-схСм Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π‘.

2.4 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.

2.4.1 Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прилоТСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ языка Π‘ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π° Π‘89. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ язык Π‘ ΡƒΡΡ‚Π°Ρ€Π΅Π» ΠΈ Π²Ρ‹Ρ‚СснСн языком Π‘++, ΠΎΠ½ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ языком ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX, ΠΈ ΡΠ·Ρ‹ΠΊΠΎΠΌ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ разрабатываСтся систСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. Π―Π·Ρ‹ΠΊ Π‘ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° ΡΡ‚ΠΎΠΌ языкС, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ нСбольшой объСм, благодаря этому Π½Π΅ Ρ‚рСбуСтся Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… рСсурсов для ΠΈΡ… Π·Π°ΠΏΡƒΡΠΊΠ°. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΠ½ ΡΠ·Ρ‹ΠΊΠΎΠ², основанных Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ .NET, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ, написанным Π½Π° Π½Π΅ΠΌ, Π½Π΅ Ρ‚рСбуСтся для функционирования срСда. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ настоящСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния использовался компилятор GCC, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π―Π·Ρ‹ΠΊ Π‘ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Π² ΡƒΡΠ»ΠΎΠ²ΠΈΡΡ… Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ использовалась свободная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ MonoDevelop 2.4. Она прСдоставляСт программисту ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ возмоТности: подсвСтка синтаксиса ΠΊΠΎΠ΄Π°, сворачиваниС участков ΠΊΠΎΠ΄Π°, соблюдСниС отступов. Если Π² ΠΊΠΎΠ΄Π΅ Π΅ΡΡ‚ΡŒ ошибка, Ρ‚ΠΎ ΡΡ€Π΅Π΄Π° подсвСтит ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΡƒΡŽ строку. ВсС эти возмоТности ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

синтаксичСский ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° арифмСтичСский.

2.4.2 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π’Π΅Π΄ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π°Π΄ΠΎ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Для Π½Π°Ρ‡Π°Π»Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Ѐункция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π°Π½Π°Π»ΠΈΠ·Π° арифмСтичСского выраТСния — ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ арифмСтичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ суммой (Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒΡŽ). Ѐункция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° тСкста простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘ — ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ обнаруТСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ошибок Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π°Π²ΠΈΠ» синтаксиса Π² ΠΈΡΡΠ»Π΅Π΄ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎ ΠΈ Π½Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ составляСт лишь ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «dir». Π•Ρ‘ Π·Π°ΠΏΡƒΡΠΊ происходит ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠ΅Ρ€Π΅Π΄ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°. Π’Π°ΠΊ ΠΊΠ°ΠΊ эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° тСсно связана с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Ρ‚ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚ Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Ρ‡ΡŒ.

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡŽ Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°. ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠ΅ обоснованиС состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пакСтная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… вмСсто ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π­Ρ‚ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€ обуславливаСтся ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ надСТности ΠΏΡƒΡ‚Π΅ΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ вСроятности ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…. ИспользованиС символьного массива вмСсто массива тСкстовых строк ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ, добавлСнию символов, Π° Ρ‚Π°ΠΊΠΆΠ΅ снятиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ строки. Π’Π°ΠΊ ΠΊΠ°ΠΊ строка Π±Ρ‹Π»Π° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° нулями, Ρ‚ΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² тСкст, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ символ, послС послСднСго Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ, станСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΌ строки. Π‘Ρ€Π΅Π΄ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ обоснования ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ коммСнтариями записываСтся Π½ΡƒΠ»Π΅Π²ΠΎΠΉ символ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ становятся «Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ» для Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ². Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² Ρ‚Скстовой строкС происходит потСря Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ использовании Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ строки ΠΈΠΌΠ΅ΡŽΡ‚ динамичСский Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ, записав Π½ΡƒΠ»Π΅Π²ΠΎΠΉ символ, измСнится Π΄Π»ΠΈΠ½Π° строки. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ΅ обоснованиС основано Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ пСрСноса ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ строки. Если ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π½ΠΎΠ²Ρ‹Π΅ строки ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ‚ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива, Π° Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ нСизвСстно, сколько Π±ΡƒΠ΄Π΅Ρ‚ пСрСносов. А ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ вставки символов ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ пСрСносы Π² Π±ΠΎΠ»Π΅Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

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

2.4.3 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΠΌ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ языка Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования. ОпишСм ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ «main». Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρƒ Π²ΡΠ΅Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт массива ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ строк. ИспользованиС ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ структуры позволяСт ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ нСкритичСская ошибка Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π’Π°ΠΊΠΆΠ΅ упрощаСтся процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΅Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ арифмСтичСского Π°Π½Π°Π»ΠΈΠ·Π° вся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π² ΡΠΈΠ»Ρƒ нСбольшого спСктра Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… Π·Π°Π΄Π°Ρ‡, прСдставлСна Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ «main». Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ прилагаСтся Π² ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π’.

2.4.4 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ интСрфСйса.

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

НомСр строки: НомСр столбца: «ΠžΡˆΠΈΠ±ΠΊΠ°»: НаимСнованиС ошибки Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставляСт собой ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку, Π³Π΄Π΅ Π±Π΅Π»Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ Π½Π° Ρ‡Π΅Ρ€Π½ΠΎΠΌ Ρ„ΠΎΠ½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄ΠΈΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится исполняСмый Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Π²Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ арифмСтичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для Π°Π½Π°Π»ΠΈΠ·Π°. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ «Enter» Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, участиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΡ€ΠΈ использовании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ограничиваСтся Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Выходная информация выводится Π½Π° ΡΠΊΡ€Π°Π½ Π±Π΅Π· участия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, сообщая Π΅ΠΌΡƒ, Π³Π΄Π΅ ΠΎΠ½ ΠΎΡˆΠΈΠ±ΡΡ, ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ выполнСния всСх описанных Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ, возвращая срСду, Π³Π΄Π΅ ΠΎΠ½Π° исполняСтся, Π² ΡΠΎΡΡ‚ояниС, ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠ΅Π΅ Π²Ρ‹Π·ΠΎΠ²Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ Π½Π°ΡΡ‚оящСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ возвращаСтся Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡŒ. Для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊ.

УмСньшСниС участия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ функционирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния эргономики. Благодаря этому ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° соотвСтствуСт трСбованиям ΠΏΠΎ ΡΡ€Π³ΠΎΠ½ΠΎΠΌΠΈΠΊΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…, Π° ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… позволяСт быстро Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΈ Π²Π²Π΅ΡΡ‚ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄ΠΈΡ‚ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±ΠΎΠ»Π΅Π΅ понятной. А ΠΎΡ‚сутствиС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, отсутствиС сообщСний ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, позволяСт лишний Ρ€Π°Π· Π½Π΅ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сниТаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° ΠΎΡ€Π³Π°Π½Ρ‹ Π·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ восприятия.

Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹: критичСскиС ΠΈ ΡΠΈΠ½Ρ‚аксичСскиС. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΏΠΎΠ²Π΅ΡΡ‚Π²ΡƒΡŽΡ‚, ΠΎ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Ρ… Π²Ρ‹Π²ΠΎΠ΄ сопровоТдаСтся Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ПослС этого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π²Π²Π΅ΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ-Π½ΠΎΠ²ΠΎΠΌΡƒ. К Ρ‚Π°ΠΊΠΈΠΌ ошибкам ΠΌΠΎΠΆΠ½ΠΎ отнСсти Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Π΅ многострочныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π²ΠΎ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (тСкст простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ арифмСтичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) символов Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… принятому Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ, Π½Π΅ΠΏΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ скобок ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ. БинтаксичСскиС сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΏΠΎΠ²Π΅ΡΡ‚Π²ΡƒΡŽΡ‚, ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ синтаксиса простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΡΡ‚ ΠΊ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ выводятся для обозрСвания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ список Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… ошибок Π² Ρ‚СкстС простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ Π°Π½Π°Π»ΠΈΠ·Π° арифмСтичСского выраТСния синтаксичСских ошибок Π½Π΅Ρ‚, Π° Π²ΠΌΠ΅ΡΡ‚ΠΎ Π½ΠΈΡ… выводится Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. БинтаксичСскиС ошибки выводятся Π² ΡΠ»ΡƒΡ‡Π°Π΅: Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π°Π²ΠΈΠ» ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π°Π²ΠΈΠ» ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ «main», Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π°Π²ΠΈΠ» ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π±Π΅Π· ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² if, goto, switch, арифмСтичСскиС ошибки.

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

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ процСссов Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅, поэтому Π½ΠΈ ΠΎΠ΄ΠΈΠ½ процСсс Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² доступ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΠΈΠΌΡΡ Π² Π½Π΅ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ, Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΡ…, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ…, ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ. Но, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ информация, хранимая Π² Ρ„Π°ΠΉΠ»Π°Ρ…, доступна для Π΄Ρ€ΡƒΠ³ΠΈΡ… процСссов, Ρ‚ΠΎ ΡΡ‚ΠΎ сводит Π½Π° Π½Π΅Ρ‚ всС прСимущСства хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ памяти.

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

2.5 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ тСхничСских срСдств Π”Π°Π½Π½Ρ‹ΠΉ вопрос Π±Ρ‹Π» рассмотрСн Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 1.4.2, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ эту ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ. Для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ функционирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ трСбуСтся опСрационная систСма Microsoft Windows XP ΠΈ ΡΡ‚Π°Ρ€ΡˆΠ΅. Π’ Π½Π°ΡΡ‚оящСС врСмя эта вСрсия ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы самая распространСнная. Она сочСтаСт Π² ΡΠ΅Π±Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Π΅ возмоТности ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм сСрии 9Ρ… ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΡƒΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ· ΡΠ΅ΠΌΠ΅ΠΉΡΡ‚Π²Π° NT. Π’Π°ΠΊΠΆΠ΅ нСвысокиС систСмныС трСбования поспособствовали ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ это ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ функционирования этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы трСбуСтся процСссор Intel Celeron 1 Π³ΠΈΠ³Π°Π³Π΅Ρ€Ρ†, объСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти 192 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ VGA Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°. Π’Π°ΠΊ ΠΊΠ°ΠΊ опСрационная систСма Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… настоящСго курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ наличия Π΄Π°Π½Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств.

Если Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ трСбования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Ρ‚ΠΎ Ρ‚рСбования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ улоТатся Π²: процСссор Intel Pentium ΠΈ Π²Ρ‹ΡˆΠ΅, объСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π² 32 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚, свободноС мСсто Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΌ дискС — 96 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚. ВСорСтичСски Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилировав) Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС MS-DOS, Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π½Π° Π΄Π»ΠΈΠ½Ρƒ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ пСрСписывания исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния зависимости ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ срСды выполнСния, ΠΊΠ°ΠΊ это Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ прилоТСния, написанныС ΠΏΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ .NET, Π° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 10 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚.

2.6 ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

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

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ настоящСго курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° трСбуСтся ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ «main», Π½Π° Π½Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π“.

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

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

2.6.2 ΠŸΡ€ΠΎΡ†Π΅ΡΡ тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ выполнСния основных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 2.6.1, поэтому Π² ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΈ Π½Π΅ Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚ся. Π§Ρ‚ΠΎ касаСтся тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ тСстирования Π±Ρ‹Π»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ ошибки Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «switch», ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΈ отсутствии этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ»Π° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «case». Ошибка исправлСна, ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ тСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ошибок, внСсСнных Π² ΠΊΠΎΠ΄ простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π² Π½Π΅Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

2.6.3 ΠžΡ†Π΅Π½ΠΊΠ° надСТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ ряд испытания Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, подсчитано количСство ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… испытаний ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… испытаний. Из Π΄Π΅ΡΡΡ‚ΠΈ испытаний Π΄Π²Π° испытания Π±Ρ‹Π»ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌΠΈ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Она ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ 80 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ довольно высокий ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.

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

.

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

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

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ проСктирования настоящСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прилоТСния ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π° Π΅Π³ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ, которая Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ надСТности ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ ΠΎ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΠΊ Π²Ρ‹Π±ΠΎΡ€Ρƒ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ прСдставлСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

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

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ выполнСния курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΎΠΏΡ‹Ρ‚ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ слоТности.

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

.

1. ΠŸΠΎΠ»Π½Ρ‹ΠΉ справочник ΠΏΠΎ Π‘. Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ [ВСкст]: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π»ΠΈ. /Π¨ΠΈΠ»Π΄Ρ‚, Π“Π΅Ρ€Π±Π΅Ρ€Ρ‚. — Πœ.: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π΄ΠΎΠΌ «Π’ΠΈΠ»ΡŒΡΠΌΡ», 2002. — 704 с.: ΠΈΠ». — ΠŸΠ°Ρ€Π°Π». Π’ΠΈΠΏ. Англ. — ISBN 5−8459−0226−6(рус).

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, А Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° арифмСтичСского выраТСния.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘ Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘.

Алгоритм подсчСта количСства строк Π² Ρ„Π°ΠΉΠ»Π΅.

Алгоритм сдвига символов Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅.

Алгоритм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².

Алгоритм поиска тСкста Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅.

Алгоритм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

Алгоритм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ парности скобок.

Алгоритм форматирования тСкста простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Алгоритм Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Алгоритм сохранСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Ρ„Π°ΠΉΠ».

Алгоритм ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Алгоритм Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Алгоритм Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°.

Алгоритм Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «goto».

Алгоритм Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° конструкции if-else.

Алгоритм Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° switch.

Алгоритм Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Ρ‚СкстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Алгоритм Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ «main».

Алгоритм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ «main».

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘ Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π·Π°Π΄Π°Ρ‡ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° арифмСтичСского выраТСния.

#include.

#include.

#include.

#define bool char.

#define false 0.

#define true 1.

int main ().

{.

char string[255];

bool flag=false;

int result=0, i=0;

float cnt=0.0, cnt1=0.0;

do{.

flag=false;

cnt=0;

gets (string);

if (!strlen (string)).

{.

printf («Π’Ρ‹ Π²Π²Π΅Π»ΠΈ ΠΏΡƒΡΡ‚ΡƒΡŽ строку, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π°Π½ΠΎΠ³ΠΎn»);

flag=true;

}.

for (i=0; string[i]≠0; i++).

{.

if (string[i]>=65 && string[i]<=90).

{.

string[i]=string[i]+32;

}.

if ((string[i]=='(')&&(string[i+1]==')')).

{.

printf («Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ½Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ (), Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π°Π½ΠΎΠ³ΠΎn»);

flag=true;

}.

if (string[i]=='(') cnt++;

if (string[i]==')') cnt—;

if (!(strchr («abcdefghijklmnopqrstuvwxyz±*^/)(1 234 567 890», string[i]))).

{.

printf («ΠΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ символ %c ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°Π½ΠΎΠ³ΠΎn», string[i]);

flag=true;

}.

}.

if (flag==false&&((strchr («*+^/», string[0])).

||(strchr («+*-^/», string[strlen (string)-1])))).

{.

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