6 - Кодирование с обнаружением ошибок

1. Сообщение разбито на блоки длиной по 3 бита каждый:
 100 000 101 111
Для передачи сообщения по сети в конец каждого блока добавляется бит чётности. Запишите сообщение, готовое к передаче (без пробелов).
Ответ: 
2. По сети получено сообщение
 001110010000
которое состоит из 4-битных блоков. В каждом блоке последний бит - это бит чётности. Постройте исходное сообщение, удалив биты чётности.
Ответ: 
3. Петя закодировал сообщение с помощью кодовой таблицы (см. рисунок). В конец каждого кодового слова он добавил бит чётности, после чего передал сообщение по сети Васе. Вася получил такое сообщение:
 111000110100101000 
При передаче произошли ошибки. Декодируйте сообщение, заменив знаками * символы, которые переданы с ошибкой.
Ответ: 
4. Степан закодировал секретное сообщение с помощью таблицы (см. рисунок) и передал по сети Кириллу, повторяя каждый бит три раза подряд. Кирилл получил такое сообщение (при передаче произошли ошибки):
 110010100001100011 
Декодируйте сообщение, считая, что при передаче каждой тройки битов было не более одной ошибки.
Ответ: 
5. Цепочка битов была передана по сети, причём для надёжности каждый бит передавался три раза подряд. К сожалению, при передаче произошли ошибки и было получено такое сообщение:
 110100110101 
Восстановите исходную цепочку (без утроения битов), считая, что при передаче каждой тройки битов произошло не более одной ошибки.
Ответ: 
6. Определите расстояние Хэмминга между кодовыми словами:
 101001010 и
 110100101
Ответ: 
7. Сообщение было закодировано с помощью кодовой таблицы (см. рисунок). В ней любые два кодовых слова отличаются не менее, чем в трёх битах. Во время передачи по сети произошли ошибки и было получено такое сообщение:
 00111100000010110101 
Декодируйте полученное сообщение, исправив ошибки. Считайте, что во время передачи каждого кодового слова произошло не более двух ошибок. Если ошибку нельзя исправить, вместо символа пишите знак *.
Ответ: