Легенда

Вам в руки попал старый датчик для анализа электрических полей, передающий данные по радиоканалу, и вы решили его проверить. На самом датчике вы заметили надпись «ParityBitSuffix», из чего вы решили, что при отправке данных используется контроль целостности с помощью контрольного бита чётности.

Для проверки вы прикрепили датчик к щитку электропитания и собрали набор данных. Просмотрев полученный набор, вы видите, что датчик передает отдельные пакеты в виде непустых ASCII-строк, где символы представляются  7-разрядными двоичными кодами (в порядке от старшего бита к младшему), а в конце строки присоединяется контрольный бит. Сама же передача происходит с большим количеством помех, на чём сказался возраст датчика. И глядя на полученные данные, вам не удалось понять, какое именно значение чётности является корректным для этого кода.

Для правильной работы с датчиком напишите программу, которая будет определять четность кода, если известно, что количество помех не больше 40%, и двойная ошибка в одной строке  исключена. Также программа должна выводить декодированные строки из ASCII-символов. Если в отдельной строке допущена ошибка, то вся строка должна быть заменена на символ *.

Принцип решения

  • Реализация

Видео-разбор


Последнее изменение: Monday, 21 June 2021, 12:08