Вычислить разницу в скорости выполнения двух различных участков кода - PascalABC.NET
Формулировка задачи:
Как вычислить разницу в скорости выполнения двух различных участков кода?
Решение задачи: «Вычислить разницу в скорости выполнения двух различных участков кода»
textual
Листинг программы
const n=1000; var a:array[1..n] of integer; i,j,x,t1,t2,t3,t4,d1,d2,r:integer; begin randomize; writeln('Исходный массив'); for i:=1 to n do begin a[i]:=random(1000); write(a[i]:4); end; writeln; t1:=milliseconds; for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then begin x:=a[i]; a[i]:=a[j]; a[j]:=x; end; writeln('Первая сортировка по возрастанию'); for i:=1 to n do write(a[i]:4); writeln; t2:=milliseconds; d1:=t2-t1; writeln('Время этого участка кода=',d1,' млс'); t3:=milliseconds; for i:=1 to n-1 do for j:=i+1 to n do if a[i]<a[j] then begin x:=a[i]; a[i]:=a[j]; a[j]:=x; end; writeln('Вторая сортировка по убыванию'); for i:=1 to n do write(a[i]:4); writeln; t4:=milliseconds; d2:=t4-t3; writeln('Время этого участка кода=',d2,' млс'); r:=abs(d1-d2); writeln('Разница в скорости=',r,' млс'); end.
Объяснение кода листинга программы
- Объявлены переменные: n, a, i, j, x, t1, t2, t3, t4, d1, d2, r (строки 1-2)
- Инициализируется генератор случайных чисел (строка 3)
- Выводится исходный массив (строки 4-10)
- Первая сортировка по возрастанию (строки 11-16)
- Вторая сортировка по убыванию (строки 17-22)
- Вычисляется время выполнения каждого участка кода (строки 23-24)
- Вычисляется разница в скорости (строка 25)
- Выводится результат (строки 26-27)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д