Алфавит некоторой страны состоит из 30 букв (используются только заглавные буквы). каждая буква кодируется одинаковым и минимально возможным количеством бит. определите информационный объем сообщения (в байтах), состоящего из 80 букв.
У меня получилось вот что (смотри скриншоты листинга программы и результата работы этой программы): uses Crt; const n = 10; var A: array [1..n] of integer; i: integer; begin ClrScr; Randomize; WriteLn ( ' Massiv I: '); for i:=1 to n do begin A[i] := 1+random(n); Write (A[i]:4); end; WriteLn; WriteLn ( ' Massiv II: '); for i:=1 to n do begin if (A[i] mod 2 =0) then A[i]:=0 else A[i]:=3*A[i]; Write (A[i]:4); end; ReadLn; end.
Program q1; uses crt; const n=10; var i,j:integer; mass:array [1..n] of integer; countNum:integer; // переменная для хранения количества нечетных чисел proizv:integer; // переменная для хранения произведения нечетных чисел BEGIN proizv:=1; // так как, изначально равно 0, а при умножении на 0 будет всегда 0 {создание последовательности n целых чисел} Writeln('Случайные целые числа: '); for i:=1 to n do begin mass[ i ]:=random(9)+1; //присваеваем переменной случайное значение от 1 до 10 write(inttostr(mass[ i ])+', '); end; {Вычисление произведения и количества нечетных чисел} for i:=1 to n do if mass[ i ] mod 2 <> 0 then //проверяем не четное-ли число, если да, то.. . begin inc(countNum); //увеличиваем на один кол-во нечетных чисел proizv:=proizv*mass[ i ]; // высчитываем произведение end; {Вывод результатов} writeln; writeln('Всего нечетных чисел: '+inttostr(countNum)); writeln('Их произведение: '+inttostr(proizv)); END.
N=30
k=80
I(байтов)-?
Решение:
N=2^i
30≈2^5
i=5 битов.
I=ki
I=80*5=400 битов
I (байтов)= 400/8= 50 байтов.
ответ: I=50 байтов