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

Da Gambas-it.org - Wikipedia.
Riga 5: Riga 5:
 
<BR>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''".
 
<BR>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''".
  
 
Esempio di ''Matrice'' costituita da tre dimensioni, la prima delle quali è formata da 2 elementi, la seconda da 5 e la terza da 4:
 
matrix[2, 5, 4]
 
  
 
=Dichiarazione ed inizializzazione delle Matrici=
 
=Dichiarazione ed inizializzazione delle Matrici=
In Gambas una Matrice può essere ''locale'' o ''globale'', e viene dichiarata secondo la seguente sintassi:
+
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'' ]
 
  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:
+
matrix[2, 5, 4]
 +
Esempio pratico:
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()
 
   
 
   
Riga 20: Riga 18:
 
  Private bb As New Byte[3, 4]
 
  Private bb As New Byte[3, 4]
 
   
 
   
  '''Public''' Sub Main()
+
'''Public''' Sub Main()
 
     ......
 
     ......
 
La ''dimensione'' di una Matrice in Gambas non può essere superiore ad otto.
 
La ''dimensione'' di una Matrice in Gambas non può essere superiore ad otto.

Versione delle 09:42, 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:

matrix[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