Б) Если в 8-битной кодировке.
Const
n=20;
var
a,b:array[1..n] of integer;
i,k,s:integer;
begin
Randomize;
Writeln('Массив a');
for i:=1 to n do
begin
a[i]:=Random(50)+1;
Write(a[i]:3)
end;
s:=0;
Writeln(#13#10,'Массив b');
for i:=1 to n do
begin
b[i]:=Random(2);
Write(b[i]:3);
if b[i]=1 then s+=a[i]
end;
i:=1;
while (b[i]=0) and (i<=n) do Inc(i);
if i>n then k:=0 else k:=i;
Writeln(#13#10,'k=',k,', s=',s)
end.
<em><u>Тестовое решение:</u></em>
Массив a
22 50 34 22 19 1 36 5 23 30 27 24 48 22 24 27 14 14 39 3
Массив b
0 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1
k=2, s=318
Надеюсь что это нужно выполнить на паскале
4. var a: array[1..20] of integer;
p,i:integer;
begin
p:=1;
for i:=1 to 20 do
begin
a[i]:= random(20);
write(a[i]:3);
end;
writeln;
for i:=1 to 20 do
if a[i] mod 2 = 0 then p:=p*a[i];
writeln(p);
end.
5. var a: array[1..100] of integer;
sum,i:integer;
begin
for i:=1 to 100 do
begin
a[i]:= random(100);
write(a[i]:4);
end;
for i:=1 to 100 do
sum:=sum+a[i];
writeln;
writeln(sum);
end.
6. var a: array[1..20] of integer;
sum,i:integer;
begin
writeln('Исходный массив');
for i:=1 to 20 do
begin
a[i]:= random(20);
write(a[i]:3);
end;
for i:=1 to 20 do
if a[i]<10 then
a[i] :=0;
writeln;
writeln('Итоговый массив');
for i:=1 to 20 do
write(a[i]:3);
end.
* N = 800
* N = 2i - формула
* 800 = 2i
9 < i < 10, берем в большую сторону, i = 10 - вес одного кода.
* 320 кодов = 320 * 10 = 3200 бит. Переведем в байты:
3200/8 = 400 байт.
Ответ: 400
Второй if (в круглых скобках) синтаксически неверен