Const n=20; var a:array[1..n]of integer; p,s:real; i:integer; begin p:=1;{начальное значение р, чтобы при умножении произведение не было =0} for i:=1 to n do begin a[i]:=random(20); {массив заполняется случайными числами [0;20)} write(a[i]:4); {массив выводится на экран} if i<=10 then {если номер элемента <=10} s:=s+a[i] {то считаем сумму элементов} else p:=p*a[i]; {иначе, т.е если номер элемента >10 считаем произв ] end; writeln; writeln('сумма = ',s:4:0,' p= ',p:4:0) {выводим сумму и произвед на экран} ; writeln('среднее = ',(p+s)/2); {выводим среднее} end.
1.Мощность - 52, значит 5 символв для кодирования 1 символа не хватит, т.к 2^5<52, а вот 2^6=64>52, значчит нам как раз подходит (то что больше это не важно главное чтоб хватало, и меньше не было) значит 1 сивол занимает 6 бит информации, значит 3000 сиволов занимают 3000*6 бит информации, = 18000 бит /8 = 2 250 байт. это чуть больше 2 Кбайт.
2. 256 = 2^8, значит 1 символ содержит 8 бит информации. 1 Мбайт = 2^23 бит, значит 2^23/2^5=2^17 бит. Значит символов у нас 2^17/2^3= 2^14, это 16 384 символа. ПРости забыл обозначения) поэтому только так
n=20;
var
a:array[1..n]of integer;
p,s:real;
i:integer;
begin p:=1;{начальное значение р, чтобы при умножении произведение не было =0}
for i:=1 to n do
begin
a[i]:=random(20); {массив заполняется случайными числами [0;20)}
write(a[i]:4); {массив выводится на экран}
if i<=10 then {если номер элемента <=10}
s:=s+a[i] {то считаем сумму элементов}
else
p:=p*a[i]; {иначе, т.е если номер элемента >10 считаем произв ]
end;
writeln;
writeln('сумма = ',s:4:0,' p= ',p:4:0) {выводим сумму и произвед на экран} ;
writeln('среднее = ',(p+s)/2); {выводим среднее}
end.