Пояснительная записка для программы «Тестер»

advertisement
Пояснительная записка для программы «Тестер».
Программа «Тестер» создана в программе Visual Basic версии 6.0.
Программа состоит из формы Form1, где расположены 40 текстовых
полей: 10 для записи номеров вопросов, 10 для записи ответов, данных
тестируемым, 10 для правильных ответов, также 1, в которой будет
выводится количество правильных ответов, одна для вывода вопроса,
остальные 8 – помогают пользователю ориентироваться в интерфейсе; 4
кнопки «Начать тест», «Выход», а также 2 кнопки перемещения между
вопросами; 3 поля для выбора ответа; таймер.
Далее приводится текст программы и комментарии к нему:
‘массив номеров правильных ответов
Dim p(1 To 10) As Integer
‘массив текста вопросов
Dim vopros(1 To 10) As String
‘массив текста ответов
Dim otvet(1 To 10, 1 To 3) As String
‘переменные номер вопроса, кол-во вопросов, время в секудках
Dim k As Integer, n As Integer, sek As Integer
‘загрузка формы
Private Sub Form_Load()
‘запуск подпрограммы «загрузка»
zagr
‘в случае, если количество вопросов меньше 10, скрывает незадействованные
поля
For i = n To 9
Lbl_N(i).Visible = False
Lbl_a(i).Visible = False
Lbl_p(i).Visible = False
Next
End Sub
‘подпрограмма «Загрузка»
Private Sub zagr()
‘открывает файл "test.txt" для чтения
Open "test.txt" For Input As #1
‘присваивает переменной времени значение из первой строки
Input #1, min
‘перевод минут в секунды
sek = Min * 60
‘считывает количество вопросов
Input #1, n
‘если n>10
If n>10 then n=10
‘считывает вопрос, 3 варианта ответа и правильный ответ
For i = 1 To n
Input #1, vopros(i)
For j = 1 To 3
Input #1, otvet(i, j)
Next
Input #1, p(i)
Next
Close #1
End Sub
‘подпрограмма «нажатие кнопки»
Private Sub cmd_nach_Click()
‘запуск таймера
TxtTime.Visible = True
tmr1.Enabled = True
Метка1.Visible = True
‘обнуление номера вопроса
k=0
‘кнопка переключения вопросов «вперед» делается видимой
vpered.Visible = True
‘кнопка «Начать тест» делается невидимой
cmd_nach.Visible = False
‘запуск подпрограммы «вперед»
vpered_Click
End Sub
‘подпрограмма «назад»
Private Sub nazad_Click()
For i = 1 To 3
If otv(i - 1).Value = True Then Lbl_a(k - 1) = Str(i)
Next
‘выделяет розовым цветом номер вопроса
Lbl_N(k - 1).BackColor = &HC000&
‘переменной номера вопроса присваивается номер текущего вопроса
k=k-1
‘кнопка «вперед» становится видимой
vpered.Visible = True
‘переменной номера вопроса присваивается номер текущего вопроса
vopr = vopros(k)
‘в соответствующие поля вводятся варианты ответов
For i = 1 To 3
otv(i - 1).Caption = otvet(k, i)
If Val(Lbl_a(k - 1)) = i Then otv(i - 1).Value = True Else otv(i - 1).Value = False
Next
Lbl_N(k - 1).BackColor = vbMagenta
‘на первом вопросе кнопка «назад» - невидимая
If k = 1 Then
nazad.Visible = False
End If
End Sub
‘подпрограмма «таймер»
Private Sub tmr1_Timer()
‘выход по истечение времени
If sek = 0 Then Комманда4_Click
TxtTime = TimeSerial(0, 0, sek)
sek = sek - 1
End Sub
‘подпрограмма «вперед»
Private Sub vpered_Click()
If k > 0 Then
‘запоминание ответа в массив
For i = 1 To 3
If otv(i - 1).Value = True Then Lbl_a(k - 1) = Str(i)
Next
‘выделяет розовым цветом номер вопроса
Lbl_N(k - 1).BackColor = &HC000&
End If
‘переменной номера вопроса присваивается номер текущего вопроса
k=k+1
‘переменной номера вопроса присваивается номер текущего вопроса
If k <= n Then
vopr = vopros(k)
For i = 1 To 3
otv(i - 1).Caption = otvet(k, i)
If Val(Lbl_a(k - 1)) = i Then otv(i - 1).Value = True Else otv(i - 1).Value = False
Next
Lbl_N(k - 1).BackColor = vbMagenta
‘начиная со 2 вопроса кнопка «назад» видимая
If k = 2 Then
nazad.Visible = True
End If
End If
‘на последнем вопросе кнопка «вперед» невидима
If k = n Then
vpered.Visible = False
End If
End Sub
‘подпрограмма «Выход»
Private Sub Комманда2_Click()
End
End Sub
‘подпрограмма «Результат»
Private Sub Комманда4_Click()
‘таймер, кнопки «вперед» и «назад» невидимы
tmr1.Enabled = False
nazad.Visible = False
vpered.Visible = False
If k = n Then
‘запоминание ответа в массив
For i = 1 To 3
If otv(i - 1).Value = True Then Lbl_a(k - 1) = Str(i)
Next
Lbl_N(k - 1).BackColor = &HC000&
End If
‘подсчет правильных ответов
For i = 0 To n - 1
Lbl_p(i) = Str(p(i + 1))
If Lbl_p(i) = Lbl_a(i) Then
K_Pr = K_Pr + 1
‘окрашивание правильного ответа в зеленый
Lbl_a(i).BackColor = &HC000&
Else
'окрашивание неправильного ответа в красный
Lbl_a(i).BackColor = vbRed
End If
Next
‘вывод количества правильных ответов
lbl_Pr = Str(K_Pr)
End Sub
Содержание теста находится в файле “test.txt” набирается в программе
«Блокнот». Программа «Тестер» сделана для того, чтобы люди могли быстро
создать тест. Благодаря ей вы сможете проверить себя или своих учеников,
что улучшит и закрепит знания.
Структура файла test.txt:
Продолжительность теста в минутах (целое число)
Количество вопросов (целое число N от 1 до 10)
Далее N раз повторяется группа строчек:
Текст вопроса
Текст ответа №1
Текст ответа №2
Текст ответа №3
Номер правильного ответа (целое число от1 до 3).
При разработке программы я пользовался: знаниями, приобретенными
на уроках информатики и ИКТ, консультациями своего преподавателя по
предмету и Интернетом.
Download