Меню сайта
Наш опрос
Оцените мой сайт
Всего ответов: 6
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2014 » Июль » 22 » Как определить время выполнения программы?
14:47
Как определить время выполнения программы?

На олимпиадах все программы проверяются на специально подобранных тестовых заданиях, которые выполняются не более отведенного на это время исполнения программы на каждом тесте. Как в "домашних" условиях определить - сколько времени отработала ваша программа.В TurboPascal была такая возможность - обратиться напрямую к памяти BIOS по адресу $0040:$006С (или $0000:$406C) и получить текущее время:var t:longint absolute $40:$6c;    v:longint;...{глобальные переменные}begin   Время выполнения программы- ',t-v);end.Как же оно в памяти распознается? Само время представляет из себя 20 бит, в котором 5 бит отводится на часы, по 6 бит на минуты и секунды, и 4 бита на миллисекунды. Например, вы получили при выводе v число 1058411, в двоичной системе это будет число:00000 00000 00010000 00100110 01111011Получим 16 часов 9 минут 38 секунд 11*4 миллисекунды (на миллисекунды отводится всего 15 значений, т.е. Время выполнения программы- ',t-v);end. Поэтому вопрос остался открытым. Но можно воспользоваться функциями модуля DOS, но для отправки на проверку этот модуль нужно будет удалить, так как по правилам олимпиад по программированию использование сторонних библиотек запрещено, в том числе и модуля CRT.uses dos;var p:integer;    h,m,s,g:word;...{глобальные :',m,':',s,':',g); writeln('Время выполнения программы- ',p);  end.


Вы ищите диплом? купить диплом Техникума
Просмотров: 269 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Форма входа
Календарь
«  Июль 2014  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей