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

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2014 » Июль » 22 » Автоматизированная проверка программ
15:42
Автоматизированная проверка программ

При проведении олимпиад по программированию возникает проблема проверки задач. Обычно используют простой способ запуска готовых программ с ручным вводом данных или с помощью тестовых файлов, а затем идет сравнение результатов с исходными.Такой способ очень затруднителен. Можно написать bat-файл для быстрой проверки уже созданных exe-файлов (выполняемый код программы после компиляции) на готовых тестовых файлах типа inputNN.txt и outputNN.txt, при этом можно не использовать в программе чтение и вывод в файл. Для проверки совпадений используется стандартная программа ДОС для сравнения двух файлов fc.com.rem taskb.bat name - вызов файла для программы nameecho %1 >test.txt %1.exe <input01.txt >output.txtfc.com output.txt output01.txt >>test.txt %1.exe <input02.txt >output.txtfc.com output.txt output02.txt >>test.txt rem скопируйте две строчки столько раз, сколько нужно rem проверить тестов, например до 10:%1.exe <input10.txt >output.txtfc.com output.txt output10.txt >>test.txt Если в программе используются входные и выходные файлы, то предварительно исходные файлы для ввода данных нужно перекопировать:rem taskb.bat nameecho %1 >test.txt copy input01.txt input.txt%1.ex fc.com output.txt output01.txt >>test.txt copy input02.txt input.txt%1.ex fc.com output.txt output02.txt >>test.txt rem скопируйте три строчки столько раз, сколько нужно rem проверить тестов, например до 10:copy input10.txt input.txt %1.ex fc.com output.txt output10.txt >>test.txt После этого просматриваем файл test.txt и ищем, сколько раз нашлось сочетание "различия не найдены". Это и будет результатом  - количество пройденных тестов.Конечно это тоже "ручная проверка", но очень облегчает работу жюри. Но есть в этом и свои подводные камни, так например в программе на Паскале нельзя использовать модуль CRT и соответствующие вызовы процедур CLRSCR, ReadKey, а также нужно исключить пустые Readln, которые учащиеся оставляют для паузы. Кроме этого не все среды программирования создают exe-файл, например: PascalABC (можно воспользоваться компилятором FreePascal), QBasic (можно использовать Turbo Basic, но не очень помогает). При этом нужно проверять на время выполнения программы на каждом тесте. Как поступить в этом случае? Есть готовые системы проверки, которые можно заранее установить и провести проверку:- contester (не учитывает проверки всех тестов)- ejudje- polygon (созданные туры и задачи размещаются на сайте informatics.mccme.ru)- система проверки, разработанная Епанешниковым А. И.Попробуйте и вы с помощью языка программирования создать свою программу проверки тестов (один студент в свое время так и сделал). Удачи!


МУЖСКОЙ И ЖЕНСКИЙ СТРИПТИЗ ВОРОНЕЖ
Просмотров: 161 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Форма входа
Календарь
«  Июль 2014  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей