i dati : strutture dati array a un dimensione : vettori
TRANSCRIPT
![Page 1: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/1.jpg)
I dati : strutture dati
Array a un dimensione : vettori
![Page 2: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/2.jpg)
Variabili di memoria Le Variabili di memoria o elementari sono
denominate in questo modo perché :Non possono essere scomposte in sottoparti e
pertanto non sono scindibili Ciò rende difficile gestire problemi
complessi, dove è necessario rappresentare i dati raggruppati o composti
Il raggruppamento facilita la rappresentazione dei dati e rende più veloce ed agevole la ricerca dei dati
![Page 3: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/3.jpg)
Gli array
un insieme di dati raggruppati e organizzati
secondo uno schema , prende il nome di struttura dati
Una struttura dati può essere un elenco di nomi, di numeri di telefono, di importi
Di età , ect. Comunque i dati devono essere omogenei
I dati all’interno della struttura dati sono rintracciabili tramite un indice oIndirizzo o posizione
![Page 4: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/4.jpg)
carla luca angelo ……. anna
1 2 3 …….. N
nome
PosizionePosto indice
Struttura dati di tipo array a una dimensione : vettore
Nome ( 1 to N)
![Page 5: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/5.jpg)
array L’array può contenere più indici, quando
contiene un solo indice è detto array monodimensionale o vettore
la struttura dati di tipo vettore deve avere le seguenti caratteristiche : deve contenere dati di tipo omogeneo Ciascun elemento della struttura deve essere
individuata attraverso un indirizzo (indice o posizione) Ogni elemento è rintracciabile non solo attraverso il
nome della struttura ma anche attraverso la posizione che occupa nella stessa
![Page 6: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/6.jpg)
1 34
2 78
3 56
4 23
5 12
indice età
Età(1)= 34
Età(2)= 78
Età(3)= 56
Età(4)= 23
Età(5)= 12
Età(1 to 5)
![Page 7: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/7.jpg)
Dichiarazione di un vettore in visual Visual basic
1 5
2 6
3 6
4 4
5 8
6 5
indice voti
Dichiarazione di un vettore
Dim voti( 1 to 6 ) as byte
Questo tipo di dichiarazione si utilizza quando si conoscono a priori il numero degli elementi che compongono l’array o vettore
1 5
2 6
3 6
4 4
5 8
6 5
Dichiarazione di un vettore
Dim voti( 1 to 6 ) as byte
Questo tipo di dichiarazione si utilizza quando si conoscono a priori il numero degli elementi che compongono l’array o vettore
Quindi si conosce la quantità di memoria utile per da allocare i dati
![Page 8: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/8.jpg)
Dichiarazione dinamica di un vettore
1 5
2 6
3 6
4 4
….. …..
N 5
Dichiarazione dinamicadi un vettore
Dim voti() as byte
In Questo tipo di dichiarazione dinamica il numero di elementi non è noto a priori , il vettore verrà dimensionato
durante la fase esecutiva del programma, dopo aver letto la dimensione
indice voti
Dopo aver acquisito il numero di elementi
N=val(txtn)
Redim voti(1 to N)
![Page 9: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/9.jpg)
Osservazioni …… La dichiarazione della dimensione del vettore :
Statica o a dimensione fissaDinamica o a dimensione variabile è obbligatoria poiché la dimensione determina la
quantità di MC necessaria per allocare i dati del vettore
È necessario non utilizzare risorse superiori a quelle richieste dal processo
La dimensione massima ammissibile è pari alla capacità della risorsa utilizzata.
![Page 10: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/10.jpg)
Operazioni fondamentali sui vettori
Caricamento dati Visualizzazione Ricerca di un elemento del vettore
Per posizione Per valore o sequenziale Ricerca dicotomica (sul vettore ordinato )
Modifica di un elemento Cancellazione di un elemento Ordinamento del vettore per selezione Ricerca del valore massimo Ricerca del valore minimo
……… notevoli sono le operazioni che si possono automatizzare su una struttura dati
![Page 11: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/11.jpg)
Vettori paralleli
![Page 12: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/12.jpg)
I vettori
Contengono dati di tipo omogeneo
pertanto con un solo vettore non si possono risolvere tutti i
problemi
Esempio :Rappresentare in una struttura dati i nomi degli studenti e i voti
In una verifica
![Page 13: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/13.jpg)
Vettori paralleli
Per far ciò dobbiamo costruire due vettori uno contenente i nomi , uno i voti della prova
A ciascun alunno corrisponderà il suo voto i due elementi corrispondono poiché hanno
lo stesso indice cioè la stessa posizione all’interno delle strutture
Criterio di omogeneità
![Page 14: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/14.jpg)
1
2
3
4
n
carla
pino
anna
diego
lisa
9
8
5
3
10
indice nome voto
Carla(1), 9(1)
Pino(2), 8(2)
Le informazioni sono Correlate attraverso l’indice
![Page 15: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/15.jpg)
I record
Tipo record
![Page 16: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/16.jpg)
record
È una struttura dati, composta da dati di tipo eterogeneoUn oggetto per essere descritto in modo
comprensibile,necessita di molti datiL’informazione è composta da diversi
elementi che caratterizzano l’oggetto da descrivere
![Page 17: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/17.jpg)
Per descrivere un foglioL’informazione si compone di diverse parti
tipotipo
colorecolore
prezzoprezzo
dimensionedimensione
altroaltro
![Page 18: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/18.jpg)
L’oggetto per essere descritto necessita di un’ informazione
complessa
È necessario poter aggregare l’informazione in un’unica struttura che le possa contenere
La struttura che serve per contenere dati di un oggetto complesso è detta : RECORD
In inglese record è significa registrazione
![Page 19: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/19.jpg)
Record , campi, tracciato recordRecord , campi, tracciato record
Per rappresentare un record è necessario stabilire quali sono le unità elementari che lo compongono e le loro caratteristiche
Tali unità elementari sono dette campicampi I campi si possono ulteriormente suddividere in I campi si possono ulteriormente suddividere in
sottocampi sottocampi Si ottiene il tracciato record Si ottiene il tracciato record
![Page 20: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/20.jpg)
Rappresentazione del tracciato record
codice descrizione quantita Prezzo aliquota
Car(5) Car(20) numerico numerico numerico
Nome record : merci campi
tipo
L’informazione merci è composta dai seguenti campi : codice, descrizione, quantita, prezzo, aliquota
![Page 21: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/21.jpg)
tabelle
I dati organizzati in array di record sono detti : tabelleLa tabella è una struttura composta da riga e
colonnaOgni record è una riga della tabellaOgni record è un’informazione composta da
sottoparti campi
![Page 22: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/22.jpg)
In visual basic
Dichiarazione del record
![Page 23: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/23.jpg)
La dichiarazione della struttura dati avviene a livello di modulo
Type merciCodice as string *5
Descrizione as string * 20
Quantità as integer
Prezzo as single
Aliquota as byte
End type
Definisce la struttura dati : cioè l’informazione
![Page 24: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/24.jpg)
Per poter inserire dati è necessario definire una variabile record il cui tipo è la struttura
dati Public magaz() as merci
la variabile record : magaz è del tipo la variabile record : magaz è del tipo record merci record merci
![Page 25: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/25.jpg)
Istruzione with
Per accedere ai campi del record è necessario usare per ciascun il nome della variabile record. Per evitare di dover ripetere MAGAZ With nome variabile record
Elenco campi
End with
![Page 26: I dati : strutture dati Array a un dimensione : vettori](https://reader036.vdocuments.pub/reader036/viewer/2022062404/5542eb63497959361e8cceb1/html5/thumbnails/26.jpg)
Nel programma i dati verranno Nel programma i dati verranno identificatiidentificati
nome variabile record(indice).nome campo
Magaz(i).codice……
Magaz(i).aliquota
Oppure usando l’ istruzione withwithwith magaz(i)with magaz(i)
.codice.codice
.descrizione.descrizione …… ……...aliquota.aliquota
End withEnd with