If you're seeing this message, it means we're having trouble loading external resources on our website.

Dacă sunteţi în spatele unui filtru de web, vă rugăm să vă asiguraţi că domeniile *. kastatic.org şi *. kasandbox.org sunt deblocate.

Conţinutul principal

Memorarea datelor în variabile

Programele de calculator sunt cele care știu cum trebuie să se proceseze informațiile.
Uneori, informațiile sunt furnizate de către utilizator. De exemplu, într-un joc ți se cere să alegi nivelul de dificultate sau volumul sunetului:
A diagram of a laptop with a game settings interface. The label "volume" is displayed above a slider that is 30% filled. The label "difficulty" is displayed above three buttons, "easy", "medium", "hard", with the "easy" button selected. An arrow points from the laptop to a table with 2 rows. The first row has "volume: 3" and the second row has "difficulty: easy".
Alteori, informațiile sunt incluse chiar în program. De exemplu, jocul poate începe cu scorul 0 și 3 vieți:
A diagram that starts with a table of 2 rows. The first row has "score: 3" and the second row has "lives: 3". An arrow points from the table to a laptop with a game playing screen. The screen displays a score of 0 in the upper left and 3 hearts in the upper right.
În oricare dintre situații, programul memorează informațiile în variabile. Fiecare variabilă are asociate un identificator, o valoare și un tip de dată. Valoarea se poate schimba în timp; tocmai de aceea se numește “variabilă.”
Acel program folosește cel puțin patru variabile:
identificatorvaloaretip
volum3număr
dificultate"ușor"șir de caractere
scor0număr
vieți3număr
Multe variabile memorează numere sau șiruri de caractere, precum cele de mai sus. Dar în variabile pot fi memorate și alte tipuri de date, precum: liste, dicționare, valori booleene (adevărat/fals).
Vom începe cu studierea numerelor și șirurilor de caractere, iar mai târziu vom aborda și alte tipuri de date. Să începem cu începutul și să scriem puțin cod!

Atribuirea de valori variabilelor

Iată cum putem crea o variabilă al cărei identificator în JavaScript este score (scor):
var score = 0;
Acea linie de cod se numește instrucțiune. Toate programele sunt scrise folosind instrucțiuni. Fiecare instrucțiune este o comandă dată calculatorului, care o va executa pentru noi.
Hai să adăugăm și variabila lives (vieți):
var score = 0;
var lives = 3;
📝 Vezi codul echivalent în: App Lab | Snap | Python
Acum codul nostru folosește două instrucțiuni pentru a memora două valori distincte în două variabile. Dincolo de ceea ce vedem în program, calculatorul memorează fiecare valoare într-un alt spațiu de memorie, iar variabilele sunt cele care indică locațiile de memorie (adresele unde se găsesc acele valori).

Afișarea variabilelor

Cum ne asigurăm că, într-adevăr, calculatorul memorează acele valori? Îi putem cere să afișeze valorile.
După cum am învățat înainte, o modalitate de a afișa informațiile, aici pe Khan Academy, este cu ajutorul procedurii println():
📝 Vezi codul echivalent în: App Lab | Snap | Python
Când calculatorul are de executat instrucțiunea println(score), el trebuie să caute în memorie valoarea curentă a variabilei și, dacă o găsește, să o afișeze la consolă (pe ecran).
🔍 Încearcă singur: Editează codul pentru a-i spune calculatorului să găsească o variabilă despre care încă nu știe. Ce se întâmplă?

Reatribuirea de valori variabilelor

Într-un joc, scorul jucătorului și numărul de vieți nu rămân la aceleași valori. În general, scorul crește, iar numărul de vieți scade. Aceasta înseamnă că trebuie să fie permisă modificarea ulterioară a valorilor acelor variabile.
Îi putem atribui unei variabile o nouă valoare, folosind o instrucțiune asemănătoare cu atribuirea inițială:
score = 5;
Acum variabila score memorează valoarea 5 în locul valorii inițiale 0.
Observă că, în JavaScript, atunci când atribuim o nouă valoare nu mai punem cuvântul cheie var în față. Acest lucru nu este valabil în toate limbajele de programare, deci este posibil să fie alte reguli pentru alte limbaje pe care le înveți tu.
Iată un program care creează cele două variabile, uneia dintre ele îi atribuie o nouă valoare și afișează valorile de pe parcurs:
📝 Vezi codul echivalent în: App Lab | Snap | Python
Acest program este interesant deoarece conține 2 linii identice: println(score). Totuși, ceea ce se afișează în urma lor diferă; cum este posibil?
Explicația este următoarea: calculatorul execută instrucțiunile în ordine, iar valoarea variabilei score se schimbă în timp.
Hai să parcurgem programul, pas cu pas:
PasInstrucțiuneDescriere
1var score = 0;Inițializarea variabilei score cu valoarea 0
2var lives = 3;Inițializarea variabilei lives cu valoarea 3
3println(score);Afișarea valorii curente a variabilei score: 0
4println(lives);Afișarea valorii curente a variabilei lives: 3
5score = 5;Reatribuirea variabilei score a valorii 5
6println(score);Afișarea valorii curente a variabilei score: 5
Când scriem un program, prima dată afișăm valorile variabilelor pentru a ne asigura bine ce informații are programul. Variabilele au memorat ceea ce vrem noi sau programul nostru execută ceva neașteptat, apărut pe parcurs?
🔍 Încearcă singur: editează codul de mai sus și vezi cum se modifică datele de ieșire.

Variabile în limbaj pseudocod

În limbajul pseudocod, atribuirea de valori unei variabile se face astfel:
a ← expresie
O asemenea instrucțiune înseamnă că variabilei a (sau cum se numește ea) i se atribuie valoarea pe care o are expresie.
De exemplu, poți întâlni instrucțiuni precum:
age ← 21
Aceasta înseamnă că variabilei age (vârsta) i se atribuie valoarea 21.
Hai să vedem și codul echivalent în câteva limbaje de programare:
limbajcod
JavaScriptvar age = 21;
Pythonage = 21
Atribuirea este un concept întâlnit și în limbajele de tip instrucțiuni-bloc:
limbajinstrucțiune-bloc
Snap!
Screenshot of variable block from Snap, says "set age to 21"
AppInventor
Screenshot of variable block from AppInventor, says "initialize global age to 22"
După cum poți vedea, codul pentru atribuirea de valori variabilelor este foarte asemănător de la un limbaj la altul. Totuși, sunt câteva diferențe și tocmai de aceea noi folosim aici limbajul pseudocod: pentru a discuta conceptul, fără să ne incomodeze sintaxa.
Verifică dacă ai înțeles
Care este instrucțiunea în pseudocod echivalentă cu următoarea instrucțiune JavaScript?
var x = 200;
Alege un răspuns:


🙋🏽🙋🏻‍♀️🙋🏿‍♂️Ai întrebări pe acest subiect? Suntem bucuroși să-ți răspundem — întreabă în zona de întrebări de mai jos!