Visual Basic
    • TUTORIAL
    • ESEMPI
    • RIFERIMENTI
    il mio computer

Matrici unidimensionali

Le matrici sono particolari tipi di dati che possono contenere un numero definito di variabili dello stesso tipo, vengono anche esse dichiarate tramite l'istruzione Dim, come le normali variabili, la sintassi per definire una matrice unidimensionale è formata dall'istruzione Dim seguita da un nome arbitrario che deve rispettare le stesse regole per le variabili quindi una parentesi tonda di apertura, un indice che stabilisce il numero di variabili che dovrà contenere, una parentesi tonda di chiusura ed infine la parola riservata As seguita dal tipo di dati(String, Integer, Double...) qui sotto vediamo alcuni esempi.

Dim studenti (29) As String
Dim codiceProdotti (99) As  Integer

Il primo esempio dichiara una matrice chiamata studenti di 30 elementi da 0 a 29 ognuno dei quali può contenere un nome di studente (stringa).
Il secondo esempio dichiara una matrice di nome codiceProdotti di 100 elementi da 0 a 99 ognuno dei quali può contenere un numero di tipo Integer (intero)

Matrici multidimensionali

Analogamente a come viene dichiarata una matrice unidimensionale può essere dichiarata una matrice bidimensionale (2 dimensioni), basta inserire tra le parentesi tonde due indici separati da una virgola. Ma volendo si possono inserire quante dimensioni si vogliono, 2, 3 4 5.... ma generalmente non si và oltre la terza dimensione. Si può immaginare la matrice unidimensionale come un striscia contenente il numero di variabili dichiarate una attaccata all'altra. La matrice bidimensionale può invece essere immaginata come un foglio di quaderno a quadretti dove ogni quadretto contiene una variabile, quindi per selezionare una certa variabile basta inserire dopo la parentesi tonda di apertura il primo indice che rappresenta la riga, quindi il secondo indice che rappresenta la colonna. Invece la matrice tridimensionale può essere immaginata come un quaderno sempre a quadretti contenente un certo numero di pagine, dove ogni pagina si immagina come una matrice bidimensionale, quindi il primo indice dopo la parentesi tonda aperta rappresenta la pagina del quaderno, il secondo la riga e il terzo la colonna. Una eventuale matrice a quattro dimensioni potrebbe essere immaginata come un certo numero di quaderni, così il primo indice rappresenta il quaderno, il secondo la pagina, il terzo la riga e il quarto la colonna. Vediamo qui sotto un esempio di matrice bidimensionale.

riga 0
colonna 0
riga 0
colonna 1
riga 0
colonna 2
riga 0
colonna 3
riga 0
colonna 4
riga 1
colonna 0
riga 1
colonna 1
riga 1
colonna 2
riga 1
colonna 3
riga 1
colonna 4
riga 2
colonna 0
riga 2
colonna 1
riga 2
colonna 2
riga 2
colonna 3
riga 2
colonna 4
riga 3
colonna 0
riga 3
colonna 1
riga 3
colonna 2
riga 3
colonna 3
riga 3
colonna 4
riga 4
colonna 0
riga 4
colonna 1
riga 4
colonna 2
riga 4
colonna 3
riga 4
colonna 4

Matrici dinamiche

Una matrice dinamica è così chiamata perchè dopo la sua dichiarazione ed eventualmente anche dopo aver inserito dei dati al suo interno può essere ridimensionata, aumentando o diminuendo le dimensioni. Le istruzioni per fare questo sono due, ReDim e ReDim Preserve. Redim ridimensiona la matrice aumentando o diminuendo la dimensione, ma nel fare questo cancella anche tutti i dati precedentemente inseriti, e nel caso che la dimensione della matrice venga diminuita in pratica la tronca. Se si desidera che tutti i dati precedentemente inseriti vengano mantenuti, bisogna usare la seconda istruzione ReDim Preserve.

Nell'esempio sotto viene dichiarata una matrice vuota, viene subito ridimensionata, prima di inserire valori altrimenti il compilatore genererebbe un errore, quindi vengono inseriti alcuni valori, quindi viene ulteriormente ridimensionata ed infine aggiunti altri valori. Ho usato il VB.NET di Visual Studio 2017 selezionando un progetto console (net.Framework). 

Esempio di Redim Preserve copia