1. Для буквы А использовали кодовое слово 100, для буквы Б – кодовое слово 01. Укажите наименьшую сумму длин кодовых слов для букв В, Г, Д и Е, при котором код будет допускать однозначное декодирование.
2. Для буквы А использовали кодовое слово 1, для буквы Б – кодовое слово 01. Какова наименьшая возможная сумма длин всех шести кодовых слов?
3. Для буквы А использовали кодовое слово 0, для буквы Б – кодовое слово 101. Какова наименьшая возможная сумма длин всех шести кодовых слов?
procedure Draw(x, y, l, u : Real; t : Integer);
procedure Draw2(Var x, y: Real; l, u : Real; t : Integer);
begin
Draw(x, y, l, u, t);
x := x + l*cos(u);
y := y - l*sin(u);end;
begin
if t > 0 then
beginl := l/3;Draw2(x, y, l, u, t-1);Draw2(x, y, l, u+pi/3, t-1);
Draw2(x, y, l, u-pi/3, t-1);Draw2(x, y, l, u, t-1);end
else
Line(Round(x), Round(y), Round(x+cos(u)*l), Round(y-sin(u)*l))end;
begin
SetWindowSize(425,500);
SetWindowCaption('Фракталы: Снежинка Коха');
Draw(10, 354, 400, pi/3, 4);Draw(410, 354, 400, pi, 4);
Draw(210, 8, 400, -pi/3, 4);end.
const
m=5;
n=4;
a:array[1..m] of real=(2,-7.1,3.2,-5.4,6.9);
b:array[1..n] of real=(8.1,3.2,-6.4,-3.5);
k=3;
var
i,j:integer;
sk:real;
s:array[1..m,1..n] of real;
begin
Writeln('Массив S');
for i:=1 to m do begin
for j:=1 to n do begin
s[i,j]:=a[i]*b[j];
Write(s[i,j]:7:2)
end;
Writeln
end;
sk:=0;
for i:=1 to m do sk:=sk+s[i,k];
Writeln('Сумма элементов столбца ',k,' равна ',sk)
end.
Результат выполнения программы:
Массив S
16.20 6.40 -12.80 -7.00
-57.51 -22.72 45.44 24.85
25.92 10.24 -20.48 -11.20
-43.74 -17.28 34.56 18.90
55.89 22.08 -44.16 -24.15
Сумма элементов столбца 3 равна 2.56