Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


ѕример 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.





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-01-29; ћы поможем в написании ваших работ!; просмотров: 923 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

Ћибо вы управл€ете вашим днем, либо день управл€ет вами. © ƒжим –он
==> читать все изречени€...

1339 - | 1149 -


© 2015-2024 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.012 с.