- •Компьютерные информационные технологии
- •Часть 1
- •Лабораторная работа №1 Электронная таблица Excel. Макросы.
- •Варианты заданий
- •Лабораторная работа №2 итерфейс редактора vba. Элементы управления vba
- •Лабораторная работа №3 разработка линейной программы на vba
- •Лабораторная работа №4 алгоритмы и программы разветвляющейся структуры. Условный оператор if
- •Краткие теоретические сведения:
- •If условие Then [операторы 1] [Else операторы 2]
- •If условие Then
- •3 Этап. Загрузить редактор vba и разработать приложение. Порядок выполнения работы:
- •Содержание отчета.
- •Контрольные вопросы
- •Задания к выполнению:
- •2 Часть. Программирование с использованием объектов excel.
- •Порядок выполнения работы:
- •Лабораторная работа № 5 оператор выбора select case
- •Лабораторная работа № 6
- •Vba. Цикл с параметром (for…next)
- •1.Цикл For.
- •2.Массивы.
- •Лабораторная работа №7
- •Vba. Циклы с предусловием и постусловием.
- •Лабораторная работа № 8 алгоритмы обработки массивов
- •1 Алгоритм определения максимального (минимального) значения элементов массива
- •2 Алгоритм нахождения суммы и произведения элементов массива
- •3 Алгоритмы сортировки элементов массива
- •Лабораторная работа № 9
- •Vba. Пользовательские процедуры
- •Лабораторная работа № 10
- •Vba. Пользовательские функции
- •Лабораторная работа № 11 Операторы и функции для обработки строк
Лабораторная работа №3 разработка линейной программы на vba
Цель работы – получение навыка разработки линейных программ на VBA c разработкой интерфейса с использованием пользовательской формы UserForm.
Окно модуля используется при написании любой программы VBA, будь это код макроса, запуск которого осуществляется при нажатии кнопки в созданной пользователем форме, или подпрограмма.
Под строкой заголовка окна расположены два списка. В первом списке выводятся все объекты модуля, а во втором – список процедур, связанных с выбранным объектом.
Код программы вводится непосредственно в окно модуля, так же как текст в любом текстовом редакторе.
Наиболее вероятно, что создаваемый код включает ряд маленьких подпрограмм. Для каждого события, возникающего в форме необходимо написать процедуру (последовательность совместно выполняемых инструкций, имеющая имя) обработки.
Создание процедуры с помощью диалогового окна "Вставка процедуры"
1 Откройте модуль, для которого создается процедура.
2 Выберите команду Процедура в меню Вставка.
3 Введите имя процедуры в поле Имя диалогового окна Вставка процедуры.
4 Выберите тип для создаваемой процедуры: Sub, Function или Property.
5 Задайте область определения процедуры как Public или Private.
6 Чтобы добавить в описание процедуры ключевое слово Static, выберите Все локальные переменные считать статическими.
Нажмите кнопку OK. В окне модуля выводится пустая процедура с данным именем.
Sub
Процедура Sub представляет собой последовательность инструкций языка Visual Basic, ограниченных инструкциями Sub и End Sub, которая выполняет действия, но не возвращает значение.
Function
Процедура Function представляет собой последовательность инструкций языка Visual Basic, ограниченных инструкциями Function и End Function. Процедура Function подобна процедуре Sub, однако в отличие от последней она возвращает значения. Процедура Function может получать аргументы, как например константы, переменные, или выражения, передаваемые ей вызывающей процедурой.
Property
Процедура Property представляет собой последовательность инструкций языка Visual Basic, которые позволяют программисту создавать собственные свойства и оперировать с ними.
В проекте VBA часто требуется создать собственную форму. Например, может понадобиться задать значения параметров перед выполнением некоторой операции.
В VBA, формы можно создать самостоятельно. Форма - это тоже самое, что и любое диалоговое окно. Панель элементов позволяет разместить ряд элементов управления в форме.
В VBA очень просто связать объект с кодом. Для выполнения данной операции:
Дважды щелкните по элементу управления в форме. Появляется окно модуля для выбранного объекта. Выберите событие для которого требуется создать процедуру обработки, в списке, расположенном в верхнем правом углу окна модуля. Введите текст процедуры.
Вызвать контекстное меню необходимого объекта правой клавишей мыши и нажать поле Программа.
Решение любой задачи имеет три части:
Ввод данных
Обработка данных
Вывод результата
Под вводом данных понимается описание всех переменных, констант и массивов, используемых в программе, а также код, обеспечивающий присвоение этим переменным вводимых данных.
Под так называемой обработкой данных понимается код, состоящий из математических выражений, которые приводят к получению результата.
Вывод результата – это код программы, который позволяет отобразить полученный результат в необходимом виде: на экране (лист excel, форма), на принтере и т.д.
Решим задачу: найдем сумму а + в = с
Порядок выполнения работы:
-
Выполнить команду СЕРВИС /МАКРОС/РЕДАКТОР VBA
-
Выполнить команду ВСТАВКА/USERFORM
-
П оместить на форму элементы, требуемые для решения задачи, с панели элементов, и расположить их нужным образом.
-
Изменить свойства объектов на форме c помощью окна свойств.
-
Свойство
Значение
Label1.Caption
a
Label2.Caption
в
Label3.Caption
с
СоmmandButton1
результат
CheckBox1.Caption
Очистка окон
Для всех объектов свойство
.BackColor
По своему вкусу выбрать цвет
Из палитры цветов
Для Label1, Label2 ,Label3
свойство
Font
В диалоговом окне “Шрифт”, которое появится после щелчка по Кнопке с изображением трех маленьких точек, расположенной напротив свойства Font в окне свойств, выбрать размер 16
-
Написать программный код. Для этого рекомендуется выполнить двойной щелчок по кнопке результат и перейти в окно программы, где набрать текст процедуры обработки события Click() для кнопки:
Private Sub CheckBox1_Click() ‘Для очистки текстовых полей
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox3.Visible = False
TextBox1.SetFocus
End Sub
Private Sub CommandButton1_Click() ’Для расчета суммы
Dim a As Integer
Dim b As Integer
Dim c As Integer
a = CInt(TextBox1.Text)
b = CInt(TextBox2.Text)
c = a + b
MsgBox "результат смотри в TextBox3"
TextBox3.Visible = True
TextBox3.Text = c
End Sub
Пояснения к программе:
Dim а As Integer
Эта инструкция описывает переменные как Integer — целые числа от -32768 и до 32767. При попытке присвоить а число, выходящее за пределы этого диапазона, возникает ошибка. При присваивании а дробного числа, выполняется округление.
Инструкция Dim - Описывает переменные и выделяет для них память.
CInt - функция преобразования типов данных.
Синтаксис CInt(выражение)
Тип данных Integer – целые
ЗАДАНИЯ ДЛЯ ВЫПОЛНЕНИЯ
-
f(x,y¸z) = (x^2-y^2)/(1+z+x^2).
-
2.f(x,y,z) = (x+y+z)/(x^2+y^2+z^2).
-
Вычисления площади прямоугольного треугольника по двум катетам. Катет a=5 Катет b=3.
-
f(x,y)=x./(1+y)+y/(1+x)+1/(x+y).
-
Вычисления площади куба по его стороне. а=3.
-
f(x,y,z)=(x+y+z)/(x*y*z).
-
f(a,b,c,x)=a*x^2+b*x+c.
-
Вычисления процентного отношения двух чисел(сколько процентов составляет величина первого от величины второго). Исходные данные: первое число 5.7 второе число 8.7.
-
f(x,y,z)=x/y/z+z/y/x/+y/x/z.
-
Вычисления дискриминанта квадратного уравнения. Исходные данные а=5.9 b=8.9 с= 0.7.
-
f(x,y)=(x+y)(x^2+y^2)(x^3+y^3).
-
Вычисления объема шара по заданному радиусу. Исходные данные r =5.78.
-
Вычисления объема цилиндра по заданному радиусу и высоте. Исходные данные r=5.1 h=1.9.
-
f(x,y,z)=(x*y*z)/(x+y^2+z^3).
-
Вычисление главной диагонали параллелепипеда. Исходные данные a=4 b=3 c=6.
-
f(x,y,z)=x/(y+z)+y/(x+z)+z/(x+y).
-
Вычисления произведения четырех вещественных чисел. Исходные данные x1=3 x2=4.1 x3=1.8 x4=0.8.
-
f(x,y,z)=(x+1)/y/z+sin(z)/y/x+1n(y)/x/z.
-
f(x,y,z)=x^3+y^4+z^5.
-
f(x,y,z)=x*y/z+y*z/x+z*x/y.