Синтаксис
For <переменная> = <выражение1> To <выражение2> [Step <константа>] ... Next [<переменная>]
Описание
Операторы 'For : Next' служат для выполнения группы операторов в безусловном цикле. Первая итерация цикла начинается с того, что <переменной> присваивается <выражение1>. Каждую последующую итерацию цикла, значение <переменной> увеличивается на 1 (или на величину "шага" если <константа> была указана после оператора Step), до тех пор пока величина <переменной> не сравняется с <выражением2>, после чего итерации прекратятся.
Пример 1 :
For k = 0 To 10 ... Next Программа выполняет 11 итераций (от 0 до 10), после чего завершается.Пример 2 :
a = 2 b = 3 For k = a+2 To b+7 Step 2 ... Next kЗдесь, прежде чем завершится, программа выполнит 4 итерации (переменная k увеличивается на 2 каждую итерацию и принимает значения: 4, 6, 8 и 10). Переменная "k" после оператора "Next" указывает, что на этом операторе заканчивается тело цикла объявленного в операторе "For". Если бы там была указана другая переменная, компилятор выдал бы сообщение об ошибке. Это может оказаться полезным при рекурсивном вычислении нескольких выражений во вложенных циклах.
Пример 3 :
For x=0 To 320 For y=0 To 200 Plot(x,y) Next y Next x
Синтаксис
Gosub МояМетка МояМетка: ... Return
Описание
Оператор Gosub является сокращением от английского 'Go to sub routine', что можно перевести на русский язык, как 'Перейти к подпрограмме'. Метка после оператора Gosub указывает, что исполнение должно быть продолжено с того места в программе, где эта метка была объявлена (начало подпрограммы), и продолжаться до тех пор, пока не встретиться оператор Return (конец подпрограммы). Когда это случится, произойдёт возврат к оператору следующему за Gosub и исполнение программы будет продолжено. Оператор Gosub очень полезен при быстром написании программ с очевидной структурой.
Например : a = 1 b = 2 Gosub Вычисления PrintNumberN(a) End Вычисления: a = b*2+a*3+(a+b) a = a+a*a Return
Синтаксис
FakeReturn
Описание
Когда требуется выполнить переход из подпрограммы в произвольную часть программы, необходимо использовать оператор FakeReturn, и только после него, использовать оператор Goto. Оператор FakeReturn эмулирует возврат из подпрограммы, не совершая его в действительности. Если вы этого не сделаете, то программа просто повиснет. Этот оператор может оказаться полезным, т.к. хорошо структурированная программа не нуждается в использовании оператора Goto. Но в некоторых случаях приходится пользоваться безусловным переходом, в основном, с целью ускорения процесса написания программы.
Например : Gosub Подпрограмма1 Подпрограмма1: ... If a = 10 FakeReturn Goto Вычисления Endif Return
Синтаксис
If <выражение> ... [Else] ... EndIf
Описание
Условный оператор If служит для управления порядком выполнения операторов программы. Следующее за оператором If <выражение> играет роль условия, от верности которого зависит порядок. В одном операторе If можно указать несколько выражений, разделяя их операторами And (<выражение> и <выражение>) и Or (<выражение> или <выражение>). Необязательный оператор Else служит для описания группы операторов которые будут выполняться, когда <выражение> окажется неверным. Конец тела оператора If определяется оператором EndIf. Для операторов If допускается неограниченная вложенность тел.
Пример 1 : If a=10 PrintN("a=10") Else PrintN("a<>10") EndIf
Пример 2 :If a=10 And b>=10 Or c=20
If b=15
PrintN("b=15")
Else
PrintN("Допустимое условие")
EndIf
Else
PrintN("Условие нарушено")
EndIf
Синтаксис
Repeat ... Until <выражение> [или Forever]
Описание
В условном цикле 'Repeat : Until', итерации будут продолжаться до тех пор, пока <выражение> (играющее роль условия), не будет удовлетворено. Возможно любое число итераций. Если необходим "вечный" цикл, то вместо оператора Until используется оператор Forever.
Например :
a=0 Repeat a=a+1 Until a>100Итерации происходят пока величина переменной "a" не станет > чем 100, (цикл инициирует 101 итерацию).
Синтаксис
Select <выражение1> Case <выражение2> ... [Case <выражение3>] ... [Default] ... EndSelect
Описание
Условный оператор Select позволяет выполнять различные группы операторов, в зависимости от следующего за ним <выражения1>. Значение <выражения1> поочерёдно сравнивается с выражениями следующими за операторами Case (<выражение2>, <выражение3>, и т.д.), до тех пор пока не находится удовлетворяющее ему выражение. Когда это происходит, выполняется группа операторов соответствующая такому выражению. Если ни одно из выражений в операторах Case не удовлетворило <выражение1>, выполняется тело оператора Default (если он указан). Оператор Select наиболее эффективен, когда искомое выражение зависит от одной переменной.
Например :
a = 2 Select a Case 1 PrintN("Case a = 1") Case 2 PrintN("Case a = 2") Case 20 PrintN("Case a = 20") Default PrintN("Без вариантов") EndSelect
Синтаксис
FakeEndSelect
Описание
Когда требуется выполнить переход из тела конструкции 'Select : EndSelect' в произвольную часть программы, необходимо использовать оператор FakeEndSelect, и только после него, использовать оператор Goto. Оператор FakeEndSelect эмулирует завершение конструкции 'Select : EndSelect', не совершая его в действительности. Если вы этого не сделаете, то программа просто повиснет.
Например :
Рекурсия1: ... Select a Case 10 ... Case 20 FakeEndSelect Goto Рекурсия1 EndSelect
Синтаксис
While <выражение> ... Wend
Описание
В условном операторе 'While : Wend', итерации будут продолжаться до тех пор, пока <выражение> (играющее роль условия), не будет нарушено. Хороший способ удержать в памяти особенности этого оператора, это запомнить, что в отличии от 'Repeat : Until', программа не войдёт в цикл, если после оператора 'While' находится неудовлетворительное выражение. В то время как, цикл 'Repeat : Until' всегда выполнится по крайней мере один раз (т.к. проверяемое выражение находится в конце тела цикла).
Например :
b = 0 a = 10 While a = 10 b = b+1 If b=10 a=11 Endif WendИтерации происходят пока величина переменной 'a' <> 10. Этот цикл инициирует 10 итераций.
Синтаксис :
Описание :Goto <метка>
Оператор Goto служит для выполнения безусловного перехода в область программы обозначенную меткой. Некорректное использование оператора Goto часто приводит к зависанию программ, поэтому, хотя его применение допустимо, пользоваться этой возможностью необходимо предварительно продумав все последствия от его применения.
Например :
Цикл:
If a=11 Goto Выход Else a=a+1 EndIf Goto Цикл
Выход: a=a-1