Покажите большому количеству пользователей «случайный» набор вопросов - PullRequest
0 голосов
/ 07 февраля 2012

Это не столько вопрос кодирования, сколько вопрос "как бы я закодировал" - я не знаю, является ли SO правильным местом, так что извините, если это так.

Представьте себе онлайнтест, который имеет 75 вопросов.Каждый человек, проходящий тест, увидит пять «случайных» вопросов (но, как вы увидите, это вовсе не случайный вопрос).

Мне нужно знать, как упорядочить эти вопросы, чтобы дать им равный шансбудучи замеченным (таким образом, после того, как 750 человек прошли тестирование, все вопросы были просмотрены десять раз).

Было бы лучше написать сценарий, который проверяет, какой вопрос имеет наименьшее число обращений,а потом показать что?Или настроить заранее заданный список вопросов, который должен видеть каждый пользователь?

Сценарий будет написан на PHP с бэкэндом MySQL, но я не думаю, что это важно.

1 Ответ

0 голосов
/ 07 февраля 2012

Если вы действительно хотите, чтобы все 75 вопросов отображались одинаково, я бы сделал что-то вроде этого:

1. Create a table with a random list of all questions (ids to the questions).
2. When a questions is requested, get the first id from the table and remove it.
3. If the table is empty then create a new list and get the first.
4. Etc.

таким образом вы получите случайные вопросы для каждого пользователя, а не один и тот же вопрос дважды, пока все вопросы не будут

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

...