\b;Proměnné
Proměnná je jako krabička, kam si můžete uložit nějakou informaci. Obsah proměnné se za běhu programu může měnit.

Například můžete pomocí proměnné počítat hroudy titanové rudy, které robotické rameno posbíralo a odvezlo do konvertoru. Nejprve musíte vymyslet jméno proměnné: nemělo by být moc dlouhé, ale musí jasně vyjadřovat, k čemu proměnná slouží. Nazvěme ji \c;pocetHrud\n;. Tato proměnná bude obsahovat pouze celá čísla, takže použijeme datový typ \c;int\n;. Na začátku programu musíte tuto proměnnou deklarovat. Pak do ní uložte hodnotu \c;0\n; a po sebrání hroudy titanové rudy k ní pokaždé přičtěte \c;1\n;. Pak bude proměnná neustále obsahovat množství rudy, kterou robotické rameno posbíralo.

Následující řádek deklaruje proměnnou:
\c;\s;	int  pocetHrud;\n;

Takto do proměnné uložíte hodnotu \c;0\n;:
\c;\s;	pocetHrud = 0;\n;

A po sebrání titanové rudy napište:
\c;\s;	pocetHrud = pocetHrud + 1\n;

Proměnnou můžete nazvat prakticky libovolně, např. \c;vzdalenost\n;, \c;smer\n;, \c;p2\n;, \c;a\n;, \c;x\n;, \c;zadny_cil\n;, apod.
Název proměnné musí začínat písmenem. Pak může následovat libovolná kombinace písmen, číslic a podtržítek \c;_\n;. Jako název samozřejmě nemůžete použít klíčová slova jazyka CBOT jako \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;, apod.
Názvy proměnných byste měli vybírat pečlivě; když zapomenete název proměnné nebo k čemu slouží, bude se Vám program psát těžko. Vymyslete si svůj vlastní systém názvů a nepoužívejte jména jako \c;Bmo45\n;, \c;c\n;, nebo \c;tgBinX\n;.

Klíčové slovo \c;int\n; v příkladu výše znamená, že proměnná smí obsahovat pouze celá čísla, což je pro počítání předmětů ideální. Kdybyste chtěli měřit vzdálenost, použijte raději datový typ, který může obsahovat desetinná čísla (např. 3.45 nebo 0.034): v takové případě použijte typ \c;float\n;.

Ve skutečnosti se proměnná skládá ze tří částí:
1) názvu,
2) datového typu uložené informace,
3) obsahu, t.j. informace samotné.

\t;Název
Název potřebujete k tomu, abyste od sebe mohli odlišit různé proměnné.

\t;Datový typ
\l;Datový typ\u cbot\type; určuje, jaký druh informace může proměnná obsahovat. V závislosti na typu může proměnná obsahovat celá čísla, desetinná čísla, textové řetězce, souřadnice bodu, informace o objektu, apod.
Zde je seznam nejběžnějších datových typů:
  o  \c;\l;int\u cbot\int;\n; pro celá čísla (12, -500, apod.)
  o  \c;\l;float\u cbot\float;\n; pro desetinná čísla (3.14, 0.2, -99.98, apod.)
  o  \c;\l;string\u cbot\string;\n; pro textové řetězce ("Ahoj!", "Objekt nenalezen", apod.)
  o  \c;\l;point\u cbot\point;\n; pro souřadnice x,y,z bodu v prostoru
  o  \c;\l;object\u cbot\object;\n; pro informace o objektu (robotu, budově, apod.)

\t;Obsah
Obsah proměnné je určitá informace s daným datovým typem. Obsah se za běhu programu může měnit. 

Čerstvě deklarovaná proměnná ještě neobsahuje žádnou hodnotu. Než ji budete moci použít, musíte do ní nějakou hodnotu uložit.
\c;\s;	int  i, j;
\s;	j = 25;  // "j" bude obsahovat hodnotu 25
\s;	j = i;   // toto nemůžete napsat, protože "i" zatím nemá žádný obsah.
\n;
Také můžete deklarovat proměnnou a uložit do ní hodnotu na stejném řádku:
\c;\s;	int  pocetHrud = 0;
\n;
Když do proměnné přiřadíte hodnotu pomocí operátoru přiřazení \c;=\n;, hodnota na pravé straně se zkopíruje do proměnné na levé straně. Představte si následující příklad:
\c;\s;	int  i, j;
\s;	i = 5+2;  // "i" bude obsahovat 7
\s;	j = i+6;  // "j" bude obsahovat hodnotu "i" plus 6, tedy 13
\s;	i = j;    // "i" bude obsahovat hodotu "j", tedy 13
\n;
Na konci tohoto příkladu budou obě proměnné obsahovat hodnotu \c;13\n;.

Následující příklad je chybný, protože na levé straně operátoru přiřazení \c;=\n; smí být pouze název proměnné:
\c;\s;	i+2 = j;  // nelze
\n;
Pokud chcete prohodit obsah dvou proměnných, musíte použít třetí proměnnou. Zde je příklad, jak prohodit obsah dvou proměnných \c;x\n; a \c;y\n; :
\c;\s;	int temp;
\s;	temp = x;  // "temp" bude obsahovat hodnotu "x"
\s;	x = y;     // obsah "y" se zkopíruje do "x"
\s;	y = temp;  // obsah "temp" se zkopíruje do "y"
\n;
\t;Užitečné odkazy
\l;Programování\u cbot;, \l;datové typy\u cbot\type; a \l;kategorie\u cbot\category;.
