Microsoft Office (Разработка документов в Word, Excel и приложений на Visual Basic for Application). - Учебное пособие (Н.А.Устинов)

Демонстрационное приложение «тест по истории экономических учений»

Руководство пользователя.

Данная программа «Тест по истории экономических учений» создана с целью проверки знаний по истории экономических учений студентов Экономического факультета ННГУ им. Н. И. Лобачевского путем тестирования. В представляемой версии программы нет настроек шкал оценки студентов.

Подготавливается новая версия, в которой преподаватель получает возможность настроить программу для  оценки знания студентов как по 5-ти бальной, так и по 7-ми бальной системе оценок, самостоятельно задавая критерии в зависимости от процентного отношения количества правильных ответов к общему количеству вопросов в тесте, которое также может изменяться преподавателем.

Прежде чем приступить к тестированию, можно изменить настройки программы (в данной версии только путем изменений в исходном тексте). По умолчанию программа рассчитана на 5-ти бальную систему оценок и на 5 вопросов, причём для получения оценки «5» необходимо правильно ответить на 90 \% вопросов, для получения оценки «4» необходимо правильно ответить на 70 \%, для получения оценки «3» необходимо правильно ответить на 50 \%, иначе отвечающий получает оценку «2».

 Для работы с данной программой необходимы: операционная система Windows NT / 9x / 2000 / XP и Microsoft Excel.

После того, как пользователь запустил файл «EkUch_Test.xls»,  перед ним открывается рабочая форма программы (смотри рис. 6.). На ней расположены три кнопки: «Старт», «Настройка» и «Выход». Кнопка «Выход» приводит к закрытию программы, если пользователь отвечает на вопрос подтверждения выхода из программы («Вы уверены, что хотите выйти?») положительно («Да»).

рис. 6 Основная форма «Заставка»

Руководство разработчика.

Составные части приложения «Тест по истории экономических учений» (Таблица 8).

Лист, модуль или пользовательская форма

Описание

cApplicationState

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

frmVoprOtv

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

mfrmVoprOtv

 

mMain

Этот модуль содержит подпрограммы, предназначенные для инициализации приложения, создания пользовательскойпанели команд и установки параметров рабочей среды Excel при запуске приложения и выходе из него.

WsZastavka

Обработчики событий элементов управления CommandButton на форме «заставка» и вызывают подпрограммы из других модулей кода.

wsReport

Лист отчета

wsVoprOtv

Лист, содержащий базу данных «Вопросов и ответов».

 

Исходный текст приложения.

Модуль пользовательской формы frmVoprOtv

Public Nsstr As Integer  ' № текущей строки теста из рабочего листа "Вопрос-Ответ"

Public Ball As Integer   ' Количество правильных ответов

Public VoprKol As Integer ' Количество вопросов

 

 

Private Sub cmdExit_Click()

  Me.Hide

  Worksheets(1).Select

  Nsstr = 1

  Ball = 0

  VoprKol = 0

End Sub

 

Private Sub cmdOK_Click()

' подпрограмма для анализа ответа на текущий вопрос и суммирования количества правильных ответов

If Trim(Cells(Nsstr, 7).Value) = Trim(ListOtv.Text) Then

   MsgBox "Ответ правильный!"

   Ball = Ball + 1

Else

   MsgBox "Ответ не правильный?"

End If

Worksheets(2).Select

Nsstr = Nsstr + 1

VoprKol = VoprKol + 1

txtVopr.Value = Cells(Nsstr, 1).Value & ". " & Cells(Nsstr, 2).Value

Range("I2").Value = Cells(Nsstr, 3).Value

Range("I3").Value = Cells(Nsstr, 4).Value

Range("I4").Value = Cells(Nsstr, 5).Value

Range("I5").Value = Cells(Nsstr, 6).Value

If IsEmpty(Cells(Nsstr, 3).Value) Then

   MsgBox "Тест закончен! Оценка " & Ocenka(Ball, VoprKol)

   Application.Quit

Else

  

End If

End Sub

 

Private Sub ListOtv_Click()

 

End Sub

 

Private Sub txtVopr_Change()

 

End Sub

 

Private Sub UserForm_Activate()

Worksheets(2).Select

  Nsstr = 2

  txtVopr.Value = Cells(Nsstr, 1).Value & ". " & Cells(Nsstr, 2).Value

  Range("I2").Value = Cells(Nsstr, 3).Value

  Range("I3").Value = Cells(Nsstr, 4).Value

  Range("I4").Value = Cells(Nsstr, 5).Value

  Range("I5").Value = Cells(Nsstr, 6).Value

 

End Sub

 

Private Sub UserForm_Click()

 

End Sub

 

Private Sub UserForm_Initialize()

 

 

End Sub

 

Function Ocenka(Ball, VoprKol)

' Функция для вывода оценки для пятибалльной системы оценок

'Dolia = Ball / VoprKol

Select Case Ball / VoprKol

   Case 0 To 0.5

      Ocenka = "2"

   Case 0.5 To 0.7

      Ocenka = "3"

   Case 0.7 To 0.9

      Ocenka = "4"

   Case 0.9 To 1

      Ocenka = "5"

End Select

       

End Function

Замечание: Тексты других программ не приводятся, так как все функции реализуются  в модуле пользовательской формы frmVoprOtv, модуль класса cApplicationState приведен в приложении «Супермаркет.