Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Циклическая структура For-Next




End If

Else

Else

Else

Else

И т д

Блок операторов_3

If Выражение_3 Then

Else

Блок операторов_2

If Выражение_2 Then

Else

Блок операторов_1

If Выражение_1 Then

Многоблочная структура If-Then-ElseIf

End If

End If

Одноблочная структура If-Then

Логические функции

Для расширения возможностей простых операторов логического сравнения, в VBA предоставляет возможность использования логических функций, некоторые из них приведены в таблице.

Функция Описание
Not Отрицание
And Логическое “И”
Or Логическое “ИЛИ”
Xor Отрицание “ИЛИ”

ПРИМЕР: Результат логического выражения (1=1) And (2>1) - True, так как оба условия справедливы.

Результат логического выражения (1=1) Xor (1>2) - False, так как только одно из условий справедливо, а функция отрицает такую возможность.

Отличие одноблочного оператора If-Then от простейшего оператора If состоит в том, что после ключевого слова Then ничего не пишется, а первый оператор из блока записывается со следующей строки. Окончание блока операторов обязательно следует обозначить с помощью оператора End If.

If Выражение Then

Блок операторов

ПРИМЕР:

If A > B Then

A = B C = B*A Z = Exp(B + C)

Одноблочный оператор позволяет значительно упростить структуру программы, когда при получении результата логического сравнения Выражения нужно выполнить или пропустить не один, а несколько операторов.

Многоблочная структура операторов If-Then позволяют существенно расширить возможности одноблочной структуры. Они используются в тех случаях, когда необходимо отслеживать выполнение одного из нескольких условий сравнения. Общий вид такой структуры

Else Блок операторов_4 End If Когда встречается многоблочная структура If-Then, то VBA определяет результат логического Выражения_1. Если он равен True, то Блок операторов_1 выполняется, если результат False, данный блок пропускается и осуществляется переход к строке логического сравнения Выражения_2.

Далее таким же способом производится проверка результата логического сравнения Выражения_2 и Выражения_3.

Если ни одно из условий логического сравнения Выражение_1, Выражения_2 и Выражение_3 не имеют результата True, выполняется Блок операторов_4 условия Else, которое можно воспринимать как условие “Иначе”. Это необязательный оператор, он используется только в тех случаях, когда программа должна сделать определенные действия, если из перечисленных условий ни одно не выполняется.

ПРИМЕР:

If Pay > 1000 Then

Bonus = Pay / 100

If Pay > 10000 Then

Bonus = Pay / 90

If Pay > 100 000 Then

Bonus = Pay / 80

If Pay > 1000 000 Then

Bonus = Pay / 70

Bonus = Pay / 200

Блок условия Else будет выполняться, если Pay <= 1000.

Вычисляемые циклы

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

Синтаксис структуры For-Next имеет вид:

Блок кода

Exit For Next Счетчик_Цикла

ПРИМЕР For i = 1 То 10 Step 2 ' Будут рассчитываться значения i = 1, 3, 5, 7, 9

Y = x * i Next For j = 99 То 20 Step –5 ' В порядке убывания j = 99, 94, 89 и т.д. до 24

F = (j + 3) * (j – 1) * 0.523 If F > 1500 Then Exit For Next j

Счетчик_цикла – имя переменной, предназначенной для счета количества шагов цикла. Ее значение должно представлять целое число.

Поскольку значение переменной Счетчик_Цикла любом месте блока кода цикла, следует помнить, что такие изменения могут привести к зависанию программы или возникновению ошибок, которые трудно найти. По возможности изменений Счетчика_Цикла в теле цикла следует избегать. Переменные Начало и Конец задают начальное и конечное значения Счетчика_цикла, а Шаг – величину наращивания ее значения после каждого выполнения цикла. Когда в программе встречается цикл For-Next, Счетчик_цикла получает значение Начало, затем выполняется блок кода вплоть до оператора Next. Пусть Шаг - положительное число, тогда значение Счетчика_цикла увеличивается на величину Шаг и сравнивается со значением Конец. Если значение Счетчика_цикла больше, чем значение Конец, то цикл прерывается и управление передается оператору, следующему за оператором Next. Если значение Счетчика_цикла меньше или равно значению Конец, то блок кода цикла выполняется еще раз. Так продолжается до тех пор, пока значение Счетчика_цикла не станет больше значения Конец.

Оператор Exit For используется для дострочного прерывания цикла. Обычно ему предшествует оператор логического сравнения каких-либо величин. В этом случае также управление переходит к оператору, следующему за оператором Next.

Если зарезервированное слово Step и величина Шаг опущены, то величина Счетчик_цикла наращивается на единицу после каждого шага цикла.

Если величина Конец меньше величины Начало и величина Шаг -отрицательное число, то цикл считается по убывающей, а не по возрастающей

Логически прерываемые циклы (ЛПЦ)

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

В отличие от структуры For-Next, такой цикл может выполнять блок кода неопределенное количество раз или не выполнять его совсем, если логическое условие выполняется сразу же при входе в цикл.

Таким образом, ЛПЦ используются в тех случаях, когда количество шагов цикла заранее неизвестно. ЛПЦ применяются также для создания цикла обработки события. Он содержит вызовы процедур, проверяющих факт наступления события (запись текста в ячейку таблицы, директивы меню). Если событие наступило, то вызывается процедура его обработки. Цикл продолжается до тех пор, пока не будет вызвано условие завершения работы программы. Применение циклов Do-Loop.

Цикл Do-Loop является наиболее универсальным из логически прерываемых циклов. Существуют четыре конфигурации этого цикла:




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 364; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.