Gran parte dell'utilità degli array deriva dal fatto che è possibile accedere individualmente ai suoi elementi.
L'indice è un valore che punta a uno specifico elemento dell'array div>
RICORDA!
LA NUMERAZIONE DEGLI ARRAY IN PASCAL PARTE DA ZERO!
(Questo è obbligatorio — devi iniziare da zero. Questo è particolarmente importante da ricordare)
Esempi di accesso all'array A:
x := (A[3] + 5) * A[1] // legge i valori di A[3] e A[1]
A[0] := x + 6 // scrive un nuovo valore in A[0]
Analizziamo il programma per lavorare con gli elementi dell'array.
var i: numero intero;
a: matrice di numeri interi;
inizio
io := 1;
setlunghezza(a, 5); //crea un array di 5 elementi
a[0] := 23; // a ciascuno dei 5 elementi dell'array (indici da 0 a 4)
a[1] := 12; // scrive un valore specifico
a[2] := 7;
a[3] := 43;
a[4] := 51;
a[2] := a[i] + 2 * a[i - 1] + a[2 * i]; // cambia il valore dell'elemento con indice 2 nel risultato dell'espressione
// perché i=1, quindi sostituendo il valore della variabile i nell'espressione che otteniamo
// espressione successiva a[2] := a[1] + 2*a[0] + a[2];
writeln(a[2] + a[4]);
FINE.
Come risultato della corsa questo programma apparirà sullo schermo il valore della somma degli elementi dell'array con indice 2 e con indice 4 pari a 116. Come puoi vedere dall'esempio, possiamo accedere a qualsiasi elemento dell'array . E calcolare anche il numero richiesto dell'elemento utilizzando varie formule (ad esempio, come nel programma A[i-1] o A[2*i], in questi casi verranno calcolati gli indici degli elementi e dipenderanno dal valore di i.)
Osserviamo un programma di esempio
var a: matrice di numeri interi;
inizio
setlunghezza(a, 5);
a[5] := 5;
a[-1] := 0;
FINE.
Perché l'array è dichiarato con 5 elementi, quindi gli elementi saranno numerati da 0 a 4. Vediamo che il programma nella sesta riga fa riferimento a un elemento inesistente а [5] e sulla settima riga fino all'inesistente a[-1].
Si scopre che il programma è andato oltre i limiti dell'array
L'array fuori dai limiti sta accedendo a un elemento con un indice che non esiste nell'array.
In tali casi, il programma di solito si arresta in modo anomalo con
errore di runtime