Инструкции за цикли и разклонения на програмите
counter
Изисква
се. Променлива. Обикновено типът на counter е Integer но може да
е всеки прост числов тип, който поддържа операторите (>=), (<=),
(+).
datatype
Изисква
се, ако counter не е деклариран. Ако е деклариран, може да използвате
клауза As , за да го декларирате отново.
start
Изисква
се. Израз. Инициализиращата стойност на counter.
end
Изисква
се. Израз. Финалната стойност на counter. Израз end обикновено е
тип Integer но може да е всеки прост тип съответствуващ на типа на counter.
step
Опционално.
Израз. Стъпката на инкрементиране или декрементиране на counter. Ако не
е указана, step е 1.
statements
Опционално.
Една или повече инструкции между For и Next които се изпълняват
спесифициран брой пъти.
For Each...Next оператори
For Each element [ As datatype ] In group
[ statements ]
[ Exit For ]
[ statements ]
Next [ element ]
Части
Element- елемент
Изисква
се. Променлива . Типът данни на
element трябва да е същият като този на
group
или да може да се конвертира в него.
datatype
Изисква
се, ако
element не е деклариран. Ако е деклариран, може да използвате
клауза
As , за да го декларирате отново.
group
Изисква
се. Обектна променлива.
statements
опционално.
Една или повече инструкции, които са между
For Each и
Next и се
изпълняват на всеки ред в групата -
group.
Забележка
Можете да вгнездите
цикли
For Each...Next един в друг. Всеки цикъл трябва да има уникална
променлива
element.
With...End With оператори
Ако имате серия от оператори,
които оперират върху един и същ обект или структура, можете да използвате
With...End With за да
спесифицирате обекта веднаж за всички изпълнения.
With object
[ statements ]
End With
Части
object
Изисква
се. Израз. Може да е всеки тип данни.
statements
Опционално.
Една или повече инструкции, следващи With които се изпълняват върху обекта.
End With
Приключва
изпълнението на блока With.
Exit оператор
Оператор
Exit ви позволява да прекъсвате всеки
цикъл, условен оператор или процедура.
Exit оператори:
- Exit Select
- Exit Try
- Exit Do
- Exit While
- Exit For
- Exit Sub
- Exit Function
- Exit Property
3.1
ПРИМЕРИ
Както
вече видяхме, Visual Basic.NET поддържа редица
оператори за сравнение (показани в табл.
1).
Нека да погледнем
някои примери използващи оператор
Like и стойност
на израз:
"abcdefg" Like "a*a" 'Изразът е
False
"abcdefga" Like "a*a" 'Изразът е
True
"abc" Like "a?a" 'Изразът е False
"aba" Like "a?a" 'Изразът е True
"aba" Like "a#a" 'Изразът е False
"a1a" Like "a#a" 'Изразът е True
"abcdefga" Like "a[a-z]a" 'Изразът е
False
"aba" Like "a[a-z]a" 'Изразът е True
"aba" Like "a[!a-z]a" 'Изразът е
False
"aBa" Like "a[!a-z]a" 'Изразът е
True
Можете да използвате логическите оператори за да
създадете комплексни изрази, които връщат булева стойност. Таблица 3 дава
логическите оператори.
Когато
комбинирате много изрази, трябва да използвате скоби. Примери:
1=1
And 1=2 'Изразът е False
1=1
And 1<2 'Изразът е True
1<1
Or 1=2 'Изразът е False
1=1
Or 1=2 'Изразът е True
(1=1
And 1=2)
Or
1=3 'Изразът е False
(1=1
And 1=2)
Or
1<3 'Изразът е True
Not 1=1 'Изразът е False
1=1
And Not
1=2 'Изразът е True
1=1
Xor 1<2
'Изразът е False
1=1
Xor 1<2
'Изразът е True
Както вече видяхме, Visual Basic.NET поддържа редица
условни
оператори или
оператори за цикли.Когато изпълняваме
If...Then...Else конструкции,
трябва винаги да включваме
If...Then и да обезпечаваме условие. Ако условието е изпълнено (
true), блока от кода ще се изпълни.
Този блок се прекъсва от една от следните инструкции:
ElseIf,
Else, или
End If. Ако
условието не е изпълнено, се вижда
дали
ElseIf условията
са
true.
Инструкция
ElseIf позволява да се въведат много допълнителни условия с
изпълними блокове. Блоковете ще се изпълнят ако са удовлетворени условията (
true). Само един блок се изпълнява и
изпълнението се премества в края на
If...Then...Else.
Няма да се изпълни блока след всяко
True условие, което
значи, че трябва да се внимава за реда на блоковете.
Инструкция
Else не
трябва да има условие; този
блок ще се изпълни, ако никое от условията не е било истина (
true). Блокът
Else е
винаги последния блок в инструкция
If...Then...Else.
Можете да имате само един
Else. Да
разгледаме примера. Той определя разноските за превоз, базирани на сумата на
покупката.Нека
константите АВ и С са трите таксувани суми: MIN_TAX = 9.99; SECOND_TAX =
29.99; THIRD_TAX= 49.99. Константи min, first, second и max да са разноските за
превоз. Можем да си създадем алгоритъм за намиране колко трябва да плати
потребителят за превоз, въз основа на таксуваната сума. За целта си декларираме
две променливи: var и prevoz.
Първата за временно съхранение на потребителската таксувана сума, а втората за
резултата, тоест колко трябва да плати за превоз клиента. В начертаната
блок-схема няма успоредник, тоест въвеждане и извеждане.

Да осъществим този
алгоритъм с условен оператор
If ... Then. Обележете, че клауза
Else се
изпълнява, когато сумата от покупката е по-голяма от всички спесифицирани суми. Обърнете
внимание на реда на условията:
Const MIN_TAX As Single = 9.99
Const SECOND_TAX As Single = 29.99
Const THIRD_TAX As Single = 49.99
Const MIN_PREVOZ_COST As Single = 10.49
Const SECOND_PREVOZ_COST As Single = 21.5
Const THIRD_PREVOZ_COST As Single = 26.33
Const MAX_PREVOZ_COST As Single = 30.48
Dim sngPREVOZCost As Single
If sngTAX <= MIN_TAX
Then
sngPREVOZCost = MIN_PREVOZ_COST
ElseIf sngTAX <= SECOND_TAX
Then
sngPREVOZCost = SECOND_PREVOZ_COST
ElseIf sngTAX <= THIRD_TAX
Then
sngPREVOZCost = THIRD_PREVOZ_COST
Else
sngPREVOZCost = MAX_PREVOZ_COST
End If
Още
примери
Пример
Едноредова форма на синтаксис
If A > 10 Then A = A + 1 : B = B + A : C = C + B
Пример