Раз в обоих заданиях известно количество элементов в массиве, то имеет смысл использовать цикл for.
Задание №1
const n=20;
var
a:array[1..n] of integer;
i,s:integer;
begin
s:=0;
for i:=1 to n do begin
a[i]:=random(1001);
if a[i] mod 10 = 4 then s:=s+1;
end;
writeln(s);
end.
<span>Задание №2
const n=20;
var
a:array[1..n] of integer;
i,max,nmax:integer;
begin
max:=0;
for i:=1 to n do begin
a[i]:=random(1001);
if a[i] >max then begin
nmax:=i;
max:=a[i];
end;
write(a[i]:5);
end;
writeln;
writeln(nmax,' ',a[nmax]);
end.
</span>
<u><em>
Дано:</em></u>
N1=32 симв
N2=64 симв
<em><u>Найти:</u></em>i2/i1
<u><em>Решение:</em></u>1. N1=2^i1;
32=2^i => i1=5 бит (информационный объем одного символа в первом тексте)
2. N2=2^i2;
64=2^i => i2=6 бит (информационный объем одного символа во втором тексте)
3. i2/i1=6 бит/ 5 бит = 1.2
<u><em>Ответ:</em></u> в 1.2 раза.
Двоичная или десетичная система вычесления