М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
dia49724zyf
dia49724zyf
20.09.2020 14:37 •  Информатика

Ля передачи по каналу связи сообщения, состоящего только из букв а, б, в, г, решили использовать неравномерный двоичный код: a -00, б - 11, в - 100. как нужно закодировать букву г, чтобы длина кода была минимальной и допускалось однозначное разбиение закодированного сообщения на буквы?

👇
Ответ:
izibaevsergei
izibaevsergei
20.09.2020
Чтобы код декодировался однозначно, нужно, чтобы начало или конец кода символа не совпадал ни с одним началом или концом кода другого символа, а если длина кодов одинаковая, то они не должны быть равны.

для буквы Г не подойдут символы с длиной кода = 1, поэтому будем рассматривать коды с длиной в 2 символа.

00 - это буква А
10 - это начало буквы В(100)
но нужно не забывать про код = 01, который не совпадает с началом других кодов и не равен равным по размеру.

ответ: 01
4,4(83 оценок)
Открыть все ответы
Ответ:
7kotik7myr7myr7
7kotik7myr7myr7
20.09.2020
Вариант для (){}[] 
01function balance(a) {02    for (var d = /(\u005B|\u0028|\u007B)[^\u005B\u0028\u007B]*?$/,03     e = {04        "(": /\u0028[^\u007D\u005D]*?\u0029/,05        "[": /\u005B[^\u0029\u007D]*?\u005D/,06        "{": /\u007B[^\u0029\u005D]*?\u007D/07    }, b, c = !0; c;) b = a, a = a.replace(d, function (a, b) {08        return a.replace(e[b], "")09    }), b == a && (c = !1);10    return !/[\u005B\u005D\u0028\u0029\u007B\u007D]/.test(a)11};12 13 14alert(balance("{}({}123(45))")+"\n"+balance("{}{}1234][5")+"\n"+balance("<><(([]){}<[}}[[]]}}]>)>"))
4,4(68 оценок)
Ответ:
natalinatark
natalinatark
20.09.2020

12,45

Объяснение (см. также на приложенном скрине):

1) старшие два разряда числа X равны 10, потому что в числе Y эти разряды равны нулю, а логическая сумма (операция ИЛИ) равна 10 (чтобы получить единицу- хотя бы один из входных разрядов должен быть равен единице;  ну а ноль можно получить только если оба они равны нулю).

2) Во втором разряде чисел X и Y должен стоять ноль (т.к. лог. сумма равна нулю).

3) Так как в числе X должно быть четыре единицы в разрядах, то проставляем оставшиеся три (т.к. других свободных разрядов для них нет).

4) Находим оставшиеся разряды числа Y по логическому произведению (операция И) и разрядам числа X (чтобы получить единицу- оба входных разряда должны быть равны единице, чтобы получить ноль- хотя бы один из них должен быть равен нулю).

Получили: X=101101_2\ ,\ Y=1100_2

Переводим в десятичную систему счисления:

X=2^5+2^3+2^2+2^0=32+8+4+1=45

Y=2^3+2^2=8+4=12

Записываем, как указано в задании (в порядке возрастания, через запятую, без пробела):  12,45


Люди уже два часа над ней сижу, мне уже кажется тут опечатка, кроме в строке где написано 1011012, т
4,8(25 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ