Цикл із лічильником — цикл, у якому деяка змінна змінює своє значення від заданого початкового значення до кінцевого значення з деяким кроком, і для кожного значення цієї змінної тіло циклу виконується один раз. У Small Basic використовується формула For — To — Step — EndFor.
Синтаксис:
For i To e Step s
'Тіло циклу
EndFor
В тілі циклу можна використовувати будь-які змінні інших частин програми і навпаки.
Змінні:
i — початкове значення лічильника, можливо задати в самій команді (For i = 0 ...);
e — межове значення лічильника;
s — крок, за замовчуванням дорівнює 1 (Функцію Step можна пропустити).
Прочитавши команду For програма перевіряє чи істинне рівнянняe > i. Якщо рівняння істинне, то програма виконує команди написані в тілі циклу і збільшує значення лічильника (i) на крок(s) — i = i + s, а після команди EndFor повертається до команди For даного циклу. Якщо не істинне, то переходить на рядок після команди EndFor.
Якщо надати змінній s нульове або від'ємне значення, то цикл виконується нескінчену кількість разів, що іноді використовується, хоча більш логічно використовувати оператор Goto.
Альтернативні варіанти:
Оператор For можна замінити за допомогою If і Goto: Програма з For:
For i = 0 To 2 Step 1
TextWindow.WriteLine(i)
EndFor
TextWindow.WriteLine(i)
Та ж сама програма без оператора For:
i = 0
e = 2
s = 1
startfor:
If e >= i Then
TextWindow.WriteLine(i)
i = i + s
Goto startfor
EndIf
TextWindow.WriteLine(i)
Прочитавши командуGoto labelпрограма читає команди після мітки, яка складається з назви і двокрапки — label:. При цьому у переходу не може бути більше однієї мітки і ця мітка повинна стояти перед Goto.
У найпростішому вигляді Goto можна використовувати як нескінчений цикл замість команди For або While.
Умовний перехі́д (англ.conditional branch) — зміна послідовності виконання операторівпрограми в залежності від результату перевірки деякої умови. В Small Basic використовується формула If — Then — EndIf.
Синтаксис:
IfрівнянняThen
'Інші команди
ElseIfрівнянняThen
'Інші команди
Else
'Інші команди
EndIf
Перша командаIfрівнянняThen задає умову. Якщо умова істина, то програма виконує команди починаючи з наступного рядка. Якщо ні — то переходить до наступного підблоку в блоку If (ElseIf або Else) або продовжує виконувати команди після блоку If, якщо це EndIf. Аналогічні ElseIf і Else можливо опустити.
КомандаElseIfрівнянняThen використовується при необхідності перевірки двох чи більше умов і може повторюватися. Працює так-само як і If.
КомандаElse використовується при необхідності виконання будь-яких команд при невиконані всіх умов в підблоках If і ElseIf.
Оператори порівняння: В рівняннях використовуються оператори порівняння для порівняння двох виразів.
Оператор
Умова
Істина
Брехня
>
a > b
значення a більше значення b
значення a менше значення b
<
a < b
значення a менше значення b
значення a більше значення b
=
a = b
значення a дорівнює значенню b
значення a не дорівнює значенню b
<>
a <> b
значення a не дорівнює значенню b
значення a дорівнює значенню b
>=
a >= b
значення a більше або дорівнює значенню b
значення a менше значення b
<=
a <= b
значення a менше або дорівнює значенню b
значення a більше значення b
Логічні оператори: Логічні оператори використовуються для маніпуляцій з одним або декількома операторами порівняння:
And — логічне «і», потребує виконання обох умов, пишеться між двома умовами.
Or — логічне «або», потребує виконання будь-якої умови, пишеться між двома умовами.
Not — логічне «не», потребує невиконання даної умови, пишеться перед умовою.