С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/32: Рейтинг темы: голосов - 32, средняя оценка - 4.72
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5

Измерение длительности работы программы

10.07.2011, 13:27. Показов 6156. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Возник вопрос. У меня задача на сортировку массивов, требуется "получить оценку среднего времени выполнения и числа операций для разных N". Но проблема в том, что требуется сравнить пузырьковую сортировку и сортировку выбором. Если сравнивать количество перестановок, то для пузырька получается довольно большая цифра, а для выбора N-1. Если же считать количество сравнений, то получается, что у выбора в 2 раза больше итераций, чем у пузырька, что мне кажется, не есть правильно. Хотел в таком ракурсе измерить время, за которое выполняется сортировка, но процедура GetTime не хочет работать (не может найти модуль dos. Что делать?). Как мне еще заставить её пахать? Текст ниже, но он не совсем правильный имо:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
Program Sort;
Uses 
   crt;
Const
   N=1;  
Type
   Index=1..N;
   Item=Record
            key:integer;
            data:string;
            end;
   M=Array [index] of item;
Var
   BubbleArr, InsertArr, SelectArr:M;
   i:index;
   Bcount,Icount,Scount:integer;
Procedure BubbleSort;
     var
     i,j:index;
     temp:item;
     begin
     for i:= 2 to N do
        begin
        for j:=n downto i do
             If BubbleArr[j-1].key>BubbleArr[j].key then
             begin
             temp:=BubbleArr[j-1];
             BubbleArr[j-1]:=BubbleArr[j];
             BubbleArr[j]:=temp;
             inc(Bcount)
             end;
        end;
     end;  
Procedure InsertSort;
     var
         i,j,k:index;
         temp:item;
     begin
        for i:=2 to N do
        begin
        temp:=InsertArr[i];
        j:=1;
        while (Temp.key>InsertArr[j].key) and (j<=i-1) do
             inc(j);
        for k:=i-1 downto j do
             begin
             InsertArr[k+1]:=InsertArr[k];
             inc(Icount)
             end;
        InsertArr[j]:=temp        
        end;
end;
Procedure SelectSort;
       var
         i, j, k: index;
         temp:item;
       begin
         for i := 1 to N-1 do
         begin
           k:= i;
           temp:= SelectArr[i];
           for j := i+1 to N do 
                begin
                   inc(Scount);
                   if SelectArr[j].key<temp.key then
                   k := j;
                end;           
           SelectArr[k] := SelectArr[i]; 
           SelectArr[i] := temp;
         end;
     end;
begin
clrscr;
randomize(1);
For i:= 1 to n do
     begin
     BubbleArr[i].key:=random(10);
     InsertArr[i].key:=BubbleArr[i].key;
     SelectArr[i].key:=BubbleArr[i].key;
     write(BubbleArr[i].key:2)
     end;
BubbleSort;
writeln;
writeln;
For i:=1 to N do
     write(BubbleArr[i].key:2);
writeln;
writeln;
InsertSort;
For i:=1 to N do
      write(InsertArr[i].key:2);
writeln;
writeln;
SelectSort;
For i:=1 to N do
      write(SelectArr[i].key:2);
For i:=1 to 3 do writeln;
writeln('Number of the Bubble Sort iterations:',Bcount:8);
writeln('Number of the Insert Sort iterations:',Icount:8);
writeln('Number of the Select Sort iterations:',Scount:8);
readln;
end.
Добавлено через 10 минут
Кстати, паскаль PABC.Net
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.07.2011, 13:27
Ответы с готовыми решениями:

Измерение длительности операции
Доброго времени суток! Есть программка для измерения длительности цикла с определенным количеством команд. Работает с помощью системного...

ATMega328P. Измерение длительности импульсов
Добрый день, уважаемые форумчане! То ли ввиду моей неопытности в написании программ для МК, то ли ввиду каких-то иных факторов никак...

Измерение длительности сигнала с помощью stm32f429zi
Всем привет. Может stm32f429 аппаратно мерить длительность импульса ? Если может то как правильно настроить таймер?

3
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
10.07.2011, 14:00
но процедура GetTime не хочет работать (не может найти модуль dos. Что делать?
Не пользоваться модулями Турбо Паскаль.
В Паскаль АВС это модуль Utils, а в .net и этого нет...
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.07.2011, 14:46  [ТС]
В общем я поставил обычный abc, он ругается на "неизвестный идентификатор GetTime"
Sort.pas(103) : Неизвестное имя 'GetTime'
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
10.07.2011, 14:55
Цитата Сообщение от Psilon Посмотреть сообщение
он ругается на "неизвестный идентификатор GetTime"
А я кому писал?
Цитата Сообщение от Puporev Посмотреть сообщение
Не пользоваться модулями Турбо Паскаль.
В Паскаль АВС это модуль Utils,
Добавлено через 1 минуту
Открой Помощь, модуль Utils и читайте.

Добавлено через 1 минуту
Модуль Utils содержит различные вспомогательные процедуры и функции (работа с файлами и каталогами, с датой, форматирование строк и пр.). Ниже приводится интерфейс модуля Utils:

type
DateTime = record
Day, Month, Year, Hour, Minute, Second, Milliseconds: integer;
end;
........................................
Milliseconds - функция, возвращающая количество миллисекунд с момента начала выполнения программы;
Вот и все.

Добавлено через 1 минуту
Или 2 раза вызываем
CurrentDateTime - функция, возвращающая текущие дату и время;
и считаем разницу времени как с GetTime.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.07.2011, 14:55
Помогаю со студенческими работами здесь

Измерение длительности входного сигнала на ATmega8
Здравствуйте!Существует следующее задание для ОМК ATmega 8: Если длительность сигнала положительной полярности на входе таймера Т1 больше...

Помогите настроить таймер на измерение длительности импульса
&quot;тема по&quot; HC-SR04 Ultrasonic Sensor Dystance Measuring Module. Хочу сделать на его основе бесконтактный датчик уровня воды в ёмкости....

Измерение время работы программы
как измерить?

Измерение времени работы программы
Народ, помогите, как измерить время работы программы, чтоб после выполнения цикла он вывел время в миллисекундах, ну или укажите статью...

Измерение времени работы программы
Доброго времени суток. Такой вот вопрос:нужно написать программу,которая будет подсчитывать время работы другой программы. Подскажите,Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru