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

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. 
Код Π ΠΈΠ΄Π°-ΠœΠ°Π»Π΅Ρ€Π°

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

ПослС кодирования исходной ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ 11 001 010 000 ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ1 010 111 101 010 000. ΠŸΡ€ΠΈ этом ΠΌΡ‹ ΡΡƒΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚Π΅ Ρ€Π°Π·Ρ€ΡΠ΄Ρ‹ исходной ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ, Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… позициях ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, Π² Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ столбцС ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, стоят Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹. НапримСр, возьмСм Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ столбСц. Π•Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Ρ€ΡΠ΄Π°Ρ… 1,2,3,6. ΠŸΡ€ΠΈ суммировании этих разрядов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 0… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Код Π ΠΈΠ΄Π°-ΠœΠ°Π»Π΅Ρ€Π° (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования ΠΈ Π½Π°ΡƒΠΊΠΈ Π£ΠΊΡ€Π°ΠΈΠ½Ρ‹ ΠŸΠžΠ―Π‘ΠΠ˜Π’Π•Π›Π¬ΠΠΠ― Π—ΠΠŸΠ˜Π‘ΠšΠ ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π½Π° Ρ‚Π΅ΠΌΡƒ «ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Код Π ΠΈΠ΄Π°-ΠœΠ°Π»Π΅Ρ€Π° «

ΠΏΠΎ ΠΊΡƒΡ€ΡΡƒ «ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ»

1 Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹

2 Алгоритм кодирования Π ΠΈΠ΄Π°-ΠœΠ°Π»Π΅Ρ€Π°

3 ВСстовый ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π’Ρ‹Π²ΠΎΠ΄ БиблиографичСский список ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ЦСлью настоящСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ изучСния дисциплины, ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… практичСских Π½Π°Π²Ρ‹ΠΊΠΎΠ² примСнСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² кодирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ рассматриваСтся ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π ΠΈΠ΄Π°-ΠœΠ°Π»Π΅Ρ€Π°. Код Π ΠΈΠ΄Π°-ΠœΠ°Π»Π΅Ρ€Π° относится ΠΊ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΠΊΠΎΠ΄Π°ΠΌ. Π—Π°Π΄Π°Π½ΠΈΠ΅ΠΌ Π½Π° Π΄Π°Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ кодирования ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠΌ Π ΠΈΠ΄Π°-ΠœΠ°Π»Π΅Ρ€Π° (16,11).

1. Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹

Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ — ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивных срСдств обСспСчСния высокой достовСрности ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… сообщСний.

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

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

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

Π’ ΠΊΠΎΠ΄Π°Ρ… с ΠΏΡ€ΠΎΡΡ‚Ρ‹ΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ повторСния исходной ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ. На ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΎΠΉ сторонС комбинация складываСтся с ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΠΏΡ€ΠΈ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ суммС комбинация принимаСтся. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ позволяСт ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ ошибки, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ошибок Π² ΠΏΠ°Ρ€Π½Ρ‹Ρ… элСмСнтах.

ΠšΠΎΡ€Π΅Π»Π»ΡΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π£Π΄Π²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ символы, ΠΏΡ€ΠΈ этом Ссли Π² Ρ€Π°Π·Ρ€ΡΠ΄Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ части стоит 0, Ρ‚ΠΎ ΠΎΠ½ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ‚ся Π½Π° 01, Π° 1 — Π½Π° 10. Π‘ΠΈΠ³Π½Π°Π»ΠΎΠΌ ошибки являСтся появлСниС 00 ΠΈΠ»ΠΈ 11.

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

2 Алгоритм кодирования Π ΠΈΠ΄Π°-ΠœΠ°Π»Π΅Ρ€Π°

ΠšΠΎΠ΄Ρ‹ Π ΠΈΠ΄Π°-ΠœΠ°Π»Π΅Ρ€Π° — это Π±Π»ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ строятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

(1) (2) (3),

n-Π΄Π»ΠΈΠ½Π° Π±Π»ΠΎΠΊΠ°

K-число ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… символов

d-минимальноС ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ расстояниС

m-ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, условноС число Π½Π΅ ΠΌΠ΅Π½ΡŒΡˆΠ΅ 3

— ΠΏΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всСгда мСньшС, Ρ‡Π΅ΠΌ m.

Π’.Π΅. Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΏΠΎΡ€ΡΠ΄ΠΊΠ° ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ m ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹.

m=4; =1,2,3; n=24=16.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ² Π ΠΈΠ΄Π°-ΠœΠ°Π»Π»Π΅Ρ€Π° сводится ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ.

Π’ Π½Π°Ρ‡Π°Π»Π΅ строится производящая ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° G, пСрвая строка ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ содСрТит n Π΅Π΄ΠΈΠ½ΠΈΡ†. Π”Π°Π»Π΅Π΅ слСдуСт m ΡΡ‚Ρ€ΠΎΠΊ, ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ (m*n) -ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ столбцов ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ числа (начиная с Π½ΡƒΠ»Ρ). НомСра разрядов Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… чисСл ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ свСрху Π²Π½ΠΈΠ·. Π­Ρ‚ΠΈ m ΡΡ‚Ρ€ΠΎΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ порядка. Π”Π°Π»Π΅Π΅ ΠΈΠ΄ΡƒΡ‚ строки Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ порядка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΈΠ· Π²ΡΠ΅Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π΄Π²ΡƒΡ… строк ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ порядка, Π·Π°Ρ‚Π΅ΠΌ — строки Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ порядка, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ всСми произвСдСниями Ρ‚Ρ€Π΅Ρ… строк ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ порядка ΠΈ Ρ‚. Π΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Ρ‚=3 =2 ΠΏ=2Ρ‚=23=8

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

ΠŸΡƒΡΡ‚ΡŒ ΠΏΡ€ΠΈΡˆΠ»Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ:

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ: 11 101 011

Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ осущСствляСтся ΠΏΠΎ ΠΌΠ°ΠΆΠΎΡ€ΠΈΡ‚Π°Ρ€Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π°.

Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ осущСствляСтся Π²Π½Π°Ρ‡Π°Π»Π΅ для всСх ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… символов (ΠΊΡ€ΠΎΠΌΠ΅ 1-Π³ΠΎ) Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ΠΠ°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ запись Ρ‚Π°ΠΊΠΈΡ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ Π½Π°Π΄ΠΎ с Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² максимального порядка.

Π’ Π½Π°ΡˆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ =2= ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ выписываСтся Uk5.

Для Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² 2-Π³ΠΎ порядка ΠΏΠ°Ρ€Π½Ρ‹ΠΌΠΈ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹:

00 0

01 1

На Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ сочСтаний ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ 0 соСдиняСтся с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ 1 ΠΏΠΎΠΏΠ°Ρ€Π½ΠΎ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌΠΎΠ΅ равСнство Π²Ρ‹ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ всС ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 1-Π³ΠΎ ΠΈ 2-Π³ΠΎ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ.

ВычисляСм символ Uk6

Для Uk7:

ΠŸΡ€ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² 1-Π³ΠΎ порядка ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΏΠ°Ρ€Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ здСсь 1-Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, Ρ‚ΠΎ ΠΌΡ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ просто 0 ΠΈ 1, ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… позициях, ΠΈ, Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΏΡ€ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… уравнСниях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π΅ ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠ΅, Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ получаСтся ΠΏΡƒΡ‚Π΅ΠΌ слоТСния ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ Π΄Π²Π° исходного уравнСния ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² 2-Π³ΠΎ порядка, (ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΈΠΌΠ΅Π΅Ρ‚ 2-ΠΎΠΉ порядок),

ПослС этого Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ исходноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ прибавляСм Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ 1-Π³ΠΎ порядка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ разрядС.

Если Π² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ всС 1, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Uk1=1, Π° Π΅ΡΠ»ΠΈ всС 0, Ρ‚ΠΎ Uk1=0.

Если ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ искаТСния, Ρ‚ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΠ΅ΠΌΡ‹ΠΉ символ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ систСмС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ выбираСтся ΠΏΠΎ ΠΌΠ°ΠΆΠΎΡ€ΠΈΡ‚Π°Ρ€Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π΄Π»Ρ символа Uk1.

3 ВСстовый ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ тСстового ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использовалась комбинация 11 001 010 000.

Π’ Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ n=16, Π° k=11. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, которая ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ для Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… n ΠΈ k.

ПослС кодирования исходной ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ 11 001 010 000 ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ1 010 111 101 010 000. ΠŸΡ€ΠΈ этом ΠΌΡ‹ ΡΡƒΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚Π΅ Ρ€Π°Π·Ρ€ΡΠ΄Ρ‹ исходной ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ, Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… позициях ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, Π² Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ столбцС ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, стоят Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹. НапримСр, возьмСм Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ столбСц. Π•Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Ρ€ΡΠ΄Π°Ρ… 1,2,3,6. ΠŸΡ€ΠΈ суммировании этих разрядов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 0. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π² Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Π² Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΌ разрядС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ 0:

Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ осущСствляСтся ΠΏΠΎ ΠΌΠ°ΠΆΠΎΡ€ΠΈΡ‚Π°Ρ€Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΡƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ разряд ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ провСряСтся нСсколькими уравнСниями. Благодаря этому ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅. Π”Π°ΠΆΠ΅ Ссли Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ разрядС ошибка, ΠΎΠ½Π° помСняСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ уравнСния. А Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ останСтся Ρ‚ΠΎΡ‚ ΠΆΠ΅.

Π’Ρ‹Π²ΠΎΠ΄

Π’ Ρ…ΠΎΠ΄Π΅ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π» исслСдован простой помСхоустойчивый ΠΊΠΎΠ΄, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠ΄ Π ΠΈΠ΄Π°-ΠœΠ°Π»Π΅Ρ€Π°. Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ ошибки, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ ΠΈΡ…. Рассматривался случай, ΠΊΠΎΠ³Π΄Π° n=16, k=11, поэтому Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ порядка. Однако Ссли появится Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ порядка, Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° станСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большС, Ρ‡Ρ‚ΠΎ Π½Π΅ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния экономии памяти. ΠŸΡ€ΠΈ этом Ρ‚Π°ΠΊΠΆΠ΅ увСличится Π΄Π»ΠΈΠ½Π° Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ врСмя ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСния ΠΏΠΎ ΠΊΠ°Π½Π°Π»Ρƒ связи.

БиблиографичСский список

1. Π‘Π΅Ρ€Π΅Π·ΡŽΠΊ Н.Π’. «ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ» — 1978.

2. ΠšΠΎΠ½ΡΠΏΠ΅ΠΊΡ‚ Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ».

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

ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

//—————————————————————————————————————;

#include

#pragma hdrstop

#include «Unit1.h»

//—————————————————————————————————————;

#pragma package (smart_init)

#pragma resource «*.dfm»

TForm1 *Form1;

const N=16;

const K=11;

char *s;

int f, l[11], l1[16];

//—————————————————————————————————————;

__fastcall TForm1: TForm1(TComponent* Owner)

: TForm (Owner)

{int i, j;

for (i=0;i

{ StringGrid1->Cells[i][0]=1; }

for (i=0;i

{ StringGrid1->Cells[i][1]=0;

i++; StringGrid1->Cells[i][1]=1; }

for (i=0;i

{ StringGrid1->Cells[i][2]=0;

i++; StringGrid1->Cells[i][2]=0;

i++; StringGrid1->Cells[i][2]=1;

i++; StringGrid1->Cells[i][2]=1; }

for (i=0;i

{ if (i

{ StringGrid1->Cells[i][4]=0; }

else

{ StringGrid1->Cells[i][4]=1; }

}

for (i=0;i

{ if (7<12||4>i&&i<8)

{ StringGrid1->Cells[i][3]=0; }

else { StringGrid1->Cells[i][3]=1; }

}

int b;

int k1, k2,a=5;

j=1; b=1;

for (j;j<4;j++)

{ for (i=0;i

{ k1=StringGrid1->Cells[i][b]. ToInt ();

j++; k2=StringGrid1->Cells[i][j]. ToInt (); j—;

if (k1==1&&k2==1)

{ StringGrid1->Cells[i][a]=1; }

else

{ StringGrid1->Cells[i][a]=0; }

}

a++; }

b=2; j=2;

for (j;j<4;j++)

{ for (i=0;i

{ k1=StringGrid1->Cells[i][b]. ToInt (); j++;

k2=StringGrid1->Cells[i][j]. ToInt (); j—;

if (k1==1&&k2==1)

{ StringGrid1->Cells[i][a]=1; }

else

{ StringGrid1->Cells[i][a]=0; }

}

a++;

}

b=3; j=3;

for (j;j<4;j++)

{ for (i=0;i

{ k1=StringGrid1->Cells[i][b]. ToInt (); j++;

k2=StringGrid1->Cells[i][j]. ToInt (); j—;

if (k1==1&&k2==1)

{ StringGrid1->Cells[i][a]=1; }

else

{ StringGrid1->Cells[i][a]=0; }

}

}

s=" «; Edit1->Text=s;

Edit1->MaxLength=12;

Memo1->Text=s;

Memo1->Lines->Add («U1=Uk1»);

Memo1->Lines->Add («U2=Uk1+Uk2»);

Memo1->Lines->Add («U3=Uk1+Uk3»);

Memo1->Lines->Add («U4=Uk1+Uk2+Uk3+Uk6»);

Memo1->Lines->Add («U5=Uk1+Uk4»);

Memo1->Lines->Add («U6=Uk1+Uk2+Uk4+Uk7»);

Memo1->Lines->Add («U7=Uk1+Uk3+Uk4+Uk9»);

Memo1->Lines->Add («U8=Uk1+Uk2+Uk3+Uk4+Uk6+Uk7+Uk9»);

Memo1->Lines->Add («U9=Uk1+Uk5»);

Memo1->Lines->Add («U10=Uk1+Uk2+Uk5+Uk8»);

Memo1->Lines->Add («U11=Uk1+Uk3+Uk5+Uk10»);

Memo1->Lines->Add («U12=Uk1+Uk2+Uk3+Uk5+Uk6+Uk8+Uk10»);

Memo1->Lines->Add («U13=Uk1+Uk4+Uk5+Uk11»);

Memo1->Lines->Add («U14=Uk1+Uk2+Uk4+Uk5+Uk7+Uk8+Uk11»);

Memo1->Lines->Add («U15=Uk1+Uk3+Uk4+Uk5+Uk9+Uk10+Uk11»);

Memo1->Lines->Add («U16=Uk1+Uk2+Uk3+Uk4+Uk5+Uk6+Uk7+Uk8+Uk9+Uk10+Uk11»);}

//—————————————————————————————————————;

void __fastcall TForm1: BitBtn1Click (TObject *Sender)

{s=Edit1->Text.c_str ();

for (int i=1;i

{ l[i-1]=StrToInt (s[i]); }

for (int i=0;i

{ f=0;

for (int j=0;j

{ if (StringGrid1->Cells[i][j]==1)

{ f=l[j]+f; if (f==2) f=0;

}

l1[i]=f;

}

}

for (int i=0;i

{ StringGrid2->Cells[i][0]=l1[i];

}

}

//—————————————————————————————————————;

void __fastcall TForm1: Button2Click (TObject *Sender)

{ int ed, nul, i, j, perem[4];

int l2[16]; int edin1=0,edin2=0,edin3=0,edin4=0,edin5=0,edin6=0;

ed=0; nul=0;

for (int i=0;i

{ l1[i]=StringGrid2->Cells[i][0]. ToInt (); }

for (i=0;i

{ l2[i]=l1[i]; }

perem[0]=l1[0]+l1[4]+l1[8]+l1[12]; perem[1]=l1[1]+l1[5]+l1[9]+l1[13];

perem[2]=l1[2]+l1[6]+l1[10]+l1[14];perem[3]=l1[3]+l1[7]+l1[11]+l1[15];

for (i=0;i<4;i++)

{ if (perem[i]==1||perem[i]==3)

{ perem[i]=1; ++ed; }

else

{ perem[i]=0; ++nul; }

}

if (nul

{ StringGrid3->Cells[10][0]=1; edin1=10; }

else

{ StringGrid3->Cells[10][0]=0; }

//——————————————-;

ed=0; nul=0;

perem[0]=l1[0]+l1[2]+l1[8]+l1[10]; perem[1]=l1[1]+l1[3]+l1[9]+l1[11];

perem[2]=l1[4]+l1[6]+l1[12]+l1[14]; perem[3]=l1[5]+l1[7]+l1[13]+l1[15];

for (i=0;i<4;i++)

{ if (perem[i]==1||perem[i]==3)

{ perem[i]=1; ++ed; }

else

{ perem[i]=0; ++nul; }

}

if (nul

{ StringGrid3->Cells[9][0]=1; edin2=9; }

else

{ StringGrid3->Cells[9][0]=0; }

//—————————————-;

ed=0; nul=0;

perem[0]=l1[0]+l1[2]+l1[4]+l1[6]; perem[1]=l1[1]+l1[3]+l1[5]+l1[7];

perem[2]=l1[8]+l1[10]+l1[12]+l1[14]; perem[3]=l1[9]+l1[11]+l1[13]+l1[15];

for (i=0;i<4;i++)

{ if (perem[i]==1||perem[i]==3)

{ perem[i]=1; ++ed; }

else

{ perem[i]=0; ++nul; }

}

if (nul

{ StringGrid3->Cells[8][0]=1; edin3=8; }

else

{ StringGrid3->Cells[8][0]=0; }

//—————————————-;

ed=0; nul=0;

perem[0]=l1[0]+l1[1]+l1[8]+l1[9]; perem[1]=l1[2]+l1[3]+l1[10]+l1[11];

perem[2]=l1[4]+l1[5]+l1[12]+l1[13]; perem[3]=l1[6]+l1[7]+l1[14]+l1[15];

for (i=0;i<4;i++)

{ if (perem[i]==1||perem[i]==3)

{ perem[i]=1; ++ed; }

else

{ perem[i]=0; ++nul; }

}

if (nul

{ StringGrid3->Cells[7][0]=1; edin4=7; }

else

{ StringGrid3->Cells[7][0]=0; }

//—————————————;

ed=0; nul=0;

perem[0]=l1[0]+l1[1]+l1[4]+l1[5]; perem[1]=l1[2]+l1[3]+l1[6]+l1[7];

perem[2]=l1[8]+l1[9]+l1[12]+l1[13]; perem[3]=l1[10]+l1[11]+l1[14]+l1[15];

for (i=0;i<4;i++)

{ if (perem[i]==1||perem[i]==3)

{ perem[i]=1; ++ed; }

else

{ perem[i]=0; ++nul; }

}

if (nul

{ StringGrid3->Cells[6][0]=1; edin5=6; }

else

{ StringGrid3->Cells[6][0]=0; }

//—————————————-;

ed=0; nul=0;

perem[0]=l1[0]+l1[1]+l1[2]+l1[3]; perem[1]=l1[4]+l1[5]+l1[6]+l1[7];

perem[2]=l1[8]+l1[9]+l1[10]+l1[11]; perem[3]=l1[12]+l1[13]+l1[14]+l1[15];

for (i=0;i<4;i++)

{ if (perem[i]==1||perem[i]==3)

{ perem[i]=1; ++ed; }

else

{ perem[i]=0; ++nul; }

}

if (nul

{ StringGrid3->Cells[5][0]=1; edin6=5; }

else

{ StringGrid3->Cells[5][0]=0; }

//ΠŸΠ Π•ΠžΠ‘Π ΠΠ—ΠžΠ’ΠΠHOΠ• Π‘ΠžΠžΠ‘Π©Π•ΠΠ˜Π―

if (edin1≠0)

for (i=0;i

{ l1[i]=l1[i]+StringGrid1->Cells[i][10]. ToInt (); }

if (edin2≠0)

for (i=0;i

{ l1[i]=l1[i]+StringGrid1->Cells[i][9]. ToInt (); }

if (edin3≠0)

for (i=0;i

{ l1[i]=l1[i]+StringGrid1->Cells[i][8]. ToInt (); }

if (edin4≠0)

for (i=0;i

{ l1[i]=l1[i]+StringGrid1->Cells[i][7]. ToInt (); }

if (edin5≠0)

for (i=0;i

{ l1[i]=l1[i]+StringGrid1->Cells[i][6]. ToInt (); }

if (edin6≠0)

for (i=0;i

{ l1[i]=l1[i]+StringGrid1->Cells[i][5]. ToInt (); }

for (i=0;i

{ if (l1[i]==1||l1[i]==3||l1[i]==5||l1[i]==7)

{ l1[i]=1; }

else

{ l1[i]=0; }

}

//—————————————————;

int edin7=0,edin8=0,edin9=0,edin10=0;

ed=0;nul=0;

int perem1[8];

perem1[0]=l1[0]+l1[8]; perem1[1]=l1[1]+l1[9];

perem1[2]=l1[2]+l1[10]; perem1[3]=l1[3]+l1[11];

perem1[4]=l1[4]+l1[12]; perem1[5]=l1[5]+l1[13];

perem1[6]=l1[6]+l1[14]; perem1[7]=l1[7]+l1[15];

for (i=0;i<4;i++)

{ if (perem1[i]==1||perem1[i]==3||perem1[i]==5||perem1[i]==7)

{ perem1[i]=1; ++ed; }

else

{ perem1[i]=0; ++nul; }

}

if (nul

{ StringGrid3->Cells[4][0]=1; edin7=6; }

else

{ StringGrid3->Cells[4][0]=0; }

//——————————————-;

ed=0; nul=0;

perem1[0]=l1[0]+l1[4]; perem1[1]=l1[1]+l1[5];

perem1[2]=l1[2]+l1[6]; perem1[3]=l1[3]+l1[7];

perem1[4]=l1[8]+l1[12]; perem1[5]=l1[9]+l1[13];

perem1[6]=l1[10]+l1[14]; perem1[7]=l1[11]+l1[15];

for (i=0;i<4;i++)

{ if (perem1[i]==1||perem1[i]==3||perem1[i]==5||perem1[i]==7)

{ perem1[i]=1; ++ed; }

else

{ perem1[i]=0; ++nul; }

}

if (nul

{ StringGrid3->Cells[3][0]=1; edin8=7; }

else

{ StringGrid3->Cells[3][0]=0; }

//————————————————-;

ed=0; nul=0;

perem1[0]=l1[0]+l1[2]; perem1[1]=l1[1]+l1[3];

perem1[2]=l1[4]+l1[6]; perem1[3]=l1[5]+l1[7];

perem1[4]=l1[8]+l1[10]; perem1[5]=l1[9]+l1[11];

perem1[6]=l1[12]+l1[14]; perem1[7]=l1[13]+l1[15];

for (i=0;i<4;i++)

{ if (perem1[i]==1||perem1[i]==3||perem1[i]==5||perem1[i]==7)

{ perem1[i]=1; ++ed; }

else

{ perem1[i]=0; ++nul; }

}

if (nul

{ StringGrid3->Cells[2][0]=1; edin9=8; }

else

{ StringGrid3->Cells[2][0]=0; }

//—————————————-;

ed=0; nul=0;

perem1[0]=l1[0]+l1[1]; perem1[1]=l1[2]+l1[3];

perem1[2]=l1[4]+l1[5]; perem1[3]=l1[6]+l1[7];

perem1[4]=l1[8]+l1[9]; perem1[5]=l1[10]+l1[11];

perem1[6]=l1[12]+l1[13]; perem1[7]=l1[14]+l1[15];

for (i=0;i<4;i++)

{ if (perem1[i]==1||perem1[i]==3||perem1[i]==5||perem1[i]==7)

{ perem1[i]=1; ++ed; }

else

{ perem1[i]=0; ++nul; }

}

if (nul

{ StringGrid3->Cells[1][0]=1; edin10=9; }

else

{ StringGrid3->Cells[1][0]=0; }

//2-e ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅

int l3[11];

if (edin7≠0)

for (i=0;i

{ l1[i]=l1[i]+StringGrid1->Cells[i][4]. ToInt (); }

if (edin8≠0)

for (i=0;i

{ l1[i]=l1[i]+StringGrid1->Cells[i][3]. ToInt (); }

if (edin9≠0)

for (i=0;i

{ l1[i]=l1[i]+StringGrid1->Cells[i][2]. ToInt (); }

if (edin10≠0)

for (i=0;i

{ l1[i]=l1[i]+StringGrid1->Cells[i][1]. ToInt (); }

for (i=0;i

{ if (l1[i]==1||l1[i]==3||l1[i]==5)

{ l1[i]=1; }

else

{ l1[i]=0; }

}

//———————————————;

int perem2=0;

for (i=0;i

{ if (l1[i]==1)

{ ++ed; }

else

{ ++nul; }

}

if (nul

{ StringGrid3->Cells[0][0]=1; }

else

{ StringGrid3->Cells[0][0]=0; }

}

//—————————————————————————————————————;

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