//PascalABC.NET
//Версия 3.3, сборка 1611
begin
var c:=ArrRandomReal(12,-10,70).Println();
write(c.Where(x->(x>5.3) and (x<40.7)).Aggregate(Real(1),(x,y)->x*y));
end.
1) 100100000000
2) 1001110001001
I = K*i, где I - информационный объём, K - количество символов, i - вес одного символа
i вычисляется по формуле Шеннона (N=2^i, где N - мощность алфавита), то есть для решения надо знать количество символов в файле и мощность алфавита
удачи :D