\b;Zmienne
Zmienna jest jak pudełko, do którego można wkładać różne informacje. Wartość zmiennej może się zmieniać podczas wykonywania programu.

Na przykład można użyć zmiennej do liczenia jednostek rudy tytanu zebranych i przeniesionych przez transporter do huty. Najpierw należy ustalić odpowiednią nazwę dla zmiennej: nie powinna być ona zbyt długa, ale powinna wyjaśniać do czego używana jest zmienna. Nazwijmy ją \c;liczTyt\n;. Zmienna ta będzie zawierała tylko liczby całkowite, dlatego odpowiednim dla niej typem będzie \c;int\n;. Na początku programu zmienną trzeba zadeklarować. Następnie można w niej umieścić wartość \c;0\n;, zwiększając ją o \c;1\n; za każdym razem, gdy robot podniesie rudę tytanu. Zmienna ta będzie zawierać liczbę porcji rudy tytanu zebranych do tej pory przez robota.

Aby zadeklarować zmienną, należy napisać: 
\c;\s;	int  liczTyt;\n;

Aby przypisać jej wartość \c;0\n;, należy napisać:
\c;\s;	liczTyt = 0;\n;

Po zebraniu każdej porcji rudy tytanu należy napisać:
\c;\s;	liczTyt = liczTyt + 1\n;

W wyborze nazwy dla zmiennej jest dużo swobody, można ją nazwać dowolnie, np.: \c;odl\n;, \c;kierunek\n;, \c;p2\n;, \c;a\n;, \c;x\n;, \c;nic_do_zestrzelenia\n;, itd.
Nazwa zmiennej musi zaczynać się od litery, po której może następować dowolna kombinacja liter, cyfr i znaków podkreślenia \c;_\n;. Oczywiście nie można używać słów kluczowych języka CBOT takich jak \c;\l;for\u cbot\for;\n;, \c;\l;while\u cbot\while;\n;, \c;\l;break\u cbot\break;\n;, \c;\l;continue\u cbot\continue;\n;, \c;do\n;, itd.
Należy być ostrożnym w wyborze nazw przydzielanych zmiennym; pisanie programu może okazać się bardzo trudne jeśli zapomni się nazwy zmiennych lub nie pamięta do czego one służyły. Należy opracować własny system nazywania zmiennych i raczej nie używać nazw podobnych do \c;Bmo45\n;, \c;a\n; czy \c;tgBinX\n;.

W powyższym przykładzie, słowo \c;int\n; określa, że zmienna może zawierać tylko liczby całkowite, odpowiednie do liczenia obiektów. Do mierzenia odległości lepiej jest użyć zmiennej, która może również zawierać liczby rzeczywiste z częścią ułamkową (takie jak 3.45 lub 0.034): w tym przypadku odpowiedniejszy jest typ \c;float\n;.

Zmienna składa się z trzech części:
1) nazwy
2) typu informacji przez nią przechowywanych
3) zawartości, czyli samej informacji 

\t;nazwa
Jest niezbędna do rozróżniania zmiennych pomiędzy sobą.

\t;typ
\l;Typ\u cbot\type; warunkuje rodzaj informacji, jaką może zawierać zmienna. Zależnie od typu, zmienna może zawierać liczby całkowite, liczby rzeczywiste, łańcuchy, współrzędne punktu, informacje o obiekcie, itd. 
Oto lista najczęściej występujących typów zmiennych:
  o  \c;\l;int\u cbot\int;\n; dla liczb całkowitych (12, -500, itd.)
  o  \c;\l;float\u cbot\float;\n; dla liczb rzeczywistych (3.14, 0.2, -99.98, itd.)
  o  \c;\l;string\u cbot\string;\n; dla łańcuchów znakowych ("Cześć!", "Nie znaleziono obiektu", itd.)
  o  \c;\l;point\u cbot\point;\n; dla współrzędnych x, y, z w przestrzeni
  o  \c;\l;object\u cbot\object;\n; dla informacji o obiekcie (robocie, budynku, itd.)

\t;zawartość
Zawartością zmiennej jest informacja, której rodzaj jest określony przez typ. Może się ona zmieniać w trakcie działania programu. 

Po zadeklarowaniu zmiennej nie zawiera ona żadnej wartości. Zanim będzie można jej użyć, trzeba nadać jej wartość: 
\c;\s;	int  i, j;
\s;	j = 25;  // j przyjmuje wartość 25
\s;	j = i;   // tak nie można napisać, gdyż i nie ma jeszcze żadnej wartości.
\n;
Możliwe jest zadeklarowanie zmiennej i przypisanie jej wartości w tym samym wierszu: 
\c;\s;	int  liczTyt = 0;
\n; 
Przy wykonywaniu przypisania wartości zmiennej przy użyciu znaku równości\c;=\n;, wartość z prawej strony jest kopiowana do wartości po lewej stronie. Rozważmy następujący przykład: 
\c;\s;	int  i, j;
\s;	i = 5+2;  // i przyjmuje wartość 7
\s;	j = i+6;  // j przyjmuje wartość i plus 6, czyli 13
\s;	i = j;    // i przyjmuje wartość j, czyli 13
\n;
Na końcu tego przykładu obie zmienne \c;i\n; i \c;j\n; zawierają wartość \c;13\n;.

Następujące przypisanie jest niepoprawne, gdyż po lewej stronie znaku równości \c;=\n; może występować tylko nazwa zmiennej:
\c;\s;	i+2 = j;  // niemożliwe
\n;
Do zamiany zawartości dwóch zmiennych konieczne jest użycie trzeciej zmiennej. Oto przykład zamieniający zawartość zmiennych \c;a\n; i \c;b\n;:
\c;\s;	int pom;
\s;	pom = a;  // pom przyjmuje wartość a
\s;	a = b;    // zawartość b jest kopiowana do a
\s;	b = pom;  // zawartość pom jest kopiowana do b
\n;
\t;Zobacz również
\l;Programowanie\u cbot;, \l;typy\u cbot\type; i \l;kategorie\u cbot\category;.
