Ce sunt variabilele?
O variabila este un "spatiu" din memorie,care poate fi lasat liber sau initializat cu o valoare. Acest "spatiu" este numit variabila deoarece poate fi modificat oricand in program,asemanator unei necunoscute de la matematica(recomand citirea acestui tutorial bine explicat inainte de a continua).
Exista doua tipuri de variabile:globale (valabile in tot programul) si locale (valabile doar in anumite functii).
Mai intai vom discuta despre variabilele globale.
Declararea variabilelor globale
Variabilele globale sunt declarate la inceputul programului,in sectiunea declarativa (ca intr-un program C/C++). Ele sunt declarate in felul urmator:
int a=9;
In primul rand,denumim variabila (de obicei printr-o litera mica "a") si atribuim o valoare initiala prin semnul egal "=" (optional). Dar ce reprezinta cuvantul cheie (int) din fata variabilei?
Tipul variabilei
Tipul variabilei reprezinta tipul de date pe care Arduino se asteapta ca variabila sa-l depoziteze. De exemplu,in cazul de mai sus cuvantul cheie din fata (int) semnifica tipul variabilei,in acest caz o variabila de tip intreg (va depozita un numar intreg).
In Arduino IDE pot fi declarate urmatoarele tipuri de variabile:
-variabile de tip "intreg" (int) depoziteaza valori-numere intregi (fara virgula) pe 8 biti (de la -32.768 la 32.767):
int a=100;
-variabile "intregi" pozitive (unsigned int) stocheaza valori-numere intregi pozitive pe 8 biti (de la 0 la 65.535):
unsigned int a=65000;
-variabile "lungi" (long) stocheaza valori-numere intregi pe 32 de biti (de la -2.147.483.648 la 2.147.483.647). Valoarea trebuie urmata de litera "L" pentru fi "fortata" sa devina "lunga":
long a=160546L;
-variabile "lungi" pozitive (unsigned long) stocheaza valori-numere intregi pozitive pe 32 de biti (de la 0 la 4.294.967.295),valoarea find urmata de "UL":
unsigned long a=1800568UL;
-variabile zecimale (float) stocheaza valori-numere zecimale (cu virgula) pe 32 de biti (de la -3.4028235^38 la 3.4028235^38 ):
float x=2.9;
-variabile de tip "word" (word) stocheaza valori-numere pozitive pe 16 biti(de la 0 la 65.535):
word x=1000;
-variabilele "duble" (double) sunt similare cu cele zecimale,cu diferenta ca cele duble sunt mai precise in aproximari:
double x=2.9;
-variabile de tip "byte" (byte) depoziteaza valori-numere pozitive pe 8 biti (de la 0 la 255):
byte a=250;
-variabile de tip boolean sau logic (bool) stocheaza valori logice pe un bit (0 sau 1,true sau false). Acest tip de variabile sunt folosite in operatii logice:
void loop () { int a=9,b =4 /* declarare variabile intregi a=9,b=4(puteti modifica numerele pentru a vedea ce se intampla*/ bool c; // declarare variabila booleana c if((a > b)&& (b < a)) // daca a>b si b<a c = true; // variabila c devine "adevarata" else // altfel c = false; // variabila c devine "falsa" }
Despre logica booleana vom discuta in detaliu intr-un tutorial viitor.
-variabile de tip "caracter" (char) stocheaza caractere sau siruri de caractere pe 8 biti,sub forma de coduri ASCII (fiecare caracter este memorat in computer sub forma unui numar specific,de la 0 la 255):
char[] caracter="A"; sau
char caracter=65; (codul ASCII corespondent literei A este 65)
Tabel cu codurile ASCII corespondente fiecarui caracter (codurile de la 0 la 32 sunt alocate unor functii cum ar fi TAB):
DEC Caracter
Valoare
32 space
33 !
34 "
35 #
36 $
37 %
38 &
39 '
40 (
41 )
42 *
43 +
44 ,
45 -
46 .
47 /
48 0
49 1
50 2
51 3
52 4
53 5
54 6
55 7
56 8
57 9
58 :
59 ;
60 <
61 =
62 >
63 ?
DEC Caracter
Valoare
64 @
65 A
66 B
67 C
68 D
69 E
70 F
71 G
72 H
73 I
74 J
75 K
76 L
77 M
78 N
79 O
80 P
81 Q
82 R
83 S
84 T
85 U
86 V
87 W
88 X
89 Y
90 Z
91 [
92 \
93 ]
94 ^
95 _
DEC Caracter
Valoare
96 `
97 a
98 b
99 c
100 d
101 e
102 f
103 g
104 h
105 i
106 j
107 k
108 l
109 m
110 n
111 o
112 p
113 q
114 r
115 s
116 t
117 u
118 v
119 w
120 x
121 y
122 z
123 {
124 |
125 }
126 ~
127
De asemenea,variabilele de tip "caracter" pot contine siruri de caractere (numite stringuri in informatica):
char[] string="Acesta este un string";
-variabile de tip "string" (String) depoziteaza siruri de caractere (stringuri) cu maxim 140 de caractere:
String x="Acesta este un string";
Definirea si manipularea stringurilor si caracterelor o vom aprofunda intr-un tutorial viitor.
De asemenea variabilele pot fi declarate folosind #define. Variabilele definite in acest mod nu ocupa spatiu in memorie pana cand nu sunt "apelate" de o functie la compilare:
#define a 3
Intelegerea si aplicarea variabilelor este esentiala in orice limbaj de programare,asa ca nu ezitati sa-mi lasati intrebari la sectiunea de comentariii de mai jos!
Comments