lilit-yan
?>

Для передачи по каналу связи сообщения, состоящего только из букв а, б, в, г, решили использовать неравномерный двоичный код: a -01, б - 000, в - 10. как нужно закодировать букву г, чтобы длина кода была минимальной, и допускалось однозначное разбиение закодированного сообщения на буквы? если таких кодов несколько, укажите код с наименьшим числовым значением. выберите один ответ: 001 110 00 11

Информатика

Ответы

Arsen-araqelyan20164

Нам важно однозначное разбиение, поэтому вариант "00" не подходит, так как его можно спутать с буквой "Б". Другие значение проверим при дерева.


1. Пусть буква "Г" будет записана в первую ветку (1). Распишем ее.

Первой ветке подходит буква "В", так как код начинается с единицы. Рисуем еще ветку, также с единицей и нулем. Получается, что "В" пойдет во вторую ветку (0), а "Г", соответственно, в первую. Итого получаем: В = 10, Г = 11.


2) Пусть "Г" будет во второй ветке (0). С нуля начинаются буквы "А" и "Б", поэтому их тоже пишем. Рисуем еще две ветки. Так как А = 01, то она пойдет в первую ветку, буквы "Б" и "Г" пишем во вторую. "Б" = 000, поэтому пишем во вторую ветку, следовательно, "Г" пойдет в первую. Итого: А = 01, Б = 000, Г = 001.


Теперь сравним полученные значения. Переведем их в десятичную систему счисления.

11₂ = 1*2¹ + 1*2⁰ = 2 + 1 = 3₁₀.

001₂ = 1*0² + 1*0¹ + 1*2⁰ = 0 + 0 + 1 = 1₁₀.


В итоге, значение 001 является минимальным и соответствует однозначному декодированию.


ответ: 001.


Решение смотри во вложении.


Для передачи по каналу связи сообщения, состоящего только из букв а, б, в, г, решили использовать не
Шиловский126

program raf105;

const

 n = 4;

var

 a: array[1..n,1..n] of integer;

 i,j,sum: integer;

begin

 for i:=1 to n do

 begin

 writeln;

   for j:=1 to n do

     begin

       a[i,j]:= random(1,9);

       if i = j then

         sum:= sum + a[i,j];

       write(a[i,j]:4,' ');

     end;

 end;

 writeln;

 writeln;

 writeln('Вывод:');

   for i:=1 to n do

 begin

 writeln;

   for j:=1 to n do

     begin

       if i <> j then

         a[i,j]:= a[i,j] * sum;

       write(a[i,j]:4,' ');

     end;

 end;

end.

PascalABC 3.4.2
morozmd
Program p1;
const n=10;
var a:array [1..n] of real;
    i:byte; 
   max:real; 
   nmax:byte;
begin
 //начало цикла ввода 
For i:=1 to n do 
//ввод    
Readln(a[i]) 
//берём за максимальный 1ый элемент
 max:=a[1]; 
 //берём количество = 1
 nmax:=1; /
/начало цикла проверки 
For i:= 2 to n do 
 if a[i]> max then    
    begin       
       max:=a[i]; 
       nmax:=1;     
   end else
                if a[i]= max then       
                         nmax:=nmax+1; 
//вывод 
Writeln('Максимальный элемент = ', max,', количество таких элементов = ',nmax);  end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Для передачи по каналу связи сообщения, состоящего только из букв а, б, в, г, решили использовать неравномерный двоичный код: a -01, б - 000, в - 10. как нужно закодировать букву г, чтобы длина кода была минимальной, и допускалось однозначное разбиение закодированного сообщения на буквы? если таких кодов несколько, укажите код с наименьшим числовым значением. выберите один ответ: 001 110 00 11
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Yurii537
Сергей_Крутикова114
Oslopova
ГалинаРайгородская
llmell6
svetavalera
kadrevproduction
Stenenko
prik-galina7390
kirill81
borisovaks496
Vladimirovna1858
aeykin
ckati
dashakhmeleva6