\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;.