- 1. Описание работы программы
Чтобы сформировать билет пользователь должен указать специальность. После выбора специальности появятся дисциплины данной специальности. После того, как пользователь укажет количество вопросов в билете, на экране выведутся, собственно, сами вопросы. Каждой дисциплине соответствуют 40 вопросов, которые разбиты по двум модулям. В каждом из модулей содержится по 20 вопросов, соответствующих дисциплине. Один модуль содержит теоретические вопросы билета, другой – практические [4]. Вся база данных сформирована в виде структурного массива, элементами которого будут являться вопросы дисциплин, причем наборы вопросов будут отличаться как для разных специальностей, так и для разных семестров. В конце работы пользователь, при желании, либо выводит на экран список билетов и сами вопросы, либо сохраняет их в файл.
В начале проекта были поставлены задачи, которые удалось реализовать течении всего проекта:
- ввод/вывод вопросов, соответствующих дисциплине;
- формирование билетов;
- реализованы экранные формы;
- реализованы взаимосвязи пользователя с программой;
- все списки билетов сохраняются в отдельный файл.
- 2. Математическая модель
С помощью алгоритма перемешивания программа будет получать список вопросов для набора билетов. Формируется список вопросов, при этом порядок их задается данным алгоритмом. Для этого будет использоваться следующая формула:
var array = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var random = new Random(DateTime.Now.Millisecond);
array = array.OrderBy(x => random.Next()).ToArray(); [1]
Работает этот алгоритм следующим образом: сначала задается массив с некоторым количеством чисел. Далее вызывается генератор случайных чисел. Последняя строка данного алгоритма позволяет создать новый, временный массив, в который отправляются данные числа, после чего массив сортируется по возрастанию, позволяя не использовать уже выданные числа.
- 3. ER-модель базы данных
Рисунок 1 – ER-модель
На рисунке 1 представлена ER-модель базы данных. Данная модель описывает структуру составления билетов. Здесь из всех имеющихся таблиц (дисциплины, группы, вопросы, вопросы билета, преподаватель, предмет, зав. кафедры) Данные поступают в основную таблицу «Билеты». При составлении основной таблицы, при выборе определенного поля, которое имеет связь с другими таблицами, появятся сами данные. При выборе определенных данных будет выводится порядковый номер связной таблицы. После выбора, таким образом всех данных, и будет составляться сам билет.
- 4. Рассмотрение готового программного продукта
При запуске программы появится главная форма, которая состоит из 2 пунктов. Пользователь сможет либо работать с уже имеющейся базой данных, либо внести изменения в базу данных. Если пользователь выбирает работу с имеющейся базой, перед ним открывается другое окно, которое позволяет реализовать следующие действия:
- выдать перечень вопросов;
- составить один билет;
- сформировать набор билетов.
Так же пользователь может выбрать несколько дисциплин. Для этого нужно выбрать «Задать несколько дисциплин». Пользователь сможет выбрать нужное количество, поставив галочки перед нужными дисциплинами.
Рисунок 2 – Редактирования форма
С помощью формы, изображенной на рисунке 2, пользователь сможет либо ввести сам, либо использовать уже имеющиеся в базе данных данные. Главная форма позволяет реализовать следующие действия:
- создать новую базу данных (позволяет создать новую базу данных и добавить новые записи);
- выполнить редактирование (данная кнопка позволяет изменить уже имеющиеся в базе данные);
- изменить список вопросов (позволяет добавить либо удалить вопросы по выбранной дисциплине);
- сохранить изменения (все изменения, произведенные с помощью предыдущих кнопок, сохраняются в файл).
- 5. Вывод
С помощью данной программы пользователь сможет легко и без всяких усилий составить экзаменационный билет. При помощи использованной формулы, представленной во 2 разделе, мы сможем решить проблему генерирования билетов, которая была описана автоматически
Библиографический список