1 / 34

I record

I record. File. I record. 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.

gray-maddox
Télécharger la présentation

I record

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. I record File

  2. I record • 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. • 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 • 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 ogni campo si dovrà indicare : • Nome • Tipo

  4. Il tracciato record ACQUISTI (ipotizzando un record sugli acquisti di merci ) sarà graficamente rappresentato : Nome record : acquisti

  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. • All’interno del programma Visual Basic i campi del record verranno identificati con l’identificatore della variabile di tipo record e con l’identificatore di campo separato da un punto : 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 l’istruzione 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. • 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 all’interno dell’archivio sono organizzate in RECORD (o struttura dati) e all’interno del record l’informazione è suddivisa in CAMPI ed ancora i campi possono essere suddivisi in SOTTOCAMPI (o unità elementari del record).

  11. Possiamo dire che il FILE è un’insieme 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)

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

  13. File logico Inizio del file Fine del file n° record 1° record 2° record 3° record 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 dell’aspetto software • 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

  16. File ad organizzazione sequenziali • L’organizzazione sequenziale. • Questa organizzazione è usata per archivi di piccole dimensioni. • Nei file sequenziali i dati vengono inseriti uno di seguito all’altro (sequenziale) • 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 : • Creazione /inserimento (scrittura sul file ) • Lettura di record (questa operazione precede quella di modifica) • Modifica • Riscrittura • Cancellazione (logica)

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

  19. Operazione di apertura • stabilisce il collegamento fra la MC (memoria centrale) e il file registrato su disco o memoria di massa. • In MC al momento dell’apertura 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. • L’operazione di apertura deve precedere qualsiasi altra operazione

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

  21. L’operazione 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 creato un’ area Buffer in MC . • Il Buffer è un’area di memoria temporanea dove vengono memorizzati i record • quando l’area Buffer è satura i record vengono fisicamente scaricati nel disco è cioè all’interno dell’archivio. • Viene creato un puntatore di file impostato all’inizio del file sia per la modalità di apertura • INPUT • OUTPUT • 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 • 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. • 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. • Con l’apertura si definisce anche il tipo di organizzazione dell’archivio.

  23. Operazione di chiusura del file • Con l’operazione di chiusura del file si chiude il collegamento tra la MC ( esattamente dell’area Buffer e si libera lo spazio occupato) e la memoria di massa che contiene il file di dati. • L’istruzione usata è la : CLOSE numerofile (o l’elenco di più file da chiudere separati dalla virgola) • ES: close #1

  24. Operazioni Operazioni fondamentali

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

  26. Apertura in modalità OUTPUT • 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. • Questo tipo di apertura si dice distrugga il contenuto precedente del file, pertanto viene generalmente utilizzato per azzerare l’archivio.

  27. Modalità di apertura in Append • Con la modalità append i record vengono inseriti in coda a quelli esistenti. • il puntatore si trova nella fine del file se nell’archivio sono presenti altri record • si trova all’inizio del file se stiamo facendo il primo inserimento • Questa modalità di apertura ci permette di creare si l’archivio 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

  28. le istruzione che permettono il trasferimento dei dati dalla MC alla memoria di massa sono • Write • Print • L’istruzione print è la seguente : • PRINT # numerofile, dato • numerofile identifica il file su cui scrivere attraverso il numero assegnato con l’istruzione open • dato indica il nome contenente il campo da registrare • 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

  29. Istruzione write • L’istruzione write (quella che si consiglia di usare ) è la seguente : • Write #numerofile, campo1,campo2 , campo3 ect. • 1) numerofile identifica il file su cui scrivere attraverso il numero assegnato con l’istruzione open • 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 : • write #1,merci.codice, merci.descriz, merci.quant, merci.pu, merci.al

  30. Lettura dei dati • Per la lettura dei dati registrati all’ interno dell’archivio utilizziamo le seguenti istruzioni : • line input # • In fase di lettura i record registrati tramite print # vengono letti dal file tramite line input # ES: line input # numerofile, campi • 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 nell’accesso sequenziale i dati (record) vengono registrati uno di seguito all’altro • la lettura avverrà nello stesso ordine di inserimento fino alla fine del file. • Occorre inserire nell’operazione 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.

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

  33. Per l’operazione di lettura record monitor (tastiera) Dati in input (Memoria centrale) Programma in elaborazione stampante Archivio dati

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

More Related