В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия

Для кодирования некоторой последовательности, состоящей из букв Л, М, А, В, Б, решили использовать неравномерный двоичный код, удовлетворяющий условию,

что никакое кодовое слово не является началом другого кодового слова. Это условие

обеспечивает возможность однозначной расшифровки закодированных сообщений.

Известно, что в последовательности содержится 30 букв Л, 8 – М, 7 – А, 10 – В и

2 буквы Б.

Укажите наименьшую суммарную длину кодов всех 57 букв, содержащихся в

этом наборе символов.

Показать ответ
Ответ:
IKristin
IKristin
21.08.2021 04:21
Во-первых, не whill, а while.
 Во-вторых, цикл с предусловием(while) выполняется только тогда, когда его условие возвращает ложь. Если условие возвращает правду, цикл завершается. Бывает так, что при попытке первой итерации цикла условие уже возвращает правду. В этом случае цикл не будет выполнен ни разу.
 Цикл с предусловием(repeat), наоборот, выполняется, пока условие возвращает правду и завершается ложью. Стоит заметить, что если цикл с предусловием проверяет своё условие перед итерацией, цикл с постусловием делает это после, а это значит, что последний выполнится хотя бы один раз.
0,0(0 оценок)
Ответ:
AidarSharafutdinov
AidarSharafutdinov
07.01.2021 23:43
Дешифровка: ВХОД_ОТКР Ы Т.

дешифровки:
Const sh = '_.,';
Var
  St : String;
  i  : Integer;
Function DeCode(S : String; Tabl : String; k : Integer) : String;
Var j,n : Integer;
Begin
  For j:=1 to Length(S) do
  Begin
    n:=Pos(S[j],sh);
    If n>0 then
    Begin
      n:=n+k;
      While n>Length(sh) do n:=n-Length(sh);
      While n<=0 do n:=n+Length(sh);
      S[j]:=sh[n];
    end
  end;
  DeCode:=S;
end;
Begin
  St:='ЗЫФЙГФШРЦ . ШД';
  Writeln(Decode(St,sh,-6));
  //For i:=-10 to 10 do Writeln(Decode(St,sh,i));
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота