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/