На каком бы этаже не жил(а) Саша, информация об этом этаже является одним вариантом из 38. Для такого случая американский ученый Ральф Хартли в 1928 году предложил несложную формулу. Об этом Вы можете почитать в учебниках или в Интернет. А запомнить нужно немножко другое. Дробь 1/38 "переворачиваем", получая 38. И теперь наша задача подобрать такую степень числа два, чтобы эта двойка, возведенная в подобранную нами степень, дала 38. В математике используют понятие логарифма по основанию 2 и пишут, что наш ответ - это ㏒₂38 ≈ 5.25 - именно во столько бит.и оценивается информация. Ну а приближенно мы помним, что 2⁵=32, 2⁶=64, а 38 - это между ними. Если нужно целочисленное решение - округляем до большего и даем ответ 6 бит.
var a: array[1..999] of integer; n, sp, so, kp, ko: integer; begin read(n); for var i := 1 to n do begin a[i] := random(-9, 9); write(a[i], ' '); if a[i] > 0 then begin sp += a[i]; kp += 1; end; if a[i] < 0 then begin so += a[i]; ko += 1; end; end; writeln; writeln('Среднее арифметическое положительных чисел = ', sp/kp); writeln('Среднее арифметическое отрицательных чисел = ', so/ko); end.
n, sp, so, kp, ko: integer;
begin
read(n);
for var i := 1 to n do begin
a[i] := random(-9, 9);
write(a[i], ' ');
if a[i] > 0 then begin
sp += a[i];
kp += 1;
end;
if a[i] < 0 then begin
so += a[i];
ko += 1;
end;
end;
writeln;
writeln('Среднее арифметическое положительных чисел = ', sp/kp);
writeln('Среднее арифметическое отрицательных чисел = ', so/ko);
end.