Основы алгоритмизации и программирования на языке VBA: Практическое пособие к выполнению контрольных работ по курсу «Информатика», страница 4

 <Действие> представляет собой один или несколько операторов. Действие, записанное в ветви ДА, выполняется тогда, когда условие имеет значение True, а когда значение условия False, выполняется Действие, записанное в ветви Нет (полная форма) или ничего не выполняется (сокращенная форма).

Пример.

If X>0 Then

  Y=Sqr(X)

Else

  Y=X^2

EndIf

Имеют также место операторы If, вложенные друг в друга.

Примечание. Существует запись оператора If в одну строку, но она при всей своей компактности делает программу менее читаемой, поэтому здесь она не приводится.

Логические выражения могут включать в себя следующие элементы: логические переменные, логические константы, операции сравнения и логические операции.

Операции сравнения:  < ,  >, < = , >= , = , <  >.

Логические операции: And (умножение), Or (сложение), Not (отрицание).

Примеры:

а) 1<x≤1001        x>0 And x<=1001

б) y<0 или y>10 y<0 Or y>10

Оператор  цикла For…Next.

Цикл – это многократное повторение одной и той же группы операторов. Для его организации в VBA имеется специальный оператор со следующей синтаксической структурой:

Прямоугольная выноска: Заголовок цикла
 


For i=iнач. To iкон. [Step Di]

 <Тело цикла>

Прямоугольная выноска: Оператор окончания
 


Next [i]

где For (для), To (до), Next (следующий) – служебные слова, i- параметр цикла, iнач., iкон. – его начальное и конечное значения, Di – шаг изменения (может быть как положительным так и отрицательным, а если он отсутствует, то полагается равным 1); все перечисленные параметры имеют одинаковый тип (чаще всего Integer или Single). Конец цикла Next может быть записан без указания параметра i.

Такой цикл реализует структуру цикла с предусловием (где сначала проверяется, можно ли выполнить цикл, и, только тогда, когда можно – тело цикла выполняется).

Цикл работает по приведенной здесь схеме следующим образом:

а) при Di>0 – параметр i последовательно пробегает все значения от iнач. до iкон. c шагом Di; при этом должно быть iнач. ≤iкон..

б) при Di<0 – параметр i последовательно пробегает все значения от iкон. до iнач. c шагом Di; при этом должно быть iнач. ≥iкон.. Увеличение или уменьшение параметра i на каждом шаге цикла (итерации) происходит автоматически и не требует программирования его изменения.

Примеры.

1).               For i=1 To 10

                      Cells(i,1)=i

Next i

          Выполнение этого фрагмента приведет к появлению в первых десяти ячейках столбца А рабочего листа последовательности из натуральных чисел 1,2,…, 10.

2).               For m=10 To -10 Step -2

                      MsgBox m

                    Next m

          Выполнение этого фрагмента приведет к появлению последовательности окон, содержащих числа 10,8,…, -10.

Массивы.

До сих пор мы имели дело с переменными, принимающими в ходе выполнения программы одно единственное значение. Но, например, в математике мы имеем дело с такими понятиями как вектор, матрица, которые включают в себя целый набор значений (элементов). В языках программирования такие величины объединяют одним понятием – массив. Таким образом, массив – это некоторый ограниченный набор величин одного типа.

Для объявления (описания) массива, позволяющего в памяти компьютера зарезервировать место для хранения значений элементов массива, используется следующий оператор, располагающийся в разделе описаний процедуры:

Dim <имя массива> (измерение(я)) As <тип элементов>, [(измерение(я)) As <тип элементов>], …

где <измерение> задается в виде целого числа, показывающего самое большое значение, которое может принять данное измерение.

Чтобы взять из массива нужную величину, необходимо указать ее порядковый номер (индекс), который является целым числом (обычно положительным или равным 0). Индексов может быть несколько, и тогда они перечисляются через запятую.