Еще раз повторяю вопрос - отправил договор и сканы документов по почте - в начале августа, до 5 го, внес предоплату - летом действовала скидка - чтобы пройти курс в августе, но я уезжал в Москву. По возвращению - и в течение месяца - никакого ответа, никаких зачислений, ничего. Как проверить, пришли ли мои документы в Интуит, предоплата, почему нет зачисления. |
Операторы управления
Любая процедура это последовательность операторов. Стандартный порядок выполнения операторов - последовательный, сверху-вниз или слева-направо, если несколько операторов записаны в одной строке и разделены двоеточием.
Управляющие операторы позволяют изменить стандартный порядок выполнения операторов. Процедура, включающая управляющие операторы, может принимать решения в зависимости от значений данных или от состояния приложения.
Управляющие операторы, определяя альтернативный порядок выполнения команд (ветвление) или повторение некоторой совокупности команд (циклы), ограничивают операторными скобками некоторую совокупность команд.
Операторы комментариев и операторы объявления переменных не являются исполнительными операторами.
Условный оператор If
Оператор организует ветвление программы, т.е. выполнение различных действий в зависимости от истинности условия - это может быть условие на значения переменных или условие относительно текущего состояния приложения.
Условный оператор может быть записан в одну строку или блоком.
- Синтаксис оператора при записи в строку
If condition Then [statements] [Else elsestatements]
Например, оператор IF salary <9000 Then social=salary*0.2 вычисляет выплату, если зарплата менее 9000.
- Синтаксис оператора при записи блоком
If condition-1 Then [statements] [ElseIf condition-2 Then [elseifstatements-2] ... [Else [elsestatements]] End If
- сondition-n - тестируемые выражения со значением True или False. Обязательный элемент;
- statements, elseifstatements-2, elsestatements - последовательности операторов, необязательные элементы;
- ElseIf - ключевое слово (записывается в одно слово), используемое для задания дополнительных условий (их может быть несколько). Необязательный элемент;
- End If - оператор, играющий роль закрывающей операторной скобки.
Если условие ( condition ) верно, то выполняется последовательность операторов statements. Если условие нарушено, при записи оператора в строку выполняется последовательность операторов elsestatements, а при записи оператора блоком конструкция ElseIf позволяет задать дополнительные условия тестирования и, если ни одно из них не выполнено, то выполняются операторы elsestatements.
После выполнения одной последовательности операторов, управление передается оператору, следующему за условным оператором, а в случае блочной структуры - за EndIf.
IF salary <9000 Then social=salary*0.2 Else social=0 End If
Приведенный в примере оператор вычисляет выплату, если зарплата менее 9000, и устанавливает нулевую выплату в противном случае.
- Комбинируя несколько операторов сравнения, можно создать достаточно сложное логическое выражение.
- Последовательность выполняемых действий statements, elseifstatements, elsestatements может быть пустой или состоять из нескольких операторов, записанных последовательно в разных строках или через двоеточие в одной строке. По крайней мере, одна из последовательностей должна быть непустой.
- Часть конструкции, относящаяся к Else и к ElseIf, может быть опущена, если она не используется (нет альтернативных действий).
- Конструкций ElseIf может быть несколько. При наличии такой конструкции отыскивается первое истинное условие, и выполняются соответствующие операторы elseifstatements.
- Оператор EndIf обязателен в блочной структуре условного оператора и не используется при записи условного оператора в строку.
- Возможно использование вложенных условных операторов.
Примеры
- Вычисляется сумма четных чисел в интервале значений от 0 до 20 и произведение нечетных чисел в том же интервале.
Переменная p описана как Long, т.к. значение произведения превосходит число 32767. Начальное значение переменной устанавливается в 1.
В оператор цикла For вложен условный оператор If. Четность числа проверяется как нулевой остаток от деления на два.
- Первые двадцать ячеек столбца A меняют свой цвет. Если номер ячейки кратен трем, то цвет заливки красный. Для первой ячейки в тройке ячеек, то устанавливается синий цвет заливки. Остальные ячейки окрашиваются черным цветом.
Запись Cells(i,1) представляет объект Range - ячейку первого столбца i-ой строки. Объект Interior - цвет заливки ячейки. Свойство ColorIndex этого объекта - номер цвета из цветовой палитры.
При использовании в условии числового выражения нуль интерпретируется как False, а любое значение, отличное от нуля, как True. В условии можно проверить тип выражения или значение переменной, используя специальные функции: