Proměnné

24.09.2014 14:26
Proměnná je způsob pojmenování a uložení číselné hodnoty pro pozdější použití v programu. Jak jejich
název naznačuje, proměnné jsou čísla, jejichž hodnota může být průběžně změněna, na rozdíl od konstant,
jejichž hodnota se nikdy nemění. Proměnné musí být deklarovány a volitelně jim lze přiřadit hodnoty, které
mají být do nich uloženy.
Následující kód deklaruje proměnnou názvem inputVariable a přiřadí jí hodnotu, získanou čtením analogové
hodnoty vstupního pinu 2:
 
int inputVar iable = 0;                      // deklaruje proměnnou
                                                        // a př iřadí j í hodnotu 0
inputVar iable = analogRead(2) ;    // př iřadí proměnné hodnotu
                                                        // podle analogové hodnoty pinu 2
 
Proměnnou pojmenujeme 'InputVariable'. První řádek kódu deklaruje, že proměnná bude obsahovat datový
typ int (zkratka pro název integer) a nastaví její hodnotu na 0. Druhý řádek nastaví hodnotu proměnné podle
hodnoty analogového na pinu 2, která je dostupná jinde v programovém kódu.
Jakmile byla proměnné přiřazena nebo změněna hodnota, můžete můžete použít její hodnotu přímo nebo
testovat, zda tato hodnota splňuje určité podmínky.
Příklad ukazuje tři užitečné operace s proměnnými. Následující kód testuje, zda hodnota proměnné
inputVariable je menší než 100, je-li to pravda, pak proměnné inputVariable přiřadí hodnotu 100, a pak
nastaví na základě hodnoty proměnné inputVariable prodlevu, která je nyní minimálně 100:
 
if ( inputVar iable < 100)    // testuje, zda je hodnota proměnné méně než 100
{
inputVar iable = 100;         // je- l i to pravda, je j í př iřazena hodnota 100
}
delay( inputVar iable) ;      // použije hodnotu proměnné jako parametr funkce
delay( inputVar iable) ;      // použije hodnotu proměnné jako parametr funkce
                                          // delay
 
 
Deklarace proměnných
Všechny proměnné musí být deklarovány ještě před jejich prvním použitím. Deklarace proměnné znamená,
že definujete její typ (int, long, float, atd.), nastavíte její jméno, a případně přiřadíte počáteční hodnotu. Tyto
deklarace postačí v programu provést jen jednou, hodnotu proměnné ale můžete v programu kdykoliv
změnit.
Následující příklad deklaruje, že proměnná inputVariable je typu int neboli integer, a že její počáteční
hodnota je rovna nule. To se nazývá jednoduché přiřazení.
 
int inputVar iable = 0;
 
Proměnná může být deklarována kdekoli v programu a je použitelná od místa deklarace dále.
platnost proměnných
 
 
Platnost proměnných
Proměnná může být deklarována na začátku programu, ještě před funkcí void setup(), lokálně uvnitř funkce,
a někdy v deklaraci bloku, jako je tomu u smyček. Místo, kde je proměnná deklarována, určuje její
použitelnost pro některé části programu.
Globální proměnná je ta, ke které mají přístup a mohou používat všechny funkce a deklarace v programu.
Taková proměnná musí být deklarována na začátku programu, ještě před funkcí void setup().
Lokální proměnná je ta, která je definována uvnitř funkce nebo jako součást smyčky. Je dostupná a může
být použita pouze uvnitř funkce, uvnitř které byla deklarována. Je tedy možné mít v různých částech téhož
programu umístěné dvě nebo více proměnných stejného jména, které obsahují různé hodnoty. To, že přístup
ke svým lokálním proměnným má pouze daná funkce zjednodušuje program a snižuje možnost
programových chyb.
Následující příklad ukazuje, jakým způsobem můžeme deklarovat různé typy proměnných a předvádí
viditelnost každé z proměnných v programu:
 
int value;                 // proměnná 'value' je vidi telná
                               // pro všechny funkce
void setup( ) { }      // funkce neobsahuje žádné inicial izační př íkazy
void loop( )
{
for ( int i=0; i<20;)   // proměnná ' i' je vidi telná
{                              // jen uvni tř této smyčky
i++;
}
f loat f ;                   // proměnná ' f ' je viditelná
}                              // jen uvni tř této smyčky