Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование в VBA на MS Excel.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.4 Mб
Скачать

Программирование на 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 .