Problem

2/10

Accesso a un elemento dell'array

Theory Click to read/hide

Riferimento a un elemento dell'array

Gran parte dell'utilità degli array deriva dal fatto che è possibile accedere individualmente ai suoi elementi.
Il modo per farlo è usare un indice per numerare gli 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


 
 

Problem

Nelle righe da 8 a 11, imposta gli elementi dell'array nell'indice da 1 a 4 al doppio del valore dell'elemento dell'array precedente. 
In questa attività non è possibile assegnare numeri specifici, è necessario fare riferimento all'elemento precedente dell'array per nome e indice
Ciò significa che la voce a[1] = 46 sarà considerata errata.