813

Особенности использование кодов

Практическая работа

Информатика, кибернетика и программирование

Создать алфавит А, используемый при форматировании Ф.И.О., которые будут являться исходным текстом. Построить прямые двоичные коды постоянной длины и закодировать ими исходный текст. Коды, учитывающие частоту символов. Коды Грея. Построение кода для обнаружения и исправления ошибок.

Русский

2013-01-06

170 KB

12 чел.

Задание 1.

Прямые коды.

Создать алфавит А, используемый при форматировании Ф.И.О., которые будут являться исходным текстом. Построить прямые двоичные коды постоянной длины и закодировать ими исходный текст.

 гущиналексейниколаевич     A = (гущиналексйовч)

                                         

таблица 1

                  

Символ

Код постоянной длины

А

0

0000

В

1

0001

Г

2

0010

Е

3

0011

И

4

0100

Й

5

0101

К

6

0110

Л

7

0111

Н

8

1000

О

9

1001

С

10

1010

У

11

1011

Ч

12

1100

Щ

13

1101

                                        

    

I = [ ]

     N = 14

Для предметов каждого N символа ввиде 4-х разрядного кода. Рассмотрим возможные варианты из комбинации нуля и единицы.

1) все нули.

0000

2) одна единица и три нуля.

0001

0010

0100

1000

3) две единицы и два нуля.

0011

0110

1001

1010

0101

1100

4) три единицы и один ноль.

0111

1011

1101

       г              у            щ             и              н

Фамилия Гущин   0010 1011 1101 0100 1000

       а       л       е       к       с       е       й

Имя   Алексей  0000 0111 0011 0110 1010 0011 0101

                                                  н       и       к      о      л       а       е       в       и      ч       

Отчество Николаевич  1000 0100 0110 1001 0111 0000 0011 0001 0100 1100

Задание 2.

Коды, учитывающие частоту символов.

 Построить для алфавита А двоичные коды учитывающие чистоту символов, расчёт чистоты выполнить по исходящему по типу и закодировать полученным кодом  исходящий текст.

 таблица 2

Символ

Частота

Код

Е

3

0000

И

3

0001

А

2

0010

К

2

0011

Л

2

0100

Н

2

0101

В

1

0110

Г

1

0111

Й

1

1000

О

1

1001

С

1

1010

У

1

1011

Ч

1

1100

Щ

1

1101


Используя данный полученные в задание 1 кодируем каждую чистоту 4-х разрядным кодом. Назначим символами коды постоянной длины, число единиц , которых тем больше чем меньше чистота символа.

Гущин          0111 1011 1101 0001 0101

Алексей        0010 0100 0000 0011 1010 0000 1000

Николаевич  0101 0001 0011 1001 0100 0010 0000 0110 0001 1100

Задание 3.

Коды Грея.

 

Для символов алфавита А (из задания 1) построим код Грея и закодируем им исходный текст. Для этого сначала построим таблицу ,строки и столбцы которой пронумеруем двоичными числами из множества {00,01,10,11},элементы которого сами

являются кодами Грея.

 таблица 3

00

01

10

11

00

А

В

Г

Е

01

Л

К

Й

И

10

Н

О

С

У

11

Щ

Ч

         

Разместим в ячейках таблицы упорядоченные по алфавиту символы из множества А. Для формирования кода Грея каждому символу объединим номера строки и столбца ячейки, в которой находится символ.

таблица 4

Символ

Алфавита А

Код Грея

1

2

А

0000

В

0001

Г

0010

Е

0011

Л

0100

К

0101

Й

0110

И

0111

Н

1000

О

1001

С

1010

У

1011

Щ

1110

Ч

1111

Гущин   0010 1011 1110 0111 1000

Алексей   0000 0100 0011 0101 1010 0011 0110

Николаевич 1000 0111 0101 1001 0100 0000 0011 0001 0111 1111

Задание 4.

Метод простой подстановки.

Выполнить криптографическое кодирование исходного текста методом простой подстановки. Исходным алфавитом принять множество А (из задания 1).

Для построения кода составим таблицу соответствия между символами исходного алфавита А и произвольными 4-х разрядными кодами. Для упрощения процедуры используем произвольный номер символа алфавита А в пределах от 0 до 12.

таблица 5

Символы исходного

алфавита

Произвольный

номер символа

Коды

А

1

0001

В

5

0101

Г

3

0011

Е

2

0010

Л

4

0100

К

7

0111

И

10

1010

Й

8

1000

Н

14

1011

О

9

1001

С

6

0110

У

0

0000

Щ

11

1011

Ч

13

1101

Гущин   

Алексей    

Николаевич 

Задание 5.

Метод Вижинера

Выполнить криптографическое кодирование исходного текста методом Вижинера. Исходным алфавитом принять множество A (из задания 1). В качестве ключа кодирования использовать имя собственное. В качестве символов кодирования принять l-разрядные двоичные кодовые комбинации (величина l определена в задании 1), значение которых находится в пределах от 0 до двоичного эквивалента числа N-1 , где N – мощность алфавита A.

                                           Указания по выполнению задания 5

  1.  для построения кода пронумеруем символы исходного алфавита, начиная с 0, и каждому десятичному номеру сопоставим двоичный эквивалент размером l.

Получим таблицу соответствия (табл.9),

Таблица 9.

                                                                                                                                               

 

символы исходного алфавита

А

В

Г

Е

И

Й

К

Л

Н

О

С

У

десятичные номера символов

0

1

2

3

4

5

6

7

8

9

10

11

12

13

двоичные номера символов

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

  1.    для кодирования выполняем шаги:

- выписываем исходный текст (строка 1 табл. 10),

- формируем номера символов исходного текста из табл. 9 (строка 2 табл. 10),

- многократно записываем ключ под исходным текстом (строка 3 табл.10),

- заполняем номера символов ключа из табл. 9 (строка 4 табл.10),

- складываем по модулю 13 (это мощность множества A) номера символов (строка 5 табл. 10),

- заменяем полученные числа символами исходного алфавита из табл. 9 (строка 6 табл. 10). Таким образом, получаем строку, соответствующую исходному тексту:

ччлпвиввголдпгдлвпофгфлги.

                                                                                                     

                                                                                                      

                                                                                                       Таблица 10.

Номер строки

Результаты выполнения

1

Ф

И

Л

И

П

П

О

В

В

Л

А

Д

И

С

Л

А

В

О

Л

Е

Г

О

В

И

Ч

2

10

5

6

5

8

8

7

1

1

6

0

3

5

9

6

0

1

7

6

4

2

7

1

5

11

3

В

Л

А

Д

И

С

Л

А

В

В

Л

А

Д

И

С

Л

А

В

В

Л

А

Д

И

С

Л

4

1

6

0

3

5

9

6

0

1

1

6

0

3

5

9

6

0

1

1

6

0

3

5

9

6

5

11

11

6

8

1

5

1

1

2

7

6

3

8

2

3

6

1

8

7

10

2

10

6

2

5

6

Ч

Ч

Л

П

В

И

В

В

Г

О

Л

Д

П

Г

Д

Л

В

П

О

Ф

Г

Ф

Л

Г

И

- Заменяем символы строки (12) двоичными номерами из табл. 9. Получаем результат (отдельно закодирована фамилия, имя и отчество):

Филиппов – 1011, 1011, 0110, 1000, 0001, 0101, 0001, 0001.

Владислав – 0010, 0111, 0110, 0011, 1000, 0010, 0011, 0110, 0001.

Олегович – 1000, 0111, 1010, 0010, 1010, 0110, 0010, 0101.

                                      Задание 8.

          Построение кода для обнаружения ошибок.

 

      Построить помехозащитный код для обнаружения ошибок кратности 1 для символов алфавита А(из задания 1). Выполнить кодирование исходного текста и продемонстрировать помехозащитные свойства построенного кода.

  1.  Для кода указанной корректирующей способностью кодовое расстояние d должно удовлетворять соотношению: d≥2. Для построения кода используем схему построения кода  Грея и кода символов исходного алфавита из таблицы 7.

                                                                                    Таблица 15

Номера строк

    Номера столбцов

Полученные коды

0

1

0000

А

00000

0001

В

00011

0011

Г

00110

0010

Д

00101

0110

Е

01100

0111

И

01111

0101

Л

01010

0100

О

01001

1100

П

11000

1101

С

11011

1111

Ф

11110

1110

Ч

11101

Для проверки требуемой корректирующей способности рассчитаем кодовое расстояние полученного кода.

                                      Таблица 16

В

И

Л

О

А

В

|||||

2

2

2

2

И

|||||

2

2

4

Л

|||||

2

2

О

|||||

2

Филиппов-11110, 01111, 01010, 01111, 11000, 11000, 01001, 00011.

Владислав-00011, 01010, 00000, 00101, 01111, 11011, 01010, 00000, 00011.

Олегович-01001, 01010, 01100, 00110, 01001, 00011, 01111, 11101.

Для проверки корректирующей способности  кода предложим, что на передаваемую кодовую комбинацию 00101 (символ  Д) накладывается ошибка кратности 1 :

                                00101 – 00001= 00100

Полученный код не принадлежит кодовым комбинациям из таблицы 15.

Задание 9.

Построение кода для исправления ошибок.

Построить помехозащитный код для исправления ошибок кратности 1 для символов алфавита А ( из задания 1 ). Продемонстрировать помехозащитные свойства построенного кода.

  1.  для кода с указанной корректирующей способностью кодовое  расстояние d должно удовлетворять соотношению:  d ≥ 3. Для построения кода используем схему построения кода  Грея, коды символов исходного алфавита из таблицы 15 и саму схему решения задачи из задания 8.

                                                                                             Таблица  17

Номера    строк

Номера столбцов

Полученные    коды

0000

0001

0011

0010

0110

00000

В

000000000

00011

И

000110001

00110

Л

001100011

00101

О

001010010

01100

А

011000110

Для проверки требуемой корректирующей способности рассчитаем кодовое расстояние полученного кода.

                                       Таблица 18

В

И

Л

О

А

В

|||||

3

4

3

4

И

|||||

3

4

7

Л

|||||

3

4

О

|||||

3

Для проверки корректирующей способности  кода предложим, что на передаваемую кодовую комбинацию 001100011 (символ Л) накладывается ошибка кратности 1 :

                                001100011-000000001=001100010

  Поскольку полученный код не принадлежит кодовым комбинациям из таблицы 17, она определяется как искаженный.

Рассчитывается  расстояние  между  разрешенными кодовыми комбинациями и искаженным кодом.

                                                  Таблица 19   

Искаженный

код

В

И

Л

О

А

000110000

2

1

4

3

6

По таблице 19 определяется тот символ, для которого расстояние между соответствующими кодами равно 1,  поскольку именно такова кратность ошибки, которую данные кол должен исправить.

                                 000110000→001100011

Предположим, что на передаваемую кодовую комбинацию 001100011 (символ Л) накладывается ошибка кратности 2, искажающая два младших разряда:

                        ……………- 000000011=

Поскольку полученный код не принадлежит кодовым комбинациям из таблицы 17, он определяется как искаженный.


 

А также другие работы, которые могут Вас заинтересовать

59891. Сценарій уроку біології з використанням ІКТ з теми «Віруси» 60.5 KB
  Миколаєва Анотація: в даному уроці використовуються методи ІКТ і активізації пізнавальної діяльності проблемно-пошуковий підхід пропедевтичні та тестові завдання що сприяє створенню чітких уявлень учнів про віруси як неклітинні форми життя.
59892. На порозі вибору 98.5 KB
  Мета: поглибити і систематизувати знання учнів про професії; активізувати професійне самовизначення учнів; формувати навички спілкування проектування та аналіз професійної перспективи...
59894. «Ти – тихе сяйво над моєю долею» (жінки в долі Тараса Шевченка). Вистава 107.5 KB
  Виходить Шевченко Т. Шевченко Т. Ведуча Оксана йог люба; мила щира вродлива і ніжна Оксанка її імя Шевченко згадує в багатьох своїх творах змінюючи часом на Маряну або на якусь безіменну дівчину. Ласочкою зорею пташкою такими ніжними лагідними словами називає Шевченко свою Оксану.
59895. Проблема формування в учнів історичного мислення 141 KB
  Допомагає їм на першому етапі памятка Як працювати з текстом історичного джерела додаток 1. На завершення роботи пропоную учням скласти усну розповідь Подорож у країну козаків додаток 2. Розмаїття підручників з історії стародавнього світу...
59896. Дневной дозор 67.5 KB
  Из года в год увеличивается поток автомобилей на дорогах, что создаёт объективную реальность возникновения дорожно-транспортных происшествий. И, к сожалению, самой частой причиной возникновения ДТП являются дети.
59897. Профільна освіта як ефективний засіб диференціації навчально-виховного процесу учнів 32 KB
  Допрофільну підготовку можна умовно розділити на два етапи: професійне орієнтування учнів; професійне консультування учнів. Професійне орієнтування учнів характеризується тим що на цьому етапі вчителі стають помічниками і консультантами для кожного учня.
59898. ОСОБИСТІСТЬ УЧНЯ 102.5 KB
  Належність особистості до певного суспільства до певної системи суспільних відносин визначає її психологічну та соціальну сутність. Характерними ознаками особистості є наявність у неї свідомості виконувані нею суспільні ролі суспільно корисна спрямованість її діяльності.
59899. Visual Basic 6. Руководство разработчика 7.18 MB
  Основные элементы управления ctiveX. Усовершенствованные элементы Visul Bsic. Усовершенствованные элементы управления ctiveX. Дополнительные элементы управления ctiveX. Специальные темы. Конструирование элементов управления ctiveX Часть V Программирование баз данных на Visul Bsic.