<em>// PascalABC.NET 3.2, сборка 1385 от 14.02.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var n:=ReadInteger('Количество строк в массиве:');
var m:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
for var j:=0 to m-1 do a[1,j]:=5; a.Println(4)
end.
<u>Пример</u>
Количество строк в массиве: 6
Количество столбцов в массиве: 8
*** Исходный массив [6,8] ***
9 -3 -27 -90 43 -54 0 -49
-2 91 -12 -10 -21 19 52 5
26 41 79 98 91 -50 87 -50
-23 -24 -63 17 -59 75 -43 -62
-27 -13 93 2 -58 -43 -22 -90
5 94 90 -26 81 46 5 -12
--------------------------------
9 -3 -27 -90 43 -54 0 -49
5 5 5 5 5 5 5 5
26 41 79 98 91 -50 87 -50
-23 -24 -63 17 -59 75 -43 -62
-27 -13 93 2 -58 -43 -22 -90
5 94 90 -26 81 46 5 -12
Количество информации можно определить как -log2(p), где p - вероятность данного события. Оно измеряется в битах.
Также можно использовать равносильное выражение log2(1/p)
Вероятность взятия чёрного шара равна 10/20 = 0,5, белого - 4/20 = 0,2, жёлтого такая же - 0,2, красного - в 2 раза меньше - 0,1.
Значит, если мы взяли чёрный шар, мы получили кол-во информации log2(1/0,5) = log2(2) = 1 бит,
если белый, то log2(1/0,2) = log2(5) = 2,3219 бит
если жёлтый, то столько же 2,3219 бит
<span>если красный, то log2(1/0,1) = log2(10) = 3,3219 бит </span>
25* 1024=25600 ну в одном мегабайте 1024 байт