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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


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

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

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

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

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

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

0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WorkingMan
WorkingMan
сообщение 1.3.2016, 18:52; Ответить: WorkingMan
Сообщение #2


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


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


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


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

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

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


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


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


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


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

Давайте на примере, ну не знаю, на примере 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
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WorkingMan
WorkingMan
сообщение 1.3.2016, 23:00; Ответить: WorkingMan
Сообщение #5


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


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


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

И не будет ли проблем если проверять задание будет не 1-5 человек, а, для начала, хотя бы 20-30 в одно и то же время?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WorkingMan
WorkingMan
сообщение 2.3.2016, 0:17; Ответить: WorkingMan
Сообщение #7


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

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


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


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

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

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


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


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

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

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


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

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

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

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

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


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

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

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

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыБыстрый и качественный обмен на сайте Baksman.org
Обмен Bitcoin, BTC-e, PM, Qiwi, Yandex money, Карты банк
52 Baksman 33586 Вчера, 5:02
автор: Baksman
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
11 Boymaster 1801 17.4.2024, 23:35
автор: Boymaster
Открытая тема (нет новых ответов) Боты могут делать пушподписки на моём сайте?
0 Megaspryt 437 17.4.2024, 23:29
автор: Megaspryt
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
29 freeax 4811 17.4.2024, 1:19
автор: sergio11
Горячая тема (нет новых ответов) CryptoCloud — прием USDT, BTC, ETH, LTC на любом сайте
36 CryptoCLoud 10638 16.4.2024, 16:02
автор: CryptoCLoud


 



RSS Текстовая версия Сейчас: 19.4.2024, 16:36
Дизайн