ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с нуля

Данная ΡΡ‚Π°Ρ‚ΡŒΡ описываСт основныС конструкции Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Но ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ описываСт всС Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ. Если ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠ΄Π½ΠΎ ΠΈ нСпонятно.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅ΠΌ си-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ синтаксис, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ языку си, Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π²Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ особСнности ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… языков, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ Π½Π° синтаксис Π±ΠΎΠ»Π΅Π΅ высокоуровнСвых языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ΄Π΅Π»Π°ΡŽΡ‚ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π·Π° нас. А ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ синтаксис языка Java. Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚.

Двоичная систСма счислСния

Числа Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния состоят всСго ΠΈΠ· Π΄Π²ΡƒΡ… Π·Π½Π°ΠΊΠΎΠ². Нуля ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹. 00000001 – число ΠΎΠ΄ΠΈΠ½. 00000010 – число Π΄Π²Π°. 00000100 – число 4. Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Π° смСщаСтся Π²Π»Π΅Π²ΠΎ, число увСличиваСтся Π² Π΄Π²Π° Ρ€Π°Π·Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ число 3, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ 00000011. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ числа. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число с восСмью Π·Π½Π°ΠΊΠ°ΠΌΠΈ, ΠΈΠ½Π°Ρ‡Π΅ говоря число Π²ΠΎΡΡŒΠΌΠΈΡ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΠ΅. Π§Π΅ΠΌ большС Ρƒ числа разрядов, Ρ‚Π΅ΠΌ большСС ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НапримСр, Π²ΠΎΡΡŒΠΌΠΈΡ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΠ΅ число Π²ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 255, Ссли ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ноль, Ρ‚ΠΎΠ³Π΄Π° 256, Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ноль считаСтся всСгда. Если ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ разряд Π½Π° ΠΎΠ΄ΠΈΠ½, получится дСвятиразрядноС число ΠΈ Π΅Π³ΠΎ Π²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ увСличится Π² Π΄Π²Π° Ρ€Π°Π·Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ станСт 512. Но Ρ‚Π°ΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ дСлаСтся ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ каТдая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ увСличиваСтся Π²Π΄Π²ΠΎΠ΅. Один разряд, ΠΏΠΎΡ‚ΠΎΠΌ 2 разряда, ΠΏΠΎΡ‚ΠΎΠΌ 4 разряда, ΠΏΠΎΡ‚ΠΎΠΌ 8 разрядов, ΠΏΠΎΡ‚ΠΎΠΌ 16 разрядов, ΠΏΠΎΡ‚ΠΎΠΌ 32 разряда ΠΈ Π΄Π°Π»Π΅Π΅.

ШСстнадцатСричная систСма счислСния

Всё Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вмСсто Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ† ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΎΡ‚ 0 Π΄ΠΎ 15. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, Π³Π΄Π΅ A – 10, B – 11, C – 12, D – 13, E – 14, F – 15.

Π—Π½Π°ΠΊ минус Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π‘ΡƒΠΊΠ²Ρ‹ ΠΈ Π·Π½Π°ΠΊΠΈ

Π‘ΡƒΠΊΠ²Ρ‹, Π·Π½Π°ΠΊΠΈ, смайлики ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ числами. Π‘ΡƒΠΊΠ²Π° А ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ числом 00000001 ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ чисСл Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ символов. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΌΠ½ΠΎΠ³ΠΎ.

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ЧисловыС, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ 233, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ Π²Ρ‹ΡˆΠ΅. ΠΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²Π΅Π·Π΄Π΅ int, ΠΎΡ‚ слова integer. Π‘ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ 198,76, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²Π΅Π·Π΄Π΅ float. Π£ Π±ΡƒΠΊΠ² Ρ‚ΠΈΠΏ char, Ρƒ строк Ρ‚ΠΈΠΏ String. Π’ΠΈΠΏ bool ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° значСния – истина (true) ΠΈ лоТь (false). Π£ этого Ρ‚ΠΈΠΏΠ° рСализация Π² Ρ€Π°Π·Π½Ρ‹Ρ… языках разная, Π½ΠΎ самая простая, ΠΊΠΎΠ³Π΄Π° ноль β€” Π·Π½Π°Ρ‡ΠΈΡ‚ лоТь, Π° любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ число истину. НСстандартныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ числа с фиксированной запятой, Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

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

Π­Ρ‚ΠΎ стандартноС объявлСниС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Π‘Π½Π°Ρ‡Π°Π»Π° пишСм Ρ‚ΠΈΠΏ, ΠΏΠΎΡ‚ΠΎΠΌ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нашСго числа. ВсСгда Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅ΠΌ нашС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π΄Π° ΠΈ любоС, Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой.
Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎ Π΅Ρ‘ ΠΈΠΌΠ΅Π½ΠΈ.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ присвоили ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ = Π·Π½Π°Ρ‡ΠΈΡ‚ Π²Π·ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ справа ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ слСва. = β€” это Π·Π½Π°ΠΊ/ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присвоСния.

МоТно ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ объявлСниС ΠΈ присвоСниС, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сразу ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

Π‘ΡƒΠΊΠ²Ρ‹ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ, строки Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ. Числа Ρ‚ΠΈΠΏΠ° int Π½Π΅ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ.

К числам с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности Π² ΠΊΠΎΠ½Ρ†Π΅ добавляСтся f.

К числам с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ добавляСтся.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΡ‹ записали нашС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ слоТСния,

получаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Но Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ присваиваСтся, ΠΎΠ½ΠΎ исчСзаСт. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присвоСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ описан Π²Ρ‹ΡˆΠ΅.
ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ Π΅Ρ‰Ρ‘ Ρ€Π°Π·. Он Π±Π΅Ρ€Ρ‘Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ со своСй ΠΏΡ€Π°Π²ΠΎΠΉ стороны ΠΈ присваиваСт Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π»Π΅Π²ΠΎΠΉ сторонС. Π­Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ =, ΠΈ ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ со Π·Π½Π°ΠΊΠΎΠΌ Ρ€Π°Π²Π½ΠΎ ΠΈΠ· ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ.

Π’Π°ΠΊΠΆΠ΅ Ρƒ нас Π΅ΡΡ‚ΡŒ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ (большС),

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ C++. Π§Π°ΡΡ‚ΡŒ 1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈ языки программирования

РазбираСмся, ΠΊΠ°ΠΊ устроСн язык программирования C++, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΊΠ°ΠΊ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈΡ… ΠΏΠΈΡΠ°Ρ‚ΡŒ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с нуля, Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹. Π­Ρ‚ΠΎ пСрвая ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈΠ· сСрии Β«Π“Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² C++Β», с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ сдСлаСтС ΠΏΠ΅Ρ€Π²Ρ‹Π΅ шаги Π² профСссии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΠ³Ρ€.

НС ΠΏΡƒΠ³Π°ΠΉΡ‚Π΅ΡΡŒ большого ΠΎΠ±ΡŠΡ‘ΠΌΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: Ρ‡Π΅ΠΌ большС Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π½Π°Ρ‚ΡŒ, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ смоТСтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ, Ссли Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ C++, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π° этом языкС Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ тСорСтичСской Π±Π°Π·Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… информация сильно ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π°.

ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. kucheryaviy. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄-kucheryaviy. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° kucheryaviy. Данная ΡΡ‚Π°Ρ‚ΡŒΡ описываСт основныС конструкции Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Но ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ описываСт всС Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ. Если ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠ΄Π½ΠΎ ΠΈ нСпонятно.

ΠŸΠΈΡˆΠ΅Ρ‚ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π² свободноС врСмя создаСт ΠΈΠ³Ρ€Ρ‹. ΠœΠ΅Ρ‡Ρ‚Π°Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ свою ΡΡ‚ΡƒΠ΄ΠΈΡŽ ΠΈ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π»Π°ΠΌΠΏΠΎΠ²Ρ‹Π΅ RPG.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ язык программирования

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ β€” это бСсполСзный кусок ΠΆΠ΅Π»Π΅Π·Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΠΈ с Ρ‡Π΅ΠΌ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. И Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ β€” ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ инструкций.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ β€” ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ выглядит Π²Ρ‹Π²ΠΎΠ΄ Π½Π° экран надписи Β«Hello, World!Β» Π½Π° машинном ΠΊΠΎΠ΄Π΅ (Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии):

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π±Ρ‹Π»ΠΈ созданы языки программирования β€” с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΈΡˆΡƒΡ‚ инструкции для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ понятны ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ. Одним ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π±Ρ‹Π» язык ассСмблСра. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π½Π° Π½Ρ‘ΠΌ выглядит Π²Ρ‹Π²ΠΎΠ΄ надписи Β«Hello, World!Β»:

ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. 17494130052020 6a4e9b3ae3023faad72ace61e6264ce47ed78056. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄-17494130052020 6a4e9b3ae3023faad72ace61e6264ce47ed78056. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 17494130052020 6a4e9b3ae3023faad72ace61e6264ce47ed78056. Данная ΡΡ‚Π°Ρ‚ΡŒΡ описываСт основныС конструкции Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Но ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ описываСт всС Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ. Если ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠ΄Π½ΠΎ ΠΈ нСпонятно.

Всё Ρ€Π°Π²Π½ΠΎ достаточно слоТно, Π΄Π°? Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ чСловСчСство создало Π±ΠΎΠ»Π΅Π΅ понятныС языки программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. А Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΠΈΡΡŒ, ΠΊΠΎΠ΄ пСрСводится Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ язык β€” этот процСсс называСтся компиляциСй.

Если язык ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Ρ‚ΠΎ Π΅Π³ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌ. Если ΠΆΠ΅ ΠΎΠ½ большС понятСн Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, Ρ‚ΠΎ β€” высокоуровнСвым. C++ сочСтаСт Π² сСбС свойства ΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π›ΡŽΠ±Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ: ΠΎΠ½Π° ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π”Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, считаны ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ записаны Π² самом ΠΊΠΎΠ΄Π΅.

НапримСр, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ тСкст ΠΈΠ· адрСсной строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π²Ρ‘Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, отправляСт адрСс Π½Π° сСрвСр, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚Π²Π΅Ρ‚ Π² Π²ΠΈΠ΄Π΅ страницы.

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ β€” Π½Π°Π±ΠΎΡ€ΠΎΠ² инструкций. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° запроса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСр, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π°, Π²Ρ‹Π²ΠΎΠ΄ страницы β€” всё это ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. 17494130052020 d58f50d1222620cd1cfe95da3a91221bd0d26e65. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄-17494130052020 d58f50d1222620cd1cfe95da3a91221bd0d26e65. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 17494130052020 d58f50d1222620cd1cfe95da3a91221bd0d26e65. Данная ΡΡ‚Π°Ρ‚ΡŒΡ описываСт основныС конструкции Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Но ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ описываСт всС Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ. Если ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠ΄Π½ΠΎ ΠΈ нСпонятно.

МоТно Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… Π² Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π’ΠΎΡ‚ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° запускаСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² ОБ Linux, которая ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ img.jpg Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π° ΠΏΠΎΡ‚ΠΎΠΌ сохраняСт Π² Ρ„Π°ΠΉΠ» img.png.

БСйчас слово Β«ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Β» встрСчаСтся Ρ€Π΅Π΄ΠΊΠΎ β€” вмСсто Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ слова «функция», Β«ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Β» ΠΈΠ»ΠΈ Β«ΠΌΠ΅Ρ‚ΠΎΠ΄Β».

ПишСм ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° C++

По Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ программистов пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, написанная Π½Π° ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΠΎΠΌ языкС, Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° экран надпись Β«Hello, World!Β».

ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. 18113030052020 27e9aa5bdf801f94f7728fe14d1ac08405e5a691. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄-18113030052020 27e9aa5bdf801f94f7728fe14d1ac08405e5a691. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 18113030052020 27e9aa5bdf801f94f7728fe14d1ac08405e5a691. Данная ΡΡ‚Π°Ρ‚ΡŒΡ описываСт основныС конструкции Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Но ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ описываСт всС Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ. Если ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠ΄Π½ΠΎ ΠΈ нСпонятно.

Π’ C++ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Π° ΠΏΠΎΡ‚ΠΎΠΌ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ЗапускаСм ΠΊΠΎΠ΄ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅

Π‘Π°ΠΌΡ‹ΠΉ простой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” Π·Π°ΠΉΡ‚ΠΈ Π½Π° сайт repl.it. На Π³Π»Π°Π²Π½ΠΎΠΉ страницС Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Start Coding, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ C++ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Create Repl.

Π£ вас откроСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ страница:

ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. 17494130052020 e3ea06ecc4efe66fd609360c227a5daace25eda6. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄-17494130052020 e3ea06ecc4efe66fd609360c227a5daace25eda6. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 17494130052020 e3ea06ecc4efe66fd609360c227a5daace25eda6. Данная ΡΡ‚Π°Ρ‚ΡŒΡ описываСт основныС конструкции Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Но ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ описываСт всС Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ. Если ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠ΄Π½ΠΎ ΠΈ нСпонятно.

Π‘Π»Π΅Π²Π° β€” ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Ρ„Π°ΠΉΠ»ΠΎΠ², Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ β€” тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π³Π΄Π΅ ΡƒΠΆΠ΅ Π²Π²Π΅Π΄Ρ‘Π½ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π°ΠΌ ΠΊΠΎΠ΄, Π° справа β€” консоль, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выводится Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Run.

ЗапускаСм ΠΊΠΎΠ΄ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅

Если ΠΆΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° своём ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‚ΠΎ установитС компилятор. Π― ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ G++, Π΅Π³ΠΎ ΠΈ Π²Π°ΠΌ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ.

ПослС установки компилятора создайтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ для ΠΊΠΎΠ΄Π°, Π° Π² Π½Π΅ΠΉ β€” Ρ„Π°ΠΉΠ» hello.cpp (это Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π½Π° C++). Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ состоял ΠΈΠ· латинских символов ΠΈ Π±Ρ‹Π» написан Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ hello.cpp с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ любого Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π° ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Sublime text ΠΈΠ»ΠΈ VS Code) ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции Π½ΠΈΠΆΠ΅.

WindowsLinux
1. НаТмитС Win + R, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ cmd ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter.1. НаТмитС Ctrl + Alt + t. Если Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ, Ρ‚ΠΎ подходящий способ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.
2. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ cd [ΠΏΡƒΡ‚ΡŒ]. НапримСр, cd projects\cpp1, Ссли ваша ΠΏΠ°ΠΏΠΊΠ° находится ΠΏΠΎ адрСсу c:\projects\cpp1.2. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ cd [ΠΏΡƒΡ‚ΡŒ]. НапримСр: cd

/projects/cpp1

3. Если ΠΏΠ°ΠΏΠΊΠ° находится Π½Π΅ Π½Π° систСмном дискС, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ: cd /D [диск:][ΠΏΡƒΡ‚ΡŒ]. НапримСр: cd /D d:\projects\cpp1

Π—Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° скаТСт ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° hello.cpp ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Ρ„Π°ΠΉΠ» hello (ΠΈΠ»ΠΈ hello.exe Π² Windows).

ПослС этого запуститС ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. 17494130052020 7b64da46b2dc4329c15be64aeef9e636261e678c. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄-17494130052020 7b64da46b2dc4329c15be64aeef9e636261e678c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 17494130052020 7b64da46b2dc4329c15be64aeef9e636261e678c. Данная ΡΡ‚Π°Ρ‚ΡŒΡ описываСт основныС конструкции Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Но ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ описываСт всС Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ. Если ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠ΄Π½ΠΎ ΠΈ нСпонятно.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ смогли Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, разбСрёмся Π² Π½Π΅ΠΉ.

Из Ρ‡Π΅Π³ΠΎ состоит ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° C++

Начнём с самой ΠΏΠ΅Ρ€Π²ΠΎΠΉ строчки:

ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. 17494130052020 93b8888c66d5103a8bb4f5fd89e04622d16558ec. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄-17494130052020 93b8888c66d5103a8bb4f5fd89e04622d16558ec. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 17494130052020 93b8888c66d5103a8bb4f5fd89e04622d16558ec. Данная ΡΡ‚Π°Ρ‚ΡŒΡ описываСт основныС конструкции Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Но ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ описываСт всС Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ. Если ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠ΄Π½ΠΎ ΠΈ нСпонятно.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка программирования ΠΌΠΎΠΆΠ½ΠΎ:

Но Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ большС возмоТностСй, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой. ΠŸΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ОБ, достаточно слоТно, Π½ΠΎ Π½Π°ΠΌ ΠΈ Π½Π΅ придётся β€” всё ΡƒΠΆΠ΅ написано Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ.

Одна ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, iostream, позволяСт Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² консоли.

Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ, ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ запросы Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π²ΡƒΠΊ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ свои собствСнныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Π΅Π³ΠΎ 11 ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ…

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ программирования, ΠΌΡ‹ рассмотрим исходный ΠΊΠΎΠ΄ – Π΅Π³ΠΎ Π³Π»Π°Π²Π½Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ.

Π§Π°ΡΡ‚ΡŒ 2 – Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ части ΠΌΡ‹ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ Π°Π·Ρ‹ программирования, Π³Π΄Π΅ рассказали ΠΎ машинном языкС, прСобразоватСлях, языках программирования ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с CLI. ДвигаСмся дальшС.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ называСтся основной Ρ„Π°ΠΉΠ» Π²Ρ€ΠΎΠ΄Π΅ Microsoft (.doc), Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π­Ρ‚ΠΎ тСкстовый Ρ„Π°ΠΉΠ», написанный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Windows Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ пСрСчислили, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠ»ΠΈ компиляторы ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ исходный ΠΊΠΎΠ΄ Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ сохранСн Π² Ρ„Π°ΠΉΠ»Π΅, Ρ‡Ρ‚ΠΎ пСрСдаСтся для Π²Π²ΠΎΠ΄Π° Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ (ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ).

Когда Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, запуститС Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ. Рассмотрим Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° запуск ΠΊΠΎΠ΄Π° Π½Π° языкС Python с использованиСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ python.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹: ваша пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

3. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π² Π½Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. 1. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄-1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1. Данная ΡΡ‚Π°Ρ‚ΡŒΡ описываСт основныС конструкции Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Но ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ описываСт всС Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ. Если ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠ΄Π½ΠΎ ΠΈ нСпонятно.

Анатомия Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ рассмотрим содСрТимоС Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° исходного ΠΊΠΎΠ΄Π°. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ рСгулярныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ слова, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ. Они свойствСнны ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΠΎΠΌΡƒ Π²Π°ΠΌΠΈ языку ΠΈ ΠΎΠ½ΠΈ особСнны. Π˜Ρ… просто Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ. Π’ΠΎΡ‚ нСбольшой Π½Π°Π±ΠΎΡ€ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Python.

ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. 1 gsTafzc lQ261udNR81msA. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄-1 gsTafzc lQ261udNR81msA. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1 gsTafzc lQ261udNR81msA. Данная ΡΡ‚Π°Ρ‚ΡŒΡ описываСт основныС конструкции Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Но ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ описываСт всС Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ. Если ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠ΄Π½ΠΎ ΠΈ нСпонятно.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹

Π‘Π»ΠΎΠ²Π°, ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Π½Ρ‹Π΅ Π²Π°ΠΌΠΈ. Π”Π°, Π½Π΅ ΡƒΠ΄ΠΈΠ²Π»ΡΠΉΡ‚Π΅ΡΡŒ! Π’Ρ‹, программист. Π­Ρ‚ΠΈ слова ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы Π²Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ программистами. Они ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ‹ Π² ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, Π±ΠΎΠ»Π΅Π΅ извСстныС ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ являСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Math. Она позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ функциям, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ (Math.sqrt), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² JavaScript.

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

НСкоторыС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ языком Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ являСтся слово string Π² Java. Π’Π°ΠΊΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ вмСстС с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ словами Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π‘Π»ΠΎΠ²Π°ΠΌΠΈ. Они Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ особыми.

ВсС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ. Π’Π°ΠΊΠΆΠ΅ слова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ смысл для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΈΡ… Π²ΠΈΠ΄ΠΈΡ‚.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π¦Π΅Π»Ρ‹Π΅ числа ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ, большими ΠΈ ΠΌΠ°Π»Ρ‹ΠΌΠΈ. ПослСдниС фактичСски зависят ΠΎΡ‚ объСма памяти, Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ для Ρ‚Π°ΠΊΠΈΡ… чисСл. Π•ΡΡ‚ΡŒ числа с дСсятичными частями, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ double ΠΈ float, Π² зависимости ΠΎΡ‚ языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΈΠ·ΡƒΡ‡Π°Π΅Ρ‚Π΅.

Π’Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ логичСскиС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… boolean, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true ΠΈΠ»ΠΈ false.

Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ Ρ‚ΠΈΠΏΡ‹ извСстны ΠΊΠ°ΠΊ элСмСнтарныС, ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ….

Массив (Array) – это ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ°Ρ Ρ„ΠΎΡ€ΠΌΠ° слоТного Ρ‚ΠΈΠΏΠ°. Π‘Ρ‚Ρ€ΠΎΠΊΠ° (String) – это массив символов. ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· этих Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΈΡ… ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π°.

ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ символов – это строка. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ аналогию, строка для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ слово ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ. Π‘Π»ΠΎΠ²ΠΎ Β«Ρ‚Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€Β» состоит ΠΈΠ· 9 символов – ΠΌΡ‹ просто Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ это строкой символов. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° строк – это ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ Ρ‚Π΅ΠΌΠ°, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистом.

Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ языков программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ систСмы классов. Π­Ρ‚ΠΎ явлСниС Ρ‚Π°ΠΊΠΆΠ΅ извСстно ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ООП).

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ – это просто ΠΈΠΌΠ΅Π½Π° областСй памяти. Иногда Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² исходном ΠΊΠΎΠ΄Π΅ Π² мСстС, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это мСсто памяти, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠ΅Ρ‚ компилятор/ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€. Нам Π½ΡƒΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ имя этим ячСйкам памяти, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΡ… Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ. Рассмотрим Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° Python Π½ΠΈΠΆΠ΅:

pet_name – ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, хранящихся Π² pet_name, являСтся строкой, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ строковой. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ числовыС. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹

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

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки программирования, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… каТдая пСрСмСнная Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’Ρ‹Π±Ρ€Π°Π² Ρ‚ΠΈΠΏ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π²Ρ‹ большС Π½Π΅ смоТСтС Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Java – Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ЯП.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΆΠ΅ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Они ΡΠ²Π»ΡΡŽΡ‚ΡΡ свободно Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ динамичСскими языками программирования. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ – Python.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ постоянноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² JavaScript:

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ исходном ΠΊΠΎΠ΄Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΈΡ… ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ. Π­Ρ‚ΠΎ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ слСдуСт ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ константами. Ни ΠΎΠ΄ΠΈΠ½ исходный ΠΊΠΎΠ΄ Π½Π΅ обходится Π±Π΅Π· Π½ΠΈΡ…. Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ строками, числами, дСсятичными Π·Π½Π°ΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ слово Β«HippoΒ» являСтся строковым Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠΌ. Π­Ρ‚ΠΎ всСгда Π±ΡƒΠ΄Π΅Ρ‚ Β«HippoΒ», ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ исходный ΠΊΠΎΠ΄. Когда Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ, ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°ΠΌΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°.

ΠŸΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΡ/Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ написанных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ прСпинания Π² зависимости ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ языка программирования. НапримСр, Π² Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ большС Π·Π½Π°ΠΊΠΎΠ² прСпинания, Ρ‡Π΅ΠΌ Π² Python.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя Π·Π°ΠΏΡΡ‚ΡƒΡŽ (,), Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой (;), Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ (:), Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки (<>), ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки (()), ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ([]), ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ («» ΠΈΠ»ΠΈ »), Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ (|), слэш (\), Ρ‚ΠΎΡ‡ΠΊΡƒ (.), Π·Π½Π°ΠΊ вопроса (?), ΠΊΠ°Ρ€Π΅Ρ‚ (^) ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ (%).

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠΈΡ€ программирования, Π³Π΄Π΅ Π·Π½Π°ΠΊΠΈ прСпинания – ваши Π»ΡƒΡ‡ΡˆΠΈΠ΅ Π΄Ρ€ΡƒΠ·ΡŒΡ. Π‘ΠΊΠΎΡ€ΠΎ Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΈΡ… всСгда ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Шансы, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ для выполнСния ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΡ€Π°ΠΉΠ½Π΅ высоки. Π›ΡŽΠ±Ρ‹Π΅ языки программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя мноТСство ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Π‘Ρ€Π΅Π΄ΠΈ примСняСмых Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ слоТСниС (+), Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (/) ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ (*), Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ () ΠΈ Π·Π½Π°ΠΊ большС (>).

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

ДокумСнтация Π±ΡƒΠ΄Π΅Ρ‚ Π²Π°ΠΆΠ½Ρ‹ΠΌ аспСктом Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² сфСрС программирования. Π­Ρ‚ΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚Π΅ свой ΠΊΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ программистам. ПодобноС дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ частям ΠΊΠΎΠ΄Π°. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΡ… программистов Ρ‡Π΅Ρ€Π΅Π· Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ строки ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ коммСнтариями.

ОбъявлСниС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Ρ€Π°Π·Π½ΠΎΠ΅ для Ρ€Π°Π·Π½Ρ‹Ρ… языков. НапримСр, # ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² языкС Python.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ коммСнтария Π² Python:

ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ

Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, созданныС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅. Они ставятся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π° ΠΈΠ»ΠΈ клавиши табуляции Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅.

ДвигаСмся дальшС

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

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ настроили Python Π² своСй ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ систСмС, ΠΈ запуститС свою ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π’ΠΈΠΊΡ‚ΠΎΡ€ΠΈΠ½Π°

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ, Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠΎΠ΄Π° Java:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. image loader. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Данная ΡΡ‚Π°Ρ‚ΡŒΡ описываСт основныС конструкции Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Но ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ описываСт всС Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ. Если ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠ΄Π½ΠΎ ΠΈ нСпонятно.
Одной ΠΈΠ· Ρ‚Π΅ΠΌ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ интСрСс пСриодичСски Ρ‚ΠΎ появляСтся, Ρ‚ΠΎ ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Π΅Ρ‚, являСтся вопрос ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π’ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдах врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ подсчСта Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ. Π’ΠΎΠ»Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΉ интСрСс ΠΊ Ρ‚Π΅ΠΌΠ΅ Ρ‚Π°ΠΊ выглядит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π΄ΠΎ сих ΠΏΠΎΡ€ Π² ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ… Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ β€” Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Ссли ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ инструмСнт позволяСт Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ с этим Π΄Π΅Π»Π°Ρ‚ΡŒ дальшС Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ нСпонятно. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ β€” это ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ качСства ΠΊΠΎΠ΄Π° (Π½Π΅ пишСм большиС ΠΈ слоТныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), ΠΈ Β«ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΒ» (Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…) программистов, ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ развития ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ β€” ΠΎΠ±Π·ΠΎΡ€ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстных ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

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

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΎΠ±Π·ΠΎΡ€ 7 классов ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈ Π±ΠΎΠ»Π΅Π΅ 50 ΠΈΡ… прСдставитСлСй.

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

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

1. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, слСдуСт Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ количСствСнныС характСристики исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (Π² Π²ΠΈΠ΄Ρƒ ΠΈΡ… простоты). Π‘Π°ΠΌΠΎΠΉ элСмСнтарной ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΎΠΉ являСтся количСство строк ΠΊΠΎΠ΄Π° (SLOC). Данная ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Π±Ρ‹Π»Π° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для ΠΎΡ†Π΅Π½ΠΊΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ·Π°Ρ‚Ρ€Π°Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ. Однако ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π±ΠΈΡ‚Π° Π½Π° нСсколько строк ΠΈΠ»ΠΈ записана Π² ΠΎΠ΄Π½Ρƒ строку, ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° стала практичСски Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΠΉ с появлСниСм языков, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² ΠΎΠ΄Π½Ρƒ строку ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ записано большС ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ логичСскиС ΠΈ физичСскиС строки ΠΊΠΎΠ΄Π°. ЛогичСскиС строки ΠΊΠΎΠ΄Π° β€” это количСство ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π°Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ описания Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ свои нСдостатки, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сильно зависит ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ языка программирования ΠΈ стиля программирования [2].

Π’Π°ΠΊΠΆΠ΅ ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, основанных Π½Π° подсчСтС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ† Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, относят ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π₯олстСда [3]. Π”Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ основаны Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… показатСлях:

n1 β€” число ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ символы-

Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ, ΠΈΠΌΠ΅Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Π·Π½Π°ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²),

n2 β€” число ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ²),

N1 β€” ΠΎΠ±Ρ‰Π΅Π΅ число ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅,

N2 β€” ΠΎΠ±Ρ‰Π΅Π΅ число ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅,

n1′ β€” тСорСтичСскоС число ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²,

n2′ β€” тСорСтичСскоС число ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ².

Учитывая Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ обозначСния, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ:

n=n1+n2 β€” ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹,

N=N1+N2 β€” Π΄Π»ΠΈΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹,

n’=n1’+n2′ β€” тСорСтичСский ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹,

N’= n1*log2(n1) + n2*log2(n2) β€” тСорСтичСская Π΄Π»ΠΈΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (для стилистичСски ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ N ΠΎΡ‚ N’ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 10%)

V=N*log2n β€” объСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹,

V’=N’*log2n’ β€” тСорСтичСский объСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π³Π΄Π΅ n* β€” тСорСтичСский ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

L=V’/V β€” ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ качСства программирования, для идСальной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ L=1

L’= (2 n2)/ (n1*N2) β€” ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ качСства программирования, основанный лишь Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° тСорСтичСских ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²,

EC=V/(L’)2 β€” ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ понимания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹,

D=1/ L’ β€” Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎΡΡ‚ΡŒ кодирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹,

y’ = V/ D2 β€” ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ языка выраТСния

I=V/D β€” ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ содСрТаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, данная характСристика позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ умствСнныС Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° созданиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

E=N’ * log2(n/L) β€” ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… усилий ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ число Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… элСмСнтарных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

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

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

2. ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ слоТности ΠΏΠΎΡ‚ΠΎΠΊΠ° управлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ большой класс ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, основанный ΡƒΠΆΠ΅ Π½Π΅ Π½Π° количСствСнных показатСлях, Π° Π½Π° Π°Π½Π°Π»ΠΈΠ·Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π³Ρ€Π°Ρ„Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, называСтся ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ слоТности ΠΏΠΎΡ‚ΠΎΠΊΠ° управлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ нСпосрСдствСнно ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ сами ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания Π±ΡƒΠ΄Π΅Ρ‚ описан ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π³Ρ€Π°Ρ„ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ способ Π΅Π³ΠΎ построСния.

ΠŸΡƒΡΡ‚ΡŒ прСдставлСна нСкоторая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Для Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ строится ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„, содСрТащий лишь ΠΎΠ΄ΠΈΠ½ Π²Ρ…ΠΎΠ΄ ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄, ΠΏΡ€ΠΈ этом Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π° соотносят с Ρ‚Π΅ΠΌΠΈ участками ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ лишь ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ вычислСния, ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ вСтвлСния ΠΈ Ρ†ΠΈΠΊΠ»Π°, Π° Π΄ΡƒΠ³ΠΈ соотносят с ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΎΡ‚ Π±Π»ΠΎΠΊΠ° ΠΊ Π±Π»ΠΎΠΊΡƒ ΠΈ вСтвями выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. УсловиС ΠΏΡ€ΠΈ построСнии Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„Π°: каТдая Π²Π΅Ρ€ΡˆΠΈΠ½Π° достиТима ΠΈΠ· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ, ΠΈ конСчная Π²Π΅Ρ€ΡˆΠΈΠ½Π° достиТима ΠΈΠ· любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ [4].

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

Для исправлСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ нСдостатка Π“. ΠœΠ°ΠΉΠ΅Ρ€ΡΠΎΠΌ Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° новая ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ°. Π’ качСствС ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΎΠ½ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Π²Π·ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» (эта ΠΎΡ†Π΅Π½ΠΊΠ° Π΅Ρ‰Π΅ называСтся ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΡŒΠ½ΠΎΠΉ) [V(G),V(G)+h], Π³Π΄Π΅ h для простых ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ² Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ, Π° для n-мСстных h=n-1. Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎ слоТности ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΎΠ½ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ примСняСтся.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ Ρ‚Π΅ΠΌΡƒ Π°Π½Π°Π»ΠΈΠ·Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π³Ρ€Π°Ρ„Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ β€” ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π₯аррисона, МСйдТСла.

Π”Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ€Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ влоТСнности ΠΈ ΠΏΡ€ΠΎΡ‚ΡΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

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

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ называСтся сумма Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… слоТностСй Π²Π΅Ρ€ΡˆΠΈΠ½, входящих Π² Π΅Π΅ сфСру влияния, плюс пСрвичная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ самой ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΌΠ΅Ρ€Π° (SCOPE) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ β€” это сумма ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… слоТностСй всСх Π²Π΅Ρ€ΡˆΠΈΠ½ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π³Ρ€Π°Ρ„Π°.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ (SCORT) называСтся ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ числа Π²Π΅Ρ€ΡˆΠΈΠ½ Π² ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Π³Ρ€Π°Ρ„Π΅ ΠΊ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ слоТности, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΈΠ· числа Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅.

SCORT ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ значСния для Π³Ρ€Π°Ρ„ΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ цикломатичСским числом.

ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠŸΠΈΠ²ΠΎΠ²Π°Ρ€ΡΠΊΠΎΠ³ΠΎ β€” очСрСдная модификация ΠΌΠ΅Ρ€Ρ‹ цикломатичСской слоТности. Она позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ различия Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ конструкциями, Π½ΠΎ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ структурированными ΠΈ нСструктурированными ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. Она выраТаСтся ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ N(G) = v *(G) + БУММАPi, Π³Π΄Π΅ v *(G) β€” модифицированная цикломатичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, вычислСнная Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ V(G), Π½ΠΎ с ΠΎΠ΄Π½ΠΈΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ: ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ CASE с n Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌΠΈ рассматриваСтся ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ логичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Π° Π½Π΅ ΠΊΠ°ΠΊ n β€” 1 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

Π i β€” Π³Π»ΡƒΠ±ΠΈΠ½Π° влоТСнности i-ΠΉ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. Для подсчСта Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ влоТСнности ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½Ρ‹Ρ… Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ число «сфСр влияния». Под Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ влоТСнности понимаСтся число всСх «сфСр влияния» ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ содСрТатся Π² сфСрС рассматриваСмой Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ с Π½Π΅ΠΉ. Π“Π»ΡƒΠ±ΠΈΠ½Π° влоТСнности увСличиваСтся Π·Π° счСт влоТСнности Π½Π΅ самих ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ², Π° «сфСр влияния». ΠœΠ΅Ρ€Π° ΠŸΠΈΠ²ΠΎΠ²Π°Ρ€ΡΠΊΠΎΠ³ΠΎ возрастаСт ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΎΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ ΠΈ Π΄Π°Π»Π΅Π΅ ΠΊ нСструктурированным, Ρ‡Ρ‚ΠΎ являСтся Π΅Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ прСимущСством ΠΏΠ΅Ρ€Π΅Π΄ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠ΅Ρ€Π°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹.

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

ΠœΠ΅Ρ‚ΠΎΠ΄ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚Π°ΠΊ ΠΆΠ΅ основан Π½Π° Π°Π½Π°Π»ΠΈΠ·Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π³Ρ€Π°Ρ„Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для опрСдСлСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… понятий.

ΠŸΡƒΡΡ‚ΡŒ G β€” ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π³Ρ€Π°Ρ„ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с СдинствСнной Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ СдинствСнной ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ.

Π’ этом Π³Ρ€Π°Ρ„Π΅ число входящих Π²Π΅Ρ€ΡˆΠΈΠ½ Ρƒ Π΄ΡƒΠ³ называСтся ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, Π° число исходящих ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π΄ΡƒΠ³ β€” ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. Π’ΠΎΠ³Π΄Π° Π½Π°Π±ΠΎΡ€ Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹: Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ =2.

Π’Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΌΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ, Π° Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ β€” Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ ΠΎΡ‚Π±ΠΎΡ€Π°.

КаТдая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ Π²Π΅Ρ€ΡˆΠΈΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Ρ€Π°Π²Π½ΡƒΡŽ 1, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, привСдСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π²Π½Π° 0. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ слоТности всСх Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π° G ΡΡƒΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ, образуя Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΡƒΡŽ Π³Ρ€Π°Π½ΠΈΡ‡Π½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ПослС этого опрСдСляСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ граничная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Π³Π΄Π΅ S0 β€” ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ граничная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Sa β€” Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Π°Ρ граничная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, v β€” ΠΎΠ±Ρ‰Π΅Π΅ число Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

БущСствуСт ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Π¨Π½Π΅ΠΉΠ΄Π΅Π²ΠΈΠ½Π΄Π°, Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°ΡΡΡ Ρ‡Π΅Ρ€Π΅Π· число Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ Π² ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Π³Ρ€Π°Ρ„Π΅.

3. ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ слоТности ΠΏΠΎΡ‚ΠΎΠΊΠ° управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ класс ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ β€” ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ слоТности ΠΏΠΎΡ‚ΠΎΠΊΠ° управлСния Π΄Π°Π½Π½Ρ‹Ρ….

ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Π§Π΅ΠΏΠΈΠ½Π°: ΡΡƒΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° состоит Π² ΠΎΡ†Π΅Π½ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ прочности ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ взятого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π½Π°Π»ΠΈΠ·Π° Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° использования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ· списка Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°.

ВсС мноТСство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… список Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, разбиваСтся Π½Π° 4 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ :

1. P β€” Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для расчСтов ΠΈ для обСспСчСния Π²Ρ‹Π²ΠΎΠ΄Π°,

2. M β€” ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅, ΠΈΠ»ΠΈ создаваСмыС Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅,

3. C β€” ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля (ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅),

4. T β€” Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (Β«ΠΏΠ°Ρ€Π°Π·ΠΈΡ‚Π½Ρ‹Π΅Β») ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ каТдая пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅.

Q = a1*P + a2*M + a3*C + a4*T,

Π³Π΄Π΅ a1, a2, a3, a4 β€” вСсовыС коэффициСнты.

ВСсовыС коэффициСнты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для отраТСния Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ влияния Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹. По мнСнию Π°Π²Ρ‚ΠΎΡ€Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, наибольший вСс, Ρ€Π°Π²Π½Ρ‹ΠΉ 3, ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° C, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° влияСт Π½Π° ΠΏΠΎΡ‚ΠΎΠΊ управлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ВСсовыС коэффициСнты ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: a1=1, a2=2, a4=0.5. ВСсовой коэффициСнт Π³Ρ€ΡƒΠΏΠΏΡ‹ T Π½Π΅ Ρ€Π°Π²Π΅Π½ 0, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Β«ΠΏΠ°Ρ€Π°Π·ΠΈΡ‚Π½Ρ‹Π΅Β» ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‚ Π΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ вСсовых коэффициСнтов:

ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ° спСна основываСтся Π½Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ сСкции. Π‘ΠΏΠ΅Π½ β€” это число ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ, содСрТащих Π΄Π°Π½Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΌΠ΅ΠΆΠ΄Ρƒ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈ послСдним появлСниСм Π² тСкстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, появившийся n Ρ€Π°Π·, ΠΈΠΌΠ΅Π΅Ρ‚ спСн, Ρ€Π°Π²Π½Ρ‹ΠΉ n-1. ΠŸΡ€ΠΈ большом спСнС услоТняСтся тСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… β€” это ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с обращСниями ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ.

ΠŸΠ°Ρ€Π° Β«ΠΌΠΎΠ΄ΡƒΠ»ΡŒ-глобальная пСрСмСнная» обозначаСтся ΠΊΠ°ΠΊ (p,r), Π³Π΄Π΅ p β€” ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ доступ ΠΊ глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ r. Π’ зависимости ΠΎΡ‚ наличия Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ обращСния ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ r Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΏΠ°Ρ€ Β«ΠΌΠΎΠ΄ΡƒΠ»ΡŒ β€” глобальная пСрСмСнная»: фактичСскиС ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ r с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ p ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ сущСствования r Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя p.

Данная характСристика обозначаСтся Aup ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, сколько Ρ€Π°Π· ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Up Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π»ΠΈ доступ ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, Π° число Pup β€” сколько Ρ€Π°Π· ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ.

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ числа фактичСских ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ опрСдСляСтся

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

На основС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² создана ΠΌΠ΅Ρ€Π° ΠšΠ°Ρ„ΡƒΡ€Π°. Для использования Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ€Ρ‹ вводятся понятия локального ΠΈ глобального ΠΏΠΎΡ‚ΠΎΠΊΠ°: Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· A Π² B сущСствуСт, Ссли:

1. ΠœΠΎΠ΄ΡƒΠ»ΡŒ А Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π’ (прямой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ)

2. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π’ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ А ΠΈ А Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π’ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π’ (нСпрямой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ)

3. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π‘ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ А, Π’ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния модуля А Π² Π’.

Π”Π°Π»Π΅Π΅ слСдуСт Π΄Π°Ρ‚ΡŒ понятиС глобального ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· А Π² Π’ Ρ‡Π΅Ρ€Π΅Π· Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ… D сущСствуСт, Ссли ΠΌΠΎΠ΄ΡƒΠ»ΡŒ А ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² D, Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π’ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· D.

На основС этих понятий вводится Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° I β€” информационная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹:
I = length * (fan_in * fan_out)2
Π—Π΄Π΅ΡΡŒ:

length β€” ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ тСкста ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (мСряСтся Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ· ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΎΠ±ΡŠΡ‘ΠΌΠ°, Ρ‚ΠΈΠΏΠ° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π₯олстСда, МаккСйба, LOC ΠΈ Ρ‚.ΠΏ.)

fan_in β€” число Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² входящих Π²Π½ΡƒΡ‚Ρ€ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ плюс число структур Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π±Π΅Ρ€Ρ‘Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ

fan_out β€” число Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² исходящих ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ плюс число структур Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ

МоТно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ модуля ΠΊΠ°ΠΊ сумму ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… слоТностСй входящих Π² Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг β€” Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ модуля ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ структуры Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Π°Ρ ΠΌΠ΅Ρ€Π° слоТности модуля ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ структуры Π΄Π°Π½Π½Ρ‹Ρ…:

J = W * R + W * RW + RW *R + RW * (RW β€” 1)

W β€” число ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ структуру Π΄Π°Π½Π½Ρ‹Ρ…;

R β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· структуры Π΄Π°Π½Π½Ρ‹Ρ…;

RW β€” ΠΈ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚, ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² структурС Π΄Π°Π½Π½Ρ‹Ρ….

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΌΠ΅Ρ€Π° Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ β€” ΠΌΠ΅Ρ€Π° ОвиСдо. Π‘ΡƒΡ‚ΡŒ Π΅Π΅ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° разбиваСтся Π½Π° Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ Π½Π΅ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ участки β€” Π»ΡƒΡ‡ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π³Ρ€Π°Ρ„ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

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

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· R(i) мноТСство ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ располоТСны Π² радиусС дСйствия Π»ΡƒΡ‡Π° i (ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ находится Π² радиусС дСйствия Π»ΡƒΡ‡Π°, Ссли пСрСмСнная Π»ΠΈΠ±ΠΎ локальна Π² Π½Ρ‘ΠΌ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅, Π»ΠΈΠ±ΠΎ для Π½Π΅Ρ‘ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π»ΡƒΡ‡Π΅, ΠΈ Π½Π΅Ρ‚ локального опрСдСлСния ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ). ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· V(i) мноТСство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ вхоТдСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² Π»ΡƒΡ‡Π΅ i. Π’ΠΎΠ³Π΄Π° ΠΌΠ΅Ρ€Π° слоТности i-Π³ΠΎ Π»ΡƒΡ‡Π° задаётся ΠΊΠ°ΠΊ:

Π³Π΄Π΅ DEF(vj) β€” число ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ vj ΠΈΠ· мноТСства R(i), Π° ||V(i)|| β€” ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ мноТСства V(i).

4. ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ слоТности ΠΏΠΎΡ‚ΠΎΠΊΠ° управлСния ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

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

ΠŸΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ являСтся Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ М-ΠœΠ΅Ρ€Π° [5]. Π’Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ΅Ρ€ΠΎΠΉ М называСтся ΠΌΠ΅Ρ€Π° слоТности, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰Π°Ρ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ условиям:

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

Π’Π°ΠΊΠΆΠ΅ ΠΌΠ΅Ρ€ΠΎΠΉ качСства ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния слуТит ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ [6]. Если ΠΌΠΎΠ΄ΡƒΠ»ΠΈ сильно связанны, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° становится Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΈ тяТСлой Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ. Данная ΠΌΠ΅Ρ€Π° Π½Π΅ выраТаСтся числСнно. Π’ΠΈΠ΄Ρ‹ связанности ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ:

Π‘Π²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ β€” Ссли ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΠΏΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ являСтся элСмСнтарным ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ связанности (сцСплСния).

Π‘Π²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ структурС Π΄Π°Π½Π½Ρ‹Ρ… β€” Ссли ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ посылаСт Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ составной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (структуру) для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

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

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

Π‘Π²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ содСрТимому β€” Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ссылаСтся Π²Π½ΡƒΡ‚Ρ€ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π­Ρ‚ΠΎ нСдопустимый Ρ‚ΠΈΠΏ сцСплСния, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚.Π΅. прСдставлСния модуля Π² Π²ΠΈΠ΄Π΅ Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ ящика.

Π’Π½Π΅ΡˆΠ½ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ β€” Π΄Π²Π° модуля ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ внСшниС Π΄Π°Π½Π½Ρ‹Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».

Π‘Π²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ сообщСний β€” Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ свободный Π²ΠΈΠ΄ связанности, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π΅ связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, ΠΎ ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· сообщСния, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ связанности β€” ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ собой.

Подклассовая ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ β€” ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ классом-Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΈ классом-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΌΠΎΠΊ связан с Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ, Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ с ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ β€” Π½Π΅Ρ‚.

Π‘Π²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ β€” Π΄Π²Π° дСйствия сгруппированы Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ лишь ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π²Π²ΠΈΠ΄Ρƒ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π² ΠΎΠ½ΠΈ происходят Π² ΠΎΠ΄Π½ΠΎ врСмя.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΌΠ΅Ρ€Π°, ΠΊΠ°ΡΠ°ΡŽΡ‰Π°ΡΡΡ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ модуля β€” ΠΌΠ΅Ρ€Π° ΠšΠΎΠ»ΠΎΡ„Π΅Π»Π»ΠΎ [7], ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°ΠΊ количСство ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ трСбуСтся произвСсти Π² модулях, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ модуля, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ провСряСтся, ΠΏΡ€ΠΈ этом эти измСнСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ провСряСмого модуля.

1. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ i вычисляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈt Π΅Ρ‘ слоТностной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ C(i) ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅: C(i) = (D(i) * J(i))/n.

Π“Π΄Π΅ D(i) β€” Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°, ΠΈΠ·ΠΌΠ΅Ρ€ΡΡŽΡ‰Π°Ρ сфСру дСйствия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ i. J(i) β€” ΠΌΠ΅Ρ€Π° слоТности взаимодСйствия ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ i, n β€” число ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² схСмС разбиСния.

2. Для всСх ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, входящих Π² сфСру разбиСния, опрСдСляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡ… слоТностных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ M(P) ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ M(P) = fp * X(P) + gp * Y(P)
Π³Π΄Π΅ fp ΠΈ gp β€” соотвСтствСнно, число ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, нСпосрСдствСнно ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈ нСпосрСдствСнно ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ P, X(P) β€” ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ обращСния ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ P,

Y(P) β€” ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΈΠ· модуля P Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

3. ΠžΠ±Ρ‰Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ MP иСрархичСской схСмы разбиСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ задаётся Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ:

MP = БУММА(M(P)) ΠΏΠΎ всСм Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ значСниям P β€” модулям ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

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

Π’Π°ΠΊΠΆΠ΅ сущСствуСт ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°, основанная Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ β€” ΠΌΠ΅Ρ€Π° Π‘Π΅Ρ€Π»ΠΈΠ½Π³Π΅Ρ€Π° [8]. ΠœΠ΅Ρ€Π° слоТности вычисляСтся ΠΊΠ°ΠΊ M=БУММАfi*log2pi, Π³Π΄Π΅ fi β€” частота появлСния i-Π³ΠΎ символа, pi β€” Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ появлСния.

НСдостатком Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, содСрТащая ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… символов, Π½ΠΎ Π² ΠΌΠ°Π»ΠΎΠΌ количСствС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, содСрТащая ΠΌΠ°Π»ΠΎΠ΅ количСство ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… символов, Π½ΠΎ Π² большом количСствС.

5. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

Π’ связи с Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков программирования появился Π½ΠΎΠ²Ρ‹ΠΉ класс ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°Π±ΠΎΡ€Ρ‹ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΈ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π§ΠΈΠ΄Π°ΠΌΠ±Π΅Ρ€Π° ΠΈ ΠšΠ΅ΠΌΠ΅Ρ€Π΅Ρ€Π°. Для Π½Π°Ρ‡Π°Π»Π° рассмотрим ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΏΡƒ.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ рассмотрСниС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти понятиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ классов [9]. Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ класс ΠΌΠΎΠΆΠ΅Ρ‚ достаточно Ρ€Π΅Π΄ΠΊΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ использован ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… классов. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс ΠΈΠΌΠ΅Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡƒ классов, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈ ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚Π΄Π΅Π»Π΅Π½. Для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования Ρ‚Π°ΠΊΠΈΡ… классов Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всю Π³Ρ€ΡƒΠΏΠΏΡƒ классов. Вакая Π³Ρ€ΡƒΠΏΠΏΠ° классов сильно связна ΠΈ называСтся ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ΅ΠΉ классов. Для сущСствования ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ классов ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия:

ΠšΠ»Π°ΡΡΡ‹ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ класса Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ ΠΎΡ‚ Π»ΡŽΠ±Ρ‹Ρ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ измСнСния всС вмСстС. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ, Ссли ΠΎΠ΄ΠΈΠ½ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ, всС классы Π² этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ с большой Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ измСнятся. Если любой ΠΈΠ· классов ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ разновидности ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΎΠ½ΠΈ всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ для Ρ‚Π°ΠΊΠΎΠΉ разновидности ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

ΠšΠ»Π°ΡΡΡ‹ Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вмСстС. Они Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ взаимозависимы ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли дСлаСтся любая ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ классы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с Π½ΠΈΠΌ.

ΠšΠ»Π°ΡΡΡ‹ Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ±Ρ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ Π΄ΠΎΡΡ‚ΠΈΠ³Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±Ρ‰Π΅ΠΉ Ρ†Π΅Π»ΠΈ.

ΠžΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Ρ‹ ΠΏΡƒΡ‚Π΅ΠΌ подсчСта зависимостСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ΅ΠΉ. ΠœΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ :

1. Ca: Π¦Π΅Π½Ρ‚Ρ€ΠΎΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ сцСплСниС. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ классов Π²Π½Π΅ этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависят ΠΎΡ‚ классов Π²Π½ΡƒΡ‚Ρ€ΠΈ этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ.

2. Ce: Π¦Π΅Π½Ρ‚Ρ€ΠΎΠ±Π΅ΠΆΠ½ΠΎΠ΅ сцСплСниС. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ классов Π²Π½ΡƒΡ‚Ρ€ΠΈ этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависят ΠΎΡ‚ классов Π²Π½Π΅ этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ.

3. I: ΠΠ΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ: I = Ce / (Ca+Ce). Π­Ρ‚Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ [0,1].

I = 0 ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ максимально ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ.

I = 1 ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ максимально Π½Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ.

МоТно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΡƒ, которая измСряСт Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ (Ссли катСгория абстрактна, Ρ‚ΠΎ ΠΎΠ½Π° достаточно гибкая ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π°) ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

A: ΠΠ±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ: A = nA / nAll.

ЗначСния этой ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [0,1].

0 = катСгория ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π°,

1 = катСгория ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ абстрактна.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π° основС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Если Π½Π° Π½Π΅ΠΌ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΡΠΌΡƒΡŽ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ I+A=1, Ρ‚ΠΎ Π½Π° этой прямой Π±ΡƒΠ΄ΡƒΡ‚ Π»Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΡƒΡŽ ΡΠ±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π­Ρ‚Π° прямая называСтся Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.

Π”Π°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ввСсти Π΅Ρ‰Π΅ 2 ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ:

РасстояниС Π΄ΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: D=|(A+I-1)/sqrt(2)|

Нормализированной расстояниС Π΄ΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: Dn=|A+I-2|

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ для Π»ΡŽΠ±Ρ‹Ρ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ Π²Π΅Ρ€Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅ΠΌ Π±Π»ΠΈΠΆΠ΅ ΠΎΠ½ΠΈ находятся ΠΊ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΏΠ° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ β€” ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π§ΠΈΠ΄Π°ΠΌΠ±Π΅Ρ€Π° ΠΈ ΠšΠ΅ΠΌΠ΅Ρ€Π΅Ρ€Π° [10]. Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ основаны Π½Π° Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса, Π΄Π΅Ρ€Π΅Π²Π° наслСдования ΠΈ Ρ‚.Π΄.

WMC (Weighted methods per class), суммарная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса: WMC=БУММАci, i=1. n, Π³Π΄Π΅ ci β€” ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ i-Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, вычислСнная ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ (Π₯олстСда ΠΈ Ρ‚.Π΄. Π² зависимости ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅Π³ΠΎ критСрия), Ссли Ρƒ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ одинаковая, Ρ‚ΠΎ WMC=n.

DIT (Depth of Inheritance tree) β€” Π³Π»ΡƒΠ±ΠΈΠ½Π° Π΄Π΅Ρ€Π΅Π²Π° наслСдования (наибольший ΠΏΡƒΡ‚ΡŒ ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡƒ классу ΠΎΡ‚ класса-ΠΏΡ€Π΅Π΄ΠΊΠ°), Ρ‡Π΅ΠΌ большС, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ большСй Π³Π»ΡƒΠ±ΠΈΠ½Π΅ увСличиваСтся абстракция Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π½Π°ΡΡ‹Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ класса ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡ€ΠΈ достаточно большой Π³Π»ΡƒΠ±ΠΈΠ½Π΅ сильно возрастаСт ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ понимания ΠΈ написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

NOC (Number of children) β€” количСство ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² (нСпосрСдствСнных), Ρ‡Π΅ΠΌ большС, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ абстракция Π΄Π°Π½Π½Ρ‹Ρ….

CBO (Coupling between object classes) β€” сцСплСниС ΠΌΠ΅ΠΆΠ΄Ρƒ классами, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство классов, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ связан исходный класс. Для Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ справСдливы всС утвСрТдСния, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ для связанности ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ высоком CBO ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ абстракция Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ затрудняСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС класса.

RFC (Response for a class) β€” RFC=|RS|, Π³Π΄Π΅ RS β€” ΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΠ΅ мноТСство класса, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ мноТСство ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π²Ρ‹Π·Π²Π°Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ класса Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ класса. Π’ΠΎ Π΅ΡΡ‚ΡŒ RS=(((i>), i=1. n, Π³Π΄Π΅ M β€” всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса, Ri β€” всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Ρ‹ i-ΠΌ классом. Π’ΠΎΠ³Π΄Π° RFC Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ мноТСства. Π§Π΅ΠΌ большС RFC, Ρ‚Π΅ΠΌ слоТнСС тСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°.

6. ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ надСТности

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ β€” ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΊ количСствСнным, Π½ΠΎ основанныС Π½Π° количСствС ошибок ΠΈ Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. НСт смысла Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ особСнности ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· этих ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, достаточно Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡ… просто ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ: количСство структурных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, количСство ошибок, выявлСнных Π² Ρ…ΠΎΠ΄Π΅ просмотра ΠΊΠΎΠ΄Π°, количСство ошибок, выявлСнных ΠΏΡ€ΠΈ тСстировании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ количСство Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… структурных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ тысячи строк ΠΊΠΎΠ΄Π°, Ρ‚.Π΅. срСднСС количСство Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² Π½Π° тысячу строк ΠΊΠΎΠ΄Π°.

7. Π“ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ класс ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΌΠΈ. ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ простых ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ… ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΈΡ… Π²Π·Π²Π΅ΡˆΠ΅Π½Π½ΡƒΡŽ сумму. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ прСдставитСлСм Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса являСтся ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Кокола. Она опрСдСляСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

H_M = (M + R1 * M(M1) +… + Rn * M(Mn)/(1 + R1 +… + Rn)

Π“Π΄Π΅ M β€” базовая ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°, Mi β€” Π΄Ρ€ΡƒΠ³ΠΈΠ΅ интСрСсныС ΠΌΠ΅Ρ€Ρ‹, Ri β€” ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅ коэффициСнты, M(Mi) β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ M(Mi) ΠΈ коэффициСнты Ri Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгрСссионного Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π·Π°Π΄Π°Ρ‡ΠΈ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ исслСдований, Π°Π²Ρ‚ΠΎΡ€ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΠ» Ρ‚Ρ€ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ для ΠΌΠ΅Ρ€: МаккСйба, Π₯олстСда ΠΈ SLOC, Π³Π΄Π΅ Π² качСствС Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ€Π° Π₯олстСда. Π­Ρ‚ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Β«Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ°ΡΒ», «случайная» ΠΈ «линСйная».

ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Π—ΠΎΠ»ΡŒΠ½ΠΎΠ²ΡΠΊΠΎΠ³ΠΎ, Биммонса, Π’Π΅ΠΉΠ΅Ρ€Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдставляСт собой Π²Π·Π²Π΅ΡˆΠ΅Π½Π½ΡƒΡŽ сумму Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ:

(структура, взаимодСйствиС, объСм, Π΄Π°Π½Π½Ρ‹Π΅) БУММА(a, b, c, d).

(ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ интСрфСйса, Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ) БУММА(x, y, z, p).

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, коэффициСнты β€” Π² зависимости ΠΎΡ‚ значСния ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ для принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *