OberonCore https://forum.oberoncore.ru/ |
|
Блэкбокс в системе автомат.тестир-я олимп.задач (Windows) ? https://forum.oberoncore.ru/viewtopic.php?f=7&t=62 |
Страница 1 из 2 |
Автор: | А.П. [ Среда, 07 Декабрь, 2005 14:28 ] |
Заголовок сообщения: | Блэкбокс в системе автомат.тестир-я олимп.задач (Windows) ? |
Коллеги! Кто даст четкую инструкцию на след. запрос от жюри: У нас есть желание использовать на областной олимпиаде программу автоматического тестирования задач. Для нее надо, чтобы транслятор был таким, чтобы его можно было запустить в пакетном режиме, подав на его вход исходник, и получить на выходе EXE-модуль. Затем программа тестирования запускает EXE-модуль в пакетном режиме, подавая на вход файл и получая выходной файл. В связи с этим вопрос: как все-таки это сделать с Blackbox? Инструкция нужна быстро, т.к. пора принимать решение о допуске КП на олимпиаду, которая будет ровно через месяц. P.S. Почеркну, что речь идет об автоматич. проверке решений, подаваемых на КП |
Автор: | Сергей Губанов [ Среда, 07 Декабрь, 2005 14:34 ] |
Заголовок сообщения: | Re: Блэкбокс в системе автомат.тестир-я олимп.задач (Windows |
А.П. писал(а): В связи с этим вопрос: как все-таки это сделать с Blackbox?
Ну, надо будет свою службу написать - расширение от Services.Action. Она в фоновом режиме, например, будет сканировать указанный каталог на предмет нового исходника, брать его, компилировать, запускать на выполнение, проверять результат. Задача, в принципе, вполне решаемая... |
Автор: | Иван Горячев [ Среда, 07 Декабрь, 2005 15:02 ] |
Заголовок сообщения: | Re: Блэкбокс в системе автомат.тестир-я олимп.задач (Windows |
Я так понимаю, что автотестер уже есть, и нужно научить Блэкбокс вести себя как классический компилятор командной строки? Дайте подумать до выходных, может что и получится. |
Автор: | А.П. [ Среда, 07 Декабрь, 2005 15:08 ] |
Заголовок сообщения: | Re: Блэкбокс в системе автомат.тестир-я олимп.задач (Windows |
Ivor писал(а): Я так понимаю, что автотестер уже есть, и нужно научить Блэкбокс вести себя как классический компилятор командной строки?
Именно так, это типовой подход к организации проверок на "больших" олимпиадах по программированию. |
Автор: | Иван Горячев [ Среда, 07 Декабрь, 2005 15:25 ] |
Заголовок сообщения: | Re: Блэкбокс в системе автомат.тестир-я олимп.задач (Windows |
Тогла ещё вопросы. 1. Как проверяется успешность компиляции? По коду возврата, наличию exe-файла или ещё как? 2. Сначала компилируются все программы а потом все запускаются, или для каждой программы идёт компиляция и запуск? 3. Тестируемые программы состоят из одного модуля или из нескольких? 4. Я так понял, у олимпиадной программы входные данные в текстовом файле и выходные она тоже пишет в файл. А уж корректность результата проверяют люди? |
Автор: | А.П. [ Среда, 07 Декабрь, 2005 15:38 ] |
Заголовок сообщения: | Re: Блэкбокс в системе автомат.тестир-я олимп.задач (Windows |
Ivor писал(а): Тогла ещё вопросы.
1. Как проверяется успешность компиляции? По коду возврата, наличию exe-файла или ещё как? 2. Сначала компилируются все программы а потом все запускаются, или для каждой программы идёт компиляция и запуск? 3. Тестируемые программы состоят из одного модуля или из нескольких? 4. Я так понял, у олимпиадной программы входные данные в текстовом файле и выходные она тоже пишет в файл. А уж корректность результата проверяют люди? 1. Пока не знаю. 2. По мере поступления от участников делается ехе-шник и задача последовательно запускается на все тесты и снимается по первой ошибке. Подсчитывается сумма баллов за успешно пройденные тесты. 3. Обычно это один модуль, т.к.задачи относительно простые, но с использованием библиотечных модулей ББ. 4. Да, но проверкавыполняется так: идет программное посимвольное сравнение с эталонными файлами ответов. Отступление от заданного формата вывода расценивается как грубая ошибка. |
Автор: | Илья Ермаков [ Среда, 07 Декабрь, 2005 15:43 ] |
Заголовок сообщения: | |
Иван, Вы возьметесь за это дело? А то я уже тоже собрался. Чтобы нам вдвоем не дергаться... |
Автор: | Иван Горячев [ Среда, 07 Декабрь, 2005 15:48 ] |
Заголовок сообщения: | Re: Блэкбокс в системе автомат.тестир-я олимп.задач (Windows |
Понятно. Вы тогда узнайте, как проверяется успешность компиляции. И ещё. Все участники с ББ - Ваша команда? Они пользуются одной подсистемой или у каждого своя? Я просто к тому, сразу полноценный компилятор командной строки в ББ делать, или можно схитрить. |
Автор: | Иван Горячев [ Среда, 07 Декабрь, 2005 15:50 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): Иван, Вы возьметесь за это дело? А то я уже тоже собрался. Чтобы нам вдвоем не дергаться...
Возьмусь. Хотя можно и параллельно. А там посмотрим, у кого лучше получится. |
Автор: | Info21 [ Среда, 07 Декабрь, 2005 18:03 ] |
Заголовок сообщения: | Re: Блэкбокс в системе автомат.тестир-я олимп.задач (Windows |
Ivor писал(а): Понятно.
Вы тогда узнайте, как проверяется успешность компиляции. И ещё. Все участники с ББ - Ваша команда? Они пользуются одной подсистемой или у каждого своя? Я просто к тому, сразу полноценный компилятор командной строки в ББ делать, или можно схитрить. Коллеги, по-моему, нужно просто "перепаковать" ББ, используя процедуры в пакете Olimp Информатики-21. Trurl их хорошо сделал. |
Автор: | А.П. [ Четверг, 08 Декабрь, 2005 06:30 ] |
Заголовок сообщения: | Re: Блэкбокс в системе автомат.тестир-я олимп.задач (Windows |
Ivor писал(а): Вы тогда узнайте, как проверяется успешность компиляции.
И ещё. Все участники с ББ - Ваша команда? Они пользуются одной подсистемой или у каждого своя? Я просто к тому, сразу полноценный компилятор командной строки в ББ делать, или можно схитрить. За успешность отвечу позже ![]() Видимо, в первый раз на КП будут работать только мои ученики. Другим в нашей области взяться пока неоткуда. Лучше полноценный компилятор сделать. Но для страховки можно сначала хитрый-быстрый вариант соорудить. Видимо, определенную трудность представит ввод/вывод в/из файлов данных во внешнем представлении - аналог процедур модулей StdLog и In. О требуемых форматах файлов можно получить представление из условий задач, опубликованных на странице Андрея Станкевича, СПб http://ctddev.ifmo.ru/school/io/archive.html |
Автор: | А.П. [ Четверг, 08 Декабрь, 2005 06:34 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): Иван, Вы возьметесь за это дело? А то я уже тоже собрался. Чтобы нам вдвоем не дергаться...
Лучше параллельно. Там могут оказаться нехилые подводные камни. |
Автор: | Иван Горячев [ Четверг, 08 Декабрь, 2005 06:45 ] |
Заголовок сообщения: | Re: Блэкбокс в системе автомат.тестир-я олимп.задач (Windows |
А.П. писал(а): За успешность отвечу позже ![]() В смысле возвращать мне код или факта создания экзешника будет достаточно? Цитата: Видимо, определенную трудность представит ввод/вывод в/из файлов данных во внешнем представлении - аналог процедур модулей StdLog и In.
А это действительно подсистема Info21olimp делает. |
Автор: | Иван Горячев [ Четверг, 08 Декабрь, 2005 06:49 ] |
Заголовок сообщения: | Re: Блэкбокс в системе автомат.тестир-я олимп.задач (Windows |
info21 писал(а): Коллеги, по-моему, нужно просто "перепаковать" ББ, используя процедуры в пакете Olimp Информатики-21. Trurl их хорошо сделал.
Речь идёт о том, чтобы работал следующий bat-файл: Код: BlackBox.exe /compile %1 %2
if exist(%2) goto ok1 ... :ok1 %2 ... |
Автор: | Иван Горячев [ Четверг, 08 Декабрь, 2005 07:02 ] |
Заголовок сообщения: | |
Да, ещё вопрос. Как Вы будете передавать программы для тестирования - только документы с исходными текстами или можно всю проститему целиком? Это я к тому, нужно ли именно компилировать модули или достаточно собрать exe (а откомпилированные модули в подсистеме отдать, типа ресурсы для работы программы ![]() |
Автор: | Trurl [ Среда, 14 Декабрь, 2005 10:24 ] |
Заголовок сообщения: | Re: Блэкбокс в системе автомат.тестир-я олимп.задач (Windows |
Ivor писал(а): Речь идёт о том, чтобы работал следующий bat-файл: Код: BlackBox.exe /compile %1 %2 if exist(%2) goto ok1 ... :ok1 %2 ... А может быть такой: Код: ren %1 *.exe
![]() |
Автор: | Info21 [ Среда, 26 Июль, 2006 09:30 ] |
Заголовок сообщения: | Компонентный Паскаль на российских олимпиадах |
В рамках 6й Ершовской конференции (PSI 06) удалось поговорить с О.Б.Христенко, активным московским деятелем региональных соревнований ACM, представлявшим доклад на эту тему совместно с известным Е.В.Панкратьевым (мехмат МГУ). Выясняется, что ситуация совсем не так мрачна, как нам ранее сообщали: На самом деле в российских олимпиадных кругах существует вполне определенное стремление к независимости от американских организаторов и каких-то "финалов". Никаких идеологических препятствий к включению КП на российском уровне ***НЕТ***. Нужно как можно скорее передать О.Б.Христенко (snark_acm AT mail.ru) линуксовый компилятор для Компонентного Паскаля -- командная строка, входные данные в простом текстовом файле; для данных целей, видимо, (пока) достаточно уметь компилировать единственный модуль с решением. Это для системы тестирования. Уж как участники будут изготавливать файл с модулем решения -- отдельная задача (как я понимаю, они смогут работать в обычном ББ). Важно начать этот процесс как можно быстрее -- детали "выгладятся" в процессе. Олимпиадная команда делает решения задач для конкретного языка, если количество участников, его использующих, превосходит некий порог. Т.е. вначале придется изготавливать такие решения (хотя бы переводом с Java и т.п.) нашему сообществу. Думаю, это будет несложно и кому-то покажется неплохим упражнением, а доводить решения до образцовости можно и на форуме. Еще раз: важно начать этот процесс как можно быстрее и чисто конкретно -- детали "выгладятся" в процессе. |
Автор: | А.П. [ Вторник, 05 Сентябрь, 2006 12:27 ] |
Заголовок сообщения: | |
Уважаемые коллеги! Как бы нам коллективно дожать эту тему - Система автоматич.тестирования олимп.задач на КП - к декабрю, когда начинаются олимпиады для школьников? Да еще и раздать ее по городам и весям нашей необъятной. Очень было бы полезно для дела ![]() |
Автор: | Pavel [ Понедельник, 08 Январь, 2007 16:33 ] |
Заголовок сообщения: | |
Добрый день. Ну и как тестирующая программа? |
Автор: | Иван Горячев [ Вторник, 09 Январь, 2007 03:11 ] |
Заголовок сообщения: | |
Никак. Компилятор есть, но он приклеен к версии 1.6 и явно не входит число первоочередных задач. Хотя вроде работает. А "лёгкие" олимпиадные модули (не опирающиеся на Stores) есть частитчно в подсистеме Olimp, но функциональность у них немного не та (хотя может уже и та, я давно не смотрел) |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |