Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Тестовое приложение


Автор: DoKZ 19.7.2013, 12:54
Не совсем алгоритмы, но не нашел более подходящего раздела.
Пишу программу для онлайн-тестирования пользователей.
Пользователь авторизируется, ему выдаётся нужный модуль (архив), он скачивается с сервера, распаковывается, а дальше в \question\%i\q.mht лежит вопрос как веб-архив. Вопросы из базы берутся случайно. Мне показалось, что это самый простой вариант.
Теперь появилась другая задача - сделать 3 темы. То есть в базе есть 100 вопросов по теме A, 200 вопросов по теме B, 10 вопросов по теме C.
Пользователь должен получить ровно 50% вопросов - по теме A, 25% - B, 25% - C. Как бы организовать всё это? Есть ли какие-то известные или адекватные методы? Прописывать всё это вручную, хранить отдельные переменные, которые запоминают количество вопросов, их расположение и т д - накладно. Может быть, есть более интеллектуальное решение проблемы?  smile 
Пишу на VB.NET, при необходимости могу хоть что освоить. 

Заранее спасибо smile

Автор: Albor 19.7.2013, 16:35
Вы ведь вопросы берёте из базы sql запросом? Тогда лимитируйте его результат оператором LIMIT. Количество вопросов по темам в базе тоже можно получить запросом и от этих значений считать количество для параметров LIMIT.  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)