Тип |
Операторы |
Блочные операторы |
If...Then |
If...Then... Else |
|
lf...Then...Elself |
|
Select Case |
|
Блочные операторы цикла |
Do... Loop |
Do While...Loop |
|
Do Loop...While |
|
Do Untill...Loop |
|
Do... Loop Until |
|
While...Wend |
|
For-Next |
|
ForAII-End ForAII |
|
Операторы ветвления |
GoTo |
GoSub |
|
lf...GoTo...Else |
|
On...GoTo |
|
On...GoSub |
|
Return |
|
Операторы прерывания |
End |
Exit |
Листинг 22.11 - Инструкции If...Then...Else и Select Case
Dim counter as Integer |
counter = 1 REM Какой блок будет выполнятьс? Это зависит от результатов проверки на строке If |
If counter < 10 Then 'Эти 3 строки являются блоком |
Print "The counter is less than 10." |
Counter = 10 |
Print "The counter has now been set to 10." |
Else 'Эти 2 строки являются блоком |
Print "The counter was greater than or equal to 10." |
Print "Now continuing..." |
End If |
Select Case counter |
Case < 10 |
Print "The counter was less than 10." |
Case < 20 |
Print "The counter was less than 20." |
Case > 50 |
Print "The counter was greater than 50." |
Case Else |
Print "The counter was between 20 & 50." |
End Select |
Существует еще две формы оператораIf...Then...Else. Первая из них используется только тогда, когда выполняется один оператор и проверяемое для него условие является истинным. Другими словами, если условие истинно, то выполняется один оператор; если условие ложно, не выполняется ни один оператор. В любом случае выполнение программы продолжается с оператора, следующего за оператором If...Then. Для оператораIf...Then не требуется операторEnd If.
Имеется еще один вариант оператора If — это операторIf...Then...ElseIf. Он эквивалентен цепочке операторовIf...Then. Блок If...Then...ElseIf заканчивается операторомEnd If.
Блочный операторSelect Case по своей идее аналогичен цепочке последовательных операторовIf. Однако операторSelect Case имеет более простой вид До начала выполнения блокаSelect Case необходимо определить переменную, используемую для проверки условий. Затем в оператореSelect Case задается эта переменная; в предыдущем примере использовалась переменнаяcounter. В каждой строкеCase содержится условие или условия, на соответствие которым проверяется отобранное выражение (переменная) Если в ходе проверки одного из условийCase возвращается значение true, то выполняются операторы, которые содержатся в данном блокеCase. Если ни одна проверка условийCase не дает значения true, выполняется блокCase Else (если он имеется). Затем выполнение программы продолжается с оператора, следующего за операторомEnd Select.
Блочные операторы цикла аналогичны блочным операторам, за исключением того, что в блочном операторе блок выполняется один раз (в зависимости от условия), а в блочном операторе цикла блок выполняется много раз. Он выполняется определенное количество раз, пока условие истинно (while) или, наоборот, пока условие ложно (until). К блочным операторам цикла относятся операторыDo, While, For и ForAU. В каждом из них блок операторов выполняется в зависимости от некоторых условий.
ОператорWhile является первым оператором блока, а операторWend — последним. Блок операторов будет выполняться до тех пор, пока выполняется условие, заданное в оператореWhile Если во время выполнения оператораWhile проверка условия не дает значения true, то блок операторов не будет выполняться совсем. С другой стороны, если проверка условия никогда не даст значения false, то программа "зациклится".
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.