Вопрос:

2. Сообщение передается шифром. В нем присутствуют только буквы из приведенного фрагмента кодовой таблицы.

Смотреть решения всех заданий с листа

Ответ:

Расшифровка сообщения:

Для расшифровки нам понадобится полная кодовая таблица. Предполагая, что таблица полная, и пользуясь фрагментом, можно предположить, что:

  • К!!?
  • И!!
  • С!?
  • Л???
  • О?!

Теперь расшифруем строку !!??!???.

  • !!И
  • ?? — Это может быть как К (!!?), так и И (!!). Но для получения осмысленного слова, будем исходить из того, что это может быть другая буква, не указанная в фрагменте, либо это комбинация.
  • !?? — Эта комбинация не соответствует ни одному из предоставленных кодов.

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

  • К = 16 бит = 2 байта
  • И = 2 бита = 0.25 байта
  • С = 2 бита = 0.25 байта
  • Л = 3 бита = 0.375 байта
  • О = 2 бита = 0.25 байта

Исходное предложение: «Репа, тыква, огурец, артишок, патиссон, картофель — овощи»

Количество символов:

  • Репа (4) + , (1) + пробел (1) = 6
  • Тыква (5) + , (1) + пробел (1) = 7
  • Огурец (6) + , (1) + пробел (1) = 8
  • Артишок (8) + , (1) + пробел (1) = 10
  • Патиссон (8) + , (1) + пробел (1) = 10
  • Картофель (9) + — (1) + пробел (1) = 11
  • Овощи (5) + . (1) = 6

Всего символов в исходном тексте: 6 + 7 + 8 + 10 + 10 + 11 + 6 = 58 символов.

Размер исходного текста: 58 символов * 2 байта/символ = 116 байт.

Размер нового текста: 116 байт - 22 байта = 94 байта.

Количество символов в новом тексте: 94 байта / 2 байта/символ = 47 символов.

Удалено символов: 58 - 47 = 11 символов.

Это означает, что вычеркнуто слово из 11 символов, и удалена одна запятая и один пробел.

Теперь посмотрим на слова:

  • Репа (4)
  • Тыква (5)
  • Огурец (6)
  • Артишок (8)
  • Патиссон (8)
  • Картофель (9)

Единственное слово, которое может привести к удалению 11 символов (само слово + запятая + пробел), это «Картофель».

К = 2 байта (16 бит)

И = 0.25 байта (2 бита)

С = 0.25 байта (2 бита)

Л = 0.375 байта (3 бита)

О = 0.25 байта (2 бита)

Сообщение: !!??!???.

Разберем по кодам:

  • !! (2 байта) = И
  • ?? (2 байта) = И
  • !?? (Неизвестный код)
  • ??? (3 байта) = Л
  • ?! (2 байта) = О

Если предположить, что ?? это тоже 'И', то получится: ИИ (неизвестный код) ЛО.

Однако, если предположить, что ?? это 'К', то получится: ИК (неизвестный код) ЛО.

Рассмотрим другой вариант:

!!??!???.

!!И

?? — если это 2 бита, то это И. Если это 16 бит, то это К.

!?? — если предположить, что это 3 бита, то это Л.

??? — если это 3 бита, то это Л.

?!О

Если И, К, Л, Л, О: ИКЛЛО

Если И, И, Л, Л, О: ИИЛЛО

Давайте пересмотрим таблицу:

БукваКодБайты
К!!?2.25
И!!2
С!?2.25
Л???3
О?!2.25

Сообщение: !!??!???.

!!И

?? — это не полный код. Предположим, что это К (!!?)

!?? — это не полный код. Предположим, что это С (!?)

???Л

?!О

И К С Л О

Если сообщение ИКЛЛО

Если предположить, что ?? это И, то:

!! = И

?? = И

!? = С

?? = И

?! = О

ИИ C И О

Попробуем разобраться с 22 байтами.

Слово «Картофель» состоит из 9 букв.

Если удалить «Картофель», запятую и пробел, то удаляется 9 + 1 + 1 = 11 символов.

11 символов * 2 байта/символ = 22 байта.

Следовательно, вычеркнуто слово «Картофель».

Теперь вернемся к шифру:

!!??!???.

Исходя из таблицы, где:

  • К!!?
  • И!!
  • С!?
  • Л???
  • О?!

Расшифруем:

  1. !!И
  2. ?? — Это неполный код. Если предположить, что это К (!!?), то не хватает одного знака.
  3. !?? — Это неполный код. Если предположить, что это С (!?), то не хватает одного знака.
  4. ???Л
  5. ?!О

Давайте предположим, что в строке !!??!???. два знака ?? и !?? являются неполными кодами.

Если рассматривать как последовательность кодов:

!!И

?? — неизвестно, но если это 2 символа, то это может быть И (2 байта).

!?? — неизвестно.

???Л (3 байта)

?!О (2.25 байта)

Если предположить, что ?? и !?? - это одна буква, то:

!! = И

??!???.

Если предположить, что ?? - это К (!!?) и !?? - это С (!?), то:

!! - И

?? - ? (не хватает одного символа для К)

!?? - ? (не хватает одного символа для С)

??? - Л

?! - О

Рассмотрим строку: !!??!???.

!! - И

?? - Если это 2 бита, то это И.

!?? - Если это 3 бита, то это Л.

??? - Л

?! - О

Получается: ИИЛЛО

Теперь предположим, что ?? = К (16 бит), а !?? = С (16 бит)

!! - И

?? - К

!?? - С

??? - Л

?! - О

ИКСЛО

Давайте проверим, какая последовательность образует осмысленное слово.

ИИЛЛО - не является осмысленным словом.

ИКСЛО - тоже не является осмысленным словом.

Возможно, в приведенном фрагменте таблицы не все коды.

Если предположить, что ?? это 2 бита, то это И.

!! = И

?? = И

!?? = ?

??? = Л

?! = О

ИИ ? Л О

Если предположить, что !?? = К (16 бит = 2 байта), то:

!!??!???.

!! -> И

?? -> ? (не хватает 16 бит)

!?? -> ? (не хватает 16 бит)

??? -> Л

?! -> О

Слово: И?? ? Л О

Вернемся к условию: «В нем присутствуют только буквы из приведенного фрагмента кодовой таблицы».

!!??!???.

!!И

?? — предположим, что это К (!!?) — не хватает одного символа.

!?? — предположим, что это С (!?) — не хватает одного символа.

???Л

?!О

Рассмотрим букву «С», код «!?» (2 байта).

Рассмотрим букву «К», код «!!?» (2.25 байта).

Если ?? это 2 бита, то это И.

!! = И

?? = И

!?? = ?

??? = Л

?! = О

ИИ ? Л О

Если предположить, что !?? это

ГДЗ по фото 📸
Подать жалобу Правообладателю