Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Задания / VBA / VBA_2_Следование / Следование

.doc
Скачиваний:
40
Добавлен:
17.04.2015
Размер:
215.55 Кб
Скачать

Российский Университет Кооперации Кафедра информационных технологий.

Дисциплина «Информатика». Доцент Гудзенчук З.В.

Тема: Visual Basic for Application - VBA. Программирование по линейному алгоритму

Этап создания программного обеспечения с использованием объектно-ориентированного подхода включает четыре шага:

  1. Анализ (пп. 1, 2, 3);

  2. Проектирование ;

  3. Эволюцию;

  4. Модификацию

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

Задание по разработке линейного алгоритма (алгоритм следования)

Написать блок-схемный алгоритм и код исполнения в среде VBA для решения следующей задачи (п.1).

  1. Постановка задачи. Магазин в течение месяца снизил цену товара стоимостью S рублей дважды: сначала на n1 процентов и, затем на n2 процентов. Определить цену товара s1 после первого снижения и цену товара s2 после второго снижения. Определить N — на сколько процентов снизилась первоначальная цена товара S.

  2. Разработка математической модели решения задачи (формализация задачи).

Модель решения задачи:

s1 = SS*n1/100 — цена товара после первого снижения цен.

s2 = s1 –s1*n2/100 — цена товара поcле второго снижения цен

N = 100 – s2/S*100 — на столько процентов снизилась за месяц первоначальная цена товара

  1. Разработка блок-схемного линейного алгоритма решения задачи

Блок-схема решения

Расчет

N = 100 – s2*100/S

Рис. 1 Блок - схема алгоритма линейной структуры

  1. Разработка проекта решения задачи

Выполним второй шаг на этапе создания программного обеспечения современного приложения. Для решения поставленной задачи достаточно написать две процедуры:

  • Расчет по алгоритму

  • Выход из программы

Выполнение этих процедур требуется привязать к нажатию кнопок соответственно:

  • Расчёт

  • Выход (см. Рис. 5)

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

  1. Открыть приложение Excel.

  2. Для доступа в среду VBA необходимо выполнить команды меню Сервис:

  • Сервис Макрос Редактор Visual Basic

или

  • нажать комбинацию клавиш <Alt + F11>

В

Окно структуры проекта

результате появится экран среды программирования VBA (Рис. 2)

Рис. 2 Первоначальный вид экрана редактора VBA

Окно свойств объекта Лист1 класса Worksheet

  1. Выполнить команду Insert UserForm. В результате на экране появится объект – форма с именем UserForm1 и панель Toolbox с элементами управления, которую можно передвинуть ( Рис. 3).

Рис. 3 Окно среды визуальной разработки пользовательского интерфейса

Проектирование программного обеспечения VBA включает выполнение трех пунктов:

  1. Планирование пользовательского интерфейса на объекте UserForm1.

  2. Установка значений свойств объектов – самой формы, кнопок, надписей, полей и др.

  3. Написание программного кода – кодов процедур расчёта и выхода.

Чтобы понять систему программирования VBA, необходимо разобраться в понятии объект.

Перед Вами первый объект, с которым встречается пользователь среды программирования VBA, это форма UserForm1. Нажатием правой кнопкой мыши на форму открывается контекстное меню, в котором можно вывести на экран окно свойств формы и окно программного кода (Рис. 4):

Рис. 4

В окне свойств формы установите свойство Tехt равное строке “Снижение цены товара за месяц” без кавычек. В результате заголовок формы будет содержать введенный Вами Text.

  1. Планирование пользовательского интерфейса

Для создания проекта на форме нужно разместить объекты: кнопки, метки и др. Объекты Visual Basic берём с панели Toolbox (опция меню Viw или значок ), перетаскиваем на форму UserForm1 и располагаем в соответствии с Рис. 5 и спецификацией:

Р ис. 5 Пользовательский интерфейс проекта

Спецификация элементов формы пользовательского интерфейса:

  • 6 элементов Label — метка - это надписи.

  • 6 элементов TextBox — текстовое поле - это окошки ввода и вывода данных.

  • 2 элемента CommandButton — кнопка - это кнопки Расчёт и Выход для запуска кодов соответствующих процедур.

  • 1 элемент Image — рисунок - разделительная линия

  1. Установить значения свойств объектов формы

Каждый объект имеет набор свойств. Важнейшим является свойство (Name) – имя. Значение этого свойства используется в программном коде для обращения к данному объекту. Внимательно следите за совпадением имени объекта в окне свойств и в коде программы!

Ниже перечислены свойства, которые нужно у объектов изменить. Если свойства нескольких объектов совпадают, то можно предварительно выделить эти объекты щелчком мыши с нажатой клавишей Shift, а затем задать значение свойства. Значение присвоится всей группе объектов.

  • Все 6 обектов Label имеют свойство Caption- надписи в соответствии с Рис. 5. Три нижние метки имеют также свойство ForeColor = Purple и свойство Font = Arial; 9pt (группа объектов).

  • Все 6 объктов TextBox имеют свойство Text ( устанавливается программно, просто посмотрите).

  • Две кнопки Button имеют свойство Caption Расчёт и Выход соответственно.

  • Объект — изображение Image имеет свойства BackColor = &H00C000C0& или любой другой цвет по вашему выбору и Height =3

  1. Написать код программы

Программа имеет две процедуры, которые выполняются при событии Click (щелчок) по кнопкам CommandButtin1 (Расчёт) и CommandButton2 (Выход)

Открыть окно кода, дважды кликнув по кнопке Расчёт.

Появится заготовка процедуры события Click() для кнопки с именем CommandButton1.

Private Sub - начало процедуры

End Sub - конец процедуры

Между этими командами нужно написать программный код, выполняющий расчёт цен товара после скидок и процент скидки. Код программы пишется в соответствии с алгоритмом решения задачи - Рис. 1. и нижеприведённым текстом кодов процедур.

Аналогично создаётся код процедуры для кнопки Выход.

Пояснения в коде даются зелёным цветом и начинаются с апострофа'. Дайте чёткие и однозначно понятные пояснения к каждому оператору кода.

Тексты кодов процедур

Private Sub CommandButton1_Click() ‘Кнопка Расчет

Dim s, s1, s2 As Single ' Объявление переменных

Dim N, n1, n2 As Integer

s = Val(TextBox1.Text) 'Присвоение переменной s значения вводимого в поле

n1 = Val(TextBox2.Text)

n2 = Val(TextBox3.Text)

s1 = s - s * n1 / 100 'присвоение s1 значения вычисленного выражения

s2 = s1 - s1 * n2 / 100

N = 100 - s2 * 100 / s

TextBox4.Text = s1 'отображение значения s1 в поле

TextBox5.Text = s2

TextBox6.Text = Format(N, "Fixed")

End Sub

Private Sub CommandButton2_Click() 'Кнопка Выход

End

End Sub

Функция Val()

Val – функция преобразования строкового аргумента в числовой тип данных. Синтаксис Val(string). Эту функцию необходимо использовать, поскольку при вводе с клавиатуры числа в окошко объекта TextBox1, это число воспринимается языком Visual Basic как строковое значение, а нам нужно в дальнейшем использовать это значение в вычислениях как число.

В нашем случае в функции Val(TextBox1.Text) аргумент TextBox1.Text имеет тип string - строковый. Поэтому значение свойства Text объекта TextBox1 преобразуется функцией Val из строки в число и это значение числа присваивается переменной s. Далее переменная s используется в числовых вычислениях. Аналогично получаем значения переменных n1 и n2.

Проектирование закончено!

  1. Запуск программы на исполнение.

Запустить программу на выполнение нажатием функциональной клавиши F5 или щелкнуть по кнопке Run (Выполнить).

  1. Тестирование программы

В вести данные в верхние три поля и щелкнуть по кнопке Расчет . Результат появится в трех нижних текстовых полях (Рис. 6).

Рис. 6 Вид формы в режиме выполнения

  1. Эксплуатация программы

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

6

Соседние файлы в папке VBA_2_Следование