Теор.Контрольная работа. Прикладное программирование.


МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕУЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «РОССИЙСКИЙ УНИВЕРСИТЕТ ТРАНСПОРТА (МИИТ)»(РУТ (МИИТ)
Факультет: «Транспортные средства»
Кафедра: «Железнодорожная автоматика, телемеханика и связь»
КОНТРОЛЬНАЯ РАБОТА
по дисциплине
«ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ»
Вариант № 6
____________________
(отметка о зачете)
Рецензент: Ридель В.В. Студент: Горячкин М.В.
Группа : ТПб (ЗТЕ) – 291
Шифр: 1610 – п/ТПб-3436
____________________
(подпись)
Дата: _______________ ____________________
(подпись)
Дата: _______________
Москва 2018
СОДЕРЖАНИЕ:
Задание ----------------------------------------------------------------------------------- 3
Решение Задания №1(5) ----------------------------------------------------------- 4-11
Листинг программы Задания №1(5) ----------------------------------------------- 12
Решение Задания №2(3) ---------------------------------------------------------- 13-20
Листинг программы Задания №2(3) -------------------------------------------- 21-22
Список использованных источников ---------------------------------------------- 23
ЗАДАНИЯ
Вариант №6
Первый уровень сложности
Задание №1(5).
Создать в редакторе VBA форму высотой 100 пикселей и шириной 100 пикселей. Разместить на форме, в её верхней части, две кнопки. Кнопку №1 подписать как "Увеличить", кнопку №2 – как "Восстановить". Написать обработчики событий Click для кнопок таким образом, чтобы при нажатии на кнопку №1 размеры формы изменялись бы до 300х400 пикселей, при нажатии на вторую кнопку – восстанавливались до 100х100 пикселей. После изменения размеров формы должно выводиться сообщение о её текущих размерах.
Второй уровень сложности
Задание №2(3).
Создать в редакторе VBA форму, добавить на нее 5 элементов управления CheckBox, пронумеровать их от 1 до 5, задать имена вида cbo_n, где n – номер элемента управления от 1 до 5. Добавить на форму четыре кнопки. Первая кнопка, подписанная как "Установить четные", устанавливает четные флажки, кнопка "Сбросить все" сбрасывает все флажки, кнопка "Количество установленных флажков" выводит сообщение вида "Количество установленных флажков равно n ", в том случае, если ни один флажок не установлен, выводит сообщение "Ни один флажок не установлен"
РЕШЕНИЕ ЗАДАНИЙ
Первостепенно, для выполнения заданий требуется включить специальную надстройку Visual Basic for Applications (VBA)  в редакторе Excel (2016 год), которая предоставит нам возможность использовать упрощенную версию языка Visual Basic. Проведем включение следующим образом: нажимаем вкладку «Файл», далее выбираем раздел «Параметры» после чего откроется диалоговое окно «Параметры Excel», внутри окна выбираем подраздел «Настроить ленту» и в списке «Основные вкладки» помечаем галочку перед параметром «Разработчик». Теперь в интерфейсе Excel появилась вкладка «Разработчик», функциями которой мы будем далее пользоваться.
Задание №1(5).
Решение:
Начинаем решение с добавления на рабочий лист Excel кнопки-триггера. Чтобы добавить кнопку нам потребуется найти во вкладке «Разработчик» раздел «Элементы управления», далее нажать функцию «Вставить», после нажатия появится окно с выбором элементов, которые можно вставить в наш лист. Нам потребуется элемент «Кнопка (Элемент управления формы)» (Рис.1).
После нажатия на элемент «Кнопка», нам предложат выбрать область на которой будет расположена кнопка. После выбора области откроется диалоговое окно «Назначить макрос объекту», но мы нажимаем отмену, т.к. не имеем готовых макросов на момент начала работы. Правым щелчком на кнопку можно открыть окно свойств, в котором можно изменить название кнопки и назначить макрос, но это далее.

Рис 1. Добавление кнопки.
Переходим к следующему этапу задания, теперь нам потребуется редактор VBA. Чтобы его открыть, нажимаем кнопку Visual Basic в разделе «Код» (Рис. 2).
819159715500
Рис 2. Включение редактора VBA.
В редакторе VBA, в списке справа, находим Лист 1 нашей работы, в котором мы создали кнопку. Правым щелчком мышки открываем свойства листа и выбираем раздел «Insert», а далее форма «UserForm» (Рис. 3), откроется окно с редактируемой областью (Рис.4).
152406096000
1524027305000Рис. 3. Создание формы «UserForm».
Рис. 4. Область редактирования формы «UserForm», «ToolBox» и свойства объекта.
В окне свойств объекта редактируем высоту (параметр Height) и ширину (параметр Width) в соответствии с условиями задачи, далее с помощью панели «ToolBox» добавляем две кнопки «СommandButton», одну именуем «Увеличить», а другую «Восстановить», после добавляем поле «Label». Получилось, что наша форма содержит компоненты «СommandButton1» и «СommandButton2» и поле «Label», которое предназначено для показа текста на форме нашей программы, который не будет меняться в течение работы программы. Кнопки «СommandButton1» и «СommandButton2» предназначены для реализации команд, в рамках нашего задания – одна кнопка для увеличения размера формы, а другая для уменьшения.
Приступим к реализации функций кнопок. Правой кнопкой кликаем на кнопку «СommandButton1» и в открывшимся окне выбираем параметр «ViewCode», после чего откроется окно, в котором мы с помощью параметров можем задать функцию кнопок. Кнопка «СommandButton1» будет производить функцию увеличения формы до размера 300х400, а «СommandButton2» - восстанавливать форму до изначальных размеров 100х100.
Для реализации функции увеличения вводим следующие команды для «СommandButton1»:
Private Sub CommandButton1_Click()
UserForm1.Height = UserForm1.Height + 200
UserForm1.Width = UserForm1.Width + 300
Label1.Caption = "Размер окна " & UserForm1.Height & "х" & UserForm1.Width
End SubДля реализации функции возврата вводим следующие команды для «СommandButton2»:
Private Sub CommandButton2_Click()
UserForm1.Height = UserForm1.Height - 200
UserForm1.Width = UserForm1.Width - 300
Label1.Caption = "Размер окна " & UserForm1.Height & "х" & UserForm1.Width
End SubВсе вышеописанные операции можно просмотреть на Рис. 5
-38108953500
Рис. 5. Открытие окна кода и введения команд для назначения функций кнопкам.
Итак, мы присвоили основные функции кнопкам нашей формы, теперь следует создать макрос для изначальной кнопки на нашем листе эксель, которую мы создали в самом начале. Макрос будет осуществлять функцию запуска нашей формы при клике на кнопку, для этого нам нужно создать «Module1» в редакторе VBA. Сделаем это следующим образом. Правым щелчком мышки открываем свойства листа и выбираем раздел «Insert», а далее форма «Module». После чего откроется окно, в котором можно ввести команды. В нем вводим следующие команды, чтобы при нажатии на кнопку запускалась наша форма с размером 100х100 (Рис 6.):
Sub WS()
UserForm1.Height = 100
UserForm1.Width = 100
UserForm1.Show
End Sub-381016256000
Рис. 6. Создания модуля.
После создания модуля можно перейти к назначению макроса на нашу кнопку, правой кнопкой мыши открываем свойства кнопки и нажимаем строку «Назначить макрос» в открывшимся окне выбираем макрос соответствующий нашему модулю. (Рис 7. и Рис.8)
862965381000
Рис. 7.
3105158001000
Рис.8.
Переходим к проверке. Нажимаем на кнопку из листа Excel. Появляется наша форма с двумя кнопками «Увеличить» и «Восстановить». Нажимаем и «Увеличить» и окно формы увеличивается до размеров 300х400, а при нажатии на кнопку «Восстановить» - уменьшается до исходных размеров (Рис. 9 и Рис.10)
-51435-15049500
Рис. 9.
-2286023241000
Рис.10.
Листинг программы для Задания №1(5)
Private Sub CommandButton1_Click()
UserForm1.Height = UserForm1.Height + 200
UserForm1.Width = UserForm1.Width + 300
Label1.Caption = "Размер окна " & UserForm1.Height & "х" & UserForm1.Width
End SubPrivate Sub CommandButton2_Click()
UserForm1.Height = UserForm1.Height - 200
UserForm1.Width = UserForm1.Width - 300
Label1.Caption = "Размер окна " & UserForm1.Height & "х" & UserForm1.Width
End SubSub WS()
UserForm1.Height = 100
UserForm1.Width = 100
UserForm1.Show
End SubЗадание №2(3).
Решение:
Начинаем решение с добавления на рабочий лист Excel кнопки-триггера, но в этот раз нам потребуется кнопка с элементом ActiveX, т.к. обычная кнопка не поддерживает работу нескольких макросов одновременно, а кнопка с элементом ActiveX позволяет открыть окно редактирования кода, что, в свою очередь, позволит нам внести нужные параметры запуска формы. Чтобы добавить кнопку нам потребуется найти во вкладке «Разработчик» раздел «Элементы управления», далее нажать функцию «Вставить», после нажатия появится окно с выбором элементов, которые можно вставить в наш лист. Нам потребуется элемент «Кнопка (Элемент ActiveX)» (Рис.11).
-3810317500
Рис.11. Добавление «Кнопки (Элемент ActiveX)»
Заходим в редактор VBA и добавляем новую форму через «Insert» - «UserForm». Далее, в соответствии с условиями задания, добавляем 4 кнопки «CommandButton» и называем их в соответствии с условиями задания:
«CommandButton1» - «Установить четные»
«CommandButton2» - «Сбросить все»
«CommandButton3» - «Выделить все»
«CommandButton4» - «Количество установленных флажков»
Одновременно с добавление кнопок «CommandButton», добавляем пять элементов управления «CheckBox». Переименовываем их в окне свойств следующим образом: cbo_n (где n-число от 1 до 5).
Для реализации программы используется анализ нажатия четырех кнопок формы, чтобы выполнить условия задания мы будем использовать переменную Value и соответствующие значения «False» и «True», которые помогут выделить или же наоборот, снять выделение с элемента.
Для вычисления выделенных элементов используется оператор «If» и «Then». В целом, операторы условного перехода, такие как: «If»; «Then»; «Else» и «Select Case» - одни из самых важных и часто используемых элементов в языках программирования. Общий принцип их работы достаточно прост: проверка соответствия каким-либо установленным условиям (истинность или ложность выражений) и основываясь на этом выполнение программы направляется по одному или другому пути.
Приступим к выполнению программы. Начнем с «CommandButton1» - «Установить четные», присвоим ей следующие параметры:
Private Sub CommandButton1_Click()
UserForm2.cbo_1.Value = False
UserForm2.cbo_2.Value = True
UserForm2.cbo_3.Value = False
UserForm2.cbo_4.Value = True
UserForm2.cbo_5.Value = False
End SubЗначения «False» соответствуют нечетным значениям, а «True», наоборот четным.
Кнопке «CommandButton2» - «Сбросить все», мы установим следующие параметры:
Private Sub CommandButton2_Click()
For i = 1 To 5
UserForm2.cbo_1.Value = False
UserForm2.cbo_2.Value = False
UserForm2.cbo_3.Value = False
UserForm2.cbo_4.Value = False
UserForm2.cbo_5.Value = False
Next
End Sub
Любое значение от одного до пяти будет ложным, поэтому при нажатии должен произойти сброс и все флаги снимутся.
Кнопке «CommandButton3» - «Выделить все», мы установим следующие параметры:
Private Sub CommandButton3_Click()
UserForm2.cbo_1.Value = True
UserForm2.cbo_2.Value = True
UserForm2.cbo_3.Value = True
UserForm2.cbo_4.Value = True
UserForm2.cbo_5.Value = True
End SubЗдесь все значения, наоборот, являются истинными из-за чего, при нажатии кнопки будут установлены флаги на все элементы «CheckBox».
Кнопке «CommandButton4» - «Количество установленных флажков», мы установим следующие параметры:
Private Sub CommandButton4_Click()
m = 0
If UserForm2.cbo_1.Value = True Then m = m + 1
If UserForm2.cbo_2.Value = True Then m = m + 1
If UserForm2.cbo_3.Value = True Then m = m + 1
If UserForm2.cbo_4.Value = True Then m = m + 1
If UserForm2.cbo_5.Value = True Then m = m + 1
If m > 0 ThenMsgBox ("Количество установленных флажков равно " & m)
ElseMsgBox ("Ни один флажок не установлен")
End IfEnd SubЗдесь устанавливаем зависимость текстового сообщения, при нажатии кнопки, от количества помеченных флажком элементов «CheckBox» за счет операторов условного перехода «Else» и «If».
Все вышеперечисленные действия можно увидеть на Рис.12.
-990602095500
Рис. 12.
Теперь вернемся к «Кнопке (Элемент ActiveX)» на нашем листе, правым щелчком мышки открываем ее свойства и нажимаем кнопку «Посмотреть код», после чего, добавляем следующие параметры запуска (Рис. 13 и Рис 14.):
Private Sub CommandButton1_Click()
Call Zad1
End SubSub Zad1()
UserForm2.Show
End Sub
Рис. 13. Открытие окна кода на «Кнопке (Элемент ActiveX)»

Рис.14. Параметры нажатия на кнопку.
Теперь мы готовы проверить программу, нажимаем на кнопку и смотрим результат (Рис. 15 – Рис. 18):
853440381000
Рис. 15. Установить четные.
8534401333500
90106531115000Рис. 16. Сбросить все.
Рис. 17. Выделить все.

Рис. 18. Количество установленных флажков
Листинг программы для Задания №2(3)
Dim m As BytePrivate Sub cbo_1_click()
End Sub
Private Sub CommandButton1_Click()
UserForm2.cbo_1.Value = False
UserForm2.cbo_2.Value = True
UserForm2.cbo_3.Value = False
UserForm2.cbo_4.Value = True
UserForm2.cbo_5.Value = False
End Sub
Private Sub CommandButton2_Click()
For i = 1 To 5
UserForm2.cbo_1.Value = False
UserForm2.cbo_2.Value = False
UserForm2.cbo_3.Value = False
UserForm2.cbo_4.Value = False
UserForm2.cbo_5.Value = False
Next
End Sub
Private Sub CommandButton3_Click()
UserForm2.cbo_1.Value = True
UserForm2.cbo_2.Value = True
UserForm2.cbo_3.Value = True
UserForm2.cbo_4.Value = True
UserForm2.cbo_5.Value = True
End Sub
Private Sub CommandButton4_Click()
m = 0
If UserForm2.cbo_1.Value = True Then m = m + 1
If UserForm2.cbo_2.Value = True Then m = m + 1
If UserForm2.cbo_3.Value = True Then m = m + 1
If UserForm2.cbo_4.Value = True Then m = m + 1
If UserForm2.cbo_5.Value = True Then m = m + 1
If m > 0 ThenMsgBox ("Количество установленных флажков равно " & m)
ElseMsgBox ("Ни один флажок не установлен")
End IfEnd SubPrivate Sub CommandButton1_Click()
Call Zad1
End Sub
Sub Zad1()
UserForm2.Show
End SubСПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. VBA в MS Office 2007. Заика Александр Александрович. Электронный формат.
2. Слепцова Л.Д. Программирование на VBA в Microsoft Office 2010 – Мю: Диалектика, 2010 г.
5. Иванова С.Г. Технология программирования: учебник. – М:
Кнорус, 2011 г.
4. Самоучитель по VBA, URl: http://office-guru.ru/excel/samouchitel-po-excel-vba-453.html5. VBA-уроки, URL: http://moonexcel.com.ua/uroki-vba1_ru

Приложенные файлы

  • docx 9499466
    Размер файла: 804 kB Загрузок: 5

Добавить комментарий