
- •Алгоритм
- •Основы программирования на vba Переменные
- •W f3 сумма_квадр MyName
- •Константы
- •Выражения
- •Примеры записи арифметических выражений
- •Средство vba для вывода информации
- •Работа с объектами Excel
- •Средство vba для ввода информации
- •Линейные вычислительные процессы
- •Запуск программы на выполнение
- •Логические операции
- •Оператор выбора Select Case
- •Циклы с заданным числом повторений. Оператор цикла For – Next
- •Структура программного кода цикла с For – Next
- •Цикл с разветвлением
- •Цикл со счетчиком
- •Процедуры и функции
- •Процедуры типа Function (функция)
- •Процедуры типа Sub (подпрограммы)
Запуск программы на выполнение
из редактора Visual Basic (3 способа)
1. Кнопка
на
панели
инструментов
стандартной
2. В
меню
Run
Run Sub/UserForm
3. Клавиша F5
Разветвляющиеся вычислительные процессы
Разветвляющиеся алгоритмы предполагают наличие хотя бы одного условного блока, который позволяет реализовать два варианта (пути) вычислений, в зависимости от выполнения заданного условия.
Для реализации разветвлений в программе в VBA есть оператор условного перехода и оператор выбора.
Оператор условного перехода
имеет несколько разновидностей.
Однострочный
If [условие] Then [оператор]
Условие (логическое выражение) реализуется с помощью операций отношения и логических операций.
Операции отношения
= равно > больше
< > не равно <= меньше или равно
< меньше >= больше или равно
ПРИМЕЧАНИЕ: Сравнивать можно числовые и строковые значения. Результатом сравнения может быть True (истина) либо False (ложь).
If k>9 Then MsgBox “Тест завершен”
Если условие k>9 принимает значение True (истина), то будет выполняется оператор вывода сообщения MsgBox.
Если условие принимает значение False (ложь), то управление передается на следующую программную строку.
2. Блочный If [условие] Then
[операторы]
End If
3. If [условие] Then
[операторы,
если условие
=
True]
E Передача
управления на программную строку,
следующую за End
If
[операторы,
если условие
=
False]
End If
……………….
Пример 2 Вычислить значение функции
,
где
a = 3,9
1. Составим алгоритм решения задачи.
Блок 2 – присваивается значение переменной а.
Блок 3 – вводится значение аргумента x.
Блок 4 – анализирует значение аргумента x: при истинности условия вычислительный процесс идет по ветви 1 (выход «да»), если условие ложно реализуется ветвь 2.
В окне редактора кода введем программный код:
Sub Простое_ветвление ()
Dim a As Single, x As Single, y As Single
a = 3.9
x = Val(InputBox ("Ввод x")) ‘ввод значения аргумента x
If x < a Then
y = Exp(a * x) ‘ вычисление значения функции y, когда
‘ условие x < a истинно (True)
Else
y = Cos(3 * x) ‘ вычисление значения функции y, когда
‘ условие x < a ложно (False)
End If
MsgBox "x=" & x & " y=" & y
End Sub
Пример 3
Вычислить
значение функции
при b
= 3
Sub сложное _ветвл ()
Dim b As Single, x As Single, y As Double
b = Cells(2, 1) 'ввод значения b из ячейки A2
x = Val(InputBox("ввод x"))
If x < 2 Then
y = Abs(x)
Else
If x < 10 Then 'вложенный оператор If
y = x ^ 3 - b
Else
y = Sqr(x + b)
End If
End If
Cells(3,
1) = x
:
Cells(4,
1) = y
'вывод
значения
аргумента
x
'в ячейку A3 и значения функции y в ячейку A4
E
Знак
:
объединяет
несколько операторов в одной программной
строке