Вычислить разницу в скорости выполнения двух различных участков кода - 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.

Объяснение кода листинга программы

  1. Объявлены переменные: n, a, i, j, x, t1, t2, t3, t4, d1, d2, r (строки 1-2)
  2. Инициализируется генератор случайных чисел (строка 3)
  3. Выводится исходный массив (строки 4-10)
  4. Первая сортировка по возрастанию (строки 11-16)
  5. Вторая сортировка по убыванию (строки 17-22)
  6. Вычисляется время выполнения каждого участка кода (строки 23-24)
  7. Вычисляется разница в скорости (строка 25)
  8. Выводится результат (строки 26-27)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы