Programare Competitivă

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 și c sunt globale, iar x,y și z sunt 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 și long long.