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

Бостав дСмонстрационной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

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

StrEncodeHam2Str (str, r) — ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ символы строки str ΠΊΠΎΠ΄ΠΎΠΌ Π₯эмминга с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ r Π² ASCI ΠΊΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ (8 Π±ΠΈΡ‚ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»), ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ массив раздСляСт Π½Π° Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ m Π² ΡΠΎΠΎΡ‚вСтствии со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ r, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ символов. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку символов. Π”Π»ΠΈΠ½Π° строки большС, Ρ‡Π΅ΠΌ исходная строка ΠΈΠ·-Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… разрядов. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Бостав дСмонстрационной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания процСсса кодирования Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° дСмонстрационная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (Π΄Π°Π»Π΅Π΅ просто «ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°»). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ MathCAD 2001i ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π»ΡŽΠ±ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠΉ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚Π° MathCAD.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· Π΄Π²ΡƒΡ… Ρ„Π°ΠΉΠ»ΠΎΠ².

«Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. mcd» — содСрТит опрСдСлСния Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для прСобразования чисСл Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ прСдставлСниСм числа. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ этой части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ здСсь Π½Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ся, ознакомится с Π½ΠΈΠΌΠΈ ΠΈ ΠΈΡ… ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ прямо Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.

«ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π₯эмминга. mcd» — содСрТит опрСдСлСния основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° Π₯эмминга ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΡ‚ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (коррСкция ошибок, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ символов ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, ΠΈ Ρ‚. ΠΏ.). Π’ ΡΡ‚ΠΎΠΌ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° Π₯эмминга ΠΈΠ· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ тСкстовой строки, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ исправлСния ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Ρ… ошибок ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ нСвозмоТности ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ошибки ΠΈΠ»ΠΈ ошибки большСй кратности.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° для Ρ†Π΅Π»Π΅ΠΉ обучСния поэтому ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ (ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ кодирования) принСсСна Π² ΠΆΠ΅Ρ€Ρ‚Π²Ρƒ максимальной простотС ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΠΈ процСсса.

ОписаниС основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ дСмонстрационной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ доступны Π² Ρ„Π°ΠΉΠ»Π΅ «ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π₯эмминга. mcd» справа рядом с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

str2vec(s) — ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ символы тСкстовой строки s Π² ASCII ΠΊΠΎΠ΄Ρ‹ (Ρ†Π΅Π»Ρ‹Π΅ числа ΠΎΡ‚ 0 Π΄ΠΎ 255). Π­Ρ‚ΠΎ встроСнная функция ΠΈ Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ доступно Π² ΡΠΏΡ€Π°Π²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° MathCAD.

BinVec(v, l) — ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° v, ΡΠΎΡΡ‚ΠΎΡΡˆΠ΅Π³ΠΎ ΠΈΠ· Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл, Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€. КаТдоС число прСобразовываСтся Π² Π²Π΅ΠΊΡ‚ΠΎΡ€ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»ΠΈΠ½ΠΎΠΉ l. ВсС Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ достаточно простоС ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΠΉ, функция Int2Bits (x, n) ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π²ΠΎ «Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. mcd» ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число x Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π΄Π»ΠΈΠ½Ρ‹ n.

Nbit(r) := 2r — 1 — ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»-Π²Π° Π±ΠΈΡ‚ΠΎΠ² n Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (m, n), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ исходныС ΠΏΠΎ Π₯эммингу с Ρ‡ΠΈΡΠ»ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² r.

Mbit(r) := 2r + r — 1 — ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»-Π²Π° Π±ΠΈΡ‚ΠΎΠ² m Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (m, n), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ исходныС ΠΏΠΎ Π₯эммингу с Ρ‡ΠΈΡΠ»ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² r.

Vec2Matrix(v, m) — ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° v Π² ΠΌΠ°ΡΡΠΈΠ² с Ρ‡ΠΈΡΠ»ΠΎΠΌ строк m. ЗначСния исходного Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ массив ΠΏΠΎ-ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ, количСство Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ опрСдСляСтся Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° v. ΠŸΡ€ΠΈ нСобходимости послСдняя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° дополняСтся нулями. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Vec2Vecs(v, m) β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° v Π² Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ· Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² с числом элСмСнтов m. ΠŸΡ€ΠΈ нСобходимости послСдний Π²Π΅ΠΊΡ‚ΠΎΡ€ дополняСтся нулями. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Vec2Vecs(v, m) — ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° v Π² Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ· Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² с Ρ‡ΠΈΡΠ»ΠΎΠΌ элСмСнтов m. ΠŸΡ€ΠΈ нСобходимости послСдний Π²Π΅ΠΊΡ‚ΠΎΡ€ дополняСтся нулями. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Matrix2Vec(M) β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ M Π² Π²Π΅ΠΊΡ‚ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ЗначСния Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ-столбцам. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Matrix2Vec (M) — ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ M Π² Π²Π΅ΠΊΡ‚ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ЗначСния Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ-столбцам. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

InitialCodes(str, r) β€” ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ символы строки str Π² ASCI ΠΊΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ (8 Π±ΠΈΡ‚ Π½Π° символ), ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ массив раздСляСт Π½Π° Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ m Π² соотвСтствии со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ r. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈΠ· m строк, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· столбцов ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ Π±Π»ΠΎΠΊΠΎΠΌ ΠΈΠ· m Π±ΠΈΡ‚, послСдний столбСц ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌ (дополняСтся нулями). ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

InitialCodes(str, r) — ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ символы строки str Π² ASCI ΠΊΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ (8 Π±ΠΈΡ‚ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»), ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ массив раздСляСт Π½Π° Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ m Π² ΡΠΎΠΎΡ‚вСтствии со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ r. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈΠ· m строк, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΡΡ‚ΠΎΠ»Π±Ρ†ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ Π±Π»ΠΎΠΊΠΎΠΌ ΠΈΠ· m Π±ΠΈΡ‚, послСдний столбСц ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌ (дополняСтся нулями). ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ExpandBlock(b, r) β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ b ΠΈΠ· m строк Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈΠ· Nbit(r) строк, вставляя Π² Π½Π΅Π΅ r строк (ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… разрядов) Π½Π° позициях 2i, Π³Π΄Π΅ i = 0 .. (r - 1). ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ExpandBlock (b, r) — ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ b ΠΈΠ· m строк Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈΠ· Nbit® строк, вставляя Π² Π½Π΅Π΅ r строк (ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… разрядов) Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡΡ… 2i, Π³Π΄Π΅ i = 0. (r — 1). ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

BuildM(r) — построСниС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ M для вычислСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… разрядов ΠΊΠΎΠ΄Π° Π₯эмминга с Ρ‡ΠΈΡΠ»ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… разрядов r. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

AddControlCodes(b, r) — Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² ΠΊΠΎΠ΄Π° Π₯эмминга Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ b, число ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² r. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Codes2Str(codes) — ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΊΠΎΠ΄ΠΎΠ² Π₯эмминга codes Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ символов. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Str2HamingCodes (str, r) — ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ cΡ‚Ρ€ΠΎΠΊΠΈ символов str Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΊΠΎΠ΄ΠΎΠ² Π₯эмминга с Ρ‡ΠΈΡΠ»ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² r. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

DetectErrors(b, r) — ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ошибок Π² ΠΊΠΎΠ΄Π΅ Π₯эмминга bk с Ρ‡ΠΈΡΠ»ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… разрядов r. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

HamBlock2Block(b, r) — ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΠΎΠ΄ΠΎΠ² Π₯эмминга b выдСляСт исходный ΠΊΠΎΠ΄ (удаляСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹, r ΡˆΡ‚ΡƒΠΊ) ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ с ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Бостав дСмонстрационной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
Бостав дСмонстрационной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
Бостав дСмонстрационной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
Бостав дСмонстрационной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
Бостав дСмонстрационной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
Бостав дСмонстрационной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
StrEncodeHam(str, r) β€” ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ символы строки str ΠΊΠΎΠ΄ΠΎΠΌ Π₯эмминга с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ r Π² ASCI ΠΊΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ (8 Π±ΠΈΡ‚ Π½Π° символ), ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ массив раздСляСт Π½Π° Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ m Π² соотвСтствии со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ r. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈΠ· m строк, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· столбцов ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ Π±Π»ΠΎΠΊΠΎΠΌ ΠΈΠ· m Π±ΠΈΡ‚ - ΠΊΠΎΠ΄ΠΎΠΌ Π₯эмминга. ПослСдний столбСц ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌ (дополняСтся нулями). ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

StrEncodeHam(str, r) — ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ символы строки str ΠΊΠΎΠ΄ΠΎΠΌ Π₯эмминга с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ r Π² ASCI ΠΊΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ (8 Π±ΠΈΡ‚ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»), ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ массив раздСляСт Π½Π° Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ m Π² ΡΠΎΠΎΡ‚вСтствии со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ r. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈΠ· m строк, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΡΡ‚ΠΎΠ»Π±Ρ†ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ Π±Π»ΠΎΠΊΠΎΠΌ ΠΈΠ· m Π±ΠΈΡ‚ — ΠΊΠΎΠ΄ΠΎΠΌ Π₯эмминга. ПослСдний столбСц ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌ (дополняСтся нулями). ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

StrEncodeHam2Str(str, r) β€” ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ символы строки str ΠΊΠΎΠ΄ΠΎΠΌ Π₯эмминга с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ r Π² ASCI ΠΊΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ (8 Π±ΠΈΡ‚ Π½Π° символ), ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ массив раздСляСт Π½Π° Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ m Π² соотвСтствии со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ r, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² строку символов. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку символов. Π”Π»ΠΈΠ½Π° строки большС, Ρ‡Π΅ΠΌ исходная строка ΠΈΠ·-Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… разрядов. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

StrEncodeHam2Str(str, r) — ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ символы строки str ΠΊΠΎΠ΄ΠΎΠΌ Π₯эмминга с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ r Π² ASCI ΠΊΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ (8 Π±ΠΈΡ‚ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»), ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ массив раздСляСт Π½Π° Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ m Π² ΡΠΎΠΎΡ‚вСтствии со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ r, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ символов. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку символов. Π”Π»ΠΈΠ½Π° строки большС, Ρ‡Π΅ΠΌ исходная строка ΠΈΠ·-Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… разрядов. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

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