|
0 / 0 / 0
Регистрация: 07.11.2017
Сообщений: 53
|
|
MS Access Создание теста21.11.2017, 01:49. Показов 3085. Ответов 11
Метки нет (Все метки)
Пишу программу с тестированием. Идея такая, хранить вопросы и варианты ответов (три) в базе данных (Access). Предположим что вопросов в базе будет 100. Как мне на форму вывести только 20-30 вопросов в разброс (не по порядку), при этом чтобы ответы тоже менялись местами (не были постоянно в одной и той же точке на форме)? Как лучше сделать базу данных, хранить данные (номер вопроса, вопрос, варианты ответов) в одной таблице или же создать две таблицы, отдельно для вопросов, и отдельно для вариантов ответа?
0
|
|
| 21.11.2017, 01:49 | |
|
Ответы с готовыми решениями:
11
Создание программы-теста(оценивание знаний) и вывод теста в форму, с подсчетом оценки(балл за правильный ответ) Создание теста
|
|
|
|
| 21.11.2017, 10:38 | |
|
Доброго!
В Вашем случае, хватит одной таблицы такого формата: 1) id - порядковой номер вопроса, автоинкримент 2) question - сам вопрос, текстовое поле 3) answer - ответ на вопрос текстовое поле При старте вопроса на клиенте генерируете 20-30 не повторяющих случайных чисел в диапазоне кол-ва вопросов, и по ним (число= id вопросу) делаете выборку.
1
|
|
|
|
||
| 21.11.2017, 13:00 | ||
|
один ко многим по номеру вопроса:
1
|
||
|
0 / 0 / 0
Регистрация: 07.11.2017
Сообщений: 53
|
|
| 21.11.2017, 18:57 [ТС] | |
|
С таблицами разобрались
Теперь как мне реализовать в Builder'e рандомную загрузку вопросов?
0
|
|
|
0 / 0 / 0
Регистрация: 07.11.2017
Сообщений: 53
|
|
| 21.11.2017, 23:08 [ТС] | |
|
Если я буду использовать randomize(), вопросы не могут повторится?
0
|
|
|
Супер-модератор
|
|
| 21.11.2017, 23:22 | |
Сообщение было отмечено Uucyc как решение
Решение
Могут. Чтобы вопросы не повторялись, нужно заполнить массив числами от 1 до количества вопросов, и перемешать его (для этого в С++ есть свои средства, а есть общие алгоритмы). А потом уже брать по этим индексам вопросы. Тогда они точно не будут повторяться.
1
|
|
|
0 / 0 / 0
Регистрация: 07.11.2017
Сообщений: 53
|
|
| 22.11.2017, 00:59 [ТС] | |
|
Пока ещё не делал ничего с тестами, сначала разбираюсь. Есть только база, ну и конечно же есть регистрация и личный профиль, всё. Теперь хочу реализовать тест, вот как, в голове не укладывается, по степенно направляете на светлую мысль...
Добавлено через 12 минут База у меня построена так: Первая таблица: id_quest (код вопроса); quest (текст вопроса); Вторая таблица: id_quest (код вопроса); id_answers (код ответа); anwers1 (первый вариант ответа); anwers2 (второй вариант ответа); anwers3 (вариант ответа); Таблицы связаны по id_quest (один ко многим); Добавлено через 1 час 12 минут volvo, суть вашей идеи уловил, нужен массив, предположим от 1 до 100. Заполняем через цикл по возрастанию. Потом перетасовываем его и id_quest присваиваем первое число массива. Это всё запихнуть в обработчик OnClick Баттона. Это вы имели ввиду ?
0
|
|
|
|
||
| 22.11.2017, 07:23 | ||
|
Одна запись в таблице ответов содержит один вариант ответа. Вторая таблица вот так: id_answers (код ответа); id_quest (код вопроса); anwers(вариант ответа); Тогда будет связь по id_quest
0
|
||
|
|
|
| 22.11.2017, 07:24 | |
|
А если как у Вас, то смысла нет в двух таблицах.
Одну достаточно делать.
0
|
|
|
управление сложностью
|
|
| 22.11.2017, 08:27 | |
|
Нее, одну таблицу с вопросами, и подчиненную ей таблицу с ответами, в которой отмечается флагом правильный ответ. Таким образом вы убиваете несколько зайцев. Корректное добавление/удаление вопросов, избавляет от гемора вычислять правильный ответ (даже если их будет несколько в одном вопросе), добавлять произвольное количество вариантов ответа.
1
|
|
| 22.11.2017, 08:27 | |
|
Помогаю со студенческими работами здесь
12
создание теста в C++ / помогите ! Перевод из Delphi в C++. Создание теста. Создание теста: реализовать подсчет правильных ответов Кодирование и декодирование теста
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|