User Tools

Site Tools


ro:arrays

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ro:arrays [2016/05/28 02:21]
junior-root
ro:arrays [2017/08/20 00:40]
junior-root
Line 1: Line 1:
-===== Matrici ​===== +===== Tablouri ​===== 
-Matricile ​sunt alocate folosind ​comanda ​[[DIM|DIM]] sau redimensionate folosind [[REDIM|REDIM]]. Ele pot conține date numerice sau șiruri de caractere. Accesarea unui element dintr-o matrice ​se face folosind paranteze drepte împreună cu numărul elementului din acea matrice, începând cu zero. Matricile ​pot să aibă și două dimensiuni.\\ +Tablourile ​sunt alocate folosind ​instrucțiunea ​[[DIM|DIM]] sau redimensionate folosind [[REDIM|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 ​matricilor ​pot fi extrase folosind [?] [?,] și [,?] la sfârșitul variabilei ​matricii+[[arraylength|Dimensiunile ​variabilelor tablou]] ​pot fi extrase folosind [?] [?,] și [,?] la sfârșitul variabilei ​de tip tablou
-==== Examplu ​====+==== Atribuirea de valori ​==== 
 +Valorile pot fi atribuite unui tablou în unul din cele cinci moduri: 
 + 
 +1. Prin utilizarea instrucțiunii [[dim|Dim]] pentru a rezerva spațiu în memoria calculatorului pentru tablou și apoi prin atribuirea de valori pentru fiecare element în parte:
 <​code>​ <​code>​
-print myarray[4]+dim a(10) 
 +for t = 0 to a[?]-1 
 +    a[t] = t 
 +next t 
 +</​code>​ 
 +2. Prin utilizarea unei [[lists|liste]] pentru a crea și a atribui valorile pentru un tablou printr-o singură comandă. 
 +<​code>​ 
 +a = {{0,​1,​2},​{3,​4,​5},​{6,​7,​8}} 
 +</​code>​ 
 +sau 
 +<​code>​ 
 +b[] = {1,2,3,4} 
 +</​code>​ 
 +3. Prin copierea unui tablou existent într-un alt tablou astfel creat (cu sau fără utilizarea instrucțiunii [[dim|dim]]). 
 +<​code>​ 
 +a = {1,2,3,4} 
 +dim b = a[] 
 +c = a 
 +</​code>​ 
 +4. Prin folosirea funcțiilor [[explode|Explode]] sau [[explodex|Explodex]] care au rolul de a împărți în bucăți un șir de caractere și de a le transforma într-un tablou. 
 +<​code>​ 
 +a = explode("​how now brown cow","​ ") 
 +</​code>​ 
 +5. Prin folosirea operatorului de atribuire [[fill|fill]] (cu sau fără utilizarea instrucțiunii [[dim|dim]]) 
 +<​code>​ 
 +dim c fill "​stuff"​ 
 +dim e[] fill 0 
 +b fill ""​ 
 +a[fill -1
 </​code>​ </​code>​
-va afișa pe ecran al cincilea element din matricea "​myarray"​ 
  
-==== Exemple ​====+==== Convenții de notație ​==== 
 +La punctul 2 din exemplele de mai sus am avut 2 variante:
 <​code>​ <​code>​
-print myarray[4]+a = {{0,​1,​2},​{3,​4,​5},​{6,​7,​8}}
 </​code>​ </​code>​
-va afisa pe ecran al cinci-lea element ​al matricii ​'myarray'.+și 
 +<​code>​ 
 +b[] = {1,2,3,4} 
 +</​code>​ 
 +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: 
 +<​code>​ 
 +dim b = a[] 
 +c = a 
 +</​code>​ 
 +Aceste două linii puteau fi scrise în oricare din variantele:​ 
 +<​code>​ 
 +dim b = a 
 +dim b = a[] 
 +dim b[] = a 
 +dim b[] = a[] 
 + 
 +c = a 
 +c = a[] 
 +c[] = a 
 +c[] = a[] 
 +</​code>​ 
 + 
 +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.55|S-a adăugat posibilitatea copierii dintr-un tablou într-altul|
 +|1.99.99.57|S-a adăugat operatorul [[fill|fill]]|
  
ro/arrays.txt · Last modified: 2017/08/20 00:40 by junior-root