User Tools

Site Tools


ro:arrays

Tablouri

Tablourile sunt alocate folosind instrucțiunea DIM sau redimensionate folosind REDIM. Ele pot conține date numerice sau șiruri de caractere. Accesarea unui element dintr-un tablou se face folosind paranteze drepte împreună cu numărul elementului din acel tablou, începând cu zero. Tablourile pot să aibă și două dimensiuni.
Dimensiunile variabilelor tablou pot fi extrase folosind [?] [?,] și [,?] la sfârșitul variabilei de tip tablou.

Atribuirea de valori

Valorile pot fi atribuite unui tablou în unul din cele cinci moduri:

1. Prin utilizarea instrucțiunii Dim pentru a rezerva spațiu în memoria calculatorului pentru tablou și apoi prin atribuirea de valori pentru fiecare element în parte:

dim a(10)
for t = 0 to a[?]-1
    a[t] = t
next t

2. Prin utilizarea unei liste pentru a crea și a atribui valorile pentru un tablou printr-o singură comandă.

a = {{0,1,2},{3,4,5},{6,7,8}}

sau

b[] = {1,2,3,4}

3. Prin copierea unui tablou existent într-un alt tablou astfel creat (cu sau fără utilizarea instrucțiunii dim).

a = {1,2,3,4}
dim b = a[]
c = a

4. Prin folosirea funcțiilor Explode sau Explodex care au rolul de a împărți în bucăți un șir de caractere și de a le transforma într-un tablou.

a = explode("how now brown cow"," ")

5. Prin folosirea operatorului de atribuire fill (cu sau fără utilizarea instrucțiunii dim)

dim c fill "stuff"
dim e[] fill 0
b fill ""
a[] fill -1

Convenții de notație

La punctul 2 din exemplele de mai sus am avut 2 variante:

a = {{0,1,2},{3,4,5},{6,7,8}}

și

b[] = {1,2,3,4}

După cum se poate observa, în primul caz numele variabilei tablou nu a fost însoțit de paranteze drepte [ ] ca în cel de-al doilea caz. Ideea este că o variabilă tablou poate fi folosită la fel de bine fără paranteze drepte acolo unde sintaxa permite acest lucru, însă recomandăm folosirea acestora ca în cazul al doilea. Prin acesta codul scris devine mult mai ușor de citit pentru că utilizatorul va ști că numele variabilei se referă la un tablou și nu la o simplă variabilă și va reduce confuzia dintre o variabilă și un tablou de elemente.

Mai mult, în exemplul 3 am avut:

dim b = a[]
c = a

Aceste două linii puteau fi scrise în oricare din variantele:

dim b = a
dim b = a[]
dim b[] = a
dim b[] = a[]

c = a
c = a[]
c[] = a
c[] = a[]

Totuși, în cazul în care se folosesc parantezele drepte în cazul variabilei a[], programul va face o verificare suplimentară ca să se asigure că numele variabilei se referă într-adevăr la un tablou și nu la o simplă variabilă. În cazul în care aceasta nu ar fi un tablou programul se oprește și va indica faptul că acea variabilă nu este un tablou, așa cum se aștepta.

În același mod, în cazul în care se folosesc parantezele drepte în cazul variabilei c[], programul se va asigura de faptul că acesta va fi inițializată cu un tablou, nu cu o simplă variabilă. Astfel, în cazul în care variabila a nu ar fi un tablou, programul se oprește și va indica faptul că se aștepta la un tablou.

Istoric

1.99.99.55S-a adăugat posibilitatea copierii dintr-un tablou într-altul
1.99.99.57S-a adăugat operatorul fill
ro/arrays.txt · Last modified: 2020/02/28 10:46 (external edit)