- •ВВЕДЕНИЕ
- •1 ОСНОВЫ ПРОГРАММИРОВАНИЯ НА VBA
- •1.1 Типы данных
- •1.2 Требования к идентификаторам
- •1.3 Приоритет выполнения операций
- •1.4 Встроенные функции
- •1.5 Функции управления процессом выполнения программ
- •1.6 Формирование и обработка массивов
- •1.7 Создание управляющих кнопок
- •2 БАЗОВЫЕ ПОНЯТИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
- •3 РАЗРАБОТКА ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ПРОГРАММЫ
- •3.1 Интерфейс среды разработки языка VBA
- •3.2 Создание пользовательской формы
- •4 ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ
- •4.1 Структурные элементы пояснительной записки
- •4.2 Оформление элементов пояснительной записки
- •5 ПРИМЕР ВЫПОЛНЕНИЯ ЗАДАНИЯ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- •ПРИЛОЖЕНИЕ Б ПРИМЕРЫ ОПИСАНИЯ ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.5 Функции управления процессом выполнения программ
1.5.1 Линейный вычислительный процесс (следование)
Линейным принято называть вычислительный процесс, в котором операции выполняются последовательно, в порядке их записи, каждая операция является са- мостоятельной, независимой от каких-либо условий.
Пример вычисления площади круга:
Sub s_kruga () ‘заголовок программы
Const pi as single = 3.1459
Dim r as single, s as single ‘объявление переменных
r = InputBox(”Введите радиус круга”)‘ввод радиуса с клавиатуры
S = pi * r ^ 2 ‘расчет площади круга
MsgBox (”S =” & S) ‘вывод результата в диалоговое окно
End Sub
1.5.2 Разветвляющийся вычислительный процесс (ветвление)
Обычно шаги алгоритма выполняются в том порядке, в котором они перечис- лены. Однако во многих алгоритмах последовательность шагов зависит от значений исходных данных, позволяющих выбрать ту или иную последовательность шагов.
Выбор нужной ветви алгоритма обычно производится по результату проверки некоторого условия. Шаг алгоритма, на котором выполняется проверка условия, на- зывается шагом выбора или шагом ветвления. Простейший вид шага выбора пред- ставляет собой проверку логического условия, т.е. условия, которое может быть ис- тинным или ложным.
Условный оператор If
Для организации ветвления используют оператор if. Синтаксис:
If условие then
инструкция–да
Else
инструкция–нет
End If
9
Здесь условие – список, содержащий логические выражения вида a < b, a = b, a > b и т.п.; инструкция-да – инструкция, которая будет выполнена, если условие верно; инструкция-нет – инструкция, которая будет выполнена, если условие невер- но.
Примеры:
–ветвление с одной альтернативой
If x > 0 then
y = sqr(x)’код выполняется, если х > 0 End If
–ветвление с двумя альтернативами
If x <> 0 Then
y = Sin(x)/x ’код выполняется, если х ≠ 0
Else
y = 1 ’код выполняется, если х = 0
End IF
– ветвление с тремя альтернативами
If x > 0 then
MsgBox(”x – положительное число”)’код выполняется, если х > 0 Else
If x < 0 tnen
MsgBox(”x – отрицательное число”)’код выполняется, если х < 0 Else
MsgBox(”x = 0”) ’код выполняется, если х = 0
End IF
End IF
Оператор выбора Select Case
Оператор выбора Select Case используется для реализации нескольких альтер- нативных вариантов действий, каждый из которых соответствует своим значениям параметра.
Условия проверяются последовательно до первого истинного. Если истинно сразу несколько условий, то выполняются только инструкции, относящиеся к пер- вому из них, а остальные условия даже не проверяются.
Синтаксис:
10
Select Case <проверяемое выражение>
Case <значение, список значений, диапазон значений> <инструкции>
...
<инструкции>
Case <значение, список значений, диапазон значений> <инструкции>
...
<инструкции> Case Else
<инструкции> End Select
Пример операции выбора:
Select Case x
Case Is < 0
y = a ^ 2 + x ’код выполняется, если х < 0 Case 0
y = x + 5 ’код выполняется, если х = 0 Case Is > 0
y = x – 5 ’код выполняется, если х > 0 End Select
1.5.3 Циклический вычислительный процесс (цикл)
Циклическая структура процесса вычислений предполагает, что для получе- ния результата некоторые действия необходимо выполнить несколько раз.
Например, чтобы получить значение функции на заданном интервале измене- ния аргумента с заданным шагом, необходимо соответствующее количество раз оп- ределить следующее значение аргумента и подсчитать для него значение функции.
Цикл выполняет двоякую функцию:
−выполнение одного и того же участка программы более одного раза;
−передачу управления (под управлением понимается выполняемый в дан- ный момент элемент программы) «назад» или «вверх» (т.е. ближе к началу программы).
11
Процессы циклической вычислительной структуры можно разделить на две группы:
−счетные циклы, или циклы с заданным количеством повторений (про-
стые циклы). Количество повторений известно, цикл повторяется, пока переменная (параметр) цикла принимает значения в заданном диапазоне с определенным шагом;
−циклы с неявно заданным числом повторений (условные циклы). Это та-
кие циклы, число повторений которых заранее не известно. Выход из них
происходит при достижении определенного условия, а на каком шаге это произойдет, заранее сказать невозможно.
Любой цикл состоит из двух частей: условия цикла и тела цикла. У любого цикла есть параметр. Параметр цикла – это переменная, которая изменяется в теле цикла, а также участвует в условии его окончания.
Простой цикл
Простой цикл реализуется с помощью оператора For. Синтаксис оператора For:
For переменная = выражение1 To выражение2 [Step выражение3]
операторы
Next [переменная]
Здесь переменная – параметр цикла; выражение1 – начальное значение пара- метра цикла; выражение2 – конечное значение параметра цикла; выражение3 – шаг изменения параметра цикла (при шаге, равном 1, его можно не задавать).
Переменная (параметр цикла) должна иметь числовой тип.
Пример вычисления суммы натуральных четных чисел в диапазоне от 2 до 20:
Sub summa ()
Dim n as byte, sum as byte sum = 0
For n = 2 to 20 step 2 sum = sum + n
12
Next n
Sheets(”Лист1”).Cells(1,1) = sum
End Sub
В результате выполнения программы переменная sum примет значение 110.
Условные циклы
Условные циклы можно разделить на два вида: циклы с предусловием и цик- лы с постусловием.
Цикл с предусловием – условие проверяется на входе в цикл, реализуется с помощью операторов Do While…Loop и Do Until…Loop.
Синтаксис цикла с оператором Do While…Loop:
Do While условие ‘цикл выполняется, пока условие истинно
операторы
Loop
Синтаксис цикла с оператором Do Until…Loop:
Do Until условие ‘цикл выполняется, пока условие ложно
операторы
Loop
Пример цикла с предусловием:
Dim |
x As Integer |
‘объявление переменной x |
|
x = |
0 |
‘начальное |
значение переменной x |
Do While x <= 10 |
‘проверка условия выполнения цикла |
||
x |
= x + 1 |
‘пока условие истинно, выполняется расчет x |
|
Loop |
|
‘возврат к |
началу программы |
MsgBox(”Сумма чисел равна ” & x)’вывод результата расчета
В результате выполнения программы переменная x примет значение 11.
Цикл с постусловием – условие проверяется на выходе из цикла, реализуется с помощью операторов Do…Loop While и Do…Loop Until.
13