• Non ci sono risultati.

Fondamenti di Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica"

Copied!
26
0
0

Testo completo

(1)

Fondamenti di Informatica

AlgoBuild: Introduzione agli Array

Pro f. M a rco Lo mb a rd i

(2)

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:

(3)

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:

(4)

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:

(5)

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:

(6)

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

(7)

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

(8)

Esempio 2/2:

Input degli elementi in un Array

Indice i 0 1 2 3 4 5 6 7 8 9

a

Nome array

(9)
(10)

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

(11)

Diagramma di Flusso

AlgoBuild: Introduzione agli Array

Esempio 2 – 2/3 (diagramma):

Input degli elementi in un Array e successiva

stampa in Output

(12)

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

(13)

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

(14)

Diagramma di Flusso

Pseudo-Codice

Esempio 2 – 3/3 (pseudocodice):

Input degli elementi in un Array e successiva

stampa in Output

(15)

AlgoBuild: Introduzione agli Array

Esempio 2 – 3/3:

Input degli elementi in un Array e successiva

stampa in Output

(16)

Esempio 2 – 3/3:

Input degli elementi in un Array e successiva

stampa in Output

(17)

Es

em

p

io

2

: D

em

o

(18)

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

(19)

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]

3.

Output del Massimo

AlgoBuild: Introduzione agli Array

Esempio 3 – 1/3:

Determinare il massimo in un Array, i cui

elementi sono presi in Input

(20)

Esempio 3 – 2/3 (diagramma):

Determinare il massimo in un Array, i cui

elementi sono presi in Input

(21)

AlgoBuild: Introduzione agli Array

1. Input

Esempio 3 – 2/3:

Determinare il massimo in un Array, i cui

elementi sono presi in Input

(22)

2. Ricerca del Massimo

Esempio 3 – 2/3:

Determinare il massimo in un Array, i cui

elementi sono presi in Input

(23)

AlgoBuild: Introduzione agli Array

2. Ricerca del Massimo

Il ciclo FOR inizia con la

posizione 1

Esempio 3 – 2/3:

Determinare il massimo in un Array, i cui

elementi sono presi in Input

(24)

3. Output del Massimo

Esempio 3 – 2/3:

Determinare il massimo in un Array, i cui

elementi sono presi in Input

(25)

AlgoBuild: Introduzione agli Array

Pseudo-Codice

Diagramma di Flusso

Esempio 3 – 3/3 (pseudocodice):

Determinare il massimo in un Array, i cui

elementi sono presi in Input

(26)

Es

em

p

io

3

: D

em

o

Figura

Diagramma di Flusso Pseudo-Codice
Diagramma di Flusso
Diagramma di Flusso
Diagramma di Flusso
+4

Riferimenti

Documenti correlati

Scrivi un metodo di classe che prende come parametri due array di numeri interi, a e b, e che restituisce la differenza in valore assoluto tra la somma degli elementi

Esercizio 1 Considera il seguente metodo, che restituisce il massimo valore in un array di interi. Effettuare un’analisi di complessità asintotica del caso peggiore, ed

1) Predispone un array bucket di interi di dimensione M+1; il valore di bucket[j] dirà quante volte il numero j è presente nell’array v da ordinare. 2) Inizializza tutti gli

La funzione deve inoltre restituire il valore 1 nel caso in cui almeno una delle locazioni del file non sia presente nel vettore; deve restituire 2 nel caso in cui si verifichi

I: il valore di ciascun elemento dello array bidimensionale Pi: il numero degli elementi da inserire non può essere maggiore della cardinalità dell’array. U: l’array

I: il valore di ciascun elemento dello array di numeri interi Pi: il numero degli elementi da inserire non può essere maggiore della cardinalità dell’array.. U: lo array

I: il valore di ciascun elemento dello array bidimensionale Pi: il numero degli elementi da inserire non può essere maggiore della cardinalità dell’array. U: l’array

Occorre definire una struttura dati per memorizzare i numeri già estratti; ad esempio un array le cui posizioni corrispondono ai numeri estraibili e il valore