Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
PAGE \* MERGEFORMAT 9
СОДЕРЖАНИЕ
[1] ВВЕДЕНИЕ
[2] [3] КОНСТРУКТОРСКО-ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ [3.1] РАЗРАБОТКА ТРЕБОВАНИЙ К ПРОЕКТУ [3.2] ВЫБОР ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ
[3.3] [3.4] ТЕСТИРОВАНИЕ И ОТЛАДКА ПОРГРАММНОГО ПРОДУКТА [3.5] ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ [4] ЗАКЛЮЧЕНИЕ [5] СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ |
Переход всего человечества от постиндустриальной фазы развития к информационному обществу ставит перед образовательной средой глобальную проблему - увеличение количества и повышение качества учебной информации при инвариантном учебном времени, за которое должна быть усвоена эта информация.
В настоящее время заметна тенденция к переходу от традиционной формы контроля знаний, экзаменов, контрольных работ к тестированию.
Это проявляется во введении Единого Государственного Экзамена (ЕГЭ), замене экзаменов и даже зачётов в ВУЗах в устной форме на тест.
Целью данного курсового проекта является разработка приложения для контроля знаний студентов, программ-тестов, созданных с помощью пакета прикладных программ Microsoft Office.
Задачами курсового проекта является разработка программ-тестов, которые будут содержать тесты по разделам:
Программирование приложения программы-теста будет осуществляться с помощью языка программирования Visual Basic for Applications, встроенного в пакет Microsoft Office.
Для большинства представителей профессорско-преподавательского состава вузов страны решающими факторами, определяющими уровень знаний студентов при изучении ими тех или иных учебных дисциплин, являются: степень и методы овладения обучаемыми соответствующими знаниями и умениями, уверенность и самостоятельность их, творческие подходы при применении знаний и навыков как в учебном процессе, так и на практике.
Общеизвестно, что дидактические приемы, основанные на сравнении результатов усвоения знаний, а также выполненных заданий, например, с образцом дают наглядное представление о том, на сколько каждый испытуемый владеет необходимыми знаниями и навыками. Более того, они позволяют объективно и индивидуально оценивать студентов по уровню их знаний отдельных дисциплин и даже отдельных тем дисциплин, что, несомненно, способствует не только совершенствованию учебного процесса, но и эффективности обучения. Поэтому в вузах широко внедряются как традиционные, так и компьютерные системы контроля знаний (тестирования) различных форм и видов обучения.
Специалисты отмечают, что «тесты хорошо приспособлены для самоконтроля и очень полезны для индивидуальных занятий».
Полученные в результате тестирования данные позволяют преподавателям ранжировать обучаемых по уровню знаний и умений (сравнивать результаты одних обучаемых с аналогичными результатами других обучаемых), эффективно совершенствовать задания и методы обучения, поскольку получаемые данные способствуют раскрытию наиболее сильных и слабых сторон обучаемых, а также предлагаемых им заданий.
Компьютерное тестирование все шире используется в психологической практике. Возможно, вскоре оно почти вытеснит традиционные методы, поскольку имеет перед ними явные преимущества.
1) Компьютерная версия тестирования экономит много времени. Задача тестируемого просто нажимать клавишу, соответствующую выбранному ответу. Полученные данные автоматически подсчитываются, обрабатываются, оцениваются и интерпретируются.
2) Экономятся силы тестирующего ему не приходится заниматься весьма утомительной рутинной работой (инструктаж тестируемого, выдача заданий, ведение протокола, подсчет и обработка результатов).
4) Появляется возможность накопления и сохранения электронной базы данных. Унифицированная база данных удобна для анализа и заменяет собой огромные кипы экспериментальных бланков, отчетов и заключений.
5) При использовании стандартизованной компьютерной программы условия проведения тестирования не зависят от индивидуальных особенностей и психологического состояния экспериментатора, что, несомненно, повышает "чистоту" диагностической процедуры.
6) При компьютерном тестировании обследуемый, оставаясь один на один с компьютером, может позволить себе быть более откровенным и естественным.
7) Наконец, отпадает, самая рутинная часть работы заготовка бланков, обеспечение методическим материалом и т.п., так как вся методика представлена в виде компьютерной программы.
Достоинств у компьютерного тестирования немало. Благодаря им повышается качество и снижается стоимость психологической диагностики. Но наряду с преимуществами у компьютерных методов есть и свои недостатки.
Во-первых, как бы ни стремились к этому создатели программ психологического тестирования, не для каждого теста можно сделать компьютерный вариант. Применение любых открытых форм опросников в компьютеризованном виде ограничено.
Во-вторых, общение человека с компьютером имеет свою специфику, и не все одинаково спокойно относятся к компьютерному тестированию.
Но достоинств у компьютерного тестирования все-таки больше. Кроме того, практически все перечисленные недостатки поддаются контролю.
Можно с уверенностью предположить, что у компьютерного тестирования большое будущее. С каждым годом будут появляться все новые и новые компьютерные тесты. Значит ли это, что когда-нибудь необходимость участия психолога в процессе тестирования вообще отпадет? Подобное вряд ли возможно, ведь использование компьютера совсем не уменьшает роль человеческого фактора. Компьютерная программа выдает только обобщенные, унифицированные данные, которые необходимо правильно "прочитать" и проанализировать.
В ходе анализа предметной области выявлены следующие задачи необходимые для реализации в курсовом проекте:
Компьютер снижает трудоемкость тестирования, экономит время, позволяя преподавателю более эффективно и творчески решать профессиональные задачи.
Применение современных методов контроля знаний, несомненно, будет способствовать овладению обучаемыми соответствующими знаниями, умениями и навыками в процессе обучения, их самостоятельности и уверенности в собственных знаниях и навыках, которые они смогут эффективно применять в учебном процессе и на практике.
Задачей курсового проекта является разработка приложения для контроля знаний по разделам «Система прерываний, управление памятью, ввод-вывод информации в ЭВМ».
Программирование приложения программы-теста будет осуществляться с помощью языка программирования Visual Basic for Applications, встроенного в пакет Microsoft Office.
Задачи для реализации:
Основной задачей программы-теста является контроля знаний студентов по разделам: система прерываний, управление памятью, ввод-вывод информации в ЭВМ».
Разработка языка программирования VBA, встраиваемого в прикладные системы, является одним из стратегических направлений компании Microsoft. Этот язык уже интегрирован в такие программы, как Word for Windows, Power Point и ряд других. VBA позволяет создавать программные модули, меню, диалоговые окна и другие ресурсы в среде Windows. Благодаря этому языку появляется возможность значительно расширить набор функций в Excel, а также создавать функции, значения которых зависят от некоторых условий и событий. В принципе, можно полностью перепрограммировать все функции программы Excel, если в этом появилась необходимость.
Visual Basic for Applications (VBA)
Программирование в Excel , в основном, сводится к управлению объектами. Эта задача выполняется с помощью инструкций, введённых на языке, понятном Excel .
Visual Basic For Application ( далее VBA ) немного упрощённая реализация языка программирования Visual Basic , встроенная в линейку продуктов Microsoft Office (включая версии для Mac OS), а так же во многие другие программные пакеты, такие как AutoCAD, WordPerfect и ESRI ArcGIS. VBA покрывает и расширяет функциональность ранее использовавшихся специализированных макро-языков, таких как WordBasic.
VBA является интерпретируемым языком. Как и следует из его названия, VBA близок к Visual Basic, но может выполняться лишь в рамках приложения, в которое он встроен. Кроме того, он может использоваться для управления одним приложением из другого, с помощью OLE Automation (например, таким образом можно создать документ Word на основе данных из Excel). В будущем Microsoft планирует заменить VBA на Visual Studio Tools for Applications (VSTA) инструментарий расширения функциональности приложений, основанный на Microsoft .NET.[6]
VBA в настоящее время входит в состав всех приложений Microsoft Office и даже приложений других компаний. Следовательно, овладев VBA для Excel, можно сразу перейти к созданию макросов для других программных продуктов Microsoft (равно, как и приложений других компаний). Более того, можно создавать полноценные программные продукты, одновременно использующие функции самых разных приложений.
Пользовательский интерфейс - это система средств для взаимодействия пользователя с компьютером, основанная на представлении всех доступных пользователю системных объектов и функций в виде графических компонентов экрана (окон, значков, меню, кнопок, списков и т. п.). При этом, в отличие от интерфейса командной строки, пользователь имеет произвольный доступ (с помощью клавиатуры или указательного устройства ввода) ко всем видимым экранным объектам, а на экране реализуется модель мира в соответствии с некоторой метафорой и осуществляется прямое манипулирование.
Одним из требований к хорошему графическому интерфейсу программной системы является концепция «предсказуемости», чтобы система работала предсказуемо, чтобы пользователь заранее интуитивно понимал, какое действие выполнит программа после получения его команды.
Интерфейс программы-теста состоит из главного окна, созданного в Microsoft Office Excel, форм для тестов и формы результата. Так же приложение содержит лист регистрации, для получения доступа к которому требуется ввести секретный код.
Рис.1. Главное окно программы.
Главное окно программы содержит в себе обязательные поля регистрации, слева и с права от полей регистрации находятся основные инструкции по эксплуатации приложения.
Поля регистрации состоят из нескольких элементов:
После успешной регистрации нового пользователя выдается сообщение:
Рис.2.Пример сообщения пользователю
И пользователь может начать тестирование, после регистрации тесты становятся доступными:
Рис.3. Главное окно приложения
Процедура регистрации делиться на несколько этапов. Первый этап это проверка ввода данных, необходимо что бы были заполнены все поля регистрации:
Private Sub CommandButton1_Click()
…
'условие проверки ввода данных
If (TextBox1.Text <> "") And (TextBox2.Text <> "") And (TextBox3.Text <> "") Then
Второй этап - проверка данных участника тестирования. Проверяются данный полей регистрации с таблицей регистрации, если такая запись уже существует, то тестирующемуся выдаются только те тесты которые он еще не походил. Если подобной записи нет, то добавляется новая запись, и выдается сообщение о успешной регистрации.
'проверка данных регистрирующихся
Do While (Sheets("Regist").Cells(i, 2).Value) <> ""
If (Sheets("Regist").Cells(i, 2).Value = TextBox1.Text) And (Sheets("Regist").Cells(i, 3).Value = TextBox2.Text) And (Sheets("Regist").Cells(i, 4).Value = TextBox3.Text) Then
s = True
n = i
End If
i = i + 1
Loop
'добавление данных нового регистрирующегося
If s = False Then
n = Sheets("Regist").Cells(2, 14).Value
n = n + 1
regfam = TextBox1.Text
regname = TextBox2.Text
reggr = TextBox3.Text
Sheets("Regist").Cells(n, 1).Value = n - 1
Sheets("Regist").Cells(n, 2).Value = regfam
Sheets("Regist").Cells(n, 3).Value = regname
Sheets("Regist").Cells(n, 4).Value = reggr
Sheets("Regist").Cells(2, 14).Value = n
MsgBox ("Вы зарегистрированны, можете приступать к выполнению тестов")
CommandButton2.Enabled = True
CommandButton3.Enabled = True
CommandButton4.Enabled = True
CommandButton5.Enabled = True
'вывод тестов для зарегистрированного
Else
If (Sheets("Regist").Cells(n, 5).Value = "") Then
CommandButton2.Enabled = True
Else
CommandButton2.Enabled = False
t = t + 1
End If
If (Sheets("Regist").Cells(n, 7).Value = "") Then
CommandButton3.Enabled = True
Else
CommandButton3.Enabled = False
t = t + 1
End If
If (Sheets("Regist").Cells(n, 9).Value = "") Then
CommandButton4.Enabled = True
Else
CommandButton4.Enabled = False
t = t + 1
End If
If (Sheets("Regist").Cells(n, 11).Value = "") Then
CommandButton5.Enabled = True
Else
CommandButton5.Enabled = False
t = t + 1
End If
If t = 4 Then
MsgBox ("Вы уже прошли все тесты")
Sheets("test").CommandButton2.Enabled = False
Sheets("test").CommandButton3.Enabled = False
Sheets("test").CommandButton4.Enabled = False
Sheets("test").CommandButton5.Enabled = False
End If
End If
Каждый тест расположен на отдельной форме, которая открывается при нажатии на кнопку тестирования.
Рис.4. Форма теста
В форме теста располагаются вопросы и варианты ответов, для ответов используются флажки и переключатели. Каждый вопрос объединен в отдельную группу, итоги подсчитываются при нажатии на кнопку «Результат».
При открытии формы все поля переключателей и флажков пустые, это задается в свойствах объектов параметром значение «Value»:
Рис.5. Свойства объекта Option Button
Результат выдается на новой форме, в ней используются только текстовые поля «Label», и кнопка «Завершить», которая закрывает форму результатов.
Рис.6. Форма «Результаты»
Для завершения тестирования так же необходимо закрыть форму самого теста. При открытии формы результатов кнопка «Результат» на форме теста становиться не доступной и видна только кнопка выхода из формы тестирования.
Рис.7. Фрагмент формы «Тест»
В главном окне приложения расположены еще 2 управляющие кнопки.
Кнопка «Очистить поля» - очищает поля регистрации и блокирует кнопки тестов:
' процедура очистки и блокировки полей
Private Sub CommandButton7_Click()
Sheets("test").TextBox1.Text = ""
Sheets("test").TextBox2.Text = ""
Sheets("test").TextBox3.Text = ""
Sheets("test").CommandButton2.Enabled = False
Sheets("test").CommandButton3.Enabled = False
Sheets("test").CommandButton4.Enabled = False
Sheets("test").CommandButton5.Enabled = False
End Sub
В данной процедуре свойства объектов, которые необходимо изменить прописываются в коде программы.
Последний управляющий элемент, это кнопка «Дополнительно», она показывает лист регистрации, но для этого необходимо ввести секретный код в открывшейся форме.
Кнопка «Дополнительно» - в своем коде содержит перечень объектов формы и их свойств.
'процедура кнопки Дополнительно, с заданными свойствами объектов
Private Sub CommandButton6_Click()
UserForm6.TextBox2.Visible = False
UserForm6.TextBox3.Visible = False
UserForm6.Label2.Visible = False
UserForm6.Label3.Visible = False
UserForm6.CommandButton2.Visible = False
UserForm6.TextBox1.Visible = True
UserForm6.Label1.Visible = True
UserForm6.CommandButton1.Visible = True
UserForm6.TextBox1.Text = ""
UserForm6.Show
End Sub
Рис.8. Форма дополнительно
На листе регистрации содержится информация о участниках и их результаты, на ней так же расположены несколько управляющих кнопок: «Очистить поля», «Сменить пароль», «Выход».
«Очистить поля» - очищает лист регистрации, для проведения нового тестирования, при работе с этим листом доступны все функции MS Excel, например, данные хранящиеся на этом листе можно вывести на печать для предоставления общих результатов.
«Сменить пароль» - предоставляет возможность сменить пароль для доступа к листу регистрации. Необходимо верно заполнить все поля данной формы. Пароли хранятся в этой же книге на скрытом листе. После того как программа примет новый пароль выдается сообщение и сохраняются все данные рабочей книги.
Примечание: на вопросы программы следует отвечать положительно.
Рис.9. Форма смены пароля
Рис.10. Сообщение о смене пароля
Рис.11. Сохранение изменений в существующей книге
«Выход» - необходимо использовать после окончания работы с листом регистрации, она завершает работу с листом и делает его не видимым.
Тестирование и отладка идут рука об руку, так что большинство программистов просто не воспринимают их как отдельные этапы разработки программ. Однако путь к успеху лежит через разделение процесса отладки и тестирования на два разных этапа работы над программой, и вам следует четко представлять себе, что цель тестирования - определить наличие (или отсутствие) ошибок, В то время как цель отладки - определить местоположение ошибок и устранить их.
Лучший путь исключить ошибки в программе - защититься от них еще при написании кода. Надежное приложение - приложение, создаваемое с возможностью легко и просто отлаживать его. Вот 2-а основных совета, которые помогут уменьшить количество ошибок при разработке программ.
Программа, создаваемая с помощью VBA, как и любого другого языка программирования, обычно сопровождается тремя типами ошибок:
В набор инструментария отладки VBA входят инструменты:
Синтаксические ошибки - если допущена синтаксическая ошибка, то редактор Visual Basic, почти сразу же её обнаружит, и строка программного кода в которой допущена ошибка станет красной.
Логические - необходимо найти в коде операторы которые привели к выполнению незапланированных действий. Процесс поиска ошибок называется отладкой и для их устранения наиболее действенной оказывается запуск программы в режиме паузы.
Режим паузы это временная остановка выполнения программы на некотором операторе в программном коде. Поскольку в этом случае программа еще ''живет", есть возможность проверить текущие значения всех ее переменных. Кроме того, начиная с этого момента, можно использовать команды Step, чтобы продолжить выполнение программы в пошаговом режиме, по одному оператору за шаг, и наблюдать за соответствующими изменениями значений переменных, при этом будет видно, получают переменные ожидаемые значения или нет. Режим паузы можно запустить при помощи меню Debug Step Into.
Программа может перейти в режим паузы при ошибки выполнения. VBA отоброжает диалоговое окно с описанием ошибки.
Рис.12. Диалоговое окно при обнаружении ошибки
End - завершить приложение
Debug - показать место возникновения ошибки, чтобы мы смогли от неё избавиться
Help - вызвать справку о возникшей ошибке.
Нажмите Debug. Visual Basic покажет вам причину возникновения ошибки:
Рис.13. Строка с ошибкой
Жёлтым цветом выделена строка - причина ошибки.
При отладке приложения необходимо знать как работают команды и какие значения принимают переменные. Для этого пригодятся окна Immediate, Watches, Locals.
Окно Immediate (Непосредственное выполнение), можно запустить из меню View Immediate Windows или CTRL+G. Данное окно предоставляет следующие возможности:
Отследим промежуточные значения переменной в отдельном модуле при помощи оператора «Debug.Print»:
Рис.14. Использование окна Immediate
Во время паузы в режиме пошаговой отладки необходимо использовать окно Locals (наблюдение за локальными переменными). Отобразить это окно можно из меню View Locals Windows. В данном окне отображаются имена, значения и типы данных всех переменных доступных действующей процедуре, информация о переменных обновляется после выполнения любого из операторов.
Запустим приложение в пошаговом режиме и проверим значение переменных. Для просмотра значений переменных можно воспользоваться окном Locals, в нем будут отображаться переменные задействованные в выполняемом модуле.
Рис.15. Отладка приложения в пошаговом режиме, при открытом окне Locals.
Независимо от того, насколько качественно написано приложение, никогда нельзя полностью исключать возможность возникновения ошибки в программе. Но необходимо стремиться что бы их было меньше.
Инструкция тестирующегося.
Интерфейс приложения очень прост в использовании и интуитивно понятен, для прохождения тестов необходимо:
Инструкция тестирующего.
В настоящие время в сфере образования активно используются тестирование, и все чаше тестирование проходит в компьютеризированном варианте. Это экономит силы и время тестирующего, а так же упрощает дальнейшую обработку результатов.
В курсовом проекте было рассмотрено и разработано приложения для контроля знаний студентов, программа-тест выдает результаты и комментарии сразу после прохождения теста, результаты сохраняются для дальнейшей обработки.
Применение данных и иных современны методов контроля знаний, будет способствовать овладению обучаемыми соответствующими знаниями, умениями и навыками в процессе обучения, их самостоятельности и уверенности в собственных знаниях и навыках, которые они смогут эффективно применять в учебном процессе и на практике.
Компьютер снижает трудоемкость тестирования, экономит время, позволяя преподавателю более эффективно и творчески решать профессиональные задачи.
Однако отношение самих психологов к компьютерному тестированию пока далеко не однозначно. Кто-то охотно использует все преимущества технического прогресса, с легкостью и интересом осваивает новые психодиагностические процедуры. А у кого-то появление компьютерного тестирования вызывает негативные эмоции, поскольку это требует переучивания, перестройки и изменения привычного способа деятельности. Тем не менее реальность такова, что рано или поздно всем специалистам, занимающимся психодиагностикой, придется осваивать процедуры компьютерного тестирования.
ПРИЛОЖЕНИЕ 1
(листинг процедур книги)
'глобальные переменные
Public n As Integer
Public regfam As String
Public regname As String
Public reggr As String
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.SaveWorkspace ("Тестирование")
End Sub
' очиста полей регистрации и блокировка кнопок тестов при открытии документа
Private Sub Workbook_Open()
Sheets("test").TextBox1.Text = ""
Sheets("test").TextBox2.Text = ""
Sheets("test").TextBox3.Text = ""
Sheets("test").CommandButton2.Enabled = False
Sheets("test").CommandButton3.Enabled = False
Sheets("test").CommandButton4.Enabled = False
Sheets("test").CommandButton5.Enabled = False
Sheets("Regist").Visible = 0
Sheets("par").Visible = 0
End Sub
ПРИЛОЖЕНИЕ 2
(листинг «Лист 1»)
Option Compare Text
'порцедура регистрации
Private Sub CommandButton1_Click()
'объявление локальных переменных и задание начальных значений для процедуры
Dim i As Integer
Dim s As Boolean
Dim t As Integer
t = 0
s = False
i = 2
'условие проверки ввода данных
If (TextBox1.Text <> "") And (TextBox2.Text <> "") And (TextBox3.Text <> "") Then
'проверка данных регистрирующихся
Do While (Sheets("Regist").Cells(i, 2).Value) <> ""
If (Sheets("Regist").Cells(i, 2).Value = TextBox1.Text) And (Sheets("Regist").Cells(i, 3).Value = TextBox2.Text) And (Sheets("Regist").Cells(i, 4).Value = TextBox3.Text) Then
s = True
n = i
End If
i = i + 1
Loop
'добавление данных нового регистрирующегося
If s = False Then
n = Sheets("Regist").Cells(2, 14).Value
n = n + 1
regfam = TextBox1.Text
regname = TextBox2.Text
reggr = TextBox3.Text
Sheets("Regist").Cells(n, 1).Value = n - 1
Sheets("Regist").Cells(n, 2).Value = regfam
Sheets("Regist").Cells(n, 3).Value = regname
Sheets("Regist").Cells(n, 4).Value = reggr
Sheets("Regist").Cells(2, 14).Value = n
MsgBox ("Вы зарегистрированны, можете приступать к выполнению тестов")
CommandButton2.Enabled = True
CommandButton3.Enabled = True
CommandButton4.Enabled = True
CommandButton5.Enabled = True
'вывод тестов для зарегистрированого
Else
If (Sheets("Regist").Cells(n, 5).Value = "") Then
CommandButton2.Enabled = True
Else
CommandButton2.Enabled = False
t = t + 1
End If
If (Sheets("Regist").Cells(n, 7).Value = "") Then
CommandButton3.Enabled = True
Else
CommandButton3.Enabled = False
t = t + 1
End If
If (Sheets("Regist").Cells(n, 9).Value = "") Then
CommandButton4.Enabled = True
Else
CommandButton4.Enabled = False
t = t + 1
End If
If (Sheets("Regist").Cells(n, 11).Value = "") Then
CommandButton5.Enabled = True
Else
CommandButton5.Enabled = False
t = t + 1
End If
If t = 4 Then
MsgBox ("Вы уже прошли все тесты")
Sheets("test").CommandButton2.Enabled = False
Sheets("test").CommandButton3.Enabled = False
Sheets("test").CommandButton4.Enabled = False
Sheets("test").CommandButton5.Enabled = False
End If
End If
Sheets("Regist").Cells(3, 14).Value = n
Else
MsgBox ("Заполните все поля регистрации")
End If
End Sub
'процедура кнопки первого теста
Private Sub CommandButton2_Click()
'проверка на ввод регистрационных данных
If (TextBox1.Text <> "") And (TextBox2.Text <> "") And (TextBox3.Text <> "") Then
UserForm1.Show
Else
MsgBox ("Зарегистрируйтесь")
End If
End Sub
'процедура кнопки второго теста
Private Sub CommandButton3_Click()
'проверка на ввод регистрационных данных
If (TextBox1.Text <> "") And (TextBox2.Text <> "") And (TextBox3.Text <> "") Then
UserForm2.Show
Else
MsgBox ("Зарегистрируйтесь")
End If
End Sub
'процедура кнопки третьего теста
Private Sub CommandButton4_Click()
'проверка на ввод регистрационных данных
If (TextBox1.Text <> "") And (TextBox2.Text <> "") And (TextBox3.Text <> "") Then
UserForm3.Show
Else
MsgBox ("Зарегистрируйтесь")
End If
End Sub
'процедура кнопки четвертого теста
Private Sub CommandButton5_Click()
'проверка на ввод регистрационных данных
If (TextBox1.Text <> "") And (TextBox2.Text <> "") And (TextBox3.Text <> "") Then
UserForm4.Show
Else
MsgBox ("Зарегистрируйтесь")
End If
End Sub
'процедура кнопки Дополнительно, с заданными свойствами объектов
Private Sub CommandButton6_Click()
UserForm6.TextBox2.Visible = False
UserForm6.TextBox3.Visible = False
UserForm6.Label2.Visible = False
UserForm6.Label3.Visible = False
UserForm6.CommandButton2.Visible = False
UserForm6.TextBox1.Visible = True
UserForm6.Label1.Visible = True
UserForm6.CommandButton1.Visible = True
UserForm6.TextBox1.Text = ""
UserForm6.Show
End Sub
' процедура очистки и блокировки полей
Private Sub CommandButton7_Click()
Sheets("test").TextBox1.Text = ""
Sheets("test").TextBox2.Text = ""
Sheets("test").TextBox3.Text = ""
Sheets("test").CommandButton2.Enabled = False
Sheets("test").CommandButton3.Enabled = False
Sheets("test").CommandButton4.Enabled = False
Sheets("test").CommandButton5.Enabled = False
End Sub
ПРИЛОЖЕНИЕ 3
(листинг «Лист 3» Регистрация)
'процедура очистки содержимого регистрационной таблицы
Private Sub CommandButton1_Click()
Dim a As Integer
a = MsgBox("Очистить содержимое регистрационной таблицы?", 33)
If a = 1 Then
Sheets("Regist").Range("A:Q").Clear
Sheets("Regist").Range("A1").Value = "№"
Sheets("Regist").Range("B1").Value = "Фамилия"
Sheets("Regist").Range("C1").Value = "Имя"
Sheets("Regist").Range("D1").Value = "Группа"
Sheets("Regist").Range("E1").Value = "Тест1"
Sheets("Regist").Range("F1").Value = "Дата1"
Sheets("Regist").Range("G1").Value = "Тест2"
Sheets("Regist").Range("H1").Value = "Дата2"
Sheets("Regist").Range("I1").Value = "Тест3"
Sheets("Regist").Range("J1").Value = "Дата3"
Sheets("Regist").Range("K1").Value = "Тест4"
Sheets("Regist").Range("L1").Value = "Дата4"
Sheets("Regist").Range("N1").Value = "Номер"
Sheets("Regist").Range("N2").Value = 1
End If
End Sub
'процедура вызова формы с заданными параметрами её объектов
Private Sub CommandButton2_Click()
UserForm6.TextBox1.Text = ""
UserForm6.TextBox2.Visible = True
UserForm6.TextBox3.Visible = True
UserForm6.Label2.Visible = True
UserForm6.Label3.Visible = True
UserForm6.CommandButton2.Visible = True
UserForm6.TextBox1.Visible = True
UserForm6.Label1.Visible = True
UserForm6.CommandButton1.Visible = False
UserForm6.Show
End Sub
'скрытие листа регистрации
Private Sub CommandButton3_Click()
Sheets("regist").Visible = 0
End Sub
ПРИЛОЖЕНИЕ 4
(Листинг «UserForm 1» Тест 1)
' кнопка первого теста
Private Sub CommandButton1_Click()
Dim t As Integer
Dim s As Integer
t = 0
'подсчет верных ответов
If Frame1.OptionButton3.Value = True Then t = t + 1
If Frame2.OptionButton7.Value = True Then t = t + 1
If Frame3.OptionButton10.Value = True Then t = t + 1
If Frame4.OptionButton13.Value = True Then t = t + 1
If (Frame5.CheckBox1.Value = True) And ((Frame5.CheckBox2.Value = True)) And ((Frame5.CheckBox3.Value = False)) And ((Frame5.CheckBox4.Value = False)) Then t = t + 1
'ввод результатов в форму 5
UserForm5.Label3.Caption = t
UserForm5.Label1.Caption = "Тест - Взаимодействие основных узлов Арх-ра 32-разрядного МП"
If t = 5 Then
UserForm5.Label4.Caption = "Поздравляем Вы отлично прошли тест"
End If
If t = 4 Then
UserForm5.Label4.Caption = "Поздравляем Вы хорошо выполнили тест, но еще раз просмотрите тему Взаимодействие основных узлов Арх-ра 32-разрядного МП"
End If
If t < 4 Then
UserForm5.Label4.Caption = "Вам следует лучьше изучить тему Взаимодействие основных узлов Арх-ра 32-разрядного МП"
End If
' запись данных в таблицу регистрации
s = Sheets("Regist").Cells(3, 14).Value
Sheets("Regist").Cells(s, 5).Value = t
Sheets("Regist").Cells(s, 6).Value = Date
Sheets("Test").CommandButton2.Enabled = False
'откоытие формы 5
UserForm5.Show
UserForm1.CommandButton1.Visible = False
UserForm1.CommandButton2.Visible = True
End Sub
' процедура выхода из формы теста
Private Sub CommandButton2_Click()
UserForm1.Hide
End Sub
ПРИЛОЖЕНИ 5
(Листинг «UserForm 2» Тест 2)
' процедура кнопки второго теста
Private Sub CommandButton1_Click()
Dim t As Integer
Dim s As Integer
s = 0
'подсчет верных ответов
If Frame1.OptionButton2.Value = True Then s = s + 1
If (Frame2.CheckBox1.Value = True) And ((Frame2.CheckBox2.Value = True)) And ((Frame2.CheckBox3.Value = False)) And ((Frame2.CheckBox4.Value = True)) Then s = s + 1
If Frame3.OptionButton6.Value = True Then s = s + 1
If Frame4.OptionButton10.Value = True Then s = s + 1
If Frame5.OptionButton12.Value = True Then s = s + 1
If Frame6.OptionButton16.Value = True Then s = s + 1
'ввод результатов в форму 5
UserForm5.Label3.Caption = s
UserForm5.Label1.Caption = "Тест - Система прерываний"
If s = 6 Then
UserForm5.Label4.Caption = "Поздравляем Вы отлично прошли тест"
End If
If (s < 6) And (s > 3) Then
UserForm5.Label4.Caption = "Поздравляем Вы хорошо выполнили тест, но еще раз просмотрите тему Система прерываний"
End If
If s < 4 Then
UserForm5.Label4.Caption = "Вам следует лучьше изучить тему Система прерываний"
End If
' запись данных в таблицу регистрации
t = Sheets("Regist").Cells(3, 14).Value
Sheets("Regist").Cells(t, 7).Value = s
Sheets("Regist").Cells(t, 8).Value = Date
Sheets("Test").CommandButton2.Enabled = False
'откоытие формы 5
UserForm5.Show
UserForm2.CommandButton1.Visible = False
UserForm2.CommandButton2.Visible = True
End Sub
' процедура выхода из формы теста
Private Sub CommandButton2_Click()
UserForm2.Hide
End Sub
ПРИЛОЖЕНИЕ 6
(Листинг «UserForm 3» Тест 3)
' процедура третьей кнопки теста
Private Sub CommandButton1_Click()
Dim t As Integer
Dim s As Integer
s = 0
'подсчет верных ответов
If (Frame1.CheckBox1.Value = True) And (Frame1.CheckBox2.Value = True) And (Frame1.CheckBox3.Value = False) And (Frame1.CheckBox4.Value = True) And (Frame1.CheckBox5.Value = False) Then s = s + 1
If (Frame2.CheckBox6.Value = False) And (Frame2.CheckBox7.Value = True) And (Frame2.CheckBox8.Value = True) Then s = s + 1
If Frame3.OptionButton2.Value = True Then s = s + 1
If Frame4.OptionButton6.Value = True Then s = s + 1
If Frame5.OptionButton10.Value = True Then s = s + 1
If (Frame6.CheckBox11.Value = False) And (Frame6.CheckBox9.Value = True) And (Frame6.CheckBox10.Value = True) And (Frame6.CheckBox12.Value = True) Then s = s + 1
'ввод результатов в форму 5
UserForm5.Label3.Caption = s
UserForm5.Label1.Caption = "Тест - Система управления памятью"
If s = 6 Then
UserForm5.Label4.Caption = "Поздравляем Вы отлично прошли тест"
End If
If (s < 6) And (s > 3) Then
UserForm5.Label4.Caption = "Поздравляем Вы хорошо выполнили тест, но еще раз просмотрите тему Система управления памятью"
End If
If s < 4 Then
UserForm5.Label4.Caption = "Вам следует лучьше изучить тему Система управления памятью"
End If
' запись данных в таблицу регистрации
t = Sheets("Regist").Cells(3, 14).Value
Sheets("Regist").Cells(t, 9).Value = s
Sheets("Regist").Cells(t, 10).Value = Date
Sheets("Test").CommandButton2.Enabled = False
'откоытие формы 5
UserForm5.Show
UserForm3.CommandButton1.Visible = False
UserForm3.CommandButton2.Visible = True
End Sub
Private Sub CommandButton2_Click()
UserForm3.Hide
End Sub
ПРИЛОЖЕНИЕ 7
(Листинг «UserForm 4» Тест 4)
'процедура четвертой кнопки теста
Private Sub CommandButton1_Click()
Dim t As Integer
Dim s As Integer
s = 0
'подсчет верных ответов
If (Frame1.CheckBox1.Value = True) And (Frame1.CheckBox3.Value = True) And (Frame1.CheckBox4.Value = True) Then s = s + 1
If Frame2.OptionButton3.Value = True Then s = s + 1
If (Frame3.CheckBox5.Value = True) And (Frame3.CheckBox6.Value = True) And (Frame3.CheckBox7.Value = False) Then s = s + 1
If Frame4.OptionButton5.Value = True Then s = s + 1
If Frame5.OptionButton8.Value = True Then s = s + 1
If (Frame6.CheckBox8.Value = False) And (Frame6.CheckBox9.Value = True) And (Frame6.CheckBox10.Value = True) Then s = s + 1
'ввод результатов в форму 5
UserForm5.Label3.Caption = s
UserForm5.Label1.Caption = "Тест - Ввод-вывод информации"
If s = 6 Then
UserForm5.Label4.Caption = "Поздравляем Вы отлично прошли тест"
End If
If (s < 6) And (s > 3) Then
UserForm5.Label4.Caption = "Поздравляем Вы хорошо выполнили тест, но еще раз просмотрите тему Ввод-вывод информации"
End If
If s < 4 Then
UserForm5.Label4.Caption = "Вам следует лучьше изучить тему Ввод-вывод информации"
End If
' запись данных в таблицу регистрации
t = Sheets("Regist").Cells(3, 14).Value
Sheets("Regist").Cells(t, 11).Value = s
Sheets("Regist").Cells(t, 12).Value = Date
Sheets("Test").CommandButton2.Enabled = False
'откоытие формы 5
UserForm5.Show
UserForm4.CommandButton1.Visible = False
UserForm4.CommandButton2.Visible = True
End Sub
' процедура выхода из формы теста
Private Sub CommandButton2_Click()
UserForm4.Hide
End Sub
ПРИЛОЖЕНИЕ 8
(Листинг «UserForm 5» Резельтат)
Private Sub CommandButton1_Click()
UserForm5.Hide
End Sub
ПРИЛОЖЕНИЕ 9
(Листинг «UserForm 6» Форма пароля)
Public par As String
'процедура кнопки проверки пароля
Private Sub CommandButton1_Click()
par = Sheets("par").Cells(1, 1).Value
If (TextBox1.Text = par) Then
Sheets("Regist").Visible = 1
UserForm6.Hide
Else
MsgBox ("не верный пароль")
TextBox1.Text = ""
End If
End Sub
'процедура кнопки смены пароля
Private Sub CommandButton2_Click()
Dim q As String
par = Sheets("par").Cells(1, 1).Value
If (par = TextBox1.Text) Then
q = TextBox2.Text
If (q = TextBox3.Text) Then
Sheets("par").Cells(1, 1).Value = q
MsgBox ("Пароль изменен")
Application.SaveWorkspace ("Тестирование")
UserForm6.Hide
End If
Else
MsgBox ("не верно")
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
End If
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
End Sub