Студопедия — Пример 19.22
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Пример 19.22






If MaxPrice > 23, 000.00$ Then MaxPrice=23, 500.00$

If Student_Card(100).FullName Like " Пе*" Then number=Student_Card(100).Group

 

При построении выражений используют специальные функции логических проверок VBA.

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

 

Функция Описание Функция Описание
Not And Or Инверсия или отрицание Логическое " И" Логическое " ИЛИ" Хоr Imp Eqv Исключающее " Или" Импликация Эквивалентность

 

 

Последовательно выполняется проверка истинности выражений. Если выражение 1 истинно, выполняется блок операторов 1, иначе выполняется проверка истинности выражения 2и т.д.

Если ни одно из выражений не соответствует требованиям истинности, выполняется блок операторов Else, если оно имеется, иначе – оператор, следующий за End If.

 

Пример 19.23. Организация проверки условия блочной структурой оператора If

 

Текст программы Комментарий
If AvgPrice > 12000 Then DiffPrice=Full(234, 45600) Проверка условия 1 Если условие 1 истинно, вызов процедуры
ElseIf AvgPrice > 24000 Then DiffPrice=Full(12000, 45000) ElseIf AvgPrice > 36000 Then DiffPrice=Full(24000, 50000) Else DiffPrice=Full(36000, 70000) End If Проверка условия 2 Если условие 2 истинно, вызов процедуры Проверка условия 3 Если условие 3 истинно, вызов процедуры Если условия 1 – 3 не выполняются, вызов процедуры Конец блока If

Оператор выборки Select Case. Данный оператор применяется в том случае, если во всех логических условиях участвует одна и та же величина (переменная):

 

Выражение для сравнения может быть записано в виде: Case 45 или Case 3, 4, 5, или Case 5 То 12.

Если ни одно из сравнений не является истинным, выполняется блок операторов Else, если блок Else отсутствует, управление передается оператору, следующему за End Case.

 

Пример 19.24. Организация последовательной проверки значения переменной

 

Текст программы Комментарий
Select CDemse Начало работы оператора Select, объявление имени переменной, для которой выполняются последующие проверки – Demse
CaseDemse21 Первое сравнение
Dem=21 Если первое сравнение истинно, выполняется оператор присваивания
Case Demse 22; 25; 28 Второе сравнение – указан список возможных значений
Dem=31 Если второе сравнение истинно, выполняется оператор присваивания
Case Demse 45 To 48 Третье сравнение, переменная Cdemse может принимать значения от 45 до 48
Dem=41 Если третье сравнение истинно, выполняется оператор присваивания
Case Else Если не выполнилось ни одно из указанных сравнений
Dem=51 Выполняется присваивание
End Case Конец оператора Select

Оператор цикла For-Next. Данный оператор относится к категории вычисляемых циклов, когда известно заранее число повторений цикла, заданы начальное, конечное значения и шаг (приращение) изменения начального значения, т.е.:

 

 

Для каждого значения переменной этого цикла выполняется блок операторов, расположенных до ключевого слова Next. Затем происходит изменение переменной цикла (увеличение значения на шаг), проверяется полученное значение (не более указанного конечного значения) и повторяется выполнение блока операторов.

Если переменная цикла превысила значение конец, управление передается оператору, следующему за фразой Next.

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

Пример 19.25. Организация циклов с использованием счетчика повторений

 

Текст программы Комментарий
Sub stickRandom() Dim numrows As Integer; numcols As Integer Dim therow As Integer; thecol As Integer numrows = Selection.Rows.Count numcols = Selection.Columns.Count   Debug. Print numrows; numcols   Randomize Debug.Print Rnd For therow = 1 To numrows For thecol = 1 To numcols Selection. Cells(therow; thecol).Value = Rnd   Next thecol Next therow End Sub Объявление имени процедуры Объявление переменных   Определение числа строк в выделенном блоке ячеек Определение числа столбцов в выделенном блоке ячеек Печать числа строк и столбцов в выделенном блоке ячеек Генератор случайных чисел Печать случайного числа Внешний цикл по числу строк в блоке ячеек Внутренний цикл по числу столбцов в блоке ячеек Присваивание текущей ячейке случайного числа Selection – выбор ячейки Cells – метод доступа к ячейке с определенными координатами Value – свойство " значение" Конец внутренного цикла Конец внешнего цикла Конец процедуры

Цикл Do-Loop. Логически управляемый цикл, оператор Do – начало, оператор Loop – конец цикла; имеет 4 модификации:

1) условие True в начале цикла

 

Do While < условие>

< блок операторов>

Exit Do

< блок операторов>

Loop

 

Цикл выполняется до тех пор, пока истинно < условие>. Минимальное число повторений тела цикла – 0. Оператор Exit Do предназначен для прекращения цикла и передачи управления оператору Loop – конец цикла.

2) условие True в конце цикла

 

Do

< блок операторов>

Exit Do

< блок операторов>

Loop While < условие>

Цикл выполняется хотя бы один раз, в конце выполняется проверка < условия>;.

3) условие False в начале цикла

 

Do Until < условие>

< блок операторов>

Exit Do

< блок операторов>

Loop

Until указывает, что цикл выполняется до тех пор, пока < условие> не станет истинным. Минимальное число повторений тела цикла – 0.

4) условие False в конце цикла

 

Do

< блок операторов>

Exit Do

< блок операторов>

Loop Until < условие>

 

Условие проверяется в конце, цикл прекращается, когда условие станет истинным. Минимальное число повторений тела цикла – 1.

Пример 19.26. Выполнение логически прерываемых циклов

 

Текст программы Комментарий
Option Explicit   Sub Do_Rnd() Dim a As Single Dim i As Integer, Randomize Do While True   a=Rnd Обязательность объявления всех переменных перед их использованием Объявление имени процедуры без параметров Объявление переменных   Вызов генератора случайных чисел Начало цикла Do. Задание условия выполнения цикла – цикл бесконечный Присвоение переменной случайного числа
Debug.Print a If a > 0.99 Then Exit Do Loop End Sub Печать случайного числа Блок условия – при его выполнении выход из цикла Конец цикла Конец процедуры
     

Цикл While-Wend. Данный оператор полностью соответствует структуре Do While-Loop. Отличительной особенностью оператора является невозможность прервать выполнение цикла из тела цикла (Exit Do отсутствует), проверка условия выполняется только в начале цикла.

 

While < условие>

< блок операторов>

Wend

Цикл For Each. Оператор относится к категории операторов объектного типа, т.е. применяется к массивам (элементам) и наборам объектов. Выполняется фиксированное число раз, число объектов в наборе определяется автоматически. Упорядочение элементов набора – произвольное.

 

For Each < элемент> In < набор>

< блок операторов>

Exit For

< блок операторов>

 

где < элемент> представляет собой переменную типа Variant, < набор> – определенный набор объектов. Для прерывания цикла используется оператор Exit For.







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



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

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

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия