X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Как осуществить проверку задания на сайте?
MacLeo
MacLeo
Topic Starter сообщение 1.3.2016, 18:23; Ответить: MacLeo
Сообщение #1


тИЦ`анутый
******

Группа: Active User
Сообщений: 1126
Регистрация: 1.6.2010
Поблагодарили: 316 раз
Репутация:   49  


В общем тема такая.

Есть задача, допустим, математическая.

Есть форма ввода ответа
, куда юзер должен вписывать ход решения: используются вычислительные операции, переменные и тд.
Есть правильный ответ и ход решения.
Есть кнопка Проверить.

Нужно сделать так, что бы то что ввел пользователь сопоставлялось с правильным. Если есть ошибки - не показывать их, а намекать, что ли. Ну в общем показывать где ошибка, но не показывать какая. Ну и, соответственно, если ответ правильный - пользователь переходит к след.заданию.

Вопрос:
Как осуществить такую проверку задания на сайте?

Понимаю, что, скорей всего, для этого потребуется хороший серв или что то вроде того. Подойдет ли для таких задач это?



--------------------
SEO аудиты | Сайты под ключ | Верстка | Продвижение | Web дизайн и наружная реклама
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WorkingMan
WorkingMan
сообщение 1.3.2016, 18:52; Ответить: WorkingMan
Сообщение #2


Новичок
*

Группа: User
Сообщений: 45
Регистрация: 25.1.2016
Поблагодарили: 8 раз
Репутация:   2  


MacLeo, можете пример задачи показать\рассказать, а так обычного хостинга хватит. Используйте AngularJS - реализация лёгкая и системных ресурсов не много требует...


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
profican
profican
сообщение 1.3.2016, 21:25; Ответить: profican
Сообщение #3


Старожил
******

Группа: Active User
Сообщений: 1242
Регистрация: 30.6.2010
Поблагодарили: 294 раза
Репутация:   36  


Это программист сказал, что "нужен хороший серв"? :facepalm:

Проблема лежит в другой области - такие вещи трудно формализировать:

Цитата
...юзер должен вписывать ход решения...


Могут быть нестандартные решения, опечатки и т.п. Для человека-экзаменатора - это не проблема, а вот программа будет глючить.
Как сказал предыдущий оратор - полезно было бы видеть пример.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MacLeo
MacLeo
Topic Starter сообщение 1.3.2016, 22:48; Ответить: MacLeo
Сообщение #4


тИЦ`анутый
******

Группа: Active User
Сообщений: 1126
Регистрация: 1.6.2010
Поблагодарили: 316 раз
Репутация:   49  


Я понял, пример с математикой "не зашел".

Давайте на примере, ну не знаю, на примере java и javarush(.ru). В принципе, частично, это именно тот функционал который мне надо.



(1) Есть задание, в котором указаны условия которых люди должны придерживаться.
(2) Есть форма ввода решения (иногда, как здесь, уже с частью решения), где, собственно, и нужно будет вводить остальные данные.
(3) Есть экранчик куда будет выводится текучий результат. По сути, как здесь, выполнил работу, нажал на кнопку (4) Проверить, происходит компиляция и её результат на экранчике (3).

Фишка в том, что JavaRush компилирует код, проверят его на единственно правильное решение и если все ок - засчитывает как выполненное.

Меня же интересует практически все тоже, НО, в большинстве случаев, проверка результата будет происходить на основе каких то определенных частей кода (если придерживаться примере). Т.е в коде который должен написать пользователь будут выделены самые важные участки, которые обязательно должны сходиться. Можно сказать, что если они будут ошибочны - код не скомпилируется.

Во всех же остальных местах, текст может любой.
С выводом результата в окошке (3), я думаю, проблем возникнуть не должно.

Отвечаю на вопросы:
Цитата(profican @ 1.3.2016, 18:25) *
Могут быть нестандартные решения


Да, я это понимаю и скорей всего буду предлагать несколько вариантов решения, по которым будет вестись проверка.

Цитата(profican @ 1.3.2016, 18:25) *
опечатки и т.п

Ну что же, это уже дело внимательности. Если это будут "не особо важные" зоны - пускай, в "важных" - должно показываться сообщение, что то типа "Что то пошло не так".

Если все же не понятно, поищу более точный пример :)

Сообщение отредактировал MacLeo - 1.3.2016, 22:48


--------------------
SEO аудиты | Сайты под ключ | Верстка | Продвижение | Web дизайн и наружная реклама
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WorkingMan
WorkingMan
сообщение 1.3.2016, 23:00; Ответить: WorkingMan
Сообщение #5


Новичок
*

Группа: User
Сообщений: 45
Регистрация: 25.1.2016
Поблагодарили: 8 раз
Репутация:   2  


MacLeo, Проверять можно например двойной компиляцией, то есть. Есть готовое решение - туда попадают данные пользователя и получается ответ, потом он сопоставляется с ответом, программы пользователя. На счет ошибок, тут дела, сложнее, если задание очень трудоёмкое, но как вариант сопоставлять по строчно, с правильным вариантом и если - не правильно давать подсказку. Опять же вылазиет бок двойного решения, его можно попробовать решить с помощью заведомо известных переменных. Например, пользователь использует названия уже заранее готовые, и проверять по строчно результат выполнения... Ну как, то так в общих чертах, просто к каждому заданию нужно искать свой подход...


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MacLeo
MacLeo
Topic Starter сообщение 1.3.2016, 23:36; Ответить: MacLeo
Сообщение #6


тИЦ`анутый
******

Группа: Active User
Сообщений: 1126
Регистрация: 1.6.2010
Поблагодарили: 316 раз
Репутация:   49  


WorkingMan, задания будут не сложные, и не большие. Так что вариант проверять построчно - подходит.
AngularJS - подойдет для этих целей? Или это уже совсем другое?

И не будет ли проблем если проверять задание будет не 1-5 человек, а, для начала, хотя бы 20-30 в одно и то же время?


--------------------
SEO аудиты | Сайты под ключ | Верстка | Продвижение | Web дизайн и наружная реклама
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WorkingMan
WorkingMan
сообщение 2.3.2016, 0:17; Ответить: WorkingMan
Сообщение #7


Новичок
*

Группа: User
Сообщений: 45
Регистрация: 25.1.2016
Поблагодарили: 8 раз
Репутация:   2  


MacLeo, Подойдет, можно хоть 100. Он ресурсы компа пользователя берет)))

Сообщение отредактировал WorkingMan - 2.3.2016, 0:18


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
profican
profican
сообщение 2.3.2016, 3:38; Ответить: profican
Сообщение #8


Старожил
******

Группа: Active User
Сообщений: 1242
Регистрация: 30.6.2010
Поблагодарили: 294 раза
Репутация:   36  


Цитата
... если они будут ошибочны - код не скомпилируется.

Во всех же остальных местах, текст может любой.

Компиляторы (так же как и интерпритаторы) так не работают - даже "любой текст" должен быть правильным, иначе пойдут ошибки.
Если речь идет об обучении основам языков программирования (или проверки), то я бы тупо проверял синтаксис. Решения (несколько версий) хранятся в БД и сверяются с ответом студента.
Облегченный вариант - т.н. "американская система", multiple choice: 3-4 варианта ответа, надо выбрать правильный.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MacLeo
MacLeo
Topic Starter сообщение 2.3.2016, 4:50; Ответить: MacLeo
Сообщение #9


тИЦ`анутый
******

Группа: Active User
Сообщений: 1126
Регистрация: 1.6.2010
Поблагодарили: 316 раз
Репутация:   49  


profican, не, не канает вариант полной проверки. Цель - научить решать задачи. При этом, как Вы говорили, могут быть нестандартные решения, но решить без определенного элемента - не выйдет. Ну, по сути то может и получиться, но каждый новый элемент будет основываться на теории, примерах которые были предоставлены прежде, в процессе обучения. Соответственно ими и надо будет пользоваться, это будет указано.

Как раз по этому и нужна проверка конкретных строк..

Вот если взять пример того же обучения программированию.
На примере java:
Код
System.out.println("Hello, world!");


Выводит на экран Hello, world. Верно?

По сути, ключевая функция - System.out.println

Что будет выводиться - не важно, верно?

По этому в данном случае нужна проверка не только компиляции, которая больше нужна мне для вывода результата на экран, а ключевого элемента.

Т.е что бы код
Код
System.out.println("My name is ...");


Тоже считался правильным.

Это нужно для того, что бы не привязывать человека к конкретному шаблону решения задачи. Количество строк кода у ученика может быть намного больше, он может его доработать, усовершенствовать. Но задание не будет считаться выполненным без определенных, правильно использованных, элементов.

Кстати, если получится, подумаю что бы применить и в обучении программированию. Спасибо за идею :D Правда в этом случае придется искать толковых прогеров, а то я..не очень в этом :)

Сообщение отредактировал MacLeo - 2.3.2016, 4:52


--------------------
SEO аудиты | Сайты под ключ | Верстка | Продвижение | Web дизайн и наружная реклама
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как поднять доверие к сайту?
2 fair_exchange 265 Сегодня, 12:59
автор: fair_exchange
Открытая тема (нет новых ответов) Как мошенники зарабатывают на прямых трансляциях в Instagram
Не ждите порно в инстаграм, его нет
10 PostBrigada 1133 Вчера, 22:40
автор: JOHNY
Открытая тема (нет новых ответов) Маленький кейс как сделать много почтовых ящиков в Gmail
Один аккаунт = много ящиков
1 PostBrigada 512 Вчера, 21:34
автор: Pingunio
Открытая тема (нет новых ответов) SimplePay: Прием платежей на сайте для юридических и физических лиц
4 kuprum 514 Вчера, 14:07
автор: kuprum
Горячая тема (нет новых ответов) Черный список обменников и как безопасно обменять валюту
141 Kurses 29921 Вчера, 13:04
автор: BestExchangers


 



RSS Текстовая версия Сейчас: 16.12.2017, 13:48
Дизайн