Variabile
De ce avem nevoie de variabile?
Imaginează-ți că vrei să ții minte un număr.
Poate vârsta ta. Sau un scor dintr-un joc. Sau rezultatul unui calcul.
În viața reală, când vrem să păstrăm ceva, folosim o cutie, un sertar sau un buzunar.
În informatică, calculatorul face același lucru, doar că folosește variabile.
O variabilă este un loc în care calculatorul poate păstra o valoare, pentru a o folosi mai târziu.
Ce este, de fapt, o variabilă?
Pentru a înțelege mai ușor, vom face o analogie între o variabilă și o cutie.
O variabilă se comportă exact ca o cutie:
- în cutie se află o valoare;
- pe cutie este scris un nume;
- valoarea din cutie se poate schimba.
Calculatorul știe mereu ce se află în cutie pentru că folosește numele variabilei atunci când are nevoie de valoarea respectivă.
Un exemplu din viața reală
Imaginează-ți o cutie în care pui bile.
Pe cutie scrie numar_bile.
La început, în cutie sunt 3 bile albe.
Mai târziu, mai adaugi încă 2 bile roșii, iar în
cutie vor fi 5.
Numărul de bile din cutie se poate schimba oricând, dar numele de pe cutie rămâne același: numar_bile.
Exact așa funcționează și o variabilă în C++: ea păstrează o valoare care poate fi modificată pe parcursul programului.
Atenție
Chiar dacă, în realitate, în cutie ai bile albe și bile roșii, calculatorul nu știe acest lucru.
Pentru calculator, cutia are doar:
- un nume (de exemplu
numar_bile); - o valoare (de exemplu
5).
Calculatorul nu știe ce se află înăuntru cu adevărat și nu face diferența între tipurile de bile.
El lucrează doar cu numere, nu cu obiecte reale.
De aceea, este important să înțelegem că o variabilă nu descrie lucrurile în detaliu, ci păstrează doar informația pe care noi i-o oferim.
Tipul datelor
Am spus că o variabilă este ca o cutie.
Ei bine, nu orice cutie poate ține orice.
Unele cutii sunt pentru numere mici, altele pentru numere foarte mari, iar altele pentru litere sau valori cu zecimale.
În C++, acest lucru se numește tipul de date.
Tipul de date îi spune calculatorului:
- ce fel de valori poate păstra o variabilă;
- câtă memorie trebuie să rezerve pentru acea variabilă.
Tipuri de date pentru numere întregi
Pentru început, vom lucra în principal cu numere întregi (fără zecimale).
C++ oferă mai multe tipuri de date, în funcție de mărimea numerelor și de memoria folosită.
| Tip de date | Memorie | Ce poate stoca | Limită aproximativă |
|---|---|---|---|
short int |
2 octeți | numere întregi mici | < 10⁴ |
int |
4 octeți | numere întregi uzuale | < 10⁹ |
long long |
8 octeți | numere întregi foarte mari | < 10¹⁸ |
Numere fără semn (doar pozitive)
Uneori știm sigur că o valoare nu poate fi negativă (de exemplu, număr de obiecte).
Pentru aceste situații, folosim tipuri unsigned (fără semn), care pot stoca doar valori pozitive sau zero.
| Tip de date | Memorie | Ce poate stoca | Limită aproximativă |
|---|---|---|---|
unsigned short int |
2 octeți | numere întregi pozitive mici | < 10⁴ |
unsigned int |
4 octeți | numere întregi pozitive | < 10⁹ |
unsigned long long |
8 octeți | numere întregi pozitive foarte mari | < 10¹⁸ |
Tipuri de date pentru numere cu zecimale
Pentru valori care au zecimale, cum ar fi temperaturi, medii sau măsurători, folosim tipuri pentru numere reale.
| Tip de date | Memorie | Precizie aproximativă |
|---|---|---|
float |
4 octeți | ~6 zecimale |
double |
8 octeți | ~15 zecimale |
long double |
10 octeți | precizie mai mare |
Tipul char
Tipul char este folosit pentru un singur
caracter.
Un char ocupă 1 octet și este
legat de codurile ASCII.
Acesta are o valoare numerică care reprezintă un simbol, de
exemplu litera a are valoarea 97.
TABELUL ASCII - simboluri și litere
| Cod decimal | Simbol |
|---|---|
| 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 | ? |
| 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 | _ |
| 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 | ~ |
Tipul bool
Tipul bool este folosit pentru a reține o
stare de adevăr.
O variabilă de tip bool poate avea doar două
valori: true sau false.
Variabile locale și variabile globale
În C++, o variabilă poate fi locală sau globală.
Variabilele locale există doar într-o anumită zonă a programului.
Variabilele globale sunt declarate în afara funcțiilor și pot fi folosite oriunde. Acestea vor avea valoarea 0 la momentul declarării.
Pentru a nu apărea erori, se recomandă folosirea variabilelor globale la început.
Exemplu
#include <iostream>
using namespace std;
int a,b,c;
int main()
{
int x,y,z;
....
return 0;
}În acest exemplu, variabilele
a,bșicsunt globale, iarx,yșizsunt locale.
Ce să reții
- O variabilă este o „cutie” care păstrează o valoare.
- Fiecare variabilă are un nume.
- Valoarea se poate modifica.
- Există mai multe tipuri de date.
- Pentru început, ne concentrăm pe
intșilong long.