Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Извращенская задача на HTML и JavaScript, которую надо решить / 8 сообщений из 8, страница 1 из 1
04.07.2009, 23:21
    #36073617
CmeTanka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извращенская задача на HTML и JavaScript, которую надо решить
Задача: сейчас есть система тестирования через веб-интерфейс. Загружается вопрос, получается ответ, выводится результат. Сделана через Ajax. Т.е. на новый вопрос создается запрос и результаты загружаются в html. Всё вроде бы неплохо, и работает.

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

Какие есть предложения, как это пограмотнее и попроще реализовать?
...
Рейтинг: 0 / 0
05.07.2009, 05:02
    #36073674
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извращенская задача на HTML и JavaScript, которую надо решить
CmeTanka,

Я бы загрузил все данные в скрытые контейнеры можно в div'ы - по одному бы открывал, ответил на вопрос, скрываешь, открываешь следующий и так пока на все вопросы не будет дан ответ, затем проверка всех ответов и вывод результатов.
но я так не сделаю ибо посморев исходник скрипта можно посмотреть правильные ответы и тогда смысл всего теста теряется.
проверку надо делать на сервере.
Хотя как вариант - получить ответы на все вопросы и потом это все отправить на проверку на сервер (но это противоречит условию CmeTanka а сам тест к серверу больше не обращался.
...
Рейтинг: 0 / 0
05.07.2009, 11:50
    #36073732
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извращенская задача на HTML и JavaScript, которую надо решить
eualexeyпосморев исходник скрипта можно посмотреть правильные ответы и тогда смысл всего теста теряетсяЕсли хранить не ответ, а хеш ответа, то пусть хоть ослепнет смотревши.
...
Рейтинг: 0 / 0
05.07.2009, 13:10
    #36073763
CmeTanka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извращенская задача на HTML и JavaScript, которую надо решить
Это будет демотест, так что подглядывать не имеет смысла, так как эти 10 вопросов всегда одинаковые и после неправильного ответа даётся правильный.
...
Рейтинг: 0 / 0
05.07.2009, 23:53
    #36074181
eualexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извращенская задача на HTML и JavaScript, которую надо решить
Antonariyeualexeyпосморев исходник скрипта можно посмотреть правильные ответы и тогда смысл всего теста теряетсяЕсли хранить не ответ, а хеш ответа, то пусть хоть ослепнет смотревши.
А вот это тема! не догадался.
...
Рейтинг: 0 / 0
06.07.2009, 07:04
    #36074259
EmilRegis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извращенская задача на HTML и JavaScript, которую надо решить
если только тестируемые не решит расхешировать)))посмотрев код можно определить алгоритм хеширования, а с его помощюь вскрыть результаты)
...
Рейтинг: 0 / 0
06.07.2009, 10:49
    #36074510
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извращенская задача на HTML и JavaScript, которую надо решить
Если результат тестирования это сдал/не сдал без подробностей, то количество вариантов, чьи хеши нужно сравнить с эталоном, рассчитывается по формулам: 2 X , где x - сумма ответов всех вопросов, для мексиканки, и X Y , где х - количество ответов в вопросе, y - количество вопросов (если во всех вопросах одинаковое количество ответов), для американки. Для тех, кто не в курсе: американка - один правильный из многих, мексиканка - несколько из многих.

Допустим, в этом тесте из 10 вопросов везде по 4 ответа. Тогда для мексиканки это 1099511627776 вариантов (если калькулятор не врет), а для американки — 1048576. Рискну предположить, что даже второй вариант будет в js обсчитываться сравнимо со временем, отведенным на тестирование.

Если нужно выводить ответ в виде n правильных из m, формулы такие: 2 X *Y для мексиканки и тупо X*Y для американки.

Еще можно и хеши и функцию завернуть в несколько слоев какой-нибудь megaEncrypt, чтобы поиск решения растянулся вообще на часы. Так что выбор есть.
...
Рейтинг: 0 / 0
13.07.2009, 05:07
    #36086103
I_Work
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извращенская задача на HTML и JavaScript, которую надо решить
Я поражаюсь просто!

Это — тест, а не список задач с полем ввода ответа. Значит, к каждому вопросу прикрепляется список ответов.

Если результат проверяется уже на клиенте при помощи JS, то алгоритм хэширования известен не только по одному виду хэша. Т.о. в среднем достаточно перебрать N/2 вариантов (N - количество ответов в вопросе), чтобы найти правильный ответ: берете первый ответ, хэшируете, смотрите - если совпадает с результатом, то его и выбираете. Иначе берете второй ответ и т.д.

Если при "нормальном" (а не тренировочном) тестировании передать клиенту ответ в любом виде (хоть в хэше), то это означает, что любой пользователь может его пройти успешно, ничего не зная по предмету - нашел все правильные ответы и их выбрал перед отправкой на сервер.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Извращенская задача на HTML и JavaScript, которую надо решить / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]