La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

I record File. Il record è una struttura dati che contiene informazioni di tipo diverso o eterogenee. Il record è una struttura dati che contiene informazioni.

Presentazioni simili


Presentazione sul tema: "I record File. Il record è una struttura dati che contiene informazioni di tipo diverso o eterogenee. Il record è una struttura dati che contiene informazioni."— Transcript della presentazione:

1 I record File

2 Il record è una struttura dati che contiene informazioni di tipo diverso o eterogenee. Il record è una struttura dati che contiene informazioni di tipo diverso o eterogenee. Fino a questo momento abbiamo trattato variabili di memoria, strutture dati (vettori e matrici, liste, pile code ect.) atte a contenere dati di tipo omogeneo. Fino a questo momento abbiamo trattato variabili di memoria, strutture dati (vettori e matrici, liste, pile code ect.) atte a contenere dati di tipo omogeneo. Ovviamente le strutture dati che contengono dati di tipo omogeneo non ci permettono di risolvere al meglio i molteplici problemi che dobbiamo trattare e automatizzare. Ovviamente le strutture dati che contengono dati di tipo omogeneo non ci permettono di risolvere al meglio i molteplici problemi che dobbiamo trattare e automatizzare.

3 Tracciato record La struttura dati che serve a contenere dati di un oggetto complesso e detta Record La struttura dati che serve a contenere dati di un oggetto complesso e detta Record in inglese record significa registrazione. in inglese record significa registrazione. Per rappresentare un record accorre stabilire, quali sono le unità elementari che lo compongono, i campi e le caratteristiche, si definisce così il tracciato record. Per rappresentare un record accorre stabilire, quali sono le unità elementari che lo compongono, i campi e le caratteristiche, si definisce così il tracciato record. Per ogni campo si dovrà indicare : Per ogni campo si dovrà indicare : Nome Nome Tipo Tipo

4 Il tracciato record ACQUISTI (ipotizzando un record sugli acquisti di merci ) sarà graficamente rappresentato : Nome record : acquisti CODICE_ ART DESCRIZQUANTPUAL ALFA(5)ALFA(30)NUM

5 Un record viene definito in VB come una struttura dati e la descrizione deve iniziare con la parola TYPE. PUBLIC TYPE ACQUISTI CODICE_ART as string *5 DESCRIZ as string*30 QUANT as integer PU as currency AL as byte END TYPE PUBLIC MERCI AS ACQUISTI poiché col TYPE definiamo solo la struttura dati è necessario definire una variabile il cui tipo è la struttura dati

6 Altro metodo per dichiarare il record TYPE ACQUISTI CODICE_ART as string *5 DESCRIZ as string*30 QUANT as integer PU as currency AL as byte END TYPE PUBLIC MERCI AS ACQUISTI

7 Dichiarazione in VB in VISUAL BASIC la descrizione di una struttura dati di tipo record deve essere dichiarata a livello di modulo. in VISUAL BASIC la descrizione di una struttura dati di tipo record deve essere dichiarata a livello di modulo. Allinterno del programma Visual Basic i campi del record verranno identificati con lidentificatore della variabile di tipo record e con lidentificatore di campo separato da un punto : Allinterno del programma Visual Basic i campi del record verranno identificati con lidentificatore della variabile di tipo record e con lidentificatore di campo separato da un punto : ES. MERCI.CODICE_ART, MERCI.DESCRIZ ES. MERCI.CODICE_ART, MERCI.DESCRIZ Quando occorre accedere a più campi dello stesso record per inserire valori nei campi o per visualizzarne il contenuto, è utile usare listruzione WITH

8 Esempio di codice WITH MERCI.CODICE_ART.DESCRIZ.QUANT.PU.AL END WITH

9 I file di dati Archiviazione dei dati

10 I file Il termine file stà ad indicare tutto ciò che può essere registrato su memoria di massa. Il termine file stà ad indicare tutto ciò che può essere registrato su memoria di massa. abbiamo lavorato con variabili di memoria, strutture dati (vettori, matrici, array di record ) i cui dati risiedevano in memoria centrale e non potevano essere riutilizzati per successive elaborazioni. abbiamo lavorato con variabili di memoria, strutture dati (vettori, matrici, array di record ) i cui dati risiedevano in memoria centrale e non potevano essere riutilizzati per successive elaborazioni. Le informazioni allinterno dellarchivio sono organizzate in RECORD (o struttura dati) e allinterno del record linformazione è suddivisa in CAMPI ed ancora i campi possono essere suddivisi in SOTTOCAMPI (o unità elementari del record). Le informazioni allinterno dellarchivio sono organizzate in RECORD (o struttura dati) e allinterno del record linformazione è suddivisa in CAMPI ed ancora i campi possono essere suddivisi in SOTTOCAMPI (o unità elementari del record).

11 Possiamo dire che il FILE è uninsieme di record legati da un nesso logico, nel senso di informazioni organizzate in un archivio. Possiamo dire che il FILE è uninsieme di record legati da un nesso logico, nel senso di informazioni organizzate in un archivio. Il file è quindi una struttura di dati che realizza concretamente nella memoria di massa la struttura di tabella definite in M.C. (memoria centrale) Il file è quindi una struttura di dati che realizza concretamente nella memoria di massa la struttura di tabella definite in M.C. (memoria centrale)

12 File fisici e file logici Il concetto di file può essere analizzato a due livelli diversi : Il concetto di file può essere analizzato a due livelli diversi : Logico Logico fisico fisico

13 1° record2° record3° record n° record File logico Inizio del fileFine del file A livello software del programmatore, un file logico è una sequenza di record (registrazioni) logici

14 File fisico A livello hardware delle memorie di massa, un file fisico è una sequenza Di bit memorizzati su supporti di memoria tramite opportune Tecnologie (ottiche, magnetiche, ecc…)

15 Il programmatore Deve occuparsi dellaspetto software Deve occuparsi dellaspetto software Tutte le procedure per passare dal file logico a un archivio fisico su disco, sono inserite in modo automatico dal compilatore linker Tutte le procedure per passare dal file logico a un archivio fisico su disco, sono inserite in modo automatico dal compilatore linker Che richiama opportune procedure e funzioni del S.O., esattamente del FILE SYSTEM Che richiama opportune procedure e funzioni del S.O., esattamente del FILE SYSTEM

16 File ad organizzazione sequenziali Lorganizzazione sequenziale. Lorganizzazione sequenziale. Questa organizzazione è usata per archivi di piccole dimensioni. Questa organizzazione è usata per archivi di piccole dimensioni. Nei file sequenziali i dati vengono inseriti uno di seguito allaltro (sequenziale) Nei file sequenziali i dati vengono inseriti uno di seguito allaltro (sequenziale) il ritrovamento dei record avviene allo stesso modo, scandendo i record dal primo fino alla fine del file. il ritrovamento dei record avviene allo stesso modo, scandendo i record dal primo fino alla fine del file.

17 Operazioni fondamentali Le operazioni fondamentali da fare sugli archivi sono : Le operazioni fondamentali da fare sugli archivi sono : Creazione /inserimento (scrittura sul file ) Creazione /inserimento (scrittura sul file ) Lettura di record (questa operazione precede quella di modifica) Lettura di record (questa operazione precede quella di modifica) Modifica Modifica Riscrittura Riscrittura Cancellazione (logica) Cancellazione (logica)

18 Operazioni accessorie Le operazioni accessorie possono essere svariate a seconda delle esigenze della realtà che si vuole automatizzare : Le operazioni accessorie possono essere svariate a seconda delle esigenze della realtà che si vuole automatizzare : Stampe di diverso tipo Stampe di diverso tipo Visualizzazioni di diverso tipo Visualizzazioni di diverso tipo Varie elaborazioni Varie elaborazioni

19 Operazione di apertura stabilisce il collegamento fra la MC (memoria centrale) e il file registrato su disco o memoria di massa. stabilisce il collegamento fra la MC (memoria centrale) e il file registrato su disco o memoria di massa. In MC al momento dellapertura del file viene riservata una zona BUFFER utilizzata per le operazioni di input/output In MC al momento dellapertura del file viene riservata una zona BUFFER utilizzata per le operazioni di input/output nella tabella dei descrittori dei file sono memorizzate le informazioni per accedere ai blocchi fisici del disco che contengono i dati. nella tabella dei descrittori dei file sono memorizzate le informazioni per accedere ai blocchi fisici del disco che contengono i dati. Loperazione di apertura deve precedere qualsiasi altra operazione Loperazione di apertura deve precedere qualsiasi altra operazione

20 Apertura del file in VB In VB listruzione per lapertura del flusso è la seguente : In VB listruzione per lapertura del flusso è la seguente : OPEN percorso/nomefile FOR (output/input/append) AS numerofile [len = dimensione buffer] OPEN percorso/nomefile FOR (output/input/append) AS numerofile [len = dimensione buffer] I parametri inseriti fra parentesi quadre sono opzionali I parametri inseriti fra parentesi quadre sono opzionali ES. ES. open a:\Ivdp\acquisti.dat for output as # 1

21 Loperazione di apertura si è detto precede tutte le altre, quando il file Viene aperto si verificano le seguenti azioni : Viene controllato se il file esiste, in caso contrario se ne crea uno nuovo nel percorso specificato Viene controllato se il file esiste, in caso contrario se ne crea uno nuovo nel percorso specificato viene creato un area Buffer in MC. viene creato un area Buffer in MC. Il Buffer è unarea di memoria temporanea dove vengono memorizzati i record Il Buffer è unarea di memoria temporanea dove vengono memorizzati i record quando larea Buffer è satura i record vengono fisicamente scaricati nel disco è cioè allinterno dellarchivio. quando larea Buffer è satura i record vengono fisicamente scaricati nel disco è cioè allinterno dellarchivio. Viene creato un puntatore di file impostato allinizio del file sia per la modalità di apertura Viene creato un puntatore di file impostato allinizio del file sia per la modalità di apertura INPUT INPUT OUTPUT OUTPUT tranne per la modalità APPEND dove il puntatore punta alla fine del file. tranne per la modalità APPEND dove il puntatore punta alla fine del file.

22 Il puntatore viene sempre aggiornato per indicare la sua posizione corrente nel file Il puntatore viene sempre aggiornato per indicare la sua posizione corrente nel file Al file viene assegnato un numero di file (# 1) per potervi fare riferimento. Al file viene assegnato un numero di file (# 1) per potervi fare riferimento. A ciascun file usato nel progetto deve poter essere assegnato un numero di file univoco. A ciascun file usato nel progetto deve poter essere assegnato un numero di file univoco. Dopo che il file è stato chiuso, quel numero può essere assegnato a un altro file. Dopo che il file è stato chiuso, quel numero può essere assegnato a un altro file. I numeri di file ammessi sono da 1 a 511. I numeri di file ammessi sono da 1 a 511. Con lapertura si definisce anche il tipo di organizzazione dellarchivio. Con lapertura si definisce anche il tipo di organizzazione dellarchivio.

23 Operazione di chiusura del file Con loperazione di chiusura del file si chiude il collegamento tra la MC ( esattamente dellarea Buffer e si libera lo spazio occupato) e la memoria di massa che contiene il file di dati. Con loperazione di chiusura del file si chiude il collegamento tra la MC ( esattamente dellarea Buffer e si libera lo spazio occupato) e la memoria di massa che contiene il file di dati. Listruzione usata è la : CLOSE numerofile (o lelenco di più file da chiudere separati dalla virgola) Listruzione usata è la : CLOSE numerofile (o lelenco di più file da chiudere separati dalla virgola) ES: close #1 ES: close #1

24 Operazioni Operazioni fondamentali

25 Operazione di scrittura Con questa operazione trasferiamo sulla memoria di massa i dati presenti in MC. Con questa operazione trasferiamo sulla memoria di massa i dati presenti in MC. Le modalità di apertura del file per la scrittura sono 2 : Le modalità di apertura del file per la scrittura sono 2 : OUTPUT OUTPUT APPEND APPEND

26 Apertura in modalità OUTPUT Con la modalità output viene creato un nuovo file di dati. Con la modalità output viene creato un nuovo file di dati. Se il file esisteva i dati precedentemente inseriti vengono persi e vengono inseriti i nuovi record. Se il file esisteva i dati precedentemente inseriti vengono persi e vengono inseriti i nuovi record. Questo tipo di apertura si dice distrugga il contenuto precedente del file, pertanto viene generalmente utilizzato per azzerare larchivio. Questo tipo di apertura si dice distrugga il contenuto precedente del file, pertanto viene generalmente utilizzato per azzerare larchivio.

27 Modalità di apertura in Append Con la modalità append i record vengono inseriti in coda a quelli esistenti. Con la modalità append i record vengono inseriti in coda a quelli esistenti. il puntatore si trova nella fine del file se nellarchivio sono presenti altri record il puntatore si trova nella fine del file se nellarchivio sono presenti altri record si trova allinizio del file se stiamo facendo il primo inserimento si trova allinizio del file se stiamo facendo il primo inserimento Questa modalità di apertura ci permette di creare si larchivio ma anche di fare nuovi inserimenti. Questa modalità di apertura ci permette di creare si larchivio ma anche di fare nuovi inserimenti. Con i tipi di apertura (output/append) utili per la scrittura di record attiviamo il collegamento fra MC e memoria di massa Con i tipi di apertura (output/append) utili per la scrittura di record attiviamo il collegamento fra MC e memoria di massa

28 le istruzione che permettono il trasferimento dei dati dalla MC alla memoria di massa sono le istruzione che permettono il trasferimento dei dati dalla MC alla memoria di massa sono Write Write Print Print Listruzione print è la seguente : Listruzione print è la seguente : PRINT # numerofile, dato PRINT # numerofile, dato numerofile identifica il file su cui scrivere attraverso il numerofile identifica il file su cui scrivere attraverso il numero assegnato con listruzione open numero assegnato con listruzione open dato indica il nome contenente il campo da registrare dato indica il nome contenente il campo da registrare ES. riferendoci al record definito in precedenza possiamo scrivere la seguente istruzione : ES. riferendoci al record definito in precedenza possiamo scrivere la seguente istruzione : print #1,merci.codice_art, merci.descriz, merci.quant, merci.pu, merci.al print #1,merci.codice_art, merci.descriz, merci.quant, merci.pu, merci.al

29 Istruzione write Listruzione write (quella che si consiglia di usare ) è la seguente : Listruzione write (quella che si consiglia di usare ) è la seguente : Write#numerofile, campo1,campo2, campo3 ect. Write#numerofile, campo1,campo2, campo3 ect. 1) numerofile identifica il file su cui scrivere attraverso il 1) numerofile identifica il file su cui scrivere attraverso il numero assegnato con listruzione open 2) campo1,campo2,campo3 indica il nome contenente il campo da registrare 2) campo1,campo2,campo3 indica il nome contenente il campo da registrare ES. riferendoci al record definito in precedenza possiamo scrivere la seguente istruzione write : ES. riferendoci al record definito in precedenza possiamo scrivere la seguente istruzione write : write #1,merci.codice, merci.descriz, merci.quant, merci.pu, merci.al write #1,merci.codice, merci.descriz, merci.quant, merci.pu, merci.al

30 Lettura dei dati Per la lettura dei dati registrati all interno dellarchivio utilizziamo le seguenti istruzioni : Per la lettura dei dati registrati all interno dellarchivio utilizziamo le seguenti istruzioni : line input # line input # In fase di lettura i record registrati tramite print # vengono letti dal file tramite line input # In fase di lettura i record registrati tramite print # vengono letti dal file tramite line input # ES: line input # numerofile, campi input # input # In fase di lettura i record registrati tramite write # vengono letti dal file tramite input # In fase di lettura i record registrati tramite write # vengono letti dal file tramite input # ES: input # 1, campo1,campo2,campo3 ect..

31 Sappiano che nellaccesso sequenziale i dati (record) vengono registrati uno di seguito allaltro Sappiano che nellaccesso sequenziale i dati (record) vengono registrati uno di seguito allaltro la lettura avverrà nello stesso ordine di inserimento fino alla fine del file. la lettura avverrà nello stesso ordine di inserimento fino alla fine del file. Occorre inserire nelloperazione di lettura un controllo sulla fine del file, tale controllo viene svolto dalla funzione EOF() (end of file) Occorre inserire nelloperazione di lettura un controllo sulla fine del file, tale controllo viene svolto dalla funzione EOF() (end of file) che ha come argomento il numero del file, assume il valore TRUE appena viene raggiunta la fine del file. Il ciclo di lettura deve essere implementato tramite la struttura iterativa o DO WHILE o LOOP UNTIL. che ha come argomento il numero del file, assume il valore TRUE appena viene raggiunta la fine del file. Il ciclo di lettura deve essere implementato tramite la struttura iterativa o DO WHILE o LOOP UNTIL.

32 Diagrammi di flusso È un metodo grafico per rappresentare e schematizzare il processo di elaborazione Per loperazione di scrittura dati o record Per loperazione di scrittura dati o record monitor ( tastiera) Dati in input (Memoria centrale) Programma in elaborazione stampante Archivio dati

33 monitor ( tastiera) Dati in input (Memoria centrale) Programma in elaborazione stampante Archivio dati Per loperazione di lettura record Per loperazione di lettura record

34 Per loperazione di riscrittura o modifica dei record Per loperazione di riscrittura o modifica dei record monitor ( tastiera) Dati in input (Memori centrale) Programma in elaborazione stampante Archivio dati


Scaricare ppt "I record File. Il record è una struttura dati che contiene informazioni di tipo diverso o eterogenee. Il record è una struttura dati che contiene informazioni."

Presentazioni simili


Annunci Google