Fondamenti di Informatica
AlgoBuild: Introduzione agli Array
Pro f. M a rco Lo mb a rd i
• Un array è una variabile in cui è possibile memorizzare più valori dello stesso tipo
• Un array monodimensionale (o vettore) può essere immaginato come un contenitore suddiviso in tanti "scomparti", uno per ciascun valore che si intende memorizzare
• Un array bidimensionale è noto come matrice
ARRAY:
• Un array è una variabile in cui è possibile memorizzare più valori dello stesso tipo
• Un array monodimensionale (o vettore) può essere immaginato come un contenitore suddiviso in tanti "scomparti", uno per ciascun valore che si intende memorizzare
• Un array bidimensionale è noto come matrice
• Ciascuno scomparto, detto elemento del vettore, contiene un unico valore ed è individuato mediante un numero progressivo, detto indice, che specifica la posizione dell’elemento all’interno del vettore stesso
• Il numero complessivo degli elementi del vettore viene detto lunghezza
AlgoBuild: Introduzione agli Array
ARRAY:
• Un array è una variabile in cui è possibile memorizzare più valori dello stesso tipo
• Un array monodimensionale (o vettore) può essere immaginato come un contenitore suddiviso in tanti "scomparti", uno per ciascun valore che si intende memorizzare
• Un array bidimensionale è noto come matrice
• Ciascuno scomparto, detto elemento del vettore, contiene un unico valore ed è individuato mediante un numero progressivo, detto indice, che specifica la posizione dell’elemento all’interno del vettore stesso
• Il numero complessivo degli elementi del vettore viene detto lunghezza
Indice i 0 1 2 3 4 5 6 7 8 9
a 32 15 8 5 12 9 63 3 102 1
Nome array
ARRAY:
• Un array è una variabile in cui è possibile memorizzare più valori dello stesso tipo
• Un array monodimensionale (o vettore) può essere immaginato come un contenitore suddiviso in tanti "scomparti", uno per ciascun valore che si intende memorizzare
• Un array bidimensionale è noto come matrice
• Ciascuno scomparto, detto elemento del vettore, contiene un unico valore ed è individuato mediante un numero progressivo, detto indice, che specifica la posizione dell’elemento all’interno del vettore stesso
• Il numero complessivo degli elementi del vettore viene detto lunghezza
AlgoBuild: Introduzione agli Array
Indice i 0 1 2 3 4 5 6 7 8 9
a 32 15 8 5 12 9 63 3 102 1
Nome array
L’array a ha lunghezza pari a 10
ARRAY:
•
In AlgoBuild, per accedere ad un singolo elemento di un array, si deve
specificare il nome dell’array
seguito dall’
indice dell’elemento
posto tra
parentesi quadre:
a
[i]
•
Es:
a
[1] restituisce l’elemento 15,
a
[3] restituisce l’elemento 5
Indice i 0 1 2 3 4 5 6 7 8 9
a 32 15 8 5 12 9 63 3 102 1
Nome array
Esempio 1 – 1/2:
Input degli elementi in un Array
•
Vediamo come inserire gli elementi (valori) in un vettore di lunghezza 10
Indice i 0 1 2 3 4 5 6 7 8 9
a
Nome array
Esempio 2/2:
Input degli elementi in un Array
Indice i 0 1 2 3 4 5 6 7 8 9
a
Nome array
•
Scomponiamo il problema in due sotto-problemi
1.
Input
•
Inserimento degli elementi nell’array a di 10 elementi
•
Primo ciclo FOR
•
Ad ogni iterazione viene richiesto in input l’elemento in
posizione i-esima dell’array a
2.
Output
•
Mostra gli elementi dell’array a di 10 elementi
•
Secondo ciclo FOR
•
Ad ogni iterazione viene mostrato in output l’elemento in
posizione i-esima dell’array a
Esempio 2 – 1/3:
Input degli elementi in un Array e successiva
stampa in Output
Diagramma di Flusso
AlgoBuild: Introduzione agli Array
Esempio 2 – 2/3 (diagramma):
Input degli elementi in un Array e successiva
stampa in Output
Diagramma di Flusso
1. Input
Inserimento degli elementi
nell’array a di 10 elementi
(Primo ciclo FOR)
Esempio 2 – 2/3:
Input degli elementi in un Array e successiva
stampa in Output
Diagramma di Flusso
2. Output
Mostra gli elementi
dell’array a di 10 elementi
(Secondo ciclo FOR)
AlgoBuild: Introduzione agli Array
Esempio 2 – 2/3:
Input degli elementi in un Array e successiva
stampa in Output
Diagramma di Flusso
Pseudo-Codice
Esempio 2 – 3/3 (pseudocodice):
Input degli elementi in un Array e successiva
stampa in Output
AlgoBuild: Introduzione agli Array
Esempio 2 – 3/3:
Input degli elementi in un Array e successiva
stampa in Output
Esempio 2 – 3/3:
Input degli elementi in un Array e successiva
stampa in Output
Es
em
p
io
2
: D
em
o
•
Scomponiamo il problema in tre sotto-problemi
1.
Input
(uguale all’Esempio 2)
2.
Ricerca del Massimo
3.
Output del Massimo
Esempio 3 – 1/3:
Determinare il massimo in un Array, i cui
elementi sono presi in Input
•
Scomponiamo il problema in tre sotto-problemi
1.
Input
(uguale all’Esempio 2)
2.
Ricerca del Massimo
1. Assumo che l’elemento massimo sia in posizione 0 (prima posizione) dell’array a
• max = a[0]
2. Scorro gli elementi di a dalla posizione 1 alla posizione 9 (ultima posizione)
• Secondo Ciclo FOR (il primo ciclo è relativo alla fase di Input)
• Ad ogni iterazione del ciclo, verifico se l’elemento all’i-esima posizione è maggiore di max
• In caso affermativo, il nuovo massimo è l’elemento alla i-esima posizione di a
• max = a[i]