![]() |
|
|
![]() |
![]() |
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
Регистрация: Jan 2013
Сообщений: 126
|
![]() Какие алгоритмы знаете для создания Теста?
Например - имеем вопрос и 5 ответа, дается время 30 сек. на выбор правильного ответа. Знаю что вариантов много, но не знаю с чего начать, куда копать. Первое что приходит на ум, вопросы - ответы храним в XML и выводим рандомно. Но как указать правильные ответы, и как подгружать в основной массив для вывода и по завершению удалить старые? Короче надо придумать качественный алгоритм. |
|
|||||
strange mood
|
С формулировкой "надо придумать качественный алгоритм" вам в вакансии (:
Что именно вам не понятно? Что вы пробовали делать, что не получилось? Я бы начал с того, чтобы определиться с форматом и структурой данных. С форматом по сути 3 варианта: XML, JSON и какой-нибудь свой велосипед. Я бы взял JSON. Структура зависит от конкретики задачи. Как минимум, это массив вопросов, где каждый вопрос - это объект, содержащий текст вопроса, варианты ответов и информацию о том, какой (или какие) из них правильные. Вопросы опять же могут быть разных типов: выбрать 1 вариант, выбрать несколько вариантов, либо ввести ответ - строка либо число. Если должна быть возможность принимать строковые/числовые ответы, то сразу стоит задуматься о том, как вы будете их парсить, чтобы при правильном варианте "Вася" юзер мог ввести " вАся" и ему засчитался балл, или не засчитался, зависит от правил, по которым парсится ответ, и которые должны, по-хорошему, задаваться в описании правильного ответа. Мы еще даже до программирования не дошли, а уже вылезла куча нюансов. И еще столько же будет появляться на каждом следующем шаге. Что конкретно вас интересует? Разбейте задачу на куски, ибо при такой постановке вариант "нужен алгоритм в целом" не покатит. 1600 get!
__________________
тонкий тролль, осеянный благодатью |
|
|||||
Мне кажется вас запугали более опытные коллеги и вы боитесь что-то сделать неправильно
![]()
__________________
... Последний раз редактировалось Александр Мостовой; 30.03.2013 в 05:07. |
|
|||||
Регистрация: Jan 2013
Сообщений: 126
|
Цитата:
Думаю мускул для такого объема подойдет лучше всего. Цитата:
Мне нужно просто понять, какие уровни добавить для пользователя: Разделить 1400 вопросов по категориям, сделать 14 групп. На каждую группу получает 10 баллов после правильных ответов, иначе -10. Итого после всех пройденных этапов получить 100 бал, и тест завершится с отметкой Пройден. Цитата:
![]() |
|
|||||
Имхо вы сейчас не можете определиться с многими ключевыми вопросами ТЗ:
- Нужно ли сохранять результаты в процессе тестирования или только по окначинии, - что будет происходить при закрытии страницы (можно ли продолжить тест, нужно ли что бы пользовтаель не мог зяглянуть в загружаемые данные (или насколько сложно было бы ему это сделать), должна ли быть логика проверки правильных ответов на сервере и.д. У вас несколько вариантов: 1. Описать мокапы поведения приложения и утвердить их у заказчика. Но это работа ПМ и на практике заказчик в них вниакть просто не будет. 2. Потратив несколько часов сделать очень быструю прототипную версию с самым простым решением: просто исходный загруженный ХМЛ использовать как модель данных, в нем же хрнить ответы и его же отправлять как результат. С мыслю что потом эту поделку удалите и сделаете все заново. Это даст вам возможноть показать заказчику все недостатки простых решений, обговорить нюансы. Такой работающий черновик. Но в этом случае вам, возможно, будет сложно обяснить зачем вы сделали такую фигню и почему доработка почти работающего приложения занимает в 20 раз больше времени, чем уже написанное. 3. Сделать все на легко масштабируемой архитектуре с инкапсулировнными блоками, каждый из которых ничего не знает о мтодах реализации другого и допиливать усовершенствования и оптимизацию по мере разработки. Думаю правильно было бы сделать все 3 варианта в порядке 2, 1, 3
__________________
... Последний раз редактировалось Александр Мостовой; 30.03.2013 в 09:02. |
|
|||||
Регистрация: Jan 2013
Сообщений: 126
|
Цитата:
Для начала можно начать с обычного опроса, вопрос/ответ, верно или не верно - и всё. В будущем буду дорабатывать только по заказу клиента. Конечно же зависимо от самой архитектуры приложения, и как это изначально будет предусмотрено на начальных стадиях разработки. Насчет того, что есть вероятность заглянуть в правильные ответы, это не проблема, ведь приложение обучающее, для пользователя не будет смысла что либо узнавать иными путями. Цитата:
Понимаю это уже отдельная тема, просто к слову спросил. |
|
|||||
Цитата:
__________________
... |
|
|||||
Цитата:
А здесь тупо: - есть данные - есть интерфейс пользователя - есть логика И никаких алгоритмов, фреймворков, и т.д. и т.п. тут не надо. Надо перестать думать и начать писать код и рисовать UI Единственный алгоритм, который Вы будете использовать - это парсинг XML, но он за Вас уже написан и не одну сотню раз специально обученными людьми. JSON тоже написан и тоже не одну сотню раз, но использовать не советую - с escape-последовательностями будете напрягаться - основа данных текст всё-таки. Цитата:
Грузите все вопросы сразу и держите в памяти постоянно - не придумывайте себе проблем. Если пофиг на малолетних "хакеров" правильный ответ можно поменить прямо в xml: <question> <text>Каково среднее расстояние от центра Земли до луны?</text> <answer>300 000 км</answer> <answer>4 000 000 км</answer> <answer correct = true>400 000 км</answer> </question> И делать генератор из xls в xml. Хотя, на моём компе стоит какая-то незарегистрированная копия и кроме красного заголовка окна ничем не вредит - проблем с добычей Excel-я для тестирования генератора быть не должно Можно еще в сторону Google-доков посмотреть, но я не знаю, есть ли там нормальный интерфейс к данным или конвертация в какой-нибудь разделённый табами текст Последний раз редактировалось expl; 31.03.2013 в 22:04. |
|
|||||
Регистрация: Jan 2013
Сообщений: 126
|
Да я подумал лучше хранить в XML и разбить вопросы по категориям, чтобы при дальнейшем на загружать все вопросы пачками. Только при выборе категории загружать все его вопросы, и освобождать память после перехода на другой и т.д.
Цитата:
У меня именно такая же структура XML ![]() Цитата:
Пока что мне в голову кроме рассылки сообщений при выборе ответов, ничего не приходит. Но возникают очень много нюансов, как рандомно выбирать вопросы и менять местами порядок ответов. Пожалуйста взгляните на пример, будет что то вроде этого. При нажатии на Ответить надо еще определить правильный ответ и вывести подробное описание ответа. В этом примере при переключении радиобаттона рассылается сообщение. Пока что так, какие еще могут быть варианты? |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:52. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|