Так, можем найти общие данные, которые нам в любом случае понадобятся для обоих пунктов:
I = 128 Кбайт = 1048576 бит
x = 640 * 320
Всё, теперь начинаем пункт а):
N = 16
N = 
i = 4
Рассчитаем объем одной страницы:
I(1) = x * i = 640 * 320 * 4 = 819200 бит (объем 1 страницы)
Посмотрим сколько страниц влезет:
1048576 / 819200 = 1.28 = 1 страница (округляем в меньшую сторону, так как у нас тупо не хватит места, если мы округлим в большую)
Пункт б):
N = 256

i = 8
I(1) = x * i = 640 * 320 * 8 = 1638400 бит (объём 1 страницы)
1048576 / 1638400 = 0.64 = 0 страниц (опять же, не хватит нашего объема для хранения даже 1 страницы)
program z1;
var a:array [1..10] of integer;
i,sp,so:integer;
begin
randomize;
sp:=0;
so:=0;
write('Массив: ');
for i:=1 to 10 do
begin
a[i]:=random(41)-20;
if a[i] > 0 then sp:=sp+a[i]
else so:=so+a[i];
write(a[i],' ')
end;
writeln;
writeln('Сумма положительных элементов: ',sp);
writeln('Сумма отрицательных элементов: ',so)
end.
Объяснение:
Задаём элементы массива через random
Если элемент больше 0, то считаем сумму положительных элементов, в противном случае считаем сумму отрицательных элементов (0 на сумму не влияют)
Выводим значение элемента на экран
Выводим суммы
Если 0 очень важны, то меняем строки:
if a[i] > 0 then sp:=sp+a[i]
else so:=so+a[i];
на:
if a[i] > 0 then sp:=sp+a[i];
if a[i] < 0 then so:=so+a[i];