Решение на паскаль. начало решения задач одинаковое, а дальше см. внизу
program xxx; var b: array [1..6, 1..6] of integer; i, j, s : integer; begin for i:= 1 to 6 do for j:=1 to 6 do b[i,j]:= random(131)-65; writeln ('исходная матрица В:'); for i:=1 to 6 do begin for j:=1 to 6 do write (b[i,j]:4); writeln end;
задание 1. s:=0; for i:= 1 to 6 do if b[i,3]>0 then s:=s+b[i,3]; writeln ('сумма положительных элементов 3-го столбца', s) end.
задание 2. i:=2; while i<=6 do begin for j:= 1 to 6 do if b[i,j]<0 then b[i,j]:=0; i:=i+2 end; writeln ('полученная матрица В:'); for i:=1 to 6 do begin for j:=1 to 6 do write (b[i,j]:4); writeln end end.
В сообщении 16+8+4+4=32 символа. Вероятность появления символа А равна 16/32=1/2, символа Б 8/32=1/4, символов В и Г - 1/8. Следовательно, для минимизации длины сообщения (условие "б") самым коротким должен быть символ А, несколько длиннее может быть символ Б и самые длинные - символы В и Г. По этой причине вариант 4) с равной длиной кодов не рассматриваем. Далее, достаточно компактными выглядят коды в варианте 2), но А=0 и В=01 нарушают условие "а" (код 0 является началом кода 01). Остаются варианты 1) и 3) В варианте 1) нарушений условий нет. В варианте 3) код буквы Б 01 является началом кода буквы В 011 и это нарушает условие "а". ответ: 1)
начало решения задач одинаковое, а дальше см. внизу
program xxx;
var b: array [1..6, 1..6] of integer;
i, j, s : integer;
begin
for i:= 1 to 6 do
for j:=1 to 6 do
b[i,j]:= random(131)-65;
writeln ('исходная матрица В:');
for i:=1 to 6 do
begin
for j:=1 to 6 do
write (b[i,j]:4);
writeln
end;
задание 1.
s:=0;
for i:= 1 to 6 do
if b[i,3]>0 then s:=s+b[i,3];
writeln ('сумма положительных элементов 3-го столбца', s)
end.
задание 2.
i:=2;
while i<=6 do begin
for j:= 1 to 6 do
if b[i,j]<0 then b[i,j]:=0;
i:=i+2
end;
writeln ('полученная матрица В:');
for i:=1 to 6 do
begin
for j:=1 to 6 do
write (b[i,j]:4);
writeln
end
end.
Следовательно, для минимизации длины сообщения (условие "б") самым коротким должен быть символ А, несколько длиннее может быть символ Б и самые длинные - символы В и Г. По этой причине вариант 4) с равной длиной кодов не рассматриваем. Далее, достаточно компактными выглядят коды в варианте 2), но А=0 и В=01 нарушают условие "а" (код 0 является началом кода 01). Остаются варианты 1) и 3)
В варианте 1) нарушений условий нет. В варианте 3) код буквы Б 01 является началом кода буквы В 011 и это нарушает условие "а".
ответ: 1)