Помощник
Как осуществить проверку задания на сайте? |
MacLeo
|
Сообщение
#1
|
||
|
|
||
|
|||
WorkingMan |
1.3.2016, 18:52;
Ответить: WorkingMan
Сообщение
#2
|
|
MacLeo, можете пример задачи показать\рассказать, а так обычного хостинга хватит. Используйте AngularJS - реализация лёгкая и системных ресурсов не много требует...
-------------------- |
|
|
profican |
1.3.2016, 21:25;
Ответить: profican
Сообщение
#3
|
|
Это программист сказал, что "нужен хороший серв"?
Проблема лежит в другой области - такие вещи трудно формализировать: Цитата ...юзер должен вписывать ход решения... Могут быть нестандартные решения, опечатки и т.п. Для человека-экзаменатора - это не проблема, а вот программа будет глючить. Как сказал предыдущий оратор - полезно было бы видеть пример. -------------------- Успехов! ♥ Тестирование сайтов ♠ |
|
|
MacLeo
|
Сообщение
#4
|
|
Я понял, пример с математикой "не зашел".
Давайте на примере, ну не знаю, на примере java и javarush(.ru). В принципе, частично, это именно тот функционал который мне надо. (1) Есть задание, в котором указаны условия которых люди должны придерживаться. (2) Есть форма ввода решения (иногда, как здесь, уже с частью решения), где, собственно, и нужно будет вводить остальные данные. (3) Есть экранчик куда будет выводится текучий результат. По сути, как здесь, выполнил работу, нажал на кнопку (4) Проверить, происходит компиляция и её результат на экранчике (3). Фишка в том, что JavaRush компилирует код, проверят его на единственно правильное решение и если все ок - засчитывает как выполненное. Меня же интересует практически все тоже, НО, в большинстве случаев, проверка результата будет происходить на основе каких то определенных частей кода (если придерживаться примере). Т.е в коде который должен написать пользователь будут выделены самые важные участки, которые обязательно должны сходиться. Можно сказать, что если они будут ошибочны - код не скомпилируется. Во всех же остальных местах, текст может любой. С выводом результата в окошке (3), я думаю, проблем возникнуть не должно. Отвечаю на вопросы: Могут быть нестандартные решения Да, я это понимаю и скорей всего буду предлагать несколько вариантов решения, по которым будет вестись проверка. опечатки и т.п Ну что же, это уже дело внимательности. Если это будут "не особо важные" зоны - пускай, в "важных" - должно показываться сообщение, что то типа "Что то пошло не так". Если все же не понятно, поищу более точный пример Сообщение отредактировал MacLeo - 1.3.2016, 22:48 |
|
|
WorkingMan |
1.3.2016, 23:00;
Ответить: WorkingMan
Сообщение
#5
|
|
MacLeo, Проверять можно например двойной компиляцией, то есть. Есть готовое решение - туда попадают данные пользователя и получается ответ, потом он сопоставляется с ответом, программы пользователя. На счет ошибок, тут дела, сложнее, если задание очень трудоёмкое, но как вариант сопоставлять по строчно, с правильным вариантом и если - не правильно давать подсказку. Опять же вылазиет бок двойного решения, его можно попробовать решить с помощью заведомо известных переменных. Например, пользователь использует названия уже заранее готовые, и проверять по строчно результат выполнения... Ну как, то так в общих чертах, просто к каждому заданию нужно искать свой подход...
-------------------- |
|
|
MacLeo
|
Сообщение
#6
|
|
WorkingMan, задания будут не сложные, и не большие. Так что вариант проверять построчно - подходит.
AngularJS - подойдет для этих целей? Или это уже совсем другое? И не будет ли проблем если проверять задание будет не 1-5 человек, а, для начала, хотя бы 20-30 в одно и то же время? |
|
|
WorkingMan |
2.3.2016, 0:17;
Ответить: WorkingMan
Сообщение
#7
|
|
MacLeo, Подойдет, можно хоть 100. Он ресурсы компа пользователя берет)))
Сообщение отредактировал WorkingMan - 2.3.2016, 0:18 -------------------- |
|
|
profican |
2.3.2016, 3:38;
Ответить: profican
Сообщение
#8
|
|
Цитата ... если они будут ошибочны - код не скомпилируется. Во всех же остальных местах, текст может любой. Компиляторы (так же как и интерпритаторы) так не работают - даже "любой текст" должен быть правильным, иначе пойдут ошибки. Если речь идет об обучении основам языков программирования (или проверки), то я бы тупо проверял синтаксис. Решения (несколько версий) хранятся в БД и сверяются с ответом студента. Облегченный вариант - т.н. "американская система", multiple choice: 3-4 варианта ответа, надо выбрать правильный. -------------------- Успехов! ♥ Тестирование сайтов ♠ |
|
|
MacLeo
|
Сообщение
#9
|
|
|
profican, не, не канает вариант полной проверки. Цель - научить решать задачи. При этом, как Вы говорили, могут быть нестандартные решения, но решить без определенного элемента - не выйдет. Ну, по сути то может и получиться, но каждый новый элемент будет основываться на теории, примерах которые были предоставлены прежде, в процессе обучения. Соответственно ими и надо будет пользоваться, это будет указано.
Как раз по этому и нужна проверка конкретных строк.. Вот если взять пример того же обучения программированию. На примере java: Код System.out.println("Hello, world!"); Выводит на экран Hello, world. Верно? По сути, ключевая функция - System.out.println Что будет выводиться - не важно, верно? По этому в данном случае нужна проверка не только компиляции, которая больше нужна мне для вывода результата на экран, а ключевого элемента. Т.е что бы код Код System.out.println("My name is ..."); Тоже считался правильным. Это нужно для того, что бы не привязывать человека к конкретному шаблону решения задачи. Количество строк кода у ученика может быть намного больше, он может его доработать, усовершенствовать. Но задание не будет считаться выполненным без определенных, правильно использованных, элементов. Кстати, если получится, подумаю что бы применить и в обучении программированию. Спасибо за идею Правда в этом случае придется искать толковых прогеров, а то я..не очень в этом
Сообщение отредактировал MacLeo - 2.3.2016, 4:52 |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Арбитражники, как ведете учет расходов и доходов? | 11 | Boymaster | 1724 | Вчера, 23:35 автор: Boymaster |
|
Боты могут делать пушподписки на моём сайте? | 0 | Megaspryt | 221 | Вчера, 23:29 автор: Megaspryt |
|
Как вывести деньги в Украине с заблокированного Юмани ? | 29 | freeax | 4765 | Вчера, 1:19 автор: sergio11 |
|
CryptoCloud — прием USDT, BTC, ETH, LTC на любом сайте | 36 | CryptoCLoud | 10626 | 16.4.2024, 16:02 автор: CryptoCLoud |
|
Странный трафик на сайте длительное время | 33 | TABAK | 8698 | 12.4.2024, 5:56 автор: Skyworker |
Текстовая версия | Сейчас: 18.4.2024, 2:00 |