Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Тестирующая система


Автор: mirovan 2.11.2009, 15:02
Добрый день.

Пишу небольшую системку для проверки решений задач учеников. Т.е. ученики посылают в систему файл на паскале/C++/Jav'e, система компилирует и выдает ответ - правильно или нет решена задача (напоминает правила олимпиад по программированию ACM).

На данный момент стоят вопросы:
1. об определении есть ли в кодже ученика ассемблерная вставка.
2. как убивать выполняемое решение ученика по истечению определенного промежутка времени, т.е. если программа ученика написано не оптимально и долго работает, то завершать её автоматически и выдавать ответ что превышено время исполнения
3. Как ограничить программу по памяти, дав ей, к примеру, не более 64Мб.

На этом моменте я застрял, помогите пожалуйста...

Добавлено через 1 минуту и 3 секунды
Я знаком с большинством нынешних тестирующий систем, к сожалению они далеки от идеала или же как МГУшная системы ejudje - очень сложна в настройках.

Поэтому и решено было написать свою.

Автор: bems 2.11.2009, 21:13
Ассемблерные вставки тольео парсингом исходников. Огрпничения по времени и памяти - job object. Читать мсдн можно начинать где-то отсюда http://msdn.microsoft.com/en-us/library/ms684147%28VS.85%29.aspx

Автор: mirovan 3.11.2009, 07:45
Тут же возник еще вопрос:
Парсинг кода это дело простое. Но что если в файле будет обфусцированный код. Возможно ли скрытие реализации ассемблерных вставок ?

Если не возможно, то моя задача сводится к парсингу файла и поска в нем зарезервированных слов в зависимости от ЯП ? К примеру для Delphi/Pascla ищу вставки ASM, для других языков тоже самое. Так ли это ???

Автор: mirovan 6.11.2009, 06:23
По условию решение ученика читает данные из файла input.txt и пишет в файл output.txt
Для каждой задачи есть набор тестов. Т.е. скомпилированному решению ученика даются по очереди тесты от 1 до N.
Есть чекер - программа для проверки данных в выходном файле. Как запустить этот чекер для всех тестов ?

Напрашивается решение для компиляции решения ученика и копирования в папку с этим решением по очереди файлов input.txt, затем выполнение скомпилированного решения и проверка с помощью чекера.

Возможно ли обойтись без такого копирования ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)