Logo NEXUS

NEXUS didattica

← Torna indietro
Informatica / Lezione Teorica

Array Multidimensionali (Matrici)

Strutture dati tabulari a due o più dimensioni: gestione di righe e colonne, mappatura sequenziale in RAM e cicli annidati.

1. Che cos'è un Array Multidimensionale?

Un array bidimensionale (comunemente chiamato matrice o tabella) estende il concetto di vettore introducendo una seconda dimensione: le righe e le colonne. Ciascun elemento è identificato da una coppia di indici \([i][j]\), dove \(i\) rappresenta l'indice della riga e \(j\) l'indice della colonna.

2. Indicizzazione e Rappresentazione a Griglia

Consideriamo una matrice \(3 \times 3\) in cui gli indici partono sempre da \(0\):

Righe \(\downarrow\) / Colonne \(\rightarrow\) Colonna 0 Colonna 1 Colonna 2
Riga 0 M[0][0] = 5 M[0][1] = 2 M[0][2] = 9
Riga 1 M[1][0] = 1 M[1][1] = 8 M[1][2] = 3
Riga 2 M[2][0] = 4 M[2][1] = 7 M[2][2] = 6
Proprietà e Scansione:
  • Cicli Annidati: Per esplorare una matrice si utilizzano due cicli for nidificati: quello esterno gestisce le righe (\(i\)), quello interno gestisce le colonne (\(j\)).
  • Allocazione in RAM: Sebbene logicamente concepita come una tabella bidimensionale, la memoria RAM è monodimensionale. I linguaggi salvano le matrici in sequenza lineare per righe (ordinamento row-major).

3. Simulatore Interattivo: Elaboratore di Matrici

Seleziona un'operazione per testare l'elaborazione iterativa con cicli annidati su una matrice \(3 \times 3\) di prova.

matrix-eval@nexus-core:~# 2D Array Processor Simulator
> In attesa di selezione per la simulazione della matrice M = [[5, 2, 9], [1, 8, 3], [4, 7, 6]]...