
- •Алгоритм
- •Основы программирования на vba Переменные
- •W f3 сумма_квадр MyName
- •Константы
- •Выражения
- •Примеры записи арифметических выражений
- •Средство vba для вывода информации
- •Работа с объектами Excel
- •Средство vba для ввода информации
- •Линейные вычислительные процессы
- •Запуск программы на выполнение
- •Логические операции
- •Оператор выбора Select Case
- •Циклы с заданным числом повторений. Оператор цикла For – Next
- •Структура программного кода цикла с For – Next
- •Цикл с разветвлением
- •Цикл со счетчиком
- •Процедуры и функции
- •Процедуры типа Function (функция)
- •Процедуры типа Sub (подпрограммы)
Логические операции
Not - отрицание, And – логическое и, Or – логическое или позво-ляют объединять несколько условий в одном операторе If.
В выражениях, содержащих операции разных категорий, порядок их выполнения следующий:
Арифметические операции
Операции отношения
Логические операции
Ifa>3
And
a<8
Then y = 0
Если оба условия 1 и 2 истинны, то выполнить оператор 3. Если хотя бы одно условие ложно, то управление передается на следующую за If программную строку.
Ifa>0.1
Or
b>5
Then MsgBox “брак”
Если хотя бы одно из условий 1 или 2 истинно, то выполнить оператор 3.
Если ни одно условие не выполняется, то управление передается на следующую за If программную строку.
Ifx<0
And
y<0
Or
x>0
And y>0
Then
k =k+1
Если истинны условия 1 и 2 или истинны условия 3 и 4, то выполнить оператор 5. В противном случае управление передается на следующую за If программную строку.
Пример 4 Определить, принадлежитли точка С с координатами (x,y) заштрихованной области. Радиус R известен.
Во
– первых:
Точка должна лежать внутри окружности радиуса R.
=> Из уравнения окружности
x2 +y2 = R2
получаем первое условие:
.
Во –вторых:
Точка должна лежать выше (над) прямой, уравнение которой y = x.
=>
второе
условие:
.
Sub логич_операция ()
Dim R As Single, x As Single, y As Single
R = Cells(2, 2) ' ввод значения R из ячейки B2
x = Val(InputBox("ввод x")) ' ввод координаты x
y = Val(InputBox("ввод y")) ' ввод координаты y
If Sqr(x ^ 2 + y ^ 2) <= R And y >= x Then
MsgBox "принадлежит"
Else
MsgBox "не принадлежит"
End If
End Sub
Оператор выбора Select Case
применяется, когда в зависимоси от значения некоторой переменной (или выражения), имеющего конечное множество допустимых значений, требуется выполнять разные действия
Пример 5 .
Sub оператор_выбора ()
Dim к_инт As Integer ' к_инт - коэфф. интенсивности труда
к_инт = InputBox (" ввести к_инт")
Select Case к_инт
Case Is < 3 ' если к_ инт меньше 3, то выполнить след. оператор
MsgBox " добавка к зарплате 400 руб"
Case 3 To 5 ' если к_ инт принимает значения диапазоне от 3
' до 5 , то выполнить след. оператор
MsgBox " добавка к зарплате 2000 руб"
Case 6, 7 ' если к_ инт равен 6 или 7, то выполнить след. оператор
MsgBox " добавка к зарплате 5000 руб"
End Select
End Sub
Циклы с заданным числом повторений. Оператор цикла For – Next
Пример 6
.
Вычислить
значение
функции
,
при x,
принимающим
значения от 5 до 75 с шагом
=
10,a
= 1,5
В блоке 3 задаем начальное значение аргумента x (параметра цикла).
В блоке 4 вычисляем текущее значение функции y.
В блоке 6 задаем закон изменения аргумента x (параметра цикла).
В
блоке 7 проверяем – не превысило ли
новое значение x заданного
граничного значения
75. Если x
75
, управление передается на начало цикла
и
вычисление y
продолжается. Если
x > 75
производится
выход из цикла.
Параметр цикла – это переменная, значение которой изменяется в цикле при каждом повторении вычислений по заданному закону.
Число повторений цикла определяется по формуле: