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


Автор: Kantemir 13.5.2009, 18:16
Нужно составить программу-тест:
1. Вход : -преподаватель 
               -студент
2. Преподаватель задает количество вопросов и файл с вопросами.
3. Студент проходит тест и видит статистику количества верных и неверных
После завершения тетста появляеться окно - след. студент. выход
4.Преподаватель:
статистика тестирование:
-вся группа студентов -кол. верных и неверных
-по возростанию верных
-по убыванию верных
редакция базы:
-добавить вопрос
-удалить вопрос
-редактировать всю базу. 

Как организовать вообще саму программу ? Где что использовать ?  

Автор: Данкинг 13.5.2009, 19:55
Цитата(Kantemir @  13.5.2009,  19:16 Найти цитируемый пост)
Где что использовать ?   

БД используй для хранения вопросов. В остальном - понятие "где что" слишком обширно. smile 

Автор: Kantemir 13.5.2009, 20:38
У меня файл с вопросами выглядит след. образом :
Вопрос 1
- непрваильный
- непрваильный
+прваильный ответ 
- непрваильный

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

Автор: froex 13.5.2009, 20:59
Могу предложить для каждого ответа в БД завести поля:
1. Правильность ответа
2. Текст ответа

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

Стоит также подумать над хранением вопросов и какие именно к ним ответы идут. В БД можно либо сделать упорядоченно: вопрос и, скажем 4 ответа, вопрос и 4 ответа и т.д. Можно сделать на основе идентификаторов, т.е. каждому вопросу ставится в соответствие число (идентификатор), конечно, уникальное. А каждому ответу присваивается тоже число, которое равно идентификатору того вопроса, к которому этот ответ относится.

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


Кантемир, если есть аська, то стукни: 460095152 - можем обсудить smile У меня был как-то опыт в программах тестов.

Автор: Kantemir 13.5.2009, 21:11
Я наверное на завтра отложу, froex завтра во сколько в аське будешь(и не будешь занят ) ?

Автор: vikaz 13.5.2009, 21:14
Цитата(Kantemir @  13.5.2009,  18:16 Найти цитируемый пост)
Нужно составить программу-тест:

Молодой человек, если Вы студент, то тогда к Вам вопросов нет, а если все же Вы хотите написать что-то стоящее, то надо использовать клиент-серверную структуру. Просто этих систем ТЕСТ, как вы описываете, очень много, не надо идти за всеми, сделайте, что-то стоящее!!! smile То что заслужит внимания..... smile надеюсь что не  smile   smile 

ЗЫ. Да и как-то у Вас все слишком просто, а Вы не думали что вопросы и ответы могут быть разные?
 Вопросы:
 
  •  Вопрос с одним ответом
  •  Вопрос с несколькими ответами
  •  Вопрос с ответами которые лежат в дапозоне
  •  Вопрос в котором надо упорядочить ответы

Можно еще придумать но это основное. smile

Автор: froex 13.5.2009, 21:24
Кантемир, я в аське всегда smile

Виказ, ты прав - надо делать что-то стоящее. Но не обязательно на клиент-серверной струтуре.

Автор: Kantemir 13.5.2009, 21:35
Да. я студент, эта программа моя курсовая работа. Насчет вопросов, у меня файл с вопросами и там должны быть только 
 Вопрос с одним ответом
 Вопрос с несколькими ответами


Прогрмма может не поддерживать обработку :
 Вопрос с ответами которые лежат в дапозоне
 Вопрос в котором надо упорядочить ответы
и др..

Автор: vikaz 13.5.2009, 21:37
Цитата(froex @  13.5.2009,  21:24 Найти цитируемый пост)
Виказ, ты прав - надо делать что-то стоящее. Но не обязательно на клиент-серверной струтуре. 

Ну может и так, но мне кажется это самое то. Как здорово, когда у преподавателя стоит оболочка "Администратор", в которой он может создавать новые темы вопросов, смотреть, кто сейчас здает и что...... А на стороне студента, просто клиент, который таскает с сервера инфу, при этом невозможно узнать ответы на вопросы, т.к. они хранятся в базе и к ним имеет доступ только серверная часть..... КЛАСС!!! smile

Добавлено через 1 минуту и 18 секунд
Цитата(Kantemir @  13.5.2009,  21:35 Найти цитируемый пост)
Да. я студент, эта программа моя курсовая работа. Насчет вопросов, у меня файл с вопросами и там должны быть только 
 Вопрос с одним ответом
 Вопрос с несколькими ответами


Прогрмма может не поддерживать обработку :
 Вопрос с ответами которые лежат в дапозоне
 Вопрос в котором надо упорядочить ответы
и др.. 


Ну я так примерно и понял, для тебя сейчас главное сдать..... а все остальное ЛИРИКА! smile

Автор: kemiisto 13.5.2009, 21:41
Kantemir, будет время http://sites.google.com/site/kemiisto/projects/ekzamenanto. Код там исчо то гуано smile , но может что-то подчерпнёшь. 

Автор: froex 13.5.2009, 21:51
Кантемир, можно каждую группу вопросов и ответов на них в файле отделять пустой строкой. Первая строка и каждая после пустой - это текст вопроса. То, что до следующей пустой строки - по одной строке на ответ. Помечать правильные все равно надо будет, поэтому ставь, что ли "+" и "-".

Кемисто, не ругайся по-научному smile (это насчет гуано)

Автор: Dmi3ev 13.5.2009, 22:44
Цитата

Виказ, ты прав - надо делать что-то стоящее. Но не обязательно на клиент-серверной струтуре. 

надо то, оно надо, но вот что я сделал отцу на открытый урок в школе, когда времени было совсем немного (и надо было чтобы все было без БД, просто дальше некуда):
+ пример файла с вопросами

Автор: Dmi3ev 13.5.2009, 22:46
а вот эту папочку МуТХТ надо в корень на С положить и посмотишь, как оно, код легко исправить, чтобы динамически задавать количество вопросов, но суть будет ясна...

Автор: Dmi3ev 13.5.2009, 22:52
соответственно подправить есть что
1) сделать динамическое количество вопросов, это можно легко реализовать с помощью vector 
2) сделать так, чтобы директория с вопросам была не статична, а с помощью ExtractFilePath(Application->ExeName) задавалась...
3) усовершенствовать запись результатов
4) увеличить разнообразие вопросов, и делать выбор с помощью rand
просто повторюсь, что я это делал для отца, чтобы он провел открытый урок с детишками, поэтому особо не заморачивался, ему нужно было на это доске просто поработать с проектором + компы задействовать, вот у каждого была своя папочка с заданием...

Автор: Keeper89 14.5.2009, 00:08
Цитата(kemiisto @  13.5.2009,  21:41 Найти цитируемый пост)
будет время посмотри. Код там исчо то гуано smile , но может что-то подчерпнёшь. 

А мне понравилось. Если что, можно будет переработать и продолжить, а то и до неплохого оупенсурсного проекта дойти.  smile  smile 
Что касается темы, думаю froex все прояснит автору. smile

Автор: froex 14.5.2009, 06:15
Автор пока со мной не связывался. Вообще, я дебианщик - чую я, что придется Borland Studio пробовать под вайном.

Dmi3ev, хорошая идея насчет не статической директории с вопросами.

Автор: froex 14.5.2009, 07:13
Кемисто, неплохой примерчик ;)

Автор: Dmi3ev 14.5.2009, 08:03
Цитата

Dmi3ev, хорошая идея насчет не статической директории с вопросами. 

вообще идей много, только специально писать лень...
когда я делал, повторюсь, стояла задача просто показать, что типа батя мой и программер немного, те под свои уроки пишет
+ к этому неясно было, что есть на компах, чего нет, поэтому использовал тхт, + к этому статическая директория даже лучше была, проще было бате объяснить, что просто закидывай папку МуТХТ для опр. варианта на С, а потом Махмед отойди и ничего не трогай...
в принципе с файлами плохо, но вполне тянет... например для такого случая, когда неясно, оборудован комп чем-нибудь кроме винды или нет... 
+ там не совсем тест, там надо не выбрать, а решить...А это задача такая же по сути, но немного другая. поэтому мне видится это так
1) создать БД с вопросами и ответами
Таблица 1 - перечень вопросов
id вопроса
tq текст вопроса
a вариант ответа
Таблица 2 - преподаватели
Код препода
Фамилия препода
//еще какие то данные о нем
Таблица 3 - студенты
Код студента
Фамилия студента
//группа, еще что-то
Таблица 4 - проверка
Код проверки
Дата проверки
Код препода
Код студента
Количество вопросов
Количество правильных ответов
Оценка

вот так как-то...

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