|
Вопрос # 24/ вопрос открыт / |
|
Добрый день. Случилась следующая проблемка.
Разрабатываю адаптивную систему тестирования знаний. БД на Access, интерфейс на Delphi6(естественно). БД состоит из нескольких таблиц (основные сущности и таблицы справочного характера). Имеется 4 пользовательских представления: администратор, экзаменатор, эксперт и студент. Админ регистрирует экспертов и экзаменаторов; эксперт составляет тесты по предметам посредством имеющихся шаблонов; экзаменатор регистрирует студентов и распечатывает протоколы; студент проходит тестирование по выбранной теме и в конце получает протокол с результатами. Трагедия происходит именно при написании "студенческой" части. Не понимаю в какой последовательности нужно производить запись в протокол и в базу ответы студента. Какими компанентами пользоваться. Если загружаю в какой нибудь DBMemo вопросы из Базы Вопросов, то не получается вывести ответы для выбора (пробовала DBLookupComboBox-ом, DBRadioGroup-ом и др.)Неговоря уже о сравнении выбранных студентом ответах и верными, и о подсчете результатов). К тому же так как это адаптивное тестирование, то при верном/неверном ответе на конкретный вопрос уровень сложности следующего должен повышаться/понижаться. Вобщем, хоть вешайся...........
Если что, заранее спасибо!!!
 |
Вопрос задала: Иванова Параска Федоровна (статус: Посетитель)
Вопрос отправлен: 20 мая 2006, 19:38
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Помфюк Владимир Степанович
Насколько я понимаю Вам надо выбрать случайным образом первый вопрос, предполагая, что его сложность средняя (предположим 3 по 5-бальной шкале). Запрос такой: select * from question where level=3; Какими компонентами - Ваш выбор. Чтоб не таскать за собой BDE посоветовал бы ADO-компоненты. Дальше - каким-нибудь random'ом выбрать случайную запись. Потом - выбрать варианты ответов на этот вопрос. Потом - принять ответ студента, например через DBRadioGroup или через DBLookupComboBox. Следующий шаг - проверить был ли выбран правильный вариант, если да - поднять уровень сложности, если нет - снизить. Дальше - все сначала, только с новым уровнем сложности.
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|