Задание 3 Вариант 1 Контрольная работа 1 ГДЗ Рабочая тетрадь Босова 10 класс (Информатика)
— ни одно кодовое слово не является началом другого (это нужно, чтобы код допускал однозначное декодирование);
— общая длина закодированного сообщения должна быть как можно меньше.
Какой код из приведённых ниже следует выбрать для кодирования букв А, Б, В и Г?
1) А — 0, Б — 10, В — 01, Г — 11.
2) А — 0, Б — 10, В — 110, Г — 111.
3) А — 00, Б — 01, В — 10, Г — 11.
4) А — 1, Б — 01, В — 011, Г — 001.
Согласно условию, общее количество двоичный последовательность в слове равно:
32*А+16*Б+8*В+4*Г
Для меньшей длины кодового сообщения, надо выбрать для А и Б наименьше возможные коды.
Для набора 1) код А (0) является началом кода В (01), что противоречит условию.
Для набора 4) код Б (01) является началом кода В (011), что противоречит условию.
Наборы 2) и 3) соответствуют условию первому, а набор 2) соответствует и второму условию – общая длина закодированного сообщения должна быть как можно меньше.
2) 32*1+16*2+8*3+4*3=100
3) 32*2+16*2+8*2+4*2=120
Ответ: 2) А – 0, Б – 10, В – 110, Г – 111
Проверим, какие из предложенных кодов удовлетворяют условию однозначного декодирования: ни одно кодовое слово не должно быть началом другого.
1) $$A=0,\; Б=10,\; В=01,\; Г=11$$ — код $$A=0$$ является началом кода $$В=01$$, значит, этот вариант не подходит.
4) $$A=1,\; Б=01,\; В=011,\; Г=001$$ — код $$Б=01$$ является началом кода $$В=011$$, значит, этот вариант тоже не подходит.
Остаются варианты 2) и 3). Сравним общую длину закодированного сообщения:
2) $$32\cdot 1+16\cdot 2+8\cdot 3+4\cdot 3=32+32+24+12=100$$
3) $$32\cdot 2+16\cdot 2+8\cdot 2+4\cdot 2=64+32+16+8=120$$
Меньшая длина получается у варианта 2.
Ответ
2) $$A=0,\; Б=10,\; В=110,\; Г=111$$