Sum := 0;

for j := 0 to x do

for k := 0 to LPage div 4-1 do begin

Sum := Sum+PV[j] •"[k] ;

if PV[j]л[k] mod 1000=0 then begin

Write (PVCjI^k] :10) ;

GotoXY(l,WhereY) end end;

WriteLn('Сумма элементов = ':30,Sum:11:0,',время счета = (MemL[O:$46C]-t)*55/1000:5:2,' секунд') ;

{Освобождаем кучу} for k : = 0 to x do

FreeMem(PV[k],LPage) ;

{Создаем массив в EMS} WriteLn('Тот же массив в EMS-памяти...') ;

Vec.Init(4,0,Sz-1); {4-длина элемента;..Sz-1 - индексы} if not EMSErrorFlag then with Vec do

begin (Если создан успешно} GetTime; {Засекаем время} for k := 0 to Sz-1 do begin

Setltem(k,k); {Помещаем очередной эл-т} if k mod 1000=0 then

begin {Сообщаем о каждом 1000-м} Write(k:10) ;

GotoXY(l,WhereY) end end;

{Вычисляем сумму элементов} WriteLn('Суммируем элементы...');

Sum : = 0 ;

for k := 0 to Sz-1 do begin

Sum := Sum+LongIntItemfk);

if k mod 1000=0 then

begin {Сообщаем о каждом 1000-м} Write(k:10) ;

GotoXY(l,WhereY) end end end else Halt;

WriteLn('Сумма элементов = ':30,Sum:11:0,', время счета =