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,', время счета =