Измерение скорости перемещения блоков данных в ОЗУ - Turbo Pascal
Формулировка задачи:
Измерение скорости перемещения блоков данных в ОЗУ.
Подскажите плес.
Решение задачи: «Измерение скорости перемещения блоков данных в ОЗУ»
textual
Листинг программы
uses dos, crt; const memsize = 32000; var hour, min, sec, hund: word; hr2, mn2, sc2, sh2: word; t1, t2, t: longint; p, q: Array [1..MemSize] of byte; i: integer; begin FillChar(p, MemSize, 0); GetTime(hour, min, sec, hund); writeln('Исходное время: ', hour, ':', min, ':', sec, ':', hund); t1 := sec * 1000 + hund * 10 + min * 60000; writeln('t1: ', t1, ' миллисекунд'); for i := 1 to 10000 do Move(p, q, memsize); GetTime(hour, min, sec, hund); writeln('Время после события: ', hour, ':', min, ':', sec, ':', hund); t2 := sec * 1000 + hund * 10 + min * 60000; writeln('t2: ', t2, ' миллисекунд'); t := t2 - t1; writeln('Время работы: ', t, ' миллисекунд'); readln; end.
Объяснение кода листинга программы
- uses - начало описания используемых библиотек и модулей
- const - начало описания констант
- var - начало описания переменных
- FillChar(p, MemSize, 0); - заполнение массива p нулями
- GetTime(hour, min, sec, hund); - получение текущего времени и сохранение его в переменные hour, min, sec, hund
- writeln('Исходное время: ', hour, ':', min, ':', sec, ':', hund); - вывод начального времени на экран
- *t1 := sec 1000 + hund 10 + min 60000;** - расчет времени выполнения первого этапа программы в миллисекундах
- writeln('t1: ', t1, ' миллисекунд'); - вывод времени выполнения первого этапа на экран
- for i := 1 to 10000 do - начало цикла, выполняющегося 10000 раз
- Move(p, q, memsize); - перемещение массива p в массив q (предположительно, для имитации работы с блоками данных)
- GetTime(hour, min, sec, hund); - получение текущего времени и сохранение его в переменные hour, min, sec, hund
- writeln('Время после события: ', hour, ':', min, ':', sec, ':', hund); - вывод времени после выполнения первого этапа на экран
- *t2 := sec 1000 + hund 10 + min 60000;** - расчет времени выполнения второго этапа программы в миллисекундах
- writeln('t2: ', t2, ' миллисекунд'); - вывод времени выполнения второго этапа на экран
- t := t2 - t1; - расчет времени работы программы в миллисекундах
- writeln('Время работы: ', t, ' миллисекунд'); - вывод времени работы программы на экран
- readln; - ожидание нажатия клавиши для завершения работы программы
- end. - конец программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д