Вычислить разницу в скорости выполнения двух различных участков кода - 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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д