Они отличаются тем что переменной длины она работает но будет работать постоянно.
Решение в фотке , истина=1, ложь=0
Var
m : array[1..4,1..4] of Integer;
m_new : array[1..4] of Integer;
i,j : Integer;
Begin
For i:=1 to 4 do
Begin
For j:=1 to 4 do
Begin
m[i,j]:=Random(100);
Write(m[i,j]:5);
If i=j then m_new[i]:=m[i,j];
end;
Writeln;
end;
Writeln('Главная диагнональ: ');
For i:=1 to 4 do Write(m_new[i]:5);
Writeln;
end.
<span>Не важно, как кодируется один символ. Фактически в этом сообщении 3,95 бита информации. Но в несжатом виде на диске это сообщение займёт 44 * 16 / 8 = 44 * 2 = 88 байтов.
"Какое количество информации оно несет ?" - тут мы знать не можем, не имея перед собою это сообщение. Но можем такую же характеристику посчитать, как для предыдущего сообщения. Считаем число битов, нужных для 12-символьного алфавита:
log2(12) ~= 3,6, округляем вверх, итого 4 бита.
4 * 120 = 480 битов. Если учесть возможность записи по два 4-битовых символа в один байт, то получаем 60 байтов.</span>
<span><u>алг.</u>
<u>нач.</u>
<u>повторяй </u>
положить гриб в корзину;
<u>пока</u> в корзине есть место;
<u>кон.</u></span>