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 03:21]
junior-root [Matrici]
ro:arrays [2020/02/28 10:46] (current)
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" 
  
-==== Example ====+==== 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.1464427295.txt.gz · Last modified: 2020/02/28 10:46 (external edit)