Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.03.2013, 02:21
namespaces вне форума Посмотреть профиль Отправить личное сообщение для namespaces Найти все сообщения от namespaces
  № 1  
Ответить с цитированием
namespaces
 
Аватар для namespaces

Регистрация: Jan 2013
Сообщений: 126
Arrow Придумать алгоритм для программы Тестовые вопросы

Какие алгоритмы знаете для создания Теста?
Например - имеем вопрос и 5 ответа, дается время 30 сек. на выбор правильного ответа.
Знаю что вариантов много, но не знаю с чего начать, куда копать.
Первое что приходит на ум, вопросы - ответы храним в XML и выводим рандомно.

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

Старый 30.03.2013, 03:39
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 2  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
С формулировкой "надо придумать качественный алгоритм" вам в вакансии (:

Что именно вам не понятно? Что вы пробовали делать, что не получилось?

Я бы начал с того, чтобы определиться с форматом и структурой данных.

С форматом по сути 3 варианта: XML, JSON и какой-нибудь свой велосипед. Я бы взял JSON.

Структура зависит от конкретики задачи. Как минимум, это массив вопросов, где каждый вопрос - это объект, содержащий текст вопроса, варианты ответов и информацию о том, какой (или какие) из них правильные. Вопросы опять же могут быть разных типов: выбрать 1 вариант, выбрать несколько вариантов, либо ввести ответ - строка либо число. Если должна быть возможность принимать строковые/числовые ответы, то сразу стоит задуматься о том, как вы будете их парсить, чтобы при правильном варианте "Вася" юзер мог ввести " вАся" и ему засчитался балл, или не засчитался, зависит от правил, по которым парсится ответ, и которые должны, по-хорошему, задаваться в описании правильного ответа.

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

Что конкретно вас интересует? Разбейте задачу на куски, ибо при такой постановке вариант "нужен алгоритм в целом" не покатит.

1600 get!
__________________
тонкий тролль, осеянный благодатью

Старый 30.03.2013, 04:44
Александр Мостовой вне форума Посмотреть профиль Отправить личное сообщение для Александр Мостовой Посетить домашнюю страницу Александр Мостовой Найти все сообщения от Александр Мостовой
  № 3  
Ответить с цитированием
Александр Мостовой
 
Аватар для Александр Мостовой

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
Мне кажется вас запугали более опытные коллеги и вы боитесь что-то сделать неправильно
__________________
...


Последний раз редактировалось Александр Мостовой; 30.03.2013 в 05:07.
Старый 30.03.2013, 07:51
namespaces вне форума Посмотреть профиль Отправить личное сообщение для namespaces Найти все сообщения от namespaces
  № 4  
Ответить с цитированием
namespaces
 
Аватар для namespaces

Регистрация: Jan 2013
Сообщений: 126
Цитата:
Сообщение от Gaen Посмотреть сообщение
С форматом по сути 3 варианта: XML, JSON и какой-нибудь свой велосипед. Я бы взял JSON.
Я тут подумал и насчет MySQL через AMFPHP, т.к. вопросов больше, около 1400. Программа для теста Правила дорожного движения, и конечно с иллюстрациями.
Думаю мускул для такого объема подойдет лучше всего.

Цитата:
Структура зависит от конкретики задачи. Как минимум, это массив вопросов,
От пользователя вводить что либо не потребуется, надо будет только нажимать на ответы.
Мне нужно просто понять, какие уровни добавить для пользователя:
Разделить 1400 вопросов по категориям, сделать 14 групп.
На каждую группу получает 10 баллов после правильных ответов, иначе -10. Итого после всех пройденных этапов получить 100 бал, и тест завершится с отметкой Пройден.

Цитата:
Сообщение от Александр Мостовой Посмотреть сообщение
Мне кажется вас запугали более опытные коллеги и вы боитесь что-то сделать неправильно
Скорее всего так и есть

Старый 30.03.2013, 08:47
Александр Мостовой вне форума Посмотреть профиль Отправить личное сообщение для Александр Мостовой Посетить домашнюю страницу Александр Мостовой Найти все сообщения от Александр Мостовой
  № 5  
Ответить с цитированием
Александр Мостовой
 
Аватар для Александр Мостовой

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
Имхо вы сейчас не можете определиться с многими ключевыми вопросами ТЗ:
- Нужно ли сохранять результаты в процессе тестирования или только по окначинии, - что будет происходить при закрытии страницы (можно ли продолжить тест, нужно ли что бы пользовтаель не мог зяглянуть в загружаемые данные (или насколько сложно было бы ему это сделать), должна ли быть логика проверки правильных ответов на сервере и.д.

У вас несколько вариантов:
1. Описать мокапы поведения приложения и утвердить их у заказчика. Но это работа ПМ и на практике заказчик в них вниакть просто не будет.
2. Потратив несколько часов сделать очень быструю прототипную версию с самым простым решением: просто исходный загруженный ХМЛ использовать как модель данных, в нем же хрнить ответы и его же отправлять как результат. С мыслю что потом эту поделку удалите и сделаете все заново. Это даст вам возможноть показать заказчику все недостатки простых решений, обговорить нюансы. Такой работающий черновик. Но в этом случае вам, возможно, будет сложно обяснить зачем вы сделали такую фигню и почему доработка почти работающего приложения занимает в 20 раз больше времени, чем уже написанное.
3. Сделать все на легко масштабируемой архитектуре с инкапсулировнными блоками, каждый из которых ничего не знает о мтодах реализации другого и допиливать усовершенствования и оптимизацию по мере разработки.

Думаю правильно было бы сделать все 3 варианта в порядке 2, 1, 3
__________________
...


Последний раз редактировалось Александр Мостовой; 30.03.2013 в 09:02.
Старый 30.03.2013, 10:29
namespaces вне форума Посмотреть профиль Отправить личное сообщение для namespaces Найти все сообщения от namespaces
  № 6  
Ответить с цитированием
namespaces
 
Аватар для namespaces

Регистрация: Jan 2013
Сообщений: 126
Цитата:
Сообщение от Александр Мостовой Посмотреть сообщение
Имхо вы сейчас не можете определиться с многими ключевыми вопросами ТЗ:
- Нужно ли сохранять результаты в процессе тестирования или только по окначинии, - что будет происходить при закрытии страницы (можно ли продолжить тест, нужно ли что бы пользовтаель не мог зяглянуть в загружаемые данные (или насколько сложно было бы ему это сделать), должна ли быть логика проверки правильных ответов на сервере и.д.
В чем то вы правы. Я еще не до конца представляю саму идею для полной реализации.
Для начала можно начать с обычного опроса, вопрос/ответ, верно или не верно - и всё. В будущем буду дорабатывать только по заказу клиента. Конечно же зависимо от самой архитектуры приложения, и как это изначально будет предусмотрено на начальных стадиях разработки.
Насчет того, что есть вероятность заглянуть в правильные ответы, это не проблема, ведь приложение обучающее, для пользователя не будет смысла что либо узнавать иными путями.

Цитата:
3. Сделать все на легко масштабируемой архитектуре с инкапсулировнными блоками, каждый из которых ничего не знает о мтодах реализации другого и допиливать усовершенствования и оптимизацию по мере разработки.
А можно по подробнее насчет архитектуры для подобных задач. Что вы предлагаете, юзать готовые фреймворки или пойти глубже и создать с нуля на чистом MVC, или на PureMVC?
Понимаю это уже отдельная тема, просто к слову спросил.

Старый 30.03.2013, 11:00
Александр Мостовой вне форума Посмотреть профиль Отправить личное сообщение для Александр Мостовой Посетить домашнюю страницу Александр Мостовой Найти все сообщения от Александр Мостовой
  № 7  
Ответить с цитированием
Александр Мостовой
 
Аватар для Александр Мостовой

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
Цитата:
Что вы предлагаете, юзать готовые фреймворки или пойти глубже и создать с нуля на чистом MVC, или на PureMVC?
Я бы посоветывал немного отстраниться от того как правильней и от попыток получить рекомендацию, а решить самомому как вам практичнее организовать независимые блоки каждому из которых все-равно откуда другой блок получил данные: с сервера ли или из оперативки, или с sharedObject, асинхронно ли или синхронно, или сгенерерованные рэндомные заглушки. То насколько вы привыкли к тому или иному способу вполне весомый аргумент что бы делать именно так. и лучше выбрать тот вариант в котором уверены.
__________________
...

Старый 31.03.2013, 21:44
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 8  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Какие алгоритмы знаете для создания Теста?
Алгоритм - это, например, сортировка методом Хора, или сжатие в png.
А здесь тупо:
- есть данные
- есть интерфейс пользователя
- есть логика
И никаких алгоритмов, фреймворков, и т.д. и т.п. тут не надо.
Надо перестать думать и начать писать код и рисовать UI

Единственный алгоритм, который Вы будете использовать - это парсинг XML, но он за Вас уже написан и не одну сотню раз специально обученными людьми.
JSON тоже написан и тоже не одну сотню раз, но использовать не советую - с escape-последовательностями будете напрягаться - основа данных текст всё-таки.

Цитата:
Но как указать правильные ответы, и как подгружать в основной массив для вывода и по завершению удалить старые?
Даже если вы "Войну и Мир" целиком загрузите в память - это будет даже компу 10-летней давности что слону дробина.
Грузите все вопросы сразу и держите в памяти постоянно - не придумывайте себе проблем.
Если пофиг на малолетних "хакеров" правильный ответ можно поменить прямо в xml:
Код:
<question>
    <text>Каково среднее расстояние от центра Земли до луны?</text>
    <answer>300 000 км</answer>
    <answer>4 000 000 км</answer>
    <answer correct = true>400 000 км</answer>
</question>
Правда, если вопросы будете писать не Вы - придется это делать в Excel (Как это не дико - дорогущая Excel стоит практически у всех и все в ней что-то делали, а сторонними бесплатными решениями Вы ни кого не сможете научить пользоваться, и тем более писать это в xml).
И делать генератор из xls в xml.
Хотя, на моём компе стоит какая-то незарегистрированная копия и кроме красного заголовка окна ничем не вредит - проблем с добычей Excel-я для тестирования генератора быть не должно
Можно еще в сторону Google-доков посмотреть, но я не знаю, есть ли там нормальный интерфейс к данным или конвертация в какой-нибудь разделённый табами текст


Последний раз редактировалось expl; 31.03.2013 в 22:04.
Старый 01.04.2013, 18:11
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 9  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
по-моему тему нужно перенести...
__________________
return this...

Старый 04.04.2013, 21:41
namespaces вне форума Посмотреть профиль Отправить личное сообщение для namespaces Найти все сообщения от namespaces
  № 10  
Ответить с цитированием
namespaces
 
Аватар для namespaces

Регистрация: Jan 2013
Сообщений: 126
Цитата:
Сообщение от expl Посмотреть сообщение
Единственный алгоритм, который Вы будете использовать - это парсинг XML,
Да я подумал лучше хранить в XML и разбить вопросы по категориям, чтобы при дальнейшем на загружать все вопросы пачками. Только при выборе категории загружать все его вопросы, и освобождать память после перехода на другой и т.д.

Цитата:
Если пофиг на малолетних "хакеров" правильный ответ можно поменить прямо в xml:
Код:
<question>
    <text>Каково среднее расстояние от центра Земли до луны?</text>
    <answer>300 000 км</answer>
    <answer>4 000 000 км</answer>
    <answer correct = true>400 000 км</answer>
</question>
Вы что видите мой комп? Оо
У меня именно такая же структура XML Для теста сейчас использую такой вид оформления вопросов.

Цитата:
Правда, если вопросы будете писать не Вы - придется это делать в Excel (Как это не дико - дорогущая Excel стоит практически у всех и все в ней что-то делали, а сторонними бесплатными решениями Вы ни кого не сможете научить пользоваться, и тем более писать это в xml).
И делать генератор из xls в xml.
Можно поподробнее, что вы имеете ввиду насчет Excel, и как будут потом импортироваться данные из Excel?

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

При нажатии на Ответить надо еще определить правильный ответ и вывести подробное описание ответа. В этом примере при переключении радиобаттона рассылается сообщение. Пока что так, какие еще могут быть варианты?
Вложения
Тип файла: swf NewProject.swf (13.7 Кб, 49 просмотров)

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:04.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.