
- •Программирование на vba в ms Excel Лабораторная работа № 1. Линейные алгоритмы
- •Варианты заданий
- •Лабораторная работа № 2. Условные алгоритмы
- •Варианты заданий
- •Лабораторная работа № 3. Циклические алгоритмы. Работа с массивами
- •Варианты заданий
- •Лабораторная работа № 4. Работа с массивами. Сортировки
- •Общие теоретические сведения Методы сортировок одномерных массивов
- •Метод сортировки на рабочем листе Код программы:
- •Метод пузырьковой сортировки Код программы:
- •Метод быстрой сортировки Код программы:
- •Метод пересчета Код программы:
- •Лабораторная работа №5. Массивы элементов управления. Создание кнопочных форм
- •Калькулятор
Программирование на vba в ms Excel Лабораторная работа № 1. Линейные алгоритмы
Время выполнения
4 часа
Цель работы
Научиться использовать язык программирования Visual Basic for Applications (VBA) для разработки модулей в Excel на основе линейных алгоритмов.
Задачи лабораторной работы
После выполнения данной работы студент должен знать и уметь:
знать все операторы, используемые в программах;
уметь применять любые из изученных операторов для написания своих модулей;
уметь объяснить написанную программу.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим математическим обеспечением: операционная система Windows XP, электронные таблицы Excel с приложением в виде языка Visual Basic for Applications.
Общие теоретические сведения
VBA – это язык объектно-ориентированного программирования.
Основными парадигмами являются объект, свойство, метод, событие, класс и семейство объектов.
Объект – это инкапсуляция данных вместе с кодом, предназначенным для их обработки.
Семейство – объект, содержащий несколько других объектов того же типа:
Worksheets (“Лист 1”) – рабочий лист с имени Лист1,
Worksheets (1) – первый лист рабочей книги.
Классы – это проект, на основе которого будет создан объект, т.е. класс определяет имя объекта, его свойства и действия, над ним выполняемые. А каждый объект, свою очередь, является экземпляром класса.
Методы – это действия, выполняемые над объектом.
Объект.метод – синтаксис метода
Пример.
Application.Quit – закрыть объект Application.
Worksheets (“Лист1”).Chartobjects.Delete – удалит все диаграммы с листа “Лист1”.
Свойства – это атрибут объекта, определяющий его характеристики: размер, цвет, положение на экране или состояние (доступность, видимость).
Для изменения характеристик меняют его свойства:
Объект.Свойство=Значение свойства
Пример.
Worksheets.Visible = False
Есть свойства, возвращающие объект:
ActiveCell возвращает активную ячейку активного листа активной рабочей книги.
ActiveWindow – активное окно.
Свойства ActiveCell, ActiveWindow. ActiveCell и Application. ActiveWindow. ActiveCell возвращают одну и ту же активную ячейку.
События – это действия, распознаваемые объектом.
Суть программирования на VBA и заключается в том, чтобы на событие получить отклик.
Пример 1. Написать программу, которая вычисляет периметр треугольника.
Запись программы в виде блок-схемы (рис. 1) и визуальное представление формы для ввода данных (рис. 2) и результата (рис. 3):
Рисунок 1. Блок-схема решения задачи
Рисунок 2. Ввод исходных данных в процессе выполнения программы
Рисунок 3. Вывод результата в процессе выполнения программы
Программный код
Option Explicit
Sub ПериметрТреугольника()
Dim ВтораяСторона, ТретьяСторона, Периметр As Single
ВтораяСторона = 3.5
ТретьяСторона = InputBox("Введите значение третьей стороны треугольника", "Третья сторона")
Периметр = Cells(1, 4) + ВтораяСторона + ТретьяСторона
MsgBox "Периметр треугольника = " & Периметр
End Sub
Пример 2. Вычислите значение квадратного корня из суммы трех переменных.
Запись программы в виде блок-схемы (рис. 4) и визуальное представление формы для ввода данных (рис. 5) и результата (рис. 6):
Рисунок 4. Блок-схема решения задачи
а)
б)
в)
Рисунок 5. Ввод исходных данных в процессе выполнения программы
Рисунок 6. Вывод результата в процессе выполнения программы
Программный код
Option Explicit
Sub КореньКвадратныйИзСуммыТрехПеременных()
Dim ПерваяПеременная, ВтораяПеременная, ТретьяПеременная, Сумма As Single
Dim Корень As Double
ПерваяПеременная = InputBox("Введите значение первой переменной", "Первая Переменная")
ВтораяПеременная = InputBox("Введите значение второй переменной", "Вторая Переменная")
ТретьяПеременная = InputBox("Введите значение третьей переменной", "Третья Переменная")
Сумма = ТретьяПеременная + ВтораяПеременная + ПерваяПеременная
Корень = Sqr(Сумма)
MsgBox "Корень из суммы трех переменных = " & Корень
End Sub
Пример 3. Вычислить Y, задав значения переменным:
Программный код
Sub Main()
Dim x, b, a, res As Single
x = -3
b = 2
a = 0,5
res = (Sqr(5 * x ^ 4 + 2 * Sin(b) ^ 2)) / Cos(Abs(a ^ 3 - 3 * Tan(b)))
MsgBox "res=" & CStr(res)
End Sub
Private Sub CommandButton1_Click()
Dim x, b, a, res As Single
x = Cells(3, 1)
b = Cells(3, 2)
a = Cells(3, 3)
res = (Sqr(5 * x ^ 4 + 2 * Sin(b) ^ 2)) / Cos(Abs(a ^ 3 - 3 * Tan(b)))
Cells(5, 2) = res
End Sub
Визуальное представление решения задачи представлено на рис. 7.
Рисунок 7. Визуальное представление решения задачи
Пример 4. Вычислить f, задав значения переменным:
Программный код
Sub Main()
Dim x, y, t, res As Single
x = -3
y = 2
t = 0.5
res = (x / (4.8 * x ^ 3 - y) ^ 3) + 1 / 4 * (t - 3 / x)
MsgBox "res=" & CStr(res)
End Sub
Private Sub CommandButton2_Click()
Dim x, y, t, res As Single
x = Cells(3, 9)
y = Cells(3, 10)
t = Cells(3, 11)
res = (x / (4.8 * x ^ 3 - y) ^ 3) + 1 / 4 * (t - 3 / x)
Cells(5, 10) = res
End Sub
Визуальное представление решения задачи представлено на рис. 8.
Рисунок 8. Визуальное представление решения задачи
Видеоурок по выполнению заданий лабораторной работы http://informatics.ssga.ru/practics/lab-28 .