Differenze tra le versioni di "Array multidimensionali con numero determinato di elementi"

Da Gambas-it.org - Wikipedia.
Riga 10: Riga 10:
 
  DIM Identificatore AS [ NEW ] TipoDati [ ''dimensioni degli elementi della matrice'' ]
 
  DIM Identificatore AS [ NEW ] TipoDati [ ''dimensioni degli elementi della matrice'' ]
 
Esempio di ''array'' costituito da tre dimensioni, la prima delle quali è formata da 2 elementi, la seconda da 5 e la terza da 4:
 
Esempio di ''array'' costituito da tre dimensioni, la prima delle quali è formata da 2 elementi, la seconda da 5 e la terza da 4:
  Dim array As <FONT Color=@B22222>Integer<B>[2, 5, 4]</b></font>
+
  Dim array As <FONT Color=#B22222>Integer<B>[2, 5, 4]</b></font>
 
Esempio pratico:
 
Esempio pratico:
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()

Versione delle 09:45, 22 nov 2021

Introduzione

Una "Matrice" (o anche Vettore multidimensionale o array multidimensionale) è un insieme di numeri ordinati secondo righe e colonne di ordine m x n, tale da formare una tabella di elementi, ove m e n sono numeri interi e stabiliti. In particolare m è il numero delle righe e n il numero delle colonne.
Se m = n la Matrice viene definita: quadrata.
Un elemento della Matrice occupa la posizione individuata dall'intersezione tra la m-esima riga e la n-esima colonna della Matrice.
Se la Matrice è formata da una riga ed una colonna, allora è considerata un Vettore. Se la Matrice è formata da una sola riga e da più colonne, allora la Matrice è definita: "Matrice riga". Se la Matrice è formata da più righe, ma da una sola colonna, allora la Matrice è definita: "Matrice colonna".


Dichiarazione ed inizializzazione delle Matrici

In Gambas una Matrice può essere locale o globale e viene dichiarata impostando le sue dimensioni tra parentesi quadre alla destra del tipo di dato di appartenenza secondo la seguente sintassi:

DIM Identificatore AS [ NEW ] TipoDati [ dimensioni degli elementi della matrice ]

Esempio di array costituito da tre dimensioni, la prima delle quali è formata da 2 elementi, la seconda da 5 e la terza da 4:

Dim array As Integer[2, 5, 4]

Esempio pratico:

Public Sub Main()

 Dim bb As New Byte[3, 4]

ovviamente nel caso di dichiarazione di una variabile array globale:

Private bb As New Byte[3, 4]

Public Sub Main()
   ......

La dimensione di una Matrice in Gambas non può essere superiore ad otto.
Esempio:

Public Sub Main()

' Viene dichiarata una matrice a 8 dimensioni:
 Dim bb As New Byte[3, 4, 2, 2, 3, 20, 33, 5]

  ......

Per conoscere il numero delle dimensioni di una matrice, è possibile usare la proprietà .Bounds.Count:

Public Sub Main()

' Viene dichiarata una matrice a 3 dimensioni, ciascuna delle quali ha un numero diverso di elementi:
 Dim bb As New Byte[3, 4, 2]

 Print bb.Bounds.Count

End

Esempio pratico

Mostriamo un semplice esempio di uso di un array locale multidimensionale con numero determinato di elementi:

Public Sub Main()
 
 Dim bb As New Byte[3, 2]
 Dim x, y As Byte
  
' Esssendo bidimensionale l'array, ci serviamo di due cicli "For" per assegnare un valore a ciascun suo elemento:
 For x = 0 To 2
   For y = 0 To 1
     bb[x, y] = x + y
   Next
 Next
 
' Infine legge i valori assegnati all'array:
 For x = 0 To 2
   For y = 0 To 1
     Print bb[x, y]
   Next
   Print "------"
 Next

End