813

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

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

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

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

Русский

2013-01-06

170 KB

9 чел.

Задание 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, он определяется как искаженный.


 

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

72924. Противодействие коррупции на государственной службе: российский опыт и перспективы 28.22 KB
  Актуальность темы, выбранной для анализа, я обусловил высоким уровнем коррумпированности федеральных и региональных органов государственной службы Российской Федерации, так как считаю, что в настоящее время это имеет место быть в наших органах государственной власти.
72925. Стилістичні потенції прикметника 72.71 KB
  Особистісна сутність людини, її фізіологічна й духовна індивідуальність, винятковість, неповторність і окремішність усього живого й неживого в природі, усіх пізнаних людиною істот і предметів створюється певною сукупністю тих якостей, ознак, які властиві будь-кому й будь-чому.
72926. Теоретическая база логистики 185.24 KB
  В четвертом разделе определяется стоимость доставки продукции различными видами транспорта и вычисляется самый оптимальный вид транспорта. Транспортная логистика Основными задачами транспортной логистики являются: обеспечение транспортировки товаров; минимизация транспортных расходов...
72927. Мода и макияж 20-х годов 70.11 KB
  Именно поэтому бросающие вызов правилам и условностям женщины 20-х годов нарочито доставали из сумочек губную помаду и пудру и прилюдно поправляли свой макияж считая такое дерзкое поведения высшим шиком. Макияж 20х годов -– это бледное напудренное лицо пудра должна быть светлее тона кожи...
72928. ПРИКЛАДНАЯ ЭКОНОМИКА: МЕТОДИЧЕСКИЕ УКАЗАНИЯ 349 KB
  Экономический подъем в стране невозможен без целенаправленной деятельности промышленных предприятий на основе совершенствования управления процессами изготовления продукции, повышения эффективности производства и труда, конкурентоспособности продукции.
72929. Анализ условий и особенностей предпринимательства в России 106.69 KB
  Ни для кого не является секретом тот факт, что основу рыночной экономики составляет частная собственность, которая позволяет развиться другим формам экономической деятельности, в частности, предпринимательской.
72930. Учение о бытии. Проблема бытия. Философское учение о развитии. Сознание. Познание. Творчество. Практика. Наука и научное познание 166.5 KB
  Основными принципами диалектики являются принцип всеобщей связи и принцип развития принцип тождества единства диалектики логики и теории познания принцип восхождения от абстрактного к конкретному принцип единства логического и исторического.
72931. Общество как объект философского анализа. Проблема периодизации всемирной истории. Личность и общество. Проблема свободы и ответственности личности. Будущее человечества (философский аспект) 243.5 KB
  В философии существуют разные точки зрения по вопросам относящимся к сущности общества причинам его развития движущим силам. Натурализм или географическое направление развитие общества определяется природными условиями климатом плодородием почвы богатством минеральных ресурсов и т.