← Înapoi la concepte
📊

Șiruri de valori
algoritmi pe tablouri

💻 Programare Clasa a VIII-a

Pe scurt

Un vector este ca un rând de cutii numerotate — fiecare cutie poartă un index (adresa ei) și conține o valoare. În loc să creezi zeci de variabile separate, pui toate datele într-un singur șir și le accesezi prin poziție.

Odată ce știi să citești și parcurgi un șir cu bucla FOR, poți rezolva probleme reale: găsești maximul, calculezi suma, numeri elementele care respectă o proprietate sau chiar sortezi datele în ordine.

Aproape orice aplicație modernă — de la un catalog de note până la un clasament sportiv — se bazează pe șiruri de valori.

Ce este un șir de valori

Un șir (numit și vector sau tablou unidimensional) este o colecție ordonată de valori de același tip, stocate împreună sub un singur nume. Fiecare element are o poziție numită index — un număr care îți spune exact unde se află valoarea.

Notația standard este v[i]: numele șirului urmat de index în paranteze drepte. Dacă i = 3, atunci v[i] înseamnă al treilea element din șir. Indexul poate fi și o variabilă — de aceea șirurile funcționează atât de bine împreună cu bucla FOR.

Dimensiunea șirului se păstrează de obicei în variabila n și se citește prima — nu poți citi elementele fără să știi câte sunt.

[1]
8
[2]
9
[3]
7
[4]
10
[5]
8
Analogie: Gândește-te la un tren cu vagoane numerotate. Trenul se numește note, vagonul 1 conține prima notă, vagonul 2 a doua, și tot așa. Nu dai fiecărui vagon un alt nume — le accesezi prin numărul lor. Indexul este numărul vagonului, valoarea este ce se află înăuntru.
// Citire sir: intai n, apoi elementele CITESTE n PENTRU i = 1, n EXECUTA CITESTE v[i] SFARSIT_PENTRU // Afisare: aceeasi structura, doar SCRIE in loc de CITESTE PENTRU i = 1, n EXECUTA SCRIE(v[i]) SFARSIT_PENTRU

De ce contează

Harta lecțiilor

Clasa a VII-a — conținut extra-curricular
Notă curriculum: Conform programei OMEN 3393/2017, șirurile de valori sunt materie de clasa a VIII-a (comp. VIII-2.1, VIII-2.2). Lecțiile de mai jos sunt conținut avansat/extra-curricular pentru elevii de cls. a VII-a care doresc să se pregătească anticipat — nu sunt parte din programa obligatorie a clasei a VII-a.
Siruri de numere — colecții organizate Parcurgerea si afisarea elementelor Algoritmi: suma si media elementelor Algoritmi: minim si maxim din sir

Verifică-te

Sirul v are elementele [10, 20, 30, 40, 50] (indexare de la 1). Ce valoare are v[3]? Ce reprezinta numarul 3 in notatia v[3]? ▼ Răspuns
v[3] = 30. Numarul 3 este indexul (adresa elementului) — nu valoarea. La pozitia 3 gasim valoarea 30. Indexul ne spune unde sa cautam; valoarea este ce gasim acolo. Confundarea celor doua este cea mai frecventa greseala la siruri.
De ce citim mai intai n si abia apoi elementele sirului? Ce s-ar intampla daca am incerca sa citim elementele fara sa stim n? ▼ Răspuns
Bucla FOR are nevoie de limita superioara. Instructiunea PENTRU i = 1, n EXECUTA trebuie sa stie valoarea lui n inainte de a porni. Fara n, calculatorul nu stie dupa cate elemente sa opreasca citirea. De aceea sablonul este intotdeauna: citim n, apoi citim elementele intr-un FOR de la 1 la n.
La sortarea Bubble Sort (crescator), ce se intampla la fiecare trecere prin sir? De ce are nevoie de n-1 treceri pentru un sir de n elemente? ▼ Răspuns
La fiecare trecere, cel mai mare element nesortat “pluteste” pana la sfarsitul zonei nesortate — de aceea algoritmul se numeste “Bubble” (bula). Dupa trecerea 1, ultimul element e la locul lui. Dupa trecerea 2, ultimele doua sunt corecte. Dupa n-1 treceri, n-1 elemente sunt asezate corect, iar cel ramas e automat pe pozitia lui. Pentru sortare descrescatoare se schimba un singur caracter: > devine < in conditia de comparare.

Concepte înrudite