Лабораторный практикум «Разработка офисных приложений»




Трушкова Любовь Андреевна (trushkova_la@mail.ru)

Государственный социально-гуманитарный университет (ГСГУ)

г. Коломна

Аннотация

Разработана тестовая система, обладающая широкими возможностями по корректировке базы данных вопросов, контролем времени выполнения теста, протоколом выполнения. Применяется в курсе «Разработка офисных технологий» на физико-математическом факультете педагогического вуза

 

В данной работе рассмотрены технологические приемы разработки тестовых систем на примере дисциплины "Разработка офисных приложений". Тест разработан на алгоритмическом языке Visual Basic for Applications (VBA), как приложение табличного процессора MS Excel. Такое сочетание инструментальных средств значительно сокращает время разработки профессиональных информационных продуктов.

При загрузке файла автоматически загружается главная форма. Для запуска теста необходимо ввести данные тестируемого, а также установить флажок при необходимости протоколирования результатов теста в Word-документе.

База данных вопросов и предлагаемых ответов оформлена в виде Рабочего листа MS Excel, вход на который осуществляется из главного меню при нажатии кнопки Вопросы и верном вводе запрашиваемого пароля.

В ячейке А1 введено предельно разрешенное время теста. Кнопка Возврат в главное меню облегчает навигацию по тесту. Количество вопросов в тесте неограниченно. В каждой строке в столбце А расположен номер вопроса, в столбце В – формулировка вопроса, в столбце D – правильный ответ, в столбцах E:G – неправильные ответы.

Заполнение базы данных по любой предметной области должно удовлетворять этим требованиям. Кроме того, необходимо следить, чтобы не было заполненных ячеек вне диапазона, содержащем базу данных вопросов, так как в VBA-программе используется следующая функция для автоматического вычисления количества записей в базе данных:

Public Function CountRec(WorkList As String, Row As Integer, Col As Integer) As Integer

Dim Mas As Range

Worksheets(WorkList).Select

Range("A1").Select

Set Mas = Worksheets(WorkList).Cells(Row, Col).CurrentRegion

CountRec = Mas.Rows.Count

End Function

Функция CountRec вычисляет количество заполненных строк в диапазоне с левой верхней ячейкой (Row, Col) листа WorkList. В операторе:

nQuestion = CountRec("Вопросы", 2, 4) – 1

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

Массив из 10 вопросов выбирается из базы данных случайным образом с использованием функции генерации случайного числа Rnd. Фрагмент кода программы приведен ниже:

NumberQ(1) = Rnd * (nQuestion - 1) + 1

sQ = 1

For i = 2 To 10

1: NumberQ(i) = Rnd * (nQuestion - 1) + 1

For j = 1 To sQ

If NumberQ(i) = NumberQ(j) Then GoTo 5

Next j

sQ = i

Next i

Массив NumberQ описан, как целый. Внутренний цикл гарантирует несовпадение вопросов в выборке.

После нажатие кнопки Начало открывается форма Тест.

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

RightReply = Int(Rnd * 3 + 1)

Select Case RightReply

Case 1

OptionButton11.Caption = MasR(i, 1)

OptionButton12.Caption = MasR(i, 2)

OptionButton13.Caption = MasR(i, 3)

OptionButton14.Caption = MasR(i, 4)

……………………………………………….

End Select

Функция округления до целого Int присваивает целой переменной RightReply значение от 1 до 4, которая является переменной выбора варианта инструкции Select Case. Используется объектовая переменная MasR(i, j), первый индекс которой указывает на номер вопроса, а второй – на номер ответа и содержащая тексты ответов. Правильным всегда является первый ответ. Ответы размещаются в надписи (свойство Caption) переключателей OptionButton. Как видно из текста программы в зависимости от значения RightReply правильный ответ MasR(i, 1) размещается в надписи того из переключателей OptionButton, номер которого равен 10 + RightReply. После выбора одного из вариантов ответа с помощью переключателя активируется подпрограмма, которая для второго ответа, например, имеет вид:

Private Sub OptionButton12_Click()

i_reply = 2

cmdVvod.Enabled = True

CurAnswer = OptionButton12.Caption

End Sub

Переменная i_reply фиксирует номер выбранного ответа, строковая переменная CurAnswer запоминает этот ответ для его фиксации в протоколе теста. Оператор:

cmdVvod.Enabled = True

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

If RightReply = i_reply Then

Result = Result + 10

imgTrue.Visible = True

Else

imgFalse.Visible = True

End If

Здесь сравниваются номера правильного и выбранного ответов, в зависимости от чего может измениться переменная Result, результирующее значение которой равно проценту правильных ответов, а также активируется один из элементов управления Рисунок (Image), соответствующий правильному imgTrue и неправильному imgFalse ответам.

После ответа на все вопросы активируется кнопка Результат, после нажатия которой активируется форма с выводом результата теста.

В данной работе рассмотрены некоторые технологические приемы разработки тест-системы на основе VBA-программы в MS Excel. Не рассматривались реализованные в тесте вопросы формирования протокола тестирования, учета хронометража, защиты информации.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: