УМК_ПрОА_4
.pdf3.6Методические указания к выполнению курсовой работы*
1.ЦЕЛЬ И СТРУКТУРА КУРСОВОЙ РАБОТЫ
Курсовая работа предназначена для освоения технологии визуального программирования, выполняется в системе программирования Microsott Visual Basic 6.0 с использованием языка Basic.
Курсовая работа включает 2 уровня заданий:
1.Задание первого уровня:
является единым для студентов группы,
выполняется на основе методических указаний,
не требует знаний языка программирования,
демонстрирует компонентный подход к разработке приложений,
представляет собой программный комплекс для тестирования знаний,
состоит из двух приложений (АРМ преподавателя и АРМ обучаемого),
работающих совместно благодаря общим данным, сохраняемым в текстовых файлах,
состоит в разработке дизайна экранных форм приложений, задания свойств элементов управления форм, встраивания готовых кодов обработки событий, вызываемых действиями пользователя в экранных формах.
2.Задание второго уровня:
является индивидуальным для каждого студента группы,
выполняется по аналогии с заданием первого уровня, но без методических указаний, готовых кодов и других подсказок,
закрепляет практические навыки в технологии визуального программирования,
требует понимания языка программирования Basic в объеме кодов из задания первого уровня.
** Нумерация разделов, рисунков и таблиц в опорном конспекте является автономной
180
2.ЗАДАНИЕ ПЕРВОГО УРОВНЯ: РАЗРАБОТКА СИСТЕМЫ ТЕСТИРОВАНИЯ
Цель работы – разработка программного комплекса контроля знаний
«Система тестирования», состоящего из двух автоматизированных рабочих места для пользователей: «АРМ преподавателя» и «АРМ обучаемого».
Пользователи системы тестирования – преподаватель и обучаемый.
Порядок их работы представлен на рис. 1.
Порядок работы преподавателя в процессе создания контрольного задания:
1.Присвоить контрольному заданию шифр (имя контрольной работы).
2.Ввести и сохранить 19 вопросов с 3-5 альтернативными ответами по каждому вопросу. Вопросы должны иметь возрастающую степень сложности.
3.При необходимости просмотреть введенные вопросы и ответы,
отредактировать их.
Порядок работы обучаемого в процессе тестирования:
1.Зарегистрироваться в системе тестирования (ввести фамилию).
2.Указать шифр задания (имя контрольной работы).
3.Отвечать на появляющиеся вопросы (обучаемому предлагается 5 вопросов
снарастающей сложностью) путем указания порядкового номера правильного ответа из числа альтернативных.
4.Уложиться в отведенное для тестирования время (по умолчанию – 10
минут).
5.По завершении тестирования получить результат в виде оценки по пятибалльной шкале:
пять правильных ответов – оценка 5;
четыре правильных ответа – оценка 4;
три правильных ответа – оценка 3;
два и менее правильных ответа – оценка 2.
181
ПОРЯДОК РАБОТЫ ТЕСТОВОЙ СИСТЕМЫ Программный комплекс контроля знаний «Система тестирования» состоит из двух приложений:
«АРМ преподавателя» и «АРМ обучаемого».
1.Для работы тестовой системы преподаватель должен создать контрольную работу, состоящую из 19 вопросов, не более 5 вариантов ответов по каждому вопросу и правильных ответов.
2.Вопросы следует группировать по возрастающей степени сложности:
1-3 вопросы - первая группа;
4-6 вопросы - вторая группа;
7-10 вопросы - третья группа;
11-14 вопросы - четвертая группа;
15-19 вопросы - пятая группа.
3.АРМ обучаемого отображает каждому обучаемому 5 вопросов по одному из каждой группы. Вопрос в группе выбирается случайным образом. Обучаемый выбирает номер правильного ответа путем нажатия на соответствующую цифровую клавишу. По результатам тестов обучаемому выставляется оценка по пятибалльной шкале.
ПОРЯДОК РАБОТЫ «АРМ ПРЕПОДАВАТЕЛЯ»
Рабочее окно приложения «АРМ преподавателя» разделено на три области:
1.В верхней части экранной формы пользователь записывает имя контрольной работы <имя_файла>. Это позволит сохранить каждый вопрос, его ответы и правильный ответ в виде уникальной записи в файл c именем <имя_файла>, по умолчанию сохраняемый в каталоге С:\Let, который должен быть создан на диске заранее.
2.В средней части экранной формы пользователь формирует каждую запись контрольной работы, действуя в следующем порядке: ввод номера вопроса, вопроса, вариантов ответов, номера правильного ответа, подтверждение номера введенного вопроса (переключать «№ введен»), кнопка «Запись». В файл С:\Let\<имя_файла> добавится новая запись.
3.В нижней части экранной формы пользователь просматривает записи, сохраненные в файле контрольной работы С:\Let\<имя_файла>. Для этого следует указать номер вопроса и нажать кнопку «Вызов». Запись, соответствующая вызываемому вопросу, отобразится в текстовых полях данной части экранной формы. Если требуется отредактировать текущую запись, выбрать опцию «Редактор». Запись, соответствующая вызываемому вопросу, отобразится в текстовых полях средней части экранной формы, что позволит внести в нее изменения и сохранить в файле, нажав кнопку «Запись».
ПОРЯДОК РАБОТЫ «АРМ ОБУЧАЕМОГО»
Рабочее окно приложения «АРМ обучаемого» разделено на три области:
1.В верхней части экранной формы пользователь вводит имя контрольной работы, содержащей тестовые вопросы, и собственную фамилию.
2.В средней части экранной формы находятся поля вопроса и вариантов ответов. Порядковый номер очередного вопроса будет отображаться в поле, расположенном слева от поля вопроса.
3.В нижней части экранной формы расположены два табло, заключенные в рамки:
табло для вывода времени (в секундах), которое осталось для ответа на поставленные вопросы;
табло для ввода номера правильного ответа, состоящее из блока цифровых кнопок.
Текстовое поле и переключатель «Ввод» предназначены для ввода текстового ответа на вопрос для случая, когда в вопросе отсутствуют варианты ответов.
Для начала работы следует ввести имя контрольной работы, фамилию обучаемого и нажать клавишу «Enter». Экранная форма приложения отображает 5 вопросов, случайным образом выбираемых из записей файла контрольной работы. Для ответа на поставленный вопрос следует нажать на кнопку с номером правильного ответа. В случае, если вариантов ответов нет, следует ввести текст ответа в поле ввода, расположенное в правом нижнем углу рабочей области, и нажать на переключатель «Ввод».
При совпадении выбранного номера ответа с правильным ответом соответствующей записи рейтинг обучаемого повышается на один балл. По результатам тестов обучаемому выставляется оценка по пятибалльной шкале:
пять правильных ответов – оценка 5;
четыре правильных ответа – оценка 4;
три правильных ответа – оценка 3;
два и менее правильных ответа – оценка 2. Выполнение контрольной работы рассчитано на 10 минут.
182
Рис. 1 Инструкция по работе с системой тестирования
2.1 Создание приложения «АРМ преподавателя»
2.1.1 Последовательность этапов разработки приложения
1Запустить MS Visual Studio 6.0 -> MS Visual Basic 6.0
2Выбрать вид нового файла Standart.exe
3На рабочем столе появилась пустая форма.
4Увеличить ее размер до визуально-приятного.
5Поместить на форму элементы управления в соответствии с рис. 2
6Присвоить значения свойств каждому элементу формы в соответствии с табл. 1.
7В окно редактора кода скопировать программный код в соответствии с листингом 1.
2.1.1.1 Дизайн стартовой формы
Стартовая форма приложения «АРМ преподавателя» условно состоит из трех
частей (рис. 2):
1.В верхней части расположено поле для ввода имени файла, в который будут записываться (из которого будут вызываться для редактирования) вопросы контрольной работы;
2.В средней части (поля записи-редактирования) расположены два табло (заключенные в рамки):
табло ввода номера (ввод номера вопроса – поле Вопрос №,
подтверждение номера с помощью переключателя «№ введен» и запись вопроса в файл с помощью кнопки Запись);
табло ввода текста (ввод вопроса – поле Вопрос:, ввод возможных вариантов ответов – поле Ответы:, ввод номера правильного ответа из приведенных в поле Ответы: – поле Правильный ответ:);
3.В нижней части (поля просмотра) расположены два табло (заключенные в рамки):
табло ввода номера (ввод номера вопроса – поле Вопрос №, вызов вопроса
183
из файла для редактирования с помощью переключателя «Редактор»,
вызов вопроса из файла для просмотра с помощью кнопки Вызов);
табло просмотра текста (просмотр вопроса – поле Вопрос:, просмотр возможных вариантов ответов – поле Ответы:, просмотр номера правильного ответа из приведенных в поле Ответы: – поле Правильный ответ).
Основные свойства стартовой формы (Form1) приведены табл. 1.
Рекомендуется начинать заполнять форму с установки фреймов (рамок).
Рамки служат для объединения элементов в группы. Для создания рамки нужно выполнить щелчок по элементу Frame на панели элементов, установить графический курсор в форме, нажать левую кнопку мыши и, не отпуская ее,
передвинуть мышь. Положение и размеры рамки в форме могут быть легко изменены традиционными для Windows способами. Если сначала создать рамку,
а затем расположить внутри нее элементы, то переместить эти объекты за пределы рамки нельзя. В этом случае получается своего рода контейнер,
подобно форме, содержащей элементы внутри своих границ Имена элементов управления на форме начинаются с сокращенного
названия элемента, за которым следует смысловая мнемоническая часть.
Таблица 1. Свойства и их значения для элементов управления стартовой формы приложения «АРМ преподавателя»
№ п/п |
Имя элемента (значение |
Назначение |
|
Свойство |
Значение |
|
свойства Name) |
|
|
|
|
|
|
Стартовая форма |
|
|
|
1 |
Form 1 |
|
|
Caption |
АРМ |
|
|
|
|
|
преподавателя |
|
|
Метки Label |
|
|
|
1 |
lblNlet |
надпись "Имя контрольной |
Caption |
Имя контрольной |
|
|
|
работы"; |
|
|
работы |
2 |
lblText1 |
надпись "Вопрос №"; |
|
Caption |
Вопрос № |
|
(lblText2) |
|
|
|
|
3 |
lblV1 (lblV2) |
надпись "Вопрос:"; |
|
Caption |
Вопрос: |
4 |
lblO1 (lblO2) |
надпись "Ответы:"; |
|
Caption |
Ответы: |
5 |
lblNpo1 (lblNpo2) |
надпись «Правильный ответ:». |
Caption |
Правильный |
|
|
|
|
|
|
ответ: |
|
|
Поля редактирования TeхtBoх |
|
|
|
6 |
txtNlet |
поле для ввода имени файла с |
TabIndex |
0 |
|
|
|
вопросами контрольной |
работы |
|
|
|
|
(составляющая Nlet - |
«номер |
|
|
184
|
|
летучки»); |
|
|
|
|
|
|
|
|
|
7 |
txtNv1 (txtNv2) |
поле для ввода номера вопроса, |
|
TabIndex |
1 |
(7) |
|||||
|
|
который должен быть записан в |
|
|
|
|
|||||
|
|
файл |
вопросов |
контрольной |
|
|
|
|
|||
|
|
работы |
(вызван |
|
на |
|
|
|
|
||
|
|
редактирование, исправление); |
|
|
|
|
|||||
8 |
txtTexv1 |
поле |
для записи |
вопроса |
(поле |
|
MultiLine |
True |
|||
|
(txtTexv2) |
для просмотра |
вызванного на |
|
|
|
|
||||
|
|
ScrollBars |
2 |
— Vertical |
|||||||
|
|
редактирование вопроса); |
|
|
|||||||
|
|
|
|
Enabled |
True (False) |
||||||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
TabIndex |
2 |
(-) |
9 |
txtTexo1 |
поле |
для |
записи возможных |
|
MultiLine |
True |
||||
|
(txtTexo2) |
вариантов |
ответов |
|
на |
|
ScrollBars |
2 |
— Vertical |
||
|
|
поставленный вопрос (поле для |
|
||||||||
|
|
|
Enabled |
True (False) |
|||||||
|
|
просмотра |
вызванных |
на |
|
||||||
|
|
редактирование |
вариантов |
|
TabIndex |
3 |
(-) |
||||
|
|
ответов); |
|
|
|
|
|
|
|
|
|
10 |
txtNpo1 (txtNpo2) |
поле |
для |
записи |
номера |
|
Enabled |
True (False) |
|||
|
|
правильного |
|
ответа |
|
из |
|
|
|
|
|
|
|
перечисленных |
в |
|
поле |
|
|
|
|
||
|
|
|
|
TabIndex |
4 |
(-) |
|||||
|
|
txtTexo1 (поле для просмотра |
|
||||||||
|
|
правильного ответа). |
|
|
|
|
|
|
|||
|
|
Переключатели OptionButton |
|
|
|
||||||
11 |
optZ |
переключатель, |
служащий |
для |
|
Caption |
№ введен |
||||
|
|
подтверждения |
правильности |
|
|
|
|
||||
|
|
ввода номера вопроса, который |
|
|
|
|
|||||
|
|
|
TabIndex |
5 |
|
||||||
|
|
будет записан в файл; |
|
|
|
|
|
|
|||
12 |
optR |
переключатель, |
служащий |
для |
|
Caption |
Редактор |
||||
|
|
подтверждения |
правильности |
|
|
|
|
||||
|
|
ввода |
номера |
вопроса, |
|
|
|
|
|||
|
|
|
TabIndex |
8 |
|
||||||
|
|
вызываемого |
на |
редактирование |
|
|
|||||
|
|
из файла |
|
|
|
|
|
|
|
|
|
|
Командные кнопки CommandButton |
|
|
|
|
|
|
|
|||
13 |
cmdZap |
кнопка записи вопроса в файл; |
|
TabIndex |
6 |
|
|||||
14 |
cmdVyz |
кнопка вызова вопроса из файла |
|
TabIndex |
9 |
|
|||||
|
|
для просмотра |
|
|
|
|
|
|
|
185
Frame1 |
Frame2 |
lblNlet |
|
|
|
Form1 |
|
|
|
|
|
txtNv1 |
|
lblV1 |
lblO1 |
lblNpO1 |
txtNlet |
|
|
|
|
|
|
|
|
Имя контрольной работы |
|
|
txtTexv1 |
lblText1 |
|
|
|
|
|
|
|
|
|
|
|
Вопрос № |
Вопрос |
|
|
|
|
optZ |
|
|
|
txtTexo1 |
|
|
|
|
|
||
|
|
|
|
|
|
cmdZap |
№ введен |
Ответы |
|
|
txtNpo1 |
|
|
|
|||
|
|
|
|
||
txtNv2 |
ЗАПИСЬ |
Правильный |
|
|
|
ответ |
|
|
|
||
|
|
|
|
||
lblText2 |
|
|
|
|
txtTexv2 |
|
|
|
|
|
|
Вопрос № |
Вопрос |
|
|
|
|
optR |
|
|
|
txtTexo2 |
|
|
|
|
|
||
|
|
|
|
|
|
cmdVyz |
Редактор |
Ответы |
|
|
txtNpo2 |
|
|
|
|||
|
|
|
|
||
|
ВЫЗОВ |
Правильный |
|
|
|
|
ответ |
|
|
|
|
|
|
|
|
|
|
Frame3 |
Frame4 |
lblNpO2 |
lblO2 |
lblV2 |
|
|
|
|
|
||
|
Рис. 2. Стартовая форма приложения «АРМ преподавателя» |
|
186
2.1.2Переменные и программный код приложения
Для объявления глобальных переменных, доступных всем элементам
приложения и используемых в тексте программного кода, необходимо к проекту
добавить модуль формы:
в меню команд VB 6.0 выбрать команду Project;
в раскрывшемся списке выполнить команду Add Module. Модуль
(Module1) будет добавлен в список модулей проекта.
Программный код обработки событий в приложении «АРМ
преподавателя» использует следующие переменные памяти:
1.z — запись типа vop, состоящая из трех полей, в которых размещены символьные строки для хранения:
v — вопроса,
о — ответов,
n — правильного ответа;
2.nvz — переменная для хранения номера вопроса (записи) в файле прямого доступа;
3.nvv — переменная, в которой содержится номер вопроса (записи),
вызываемого из файла прямого доступа, для просмотра или редактирования.
Тексты кодов приложения представлены в листинге 1.
Листинг 1.
(General) -> (Declarations)
Public nvz As Integer, nvv As Integer
Private Sub cmdVyz_Click()
Dim z As vop
nvv = Val(txtNv2.Text) txtTexv2.Text = "" txtTexv2.Refresh txtTexo2.Text = "" txtTexo2.Refresh txtNpo2.Text = "" txtNpo2.Refresh
Open "c:\let\" + txtNlet.Text + ".txt" For Random As #1 Len = 2048 If txtNlet.Text = "" Then
187
MsgBox ("Где имя работы?")
GoTo m1
End If
If nvv = 0 Then
MsgBox ("Где номер вопроса?")
GoTo m1
End If
MsgBox ("Открываем файл!") Get #1, nvv, z cmdVyz.Caption = "Готово!" For i = 1 To 100000000 Next i
cmdVyz.Caption = "Bызов" txtTexv2.Text = z.v txtTexv2.Refresh txtTexo2.Text = z.o txtTexo2.Refresh txtNpo2.Text = z.n txtNpo2.Refresh
m1: Close 1 z.v = "" z.o = "" z.n = ""
txtNv2.SetFocus m2: End Sub
Private Sub cmdZap_Click()
Dim z As vop
z.v = txtTexv1.Text z.o = txtTexo1.Text z.n = txtNpo1.Text
If optZ.Value = False Then MsgBox ("Подтвердите № записи!") txtNvl.SetFocus
GoTo m2
End If
Open "c:\let\" + txtNlet.Text + ".txt" For Random As #1 Len = 2048 If z.v = "end" Then End
If z.v = "" Then
MsgBox ("Где вопрос?")
GoTo m1
End If
If z.o = "" Then
MsgBox ("Где ответы?")
GoTo m1
End If
If z.n = "" Then
MsgBox ("Где правильный ответ?")
GoTo m1
End If
If nvz = 0 Then
MsgBox ("Где номер вопроса?")
GoTo m1
End If
188
If txtNlet.Text = "" Then
MsgBox ("Где имя работы?")
GoTo m1
End If
Put #1, nvz, z cmdZap.Caption = "Готово!" For i = 1 To 1000000
Next i
cmdZap.Caption = "3апись" m1: Close 1
optZ.Value = False 'c6poc флажка txtTexv1.Text = " " txtTexo1.Text = " " txtNpo1.Text = " "
txtNv1.Text = " " txtTexv1.SetFocus m2: End Sub
Private Sub Form_Load()
i=0 End Sub
Private Sub Form_Unload(Cancel As Integer)
End Sub
Private Sub mnuExit_Click()
End
End Sub
Private Sub mnuHelpAbout_Click()
frmHelpAbout.Show 1 End Sub
Private Sub mnuHelpInst_Click ()
frmHelpInst.Show 1 End Sub
Private Sub optR_Click()
Dim z As vop
nvv = Val(txtNv2.Text) If txtNlet.Text = "" Then
MsgBox ("Где имя работы?")
GoTo m1
End If
txtTexv1.Text = "" 'очистка полей записи txtTexv1.Refresh
txtTexo1.Text = "" txtTexo1.Refresh txtNpo1.Text = "" txtNpo1.Refresh txtNv1.Text = ""
189