End Sub
V. Выполнить команду Insert-Module и в появившемся окне набрать следующий код:
'Глобальные переменные
Public fam As String 'фамилия
Public nam As String 'имя Public grup As String 'группа
Public n As Single 'количество тестовых заданий
Public t As Date 'среднее время, отведенное на выполнение одного задания в секундах (значение n*t определяет время тестирования)
'Процедура вывода итогов тестирования на лист "Результат"
Public Sub Prin(s) |
|
|
|
|
|
|
|
|
|
|
|
|
|
Worksheets("Результат").Select |
|
|
|
|
|
|
|
|
|||||
Cells(1, 1) = "Результат тестирования" |
|
|
|
|
|
|
|||||||
Cells(2, 1) = fam & " " & nam & ". " & grup |
|
|
|
2015 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
", |
|
Cells(3, 1) = "Всего заданий " & n & ". Правильных ответов " & s |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
А |
И |
|
Cells(4, 1) = "Оценка в баллах: " & Round(s / n * 100,Д0) & " из 100" |
|||||||||||||
Worksheets("Тест").Select |
|
|
|
С |
б |
|
|
||||||
|
|
" |
и |
|
|
|
|||||||
End Sub |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
О |
|
|
|
|
|
|
||
|
|
|
|
|
П |
|
|
|
|
|
|
|
|
|
|
|
|
В |
|
|
|
|
|
|
|
|
|
|
|
Б |
У |
|
|
|
|
|
|
|
|
|
|
'Процедура вычисленияОколичества правильных ответов |
|
||||||||||||
) |
Г |
s As Single) |
|
|
|
|
|
|
|
||||
Public Sub Rez(ByRefФ |
|
|
|
|
|
|
|
||||||
С |
|
правильных ответов |
|
|
|
|
|
|
|||||
s = 0 'количество( |
|
|
|
|
|
|
|||||||
If Лист1.TextBox1.Text = "1011100110" Then s = s + 1
If Лист1.CheckBox1.Value = False And Лист1.CheckBox2.Value = False And Лист1.CheckBox3.Value = False And Лист1.CheckBox5.Value = False And Лист1.CheckBox4.Value = True Then s = s + 1
If Лист1.CheckBox6.Value = False And Лист1.CheckBox7.Value = False And Лист1.CheckBox9.Value = False And Лист1.CheckBox8.Value = True Then s = s + 1
If Лист1.CheckBox11.Value = False And Лист1.CheckBox12.Value = False And Лист1.CheckBox13.Value = False And Лист1.CheckBox10.Value = True Then s = s + 1
If Лист1.CheckBox14.Value = True And Лист1.CheckBox15.Value = False And Лист1.CheckBox16.Value = False And Лист1.CheckBox17.Value = True And Лист1.CheckBox18.Value = False Then s = s + 1
If Лист1.CheckBox19.Value = True And Лист1.CheckBox20.Value = False And Лист1.CheckBox21.Value = False And Лист1.CheckBox22.Value = False Then s = s + 1
If Лист1.TextBox2.Text = "0" Then s = s + 1 If Лист1.TextBox3.Text = "12" Then s = s + 1
If Лист1.CheckBox23.Value = True And Лист1.CheckBox24.Value = False And Лист1.CheckBox25.Value = False And Лист1.CheckBox26.Value = False And Лист1.CheckBox27.Value = False Then s = s + 1
If Лист1.CheckBox28.Value = False And Лист1.CheckBox29.Value = True And Лист1.CheckBox30.Value = False And Лист1.CheckBox31.Value = True And Лист1.CheckBox32.Value = False Then s = s + 1
End Sub
'Процедура очищения полей ввода и удаления флажков в ответах
Public Sub Clear()
Лист1.TextBox1.Text = "" |
|
|
|
|
|
|
|
|
|
|
2015 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Лист1.TextBox2.Text = "" |
|
|
|
|
|
|
|
|
|
", |
|||
|
|
|
|
|
|
А |
И |
|
|||||
Лист1.TextBox3.Text = "" |
|
|
|
|
|
|
|
||||||
|
|
|
С |
б |
Д |
|
|
||||||
Лист1.CheckBox1.Value = False |
|
|
|
|
|
|
|||||||
|
" |
и |
|
|
|
|
|
||||||
Лист1.CheckBox2.Value = False |
|
|
|
|
|
|
|
|
|||||
О |
|
|
|
|
|
|
|
|
|||||
|
|
|
П |
|
|
|
|
|
|
|
|
|
|
Лист1.CheckBox3.Value = FalseВ |
|
|
|
|
|
|
|
|
|
|
|||
|
Б |
У |
|
|
|
|
|
|
|
|
|
|
|
Лист1.CheckBox4.ValueО= False |
|
|
|
|
|
|
|
|
|
|
|||
) |
Г |
= False |
|
|
|
|
|
|
|
|
|
|
|
Лист1.CheckBox5.ValueФ |
|
|
|
|
|
|
|
|
|
|
|||
С |
|
= False |
|
|
|
|
|
|
|
|
|
|
|
Лист1.CheckBox6.Value( |
|
|
|
|
|
|
|
|
|
|
|||
Лист1.CheckBox7.Value = False Лист1.CheckBox8.Value = False Лист1.CheckBox9.Value = False Лист1.CheckBox10.Value = False Лист1.CheckBox11.Value = False Лист1.CheckBox12.Value = False Лист1.CheckBox13.Value = False Лист1.CheckBox14.Value = False Лист1.CheckBox15.Value = False Лист1.CheckBox16.Value = False Лист1.CheckBox17.Value = False Лист1.CheckBox18.Value = False Лист1.CheckBox19.Value = False Лист1.CheckBox20.Value = False
Лист1.CheckBox21.Value = False Лист1.CheckBox22.Value = False Лист1.CheckBox23.Value = False Лист1.CheckBox24.Value = False Лист1.CheckBox25.Value = False Лист1.CheckBox26.Value = False Лист1.CheckBox27.Value = False Лист1.CheckBox28.Value = False Лист1.CheckBox29.Value = False Лист1.CheckBox30.Value = False Лист1.CheckBox31.Value = False Лист1.CheckBox32.Value = False End Sub
VI. Создать форму «Тест» с четырьмя метками Label1(Фамилия), Label2(Имя), Label3(Группа), Label4(для информации о количестве заданий и времени тестирования), два поля для ввода фамилии и имени, список
для ввода названий групп и кнопку «Начать тестирование». |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
", |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
И |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Д |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
О |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
П |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
У |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
О |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Г |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ф |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VII. Дважды нажать на кнопку «Начать тестирование» и в появившемся окне набрать две процедуры.
'Процедура кнопки "Начать тестирование" на форме "Тест"
Private Sub CommandButton1_Click()
Dim s As Single 'количество правильных ответов Dim t1 As Date 'текущее время в секундах
Dim t2 As Date 'время начала тестирования в секундах fam = TextBox1.Text
nam = TextBox2.Text grup = ListBox1.Text
UserForm1.Hide 'скрывает форму
t2 = Timer 'время суток в секундах (время начала тестирования)
Do While Timer < t2 + t * n t1 = Timer
Do While Timer < t1 + 1
DoEvents ' ожидает наступления события
Loop
Loop
Rez s 'вычисляет количество правильных ответов Prin s 'выводит данные на лист "Результат"
Лист1.CommandButton1.Visible = False 'делает кнопку "Завершить тест" невидимой
MsgBox ("Время закончилось. Всего заданий " & n & ". Правильных ответов " & s & ". Оценка в баллах: " & Round(s / n * 100, 0) & " из
100")
Clear 'очищает поля ввода и удаляет флажки в ответах
End Sub
|
|
|
|
|
|
|
|
|
|
|
2015 |
|
|
|
|
|
|
|
|
|
|
", |
|
'Процедура, выполняемая при активации формы "Тест |
|
||||||||||
Private Sub UserForm_Activate() |
|
|
|
А |
И |
|
|||||
С |
б |
Д |
|
|
|||||||
n = 10 'число тестовых заданий |
|
|
|
|
|||||||
" |
и |
|
|
|
|
|
|||||
|
|
|
|
одного задания в секундах |
|||||||
t = 30 'время, отведенное на выполнениеО |
|||||||||||
|
|
|
П |
|
|
|
|
|
|
|
|
ListBox1.AddItem "АДб-15ДВ1" 'заполняет список на форме |
|||||||||||
|
Б |
У |
|
|
|
|
|
|
|
|
|
ListBox1.AddItem "АДбО-15Д2" |
|
|
|
|
|
|
|
|
|||
Г |
|
|
|
|
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
ListBox1.AddItemФ"МТб-15Д1" |
|
|
|
|
|
|
|
|
|||
С |
"МТб-15Д2" |
|
|
|
|
|
|
|
|
||
ListBox1.AddItem( |
|
|
|
|
|
|
|
|
|||
ListBox1.AddItem "СИб-15Д1"
ListBox1.AddItem "СУЗ-15Д1"
ListBox1.AddItem "СУЗ-15П1"
Лист1.Select 'выбирает Лист1
Label4.Caption = "Всего заданий " & n & ". Время тестирования " & t * n & " мин"
Лист1.CommandButton1.Visible = True 'делает кнопку "Завершить тест" видимой
End Sub
VIII. В окне Project Explorer дважды нажмите на элемент «Эта книга» и в появившемся окне наберите процедуру.
'Процедура запускается при открытии книги
Private Sub Workbook_Open()
UserForm1.Show
End Sub
IX. Защитите рабочий лист «Тест» командой: Сервис – Защита –
Защитить лист.
X. Сохраните книгу в файле и закройте Excel.
XI. Для запуска программы тестирования нужно открыть файл, содержащий тест.
Сроки сдачи самостоятельной работы
|
Номер |
|
|
|
Семестр |
|
|
|
|
Срок сдачи задания |
|||||||||
индивидуального |
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
Очное обучение |
|
Заочное обучение |
|||||||||||
|
задания |
|
|
|
|
|
|
|
|
|
(контрольная |
|
|
(сессия) |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
неделя) |
|
|
|
2015 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
", |
|
|
|
1 |
|
|
|
|
|
1 |
|
|
|
|
2 |
|
|
Д |
|
Зимняя |
|
|
|
|
|
|
|
|
|
|
|
|
|
А |
И |
||||||
|
|
2 |
|
|
|
|
|
1 |
|
|
|
|
и |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
3б |
|
|
|
|
||||
|
|
3 |
|
|
|
|
|
2 |
|
|
|
"С3 |
|
|
|
|
|
Летняя |
|
|
|
|
|
|
|
|
|
|
|
О |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
П |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
В |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
У |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
О |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Г |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ф |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|