Равномерное кодирование. При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 13 символов и содержащий только символы латинского алфавита (26 символов) и восьмеричные цифры. Каждый такой пароль в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт, при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством бит. Определите, сколько байт необходимо для хранения 60 паролей. ответ: .
4. Равномерное помехоустойчивое кодирование. Расстояние Хэмминга.
По каналу связи передаются сообщения, содержащие только 4 буквы: П, А, Р, К. Для кодирования букв П, А, Р используются 6-битовые кодовые слова: П — 111111, А — 110001, Р — 001001. Для этого набора кодовых слов выполнено такое свойство: любые два слова из набора отличаются не менее, чем в трёх позициях. Это свойство важно для расшифровки сообщений при наличии помех. Нужно подобрать кодовое слово для буквы К так, чтобы указанное свойство выполнялось для всех четырёх кодовых слов.
Какое из слов можно использовать: 000001, 111001, 000111?
ответ: .
5 Неравномерное кодирование. Критерий Фано. Для кодирования некоторой последовательности, состоящей из букв К, Л, М, Н, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы Н использовали кодовое слово 1, для буквы К — кодовое слово 01. Какова наименьшая возможная суммарная длина всех четырёх кодовых слов?
ответ: .
6. Алгоритм Хаффмана. Построить неравномерный код для экономного кодирования фразы
ВОДОВОЗ_ВЁЗ_ВОДУ_ИЗ_ВОДОПРОВОДА
Подсчитать коэффициент сжатия по сравнению с 8-битным кодированием этой фразы в коде ASCII.
var x1, y1, x2, y2, n1, n2: real;
begin
write('x1, y1: ');
read(x1, y1);
write('x2, y2: ');
read(x2, y2);
n1:= sqrt(sqr(x1)+sqr(y1));
writeln(n1);
n2:= sqrt(sqr(x2)+sqr(y2));
writeln(n2);
if n1<>n2 then
if n1<n2 then
writeln('1 точка находится ближе к началу координат.')
else
writeln('2 точка находится ближе к началу координат.')
else
writeln('Точки находятся на равном расстоянии от начала координат.')
end.
3.)
var n, x, a, b, c, s: integer;
beginwrite('Введите число: ');
readln(n);
if (n>99) and (n<1000) then
begin
write('Введите x: ');
readln(x);
a:= n div 100;
b:= (n - a*100) div 10;
c:= (n - a*100 - b*10);
if a=x then s:=s+1;
if b=x then s:=s+1;
if c=x then s:=s+1;
if s>0 then
writeln('В числе есть ', x)
else writeln('В числе нет ', x);
end
else
writeln('Число не трехзначное');
end.