2. Некоторое устройство передачи данных может генерировать 256 различных символа. Чему равно количество информации по Хартли, приходящееся на сообщение из 10 символов? 3. Известно, что для некоторого источника сообщений количество информации по Хартли, приходящееся на 1 символ, равно 6 битам. Чему равно количество символов в алфавите источника сообщений?
4. Два источника генерируют по два символа. Первый источник генерирует символы с равными вероятностями, второй – с различными. Для какого источника количество информации по Шеннону, приходящееся на один символ, будет больше?
5. Пусть источник сообщений может генерировать n разных сообщений m1, m2, ..., mn с вероятностями p1, p2,... , pn. Определите энтропию источника для заданных исходных данных:
o n = 4; p1 = 0,25, p2= 0,25, p3 = 0,375, p4 = 0,125
o n = 6; p1 = 0,0025, p2= 0,0075, p3 = 0,09, p4 = 0,2, p5= 0,5, p6 = 0,2
o n = 4; p1= 0,25, p2= 0,1, p3 = 0,15, p4 = 0,5
6. Зашифруйте сообщение m шифром Вернама с ключом k:
o m = 1001001110, k = 0100111011
o m = 0101101110, k = 1010101011
o m = 1111001101, k = 0110001011
7. 7. Рассчитайте энтропию ключа для шифра Цезаря со сдвигом на n позиций, применяемого для сообщений на русском языке ( 32 буквы ).
8. 8. Рассчитайте расстояние единственности для шифра Цезаря со сдвигом на n позиций, применяемого для сообщений на русском языке ( 32 буквы ). Избыточность сообщений на русском языке принять равной 3,5 бит на символ.
9. 9. Предполагая, что все варианты ключей равновероятны и возможны, рассчитайте расстояние единственности для шифров с заданной длиной двоичного ключа N, применяемых к сообщениям, избыточность которых составляет D:
o N=256 бит, D =3,5 ;
o N=512 бит, D =3 ;
o N=128 бит, D =4.
arr: array[1..27] of integer;
summ: integer;
begin
Randomize;
for var i := 1 to 27 do
begin
arr[i] := random(-5, 5);
summ := summ + arr[i];
end;
writeln('Массив: ',arr);
writeln('Сумма всех элементов массива = ',summ);
for var i := 1 to 27 do if arr[i] = 0 then arr[i] := summ;
writeln('Массив: ',arr);
end.
пример работы:
Массив: [5,-1,1,5,4,-2,-3,0,3,5,-3,-4,3,0,-1,-4,5,-2,1,-4,5,2,-4,5,4,-5,-1]
Сумма всех элементов массива = 14
Массив: [5,-1,1,5,4,-2,-3,14,3,5,-3,-4,3,14,-1,-4,5,-2,1,-4,5,2,-4,5,4,-5,-1]
var
arr: array of integer;
n,k,m: integer;
begin
write('Введи n: ');
readln(n);
Randomize;
arr:= new integer[n];
for var i := 0 to n-1 do arr[i] := random(-5, 5);
writeln('Массив: ',arr);
for var i := 0 to n-1 do
begin
if arr[i]<0 then inc(k);
if (i>=1) and (i<=6) then inc(m);
if (i>=6) and (arr[i]>=0) then arr[i]:=1;
end;
writeln('Количество отрицательных элементов массива = ',k);
writeln('Количество элементов массива в интервале [2..7] = ',m);
writeln('Массив: ',arr);
end.
Пример работы:
Введи n: 5
Массив: [0,1,-4,1,3]
Количество отрицательных элементов массива = 1
Количество элементов массива в интервале [2..7] = 4
Массив: [0,1,-4,1,3]
Введи n: 15
Массив: [0,1,4,3,-3,5,-4,-1,1,-2,3,1,-4,1,3]
Количество отрицательных элементов массива = 5
Количество элементов массива в интервале [2..7] = 6
Массив: [0,1,4,3,-3,5,-4,-1,1,-2,1,1,-4,1,1]