Программисты! Помогайте! Вот в голове родилась мысль, создать собственную тестовую систему. Зачем мне это, спросите вы? Все просто – что бы узнать больше о создании подобных программ.
Посоветуйте с чего можно начать, и какие книги лучше почитать по этой тематике?
Сама тестовая система представляет из себя программу которая мгновенно проверит правильность решения олимпиадных задач
7 января 2009 в 5:00
#28: Вы уж совсем впадаете в крайность
6 января 2009 в 21:00
#27:
Легко сделать лабиринт, в котором будет миллиард кратчайших путей, т.е. миллиард правильных ответов.
6 января 2009 в 6:01
#24:
АСМ это тоже умеет. Плоский файл output.txt на выходе, строки – варианты путей, одна строка = один путь.
6 января 2009 в 0:02
> Классический пример – задача о поиске кратчайшего пути к выходу из лабиринта. Если запросить, чтобы выходными данными был сам путь, то правильных ответов может быть несколько, так как обычно кратчайших путей существует несколько.
это задача про экстремум функционала, определенного на дискретном множестве.
5 января 2009 в 23:02
#22, тогда вместо варианта правильно работающей программы,
нужно брать программу проверяющую ответ на соответствие поставленному условию.
5 января 2009 в 21:03
Например, задачи, где требуется вывести последовательность действий, приводящее к какому-либо результату. Классический пример – задача о поиске кратчайшего пути к выходу из лабиринта. Если запросить, чтобы выходными данными был сам путь, то правильных ответов может быть несколько, так как обычно кратчайших путей существует несколько.
5 января 2009 в 0:03
в большом количестве, да?
сумел вспомнить только два типа задач со множественными правильными решениями:
1. задачи с неполной формулировкой (например, "сколькими способами можно разложить 7 шариков в 7 ящиков?").
2. задачи с достижением экстремума функционалом, определенном на дискретном множестве (например, "для каких цифр X и Y верно X+Y=10?").
назовите еще.
4 января 2009 в 21:00
не факт. (с)
существуют задачи, причем в большом количестве, где вариантов ответом может быть несколько, причем все они могут быть правильными! И тогда выше описанный способ не прокатит…
3 января 2009 в 16:00
АСМ делает так:
Есть входной файл input.txt, написанная экзаменуемым программа обрабатывает входные данные – на выходе имеем output.txt
В итоге система подсовывает различные input'ы и сверяет output'ы.
Система действует. Код неважен – главное корректная работоспособность программы
2 января 2009 в 20:02
Если серьезно, то Кнут/"Исскусство Программирования"/Том 1/Задача 14
Ну а так эти системы пишутся как 2 пальца, хотя да, опыт неплохой
2 января 2009 в 18:05
А?
2 января 2009 в 18:04
cl.exe – это компилятор студии
создаете bat файл
внутри текст
"%DIR%\Compiler\Bin\cl.exe" /nologo /MT /W3 /GX /O2 /D WIN32 /D DEBUG /D CONSOLE /D MBCS /c Lab_1.cpp
Итого он вам скомпилирует файл Lab_1.cpp
2 января 2009 в 18:03
эм.. че-то я мало что понял)
2 января 2009 в 18:02
Через командную строку – батником или программой специально обученной, которая будет запускать компилятор с нужным параметрами.
%DIR%\Compiler\Bin\cl.exe /Od /I "%DIR%\Include" /I ".." /D "WIN32" /D "_DEBUG" /D "_LIB" /D "_MBCS" /Gm /EHsc /RTC1 /MLd /Fo".\/" /Fd".\vc70.pdb" /W3 /c /ZI /TP ".\main.c" /nologo
if ErrorLevel 1 goto :Error
Например так.
2 января 2009 в 18:01
А если ввести стандартизованный ввод-вывод в приложении?
И обрабатывать уже скомпилированное приложение.
Получаем код – компилируем, обрабатываем потоки ввода-вывода.
При одних входных данных при каждом обращении должны получаться одинаковые результаты.
2 января 2009 в 18:01
вопросик: как программно скомпилировать программу:))??&&
2 января 2009 в 18:00
Писал подобную вещь… оч увлекательно. но одному писать чтото большое оч тяжело.. а у меня именно так и получается, что пишу ее один… )Притом финиша у подобного проекта не вижу… все время есть что развивать… )
2 января 2009 в 17:05
Да Фиг Ня – правда чтоли??? он мне не расскажет:)..
Александр Quyse Lert – ммм, наверняка о том, просто меня первый пункт смущает)
2 января 2009 в 17:02
topcoder.com
2 января 2009 в 17:02
Это сайт известный – ты такое хочешь?
2 января 2009 в 17:02
//olympiads.kz/node/110
2 января 2009 в 17:02
Правильно делаешь, что хочешь такую вещь написать – тестирующую систему Это очень интересный проект, как в проектировании, так и в кодировании. Только делать это не просто, если только ты не хочешь получить простейший тестер.
Основные проблемы будут, вероятно, следующие:
1. сетевое программирование
2. наложение ограничений на выполняющиеся процессы (по времени, памяти и т.д.)
3. хранение результатов контеста (если в БД, то особо труба ) )
Скажи, я вообще о том, что тебе нужно? ))
2 января 2009 в 17:01
ой… похоже ты меня не совсем понял…
мне нужна система для проведения турниров и индивидуального решения задач (тренировок) по программированию. Программа типа Contester, только он мне не совсем подходит, там нельзя пользоваться TestLib(ами)
2 января 2009 в 17:01
у Григорьевых спроси))) он сделал))
2 января 2009 в 17:00
//www.google.ru/search?q=программа+для+проведен...
ADSoft Tester
UniTest
Мастер-ТЕСТ
и тд что найдете
2 января 2009 в 16:04
Вы, наверное удивитесь, но на олимпиадные задачи есть решения.
2 января 2009 в 16:04
А программы для проведения тестов есть в большом количестве.
И правильней это называть – Система тестирования знаний, а не тестовая система, как у нас это любят делать
2 января 2009 в 16:04
я понимаю что их много(кстати не могли бы вы привести список:)), но я сам хочу узнать как их можно написать, что они из себя представляют, это же интересно…