
- •Кафедра КиВт методические указания
- •1.1 Цель работы: Изучение методов создания функций пользователя в excel с использованием Visual Basic for Application (vba).
- •1.2 Теоретические сведения
- •1.3 Задание к работе
- •1.4 Методика выполнения задания
- •Содержание отчета
- •1.6 Задания для самостоятельной работы
- •2. Лабораторная работа № 2. Создание программ на vba с помощью макрорекордера
- •Теоретические сведения
- •Подготовка к записи макроса
- •Запись макроса, остановка записи.
- •Анализ процедуры.
- •Задание к работе.
- •Содержание отчета.
- •3. Лабораторная работа № 3. Интегрированная среда разработки (vba)
- •3.2 Краткие теоретические сведения
- •3.2.1 Общий вид интегрированной среды разработки на Visual Basic for Applications.
- •3.2.2 Панель элементов
- •3.2.3 Окно Project Explorer.
- •3.2.4 Окно Свойства (Properties)
- •3.2.5 Окно Просмотр объектов (Object Browser)
- •4. Лабораторная работа № 4. Программирование алгоритмов линейной структуры
- •4.2 Краткие теоретические сведения
- •4.2.1 Оператор присвоения
- •4.2.2 Функции преобразования форматов
- •4.2.3 Встроенные диалоговые окна
- •4.3 Задание к работе
- •4.4 Методика выполнения задания
- •4.5 Пример выполнения задания
- •Содержание отчета.
- •5. Лабораторная работа № 5. Программирование алгоритмов разветвляющейся структуры
- •5.2 Краткие теоретические сведения
- •5.3 Методика выполнения задания
- •5.4 Пример выполнения задания
- •Содержание отчета.
- •6. Лабораторная работа № 6. Программирование алгоритмов циклической структуры
- •6.2 Теоретические сведения.
- •Задание к работе.
- •Методика выполнения задания
- •Пример выполнения задания
- •Содержание отчета.
- •7. Лабораторная работа № 7. Обработка одномерных массивов
- •7.2 Теоретические сведения. Массивы
- •Динамические массивы
- •7.3 Задание к работе
- •7.4 Методика выполнения задания
- •7.5 Пример выполнения задания
- •7.6 Содержание отчета.
- •8. Лабораторная работа № 8. Обработка двумерных массивов (матриц)
- •8.2 Теоретические сведения.
- •8.3 Задание к работе.
- •8.4 Методика выполнения задания
- •8.5 Пример выполнения задания
- •8.6 Содержание отчета.
- •9. Лабораторная работа № 9. Программирование алгоритмов циклической структуры c использованием оператора цикла do
- •9.1 Цель работы: изучение методов алгоритмизации и программирования алгоритмов циклической структуры c использованием оператора цикла do
- •9.2 Теоретические сведения.
- •9.3 Задание к работе.
- •9.4 Методика выполнения задания
- •9.5 Пример выполнения задания
- •9.6 Содержание отчета.
4.4 Методика выполнения задания
Заранее (до выполнения лабораторной работы)
Изучить:
- запись констант, переменных, стандартных функций;
- правила записи арифметических выражений;
- арифметический оператор присваивания;
- организацию простейшего ввода-вывода данных.
2. Разработать алгоритм решения в соответствии с заданием.
3. Составить программу решения задач.
4. Подготовить тестовый вариант исходных данных и вычислить для них вручную или с помощью микрокалькулятора значения вычисляемых в программе величин.
4.5 Пример выполнения задания
Заданы формулы:
Требуется вычислить b и z при х=1,542 и у=-3,26
Схема алгоритма вычисления b и z:
Блок 1 – ввод исходных данных, блок 2 – печать введенных значений, блок 3 – вычисление Z, блок 4 – вычисляется промежуточное значение, блок 5 – вычисляется b, блок 6 – вывод на печать результата.
Программа, реализующая приведенный алгоритм, имеет вид:
SUB LINEINAJA PROGR()
X=Val(InputBOX(“Введите Х”))
Y=Val(InputBOX(“Введите Y”))
MsgBox “X=” & Str(X) & “Y=” & Str(Y)
Z= (x^2+y^2)/18.3*ABS(SIN(Y))
C=SQR(EXP(X-Y)+X)
B=LOG(C+X^(ABS(Y))+Z)
MsgBox “B=” & Str(B)
End Sub
Содержание отчета.
Цель работы.
Краткие теоретические сведения.
Задание к работе
Текст процедуры на VBA с пояснениями.
Анализ результатов. Выводы.
Библиографический список
Р.Персон. Microsoft Ecxel 97 в подлиннике: В 2т. – BHV – Санкт-Петербург. 1998. Том 2 – 640с.
Васильев А., Андреев А. VBA в Office 2000: учебный курс. – СПб.: Питер, 2001. – 432 с.: ил.
5. Лабораторная работа № 5. Программирование алгоритмов разветвляющейся структуры
5.1 Цель работы: изучение методов алгоритмизации и программирования алгоритмов разветвляющейся структуры.
5.2 Краткие теоретические сведения
Операторы разветвляющейся структуры (принятия решений) позволяют выполнять группы инструкций в зависимости от определенного условия. В VBA для принятия решения используются две инструкции If…Then…Else и Select Case.
Инструкция If…Then…Else задает выполнение определенных групп инструкций в зависимости от значения выражения. Ее синтаксис приведен ниже:
If Условие Then Инструкции [Else Инструкции_else]
Допускается также использование блоковой формы синтаксиса:
If Условие Then
[Инструкции]
[Else
Инструкции_else]]
End If
Или расширенная блоковая форма синтаксиса:
If Условие Then
[Инструкции]
[ElseIf Условие-n Then
[Инструкции_ elseif]]…
[Else
Инструкции_elseif_else]]
End If
При этом предложении ElseIf…Then может повторяться несколько раз. Синтаксис инструкции If…Then…Else содержит элементы, представленные в таблице 5.1.
Таблица 5.1. Элементы синтаксиса инструкции If…Then…Else
Элемент |
Описание |
Условие |
Обязательный элемент, представляющий логическое выражение, имеющее значение True или False. Если Условие имеет значение Null, то значение Условие считается равным False |
Инструкции |
Необязательный элемент в блоковой форме, не обязательный – в строчной форме. Этот элемент представляет собой одну или несколько инструкций, разделяемых двоеточиями, которые выполняются, если Условие имеет значение True |
Условие l |
Обязательный элемент, аналогичный элементу Условие, если употреблено выражение ElseIf |
Инструкции_ elseif |
Необязательный элемент – одна или несколько инструкций, которые выполняются, если Условие имеет значение False, а Условие-n - True |
Инструкции_else |
Необязательный элемент – одна или несколько инструкций, которые выполняются, если Условие имеет значение False |
Инструкции_elseif_else |
Необязательный элемент - одна или несколько инструкций, которые выполняются, если ни Условие, ни Условие-n не имеют значение False |
Однострочная форма допускает выполнение нескольких инструкций в результате проверки одного условия If…Then. При этом все инструкции должны находиться на одной строке и разделяться двоеточием, как показано в приведенном ниже примере:
Sub TestSub ()
Dim intA As Integer
Dim intB As Integer
Dim intC As Integer
intA = 5
intB = 10
intC = 12
If intA < 10 Then intA = intA + 3: intB = intB + 7: intC = intB + intA
End Sub
Здесь Условие принимает значение True, а переменные intA, intB, intC будут иметь соответственно значения 8, 17, 25.
В блоковой форме синтаксиса инструкция If обязательно должна быть первой инструкцией в строке, а End If – последней. Предложения Else и ElseIf являются необязательными.
В блоке If допускается любое число предложений ElseIf, но ни одно такое предложение не должно находиться после предложения Else. Ниже представлен пример использования предложения ElseIf:
Sub TestSub ()
Dim intA As Integer
Dim intB As Integer
Dim intC As Integer
intA = 15
intB = 10
intC = 12
If intA < 10 Then
intA = intA + 3
intB = intB + 7
intC = intB + intA
ElseIf intB > 0 Then
intA = intA + 10
intB = intB + 20
intC = intB + intA
End If
End Sub
В последнем примере Условие в предложении If будет иметь значение False. Поэтому осуществляется переход на строку с инструкцией ElseIf с последующей проверкой условия, которое в данном случае имеет значение True. Это приводит к выполнению расположенных после ElseIf инструкций, в результате чего переменным intA, intB и intC будут присвоены значения, равные соответственно 25, 30 и 55.
При выполнении блоковой инструкции If также сначала проверяется Условие. Если оно имеет значение True, то выполняются инструкции, следующие за словом Then. Если же Условие имеет значение False, то при наличии одного или нескольких условий ElseIf выполняется последовательная проверка каждого из них. В случае истинности одного из условий осуществляется выполнение инструкций, следующих за соответствующим предложением Then. В том случае, если ни одно из условий ElseIf не имеет значение True или предложение ElseIf отсутствуют, то выполняются инструкции, следующие за Else.
После выполнения инструкций, следующих за Then или Else, происходит передача управления на инструкцию, расположенную непосредственно за End If.
Допускается использование вложенных блоков инструкций If.
Таблица 5.2 Варианты заданий
Вариант задания |
Расчетные формулы |
Значения исходных данных |
|
а |
в |
||
|
|
-0,5 |
2 |
t может принимать любое значение |
|||
|
|
1,5 |
|
х может принимать любое значение |
|||
|
|
2,8 |
3 |
х может принимать любое значение С=4 |
|||
|
Вычислить значение функции, заданной графически по значению аргумента х
|
х может принимать любое значение |
|
|
Вычислить значение функции, заданной графически по значению аргумента х
|
х может принимать любое значение |
|
|
Найти квадрат наибольшего из двух чисел a и b и отпечатать признак N=1, если наибольшим является a и признак N=2 – в противном случае |
a и b могут принимать любые значение |
|
|
Определить, является ли значение целочисленной переменной х кратным 3. Если является, то вывести значение на печать, а в противном случае отпечатать НЕТ |
х может принимать любые целочисленные значения |
|
|
|
x=7,15, y=2,55, z=0,12, x=0,11 |
|
|
|
x=3,75, y= -6,72, z=4,05, x=4,05 |
|
|
|
x=2,65, y=2,255, z=2,05, x=1,04 |
|
|
|
|
|
|
Упорядочить три числа a,b,c по возрастанию таким образом, чтобы переменной а соответствовало наименьшее число, b – среднее, с - наибольшее |
|
|
|
Вычислить корни квадратного уравнения
|
|
|
|
Вычислить корни квадратного уравнения
|
Учесть, что любой из коэффициентов a,b,c может быть равен нулю |
|
|
Вычислить
|
|
|
|
Определить, является ли значение целочисленной переменной Х кратной У. Если является, то вывести значение Х на печать |
|
|
|
Вычислить площадь треугольника со сторонами a,b,c по формуле Герона, проверив условие корректности исходных данных |
длины всех сторон положительны, сумма длин любых двух сторон больше длины третьей |
|
|
Найти квадрат наибольшего из двух чисел a и b, вывести на печать признак N=1, если наибольшим является a, и признак N=2 – в противном случае |
|
|
|
Найти квадрат наименьшего из двух чисел a и b, вывести на печать признак N=1, если наибольшим является a, и признак N=0 – в противном случае |
|
|
|
Определить, попадает ли точка с координатами х, у в круг радиуса R . Вывести признак N=1, если точка находится внутри круга, и признак N=0, если точка находится вне круга |
Уравнение окружности R2=х2+у2 |
|
|
Вычислить
значение функции z=x3/y,
где
|
|
|
|
Вычислить значение функции
|
|
|
|
Вычислить значение функции
|
|
|
|
|
x=15,331, y= -0,823, z=15,22, x=-2,23 |
|
|
|
x= -2,71, y=1,14, z=7,1, x=10,5 |