For : Next

Синтаксис

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 МояМетка 
     
 МояМетка: 
   ...
 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 <выражение> 
  ...
[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

Синтаксис

Repeat
  ...
Until <выражение> [или Forever] 

Описание

В условном цикле 'Repeat : Until', итерации будут продолжаться до тех пор, пока <выражение> (играющее роль условия), не будет удовлетворено. Возможно любое число итераций. Если необходим "вечный" цикл, то вместо оператора Until используется оператор Forever.

Например :

  a=0
  Repeat 
    a=a+1
  Until a>100 

Итерации происходят пока величина переменной "a" не станет > чем 100, (цикл инициирует 101 итерацию).


Select : EndSelect

Синтаксис

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

Описание

В условном операторе '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 служит для выполнения безусловного перехода в область программы обозначенную меткой. Некорректное использование оператора Goto часто приводит к зависанию программ, поэтому, хотя его применение допустимо, пользоваться этой возможностью необходимо предварительно продумав все последствия от его применения.

Например :


Цикл:
If a=11 Goto Выход Else a=a+1 EndIf Goto Цикл
Выход: a=a-1

Сайт создан в системе uCoz