ARCHIVI E FILE. Prof. Ciaschetti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ARCHIVI E FILE. Prof. Ciaschetti"

Transcript

1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOJ ARCHIVI E FILE Prof. Ciaschetti Un archivio è un insieme di registrazioni (record) memorizzate in modo persistente, cioè resta memorizzato permanentemente, anche in assenza di energia. Sono archivi, ad esempio: - una rubrica telefonica: ogni nominativo corrisponde a una registrazione, e per ogni registrazione possiamo avere il nome, il numero di telefono di casa, il numero di cellulare, ecc. - il registro di classe: ogni registrazione è un giorno che riposta le materie, le firme dei docenti, gli assenti, le giustificazioni, le note - l archivio dei clienti di un azienda: per ogni cliente, si possono avere il nominativo, la partita iva, l indirizzo, ecc. - l archivio degli utenti registrati a un sito web: ogni registrazione in questo caso memorizza il nome utente e la password. La caratteristica principale di un archivio è che le diverse registrazioni hanno tutte la stessa struttura. Ogni archivio è memorizzato su di un supporto che ne garantisce la persistenza. Il supporto su cui è memorizzato un archivio può essere di diverso tipo: nel caso del registro di classe, è di tipo cartaceo; la rubrica telefonica può essere memorizzata in forma cartacea, oppure in forma elettronica (come sul cellulare), ecc. Un archivio memorizzato in modo elettronico è realizzato tramite file. Un file è una sequenza di bit memorizzata in modo persistente su memoria di massa (Es. hard disk, floppy disk, pen drive, cd, dvd, microsd, ecc.). Un file non è sempre un archivio. Ad esempio, un file.cpp è un file in cui è scritto un programma in C/C++, un file.exe è un file eseguibile, un file.doc è un documento word, ecc, e nessuno di questi è un archivio. In generale, ogni archivio elettronico è anche un file, ma non è vero il viceversa, ci sono file che non sono archivi. Ci sono due tipi di file: file di testo e file binari. I file di testo sono leggibili dall uomo, mentre i file binari non lo sono. Il motivo di questa differenza sta nel fatto che i file di testo vengono scritti e letti utilizzando la codifica ASCII (un byte per ogni carattere, ricordate?), mentre nei file binari i dati vengono scritti così come sono all interno della RAM. Facciamo un esempio: Supponiamo di avere una variabile intera su 2 byte alla quale diamo il valore 125: short int N; N = 125;

2 In RAM, nei due byte riservati per la variabile N, avremo la rappresentazione binaria del numero 125, ossia Quando andiamo a memorizzare N su un file di testo, il numero sarà formattato in modo che l uomo possa leggerlo, cioè verrà trasformato nei seguenti tre byte che rappresentano il numero 125: rappresentazione ASCII del carattere rappresentazione ASCII del carattere rappresentazione ASCII del carattere 5 Se invece andiamo a memorizzare N su un file binario, il numero sarà scritto sul file così com è nella RAM, occupando solo 2 byte. Supponiamo ora di avere un altra variabile dello stesso tipo, a cui diamo il valore 8: short int M; M = 8; In RAM, nei due byte riservati per la variabile M, avremo la rappresentazione binaria del numero 8, ossia Se memorizziamo N su un file di testo, il numero sarà formattato in modo che l uomo possa leggerlo, cioè verrà trasformato in un solo byte: rappresentazione ASCII del carattere 8 Se invece memorizziamo M su un file binario, il numero sarà scritto sul file così com è nella RAM, occupando 2 byte. Dall esempio precedente notiamo che nei file binari, dati di uno stesso tipo occupano sempre la stessa dimensione (2 byte, nel caso del tipo short int dell esempio), mentre nei file di testo la loro dimensione dipende da quanti caratteri servono nella loro rappresentazione leggibile per l uomo (3 byte nel caso di 125, 1 byte nel caso di 8). Lo stesso vale per i record: nei file binari un record occupa sempre la stessa dimensione, che è lo spazio che serve in RAM per memorizzare il record, mentre nei file di testo la dimensione del record non è sempre la stessa, ma dipende dai dati che esso contiene. Come è possibile riconoscere un file binario da un file di testo? In generale, non esiste un modo, dipende da come il file è stato scritto. Tuttavia, se proviamo ad aprire il file con un qualsiasi editor di testo (ad esempio il blocco note), notiamo che il file di testo possiamo leggerlo, perché è stato formattato per l uomo al momento della sua scrittura, mentre nel file binario leggiamo solo tanti caratteri strani, perché l editor di testo proverà comunque a interpretare la sequenza di bit come una sequenza di caratteri in codifica ASCII, ma non è detto che significhino qualcosa. In generale, i file di testo hanno estensione.txt, ma possono anche avere diverse estensioni, come ad esempio.cpp (file di testo per programmi in linguaggio C),.pas (file di testo per programmi in linguaggio Pascal),.htm (file di testo per pagine web),.ini (file di testo con le impostazioni iniziali di un programma), tranne quelle riservate a particolari file binari, come ad esempio.exe (programma eseguibile),.com o.bat (file di comandi per il sistema operativo),.lib o.dll (file di librerie di programmi). Anche i file binari possono avere qualunque estensione, tranne.txt che è riservata ai file di testo. 2

3 Tornando a parlare di archivi, una caratteristica importante che distingue gli archivi è la modalità di accesso, che può essere: - accesso sequenziale - accesso casuale o diretto Per accesso sequenziale si intende che si accede all inizio dell archivio, e poi bisogna scorrerlo in avanti per arrivare all informazione desiderata, un po come il nastro di una videocassetta. Per accesso casuale, invece, si intende la possibilità di accedere direttamente all informazione desiderata, come succede ad esempio nei lettori cd, dove possiamo scegliere il numero della traccia e sentire direttamente quella, senza dover scorrere prima tutte le tracce precedenti. I file di testo sono sempre ad accesso sequenziale, mentre i file binari permettono l accesso casuale. La motivazione sta nel fatto che mentre nei file binari sappiamo che il numero di byte di una registrazione è sempre lo stesso, nei file di testo questo non è possibile. Facciamo un esempio: Supponiamo che ogni registrazione rappresenti un punto del piano cartesiano, con due campi che indicano la coordinata x e la coordinata y del punto. La struttura che definisce il record potrebbe essere la seguente: struct punto { float x; float y; }; typedef struct punto point; Supponiamo ora di voler creare un archivio con i seguenti punti: point punto1, punto2, punto3; punto1.x = 3.534; punto1.y = 2.34; punto2.x = 7.235; punto2.y = 4.1; punto3.x = ; punto3.y = 3.877; utilizzando un file binario, andremo a rappresentare i dati esattamente nella loro forma binaria, e cioè, essendo il tipo di dato float su 4 byte, avremo 8 byte per il primo punto (4 per la coordinata x, 4 per la coordinata y), 8 byte per il secondo punto e 8 byte per il terzo punto. Complessivamente, il nostro file avrà una dimensione pari a 24 byte. Potremmo, ad esempio, effettuare un accesso diretto al terzo record dicendo semplicemente salta in avanti di 2 volte la dimensione di un record. Se invece utilizziamo un file di testo per memorizzare il nostro archivio, il primo punto richiederà complessivamente 9 byte, 5 byte per la coordinata x (i caratteri 3,., 5, 3 e 4 ) e 4 byte per la coordinata y (i caratteri 2,., 3, 4 ). Analogamente, il secondo record richiederà 8 byte e il terzo record 12 byte. Non conoscendo a priori la dimensione di ogni record, non sappiamo dire di quanto occorre saltare in avanti per posizionarsi sul terzo record. 3

4 E meglio usare archivi ad accesso sequenziale o archivi ad accesso diretto? La risposta dipende dal tipo di operazioni che devono essere eseguite sull archivio. Se l archivio ci serve solo per fare un backup dei dati, che poi difficilmente andremo a rileggere, può andare benissimo un archivio ad accesso sequenziale (ed infatti, per questo tipo di archivi sono spesso usati file di testo). Se invece occorre effettuare spesso operazioni di lettura di dati dall archivio, e in modo disordinato (cioè non sequenziale), conviene utilizzare un archivio ad accesso diretto per evitare di aspettare ogni volta che vengano letti tutti i record che precedono quello che ci interessa. Per evitare accessi multipli in scrittura su un file, che potrebbero causare effetti indesiderati (si pensi a due programmi che cerchino di scrivere contemporaneamente la stringa ciao e la stringa pippo su uno stesso file: si potrebbe avere come effetto, ad esempio, la scrittura della stringa cpipiaopo completamente priva di significato), si ricorre a un meccanismo semaforico di apertura e chiusura del file. Questo meccanismo prevede di aprire il file prima di compiere su di esso le operazioni di lettura/scrittura, e poi chiuderlo alla fine. Quando un file è aperto in scrittura da un processo, nessun altro processo può accedere al file per scriverci sopra, fino a quando esso non sarà stato chiuso. In lettura, invece, non ci sono problemi. Istruzioni del linguaggio C per lavorare con i file Per lavorare con un file in C occorre innanzitutto dichiarare una variabile di tipo puntatore a file, come ad esempio FILE *fp; Nella variabile fp verrà memorizzato l indirizzo del file (in questo caso non si tratta di un indirizzo nella memoria RAM, ma su memoria di massa, quindi costituito da numero di cilindro, traccia e settore del dispositivo magnetico o ottico di memorizzazione) al momento della sua apertura. APERTURA E CHIUSURA DEL FILE Per aprire un file, si utilizza l istruzione fopen: fopen("nomefile.estensione","modalita"); Apre un file. Restituisce l indirizzo del file, oppure NULL se il file non è stato trovato. Modalità: r = lettura, w = scrittura, a = append, r+ = lettura/scrittura. La modalità w riscrive il file da capo, e ne crea uno nuovo nel caso in cui non esiste. La modalità a continua a scrivere un file mantenendo il suo contenuto precedente, e crea un nuovo file nel caso in cui non esiste. La modalità r+ riscrive il file da capo, e ne crea uno nuovo nel caso in cui non esiste. FILE *fp; /* dichiarazione della variabile puntatore a file fp */ fp = fopen("pippo.txt","r"); /* apre il file in modalità lettura e salva in fp l indirizzo del file */ 4

5 fp = fopen("videoteca.dat","w"); /* apre il file in modalità scrittura e salva in fp l indirizzo del file */ Al momento dell apertura di un file la testina di lettura/scrittura si posiziona all inizio del file, e scorre in avanti, ad ogni operazione di lettura/scrittura, di tanti byte quanti sono quelli letti o scritti. Per chiudere un file, dopo che ci si è lavorato, si usa l istruzione fclose: fclose(indirizzo del file); Chiude un file precedentemente aperto. Se il file non era stato aperto, dà errore. fclose(fp); /* fp puntatore a file già aperto in precedenza */ LETTURA E SCRITTURA SU FILE DI TESTO Ci sono due istruzioni per leggere e due istruzioni per scrivere su file di testo. Due di queste si riferiscono alla lettura e scrittura di un carattere per volta (getc e putc), mentre le altre due si riferiscono alla lettura e scrittura formattata di un qualsiasi dato (fscanf e fprintf). Tutte e quattro queste istruzioni non si riferiscono direttamente al nome del file, ma al suo indirizzo, che è stato salvato al momento dell apertura nella variabile di tipo puntatore a file (che supponiamo si chiami fp in quanto segue). ISTRUZIONI PER LEGGERE E SCRIVERE UN SINGOLO CARATTERE Per leggere un carattere da file di testo si usa l istruzione getc: getc(indirizzo del file) Legge i prossimi 8 bit da file di testo. Restituisce il carattere letto, oppure EOF se alla fine del file. char ch; /* variabile di tipo carattere */ ch = getc(fp); /* assegna a ch il carattere letto da file */ printf( %c, getc(fp)) /* visualizza il carattere letto dal file */ 5

6 Per scrivere un carattere su file di testo si usa l istruzione putc: putc(carattere, indirizzo del file) Scrive il carattere su file di testo. E di tipo void. putc( W, fp); /* scrive il carattere W sul file */ char ch = A ; /* variabile di tipo carattere */ putc(ch, fp); /* scrive il carattere ch su file */ ISTRUZIONI PER LEGGERE E SCRIVERE UN QUALSIASI DATO Per leggere un qualsiasi dato da file di testo si usa l istruzione fscanf: fscanf(indirizzo del file, specificatore di formato, indirizzo RAM) Legge da file un dato formattato secondo lo specificatore di formato, e lo memorizza in RAM all indirizzo specificato. Restituisce il numero di byte letti, oppure EOF se alla fine del file. Può essere usata come void. int N; fscanf(fp,"%d",&n); /* legge un intero da file e lo memorizza nella variabile N*/ if(fscanf(fp,"%d",&n) == EOF) printf("errore"); /* prova a leggere un intero da file, ma raggiunge la fine del file prima di riuscirci */ 6

7 Per scrivere un qualsiasi dato su file di testo si usa l istruzione fprintf: fprintf(indirizzo del file, stringa di output, espressioni) float t = 1.5; fprintf(fp,"%f",t); /* scrive su file il valore 1.5 */ Scrive la stringa di output formattata su file di testo. Restituisce il numero di byte scritti. Può essere usata come void. fprintf(fp,"ciao mondo"); /* scrive ciao mondo su file */ fprintf(fp,"\n ); /* va a capo nel file */ fprintf(fp,"%d %d", 3, 8); /* scrive su file 3 e 8 */ fprintf(fp,"%c, A ); /* scrive su file il carattere A */ 7

8 LETTURA E SCRITTURA SU FILE BINARIO Per la lettura e scrittura su file binario si usano due istruzioni: fread e fwrite. Entrambe trasferiscono un insieme di bit da file a RAM (fread) o da RAM a file (fwrite) così come sono memorizzati, senza formattazione. Per leggere un qualsiasi dato da file binario si usa l istruzione fread: fread(indirizzo RAM, numero byte, numero blocchi, indirizzo del file) Legge da file uno o più blocchi di bit non formattati, e li memorizza in RAM a partire dall indirizzo specificato. Parametri: numero byte: numero di byte del blocco numero blocchi: numero di blocchi da leggere. Restituisce il numero di blocchi letti. int N; fread(&n, sizeof(int), 1, fp); /* legge un intero da file e lo memorizza nella variabile N*/ struct libro { /* definizione del record */ char titolo[20]; char autore[20]; int anno; char editore[20]; }; typedef struct libro book; /* definizione esplicita */ book b; /* dichiarazione variabile */ fread(&b, sizeof(book), 1, fp); /* legge un record da file e lo memorizza nella variabile b */ Esempio (con la stessa definizione di record di sopra): book biblioteca[100]; /* dichiarazione array di record */ fread(&biblioteca[20], sizeof(book), 5, fp); /* legge cinque record da file e li memorizza nel vettore biblioteca a partire dalla posizione 20 */ 8

9 Per scrivere un qualsiasi dato su file binario si usa l istruzione fwrite: fwrite(indirizzo RAM, numero byte, numero blocchi, indirizzo del file) Scrive su file uno o più blocchi di bit non formattati, prelevandoli dalla RAM a partire dall indirizzo specificato. Parametri: numero byte: numero di byte del blocco numero blocchi: numero di blocchi da scrivere. Restituisce il numero di blocchi scritti. int N; fwrite(&n,sizeof(int),1,fp); /* scrive su file l intero memorizzato nella variabile N*/ struct libro { /* definizione del record */ char titolo[20]; char autore[20]; int anno; char editore[20]; }; typedef struct libro book; /* definizione esplicita */ book b; /* dichiarazione variabile */ fwrite(&b, sizeof(book), 1, fp); /* scrive il record b su file */ Esempio (con la stessa definizione di record di sopra): book biblioteca[100]; /* dichiarazione array di record */ fwrite(&biblioteca[0], sizeof(book), 5, fp); /* scrive su file i primi cinque record dell array biblioteca */ 9

10 ACCESSO DIRETTO Per realizzare un archivio con accesso diretto dobbiamo usare i file binari. Il motivo, come già spiegato, sta nel fatto che la dimensione dei diversi record dell archivio è sempre la stessa nei file binari, mentre può variare nei file di testo. L accesso diretto si realizza utilizzando l istruzione fseek, che serve a spostare la testina di lettura/scrittura all interno del file. Basta spostare la testina all inizio del record al quale si vuole accedere (ad esempio, se si vuole leggere il 5 record, si salta in avanti di 4 record), e leggere il record con una fread. Per spostare la testina sul record al quale si vuole accedere si usa l istruzione fseek: fseek(indirizzo del file, num_byte, start); Sposta la testina di lettura/scrittura, sul file specificato, di num_byte a partire da start. Il terzo parametro, start, può valere: - SEEK_SET inizio del file - SEEK_CUR posizione corrente - SEEK_END fine del file Restituisce 1 in caso d errore, 0 se tutto OK, ma è solitamente usata come void. fseek(fp,10,seek_set); /* sposta la testina in avanti di 10 byte dall inizio del file */ Esempio (con la definizione del record book degli esempi precedenti): fseek(fp, 3*sizeof(book), SEEK_SET); /* sposta la testina all inizio del quarto record */ fseek(fp, -sizeof(book), SEEK_CUR); /* sposta la testina indietro di un record */ fseek(fp, -2*sizeof(book), SEEK_END); /* sposta la testina sul penultimo record dell archivio */ RICERCA DI UN RECORD IN UN ARCHIVIO Se si vuole cercare un particolare record in un archivio, occorre scorrere uno per uno tutti i record dell archivio. Per ognuno di questi, bisogna ripetere le seguenti operazioni: - leggere il record (portarlo in RAM) - controllare se è il record cercato. C è bisogno allora di un ciclo! In generale, non si può utilizzare il ciclo for perché non si conosce a priori il numero di record dell archivio. Ci viene però in aiuto l istruzione feof, che possiamo utilizzare per determinare il raggiungimento della fine del file. Per determinare se si è raggiunto la fine del file, si usa l istruzione feof: feof(indirizzo del file); Determina il raggiungimento della fine del file. Restituisce 1 se il file è terminato, 0 altrimenti. while (!feof(fp)) /* fino a che non è finito il file fp */ { fread( ) /* leggi un record dal file */ if ( ) /* controlla se è il record cercato */ } 10

ARCHIVI E FILE ARCHIVI FILE. Istituto Angioy Informatica. Prof. Ciaschetti

ARCHIVI E FILE ARCHIVI FILE. Istituto Angioy Informatica. Prof. Ciaschetti Istituto Angioy Informatica ARCHIVI E FILE Prof. Ciaschetti ARCHIVI Un archivio è un insieme di registrazioni (record) memorizzate in modo persistente, su un qualunque tipo di supporto. La caratteristica

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Cosa sono i file? Un file è un archivio di dati che puo essere registrato su un supporto di massa (testo, lettera, programma, archivio di dati, ecc.) Fondamenti di Informatica 12. Linguaggio C - Gestione

Dettagli

Introduzione. L elaborazione dei files in C. Elaborazione dei files (1) Elaborazione dei files (2) D.D. cap. 11+ pp K.P. pp.

Introduzione. L elaborazione dei files in C. Elaborazione dei files (1) Elaborazione dei files (2) D.D. cap. 11+ pp K.P. pp. Introduzione L elaborazione dei files in C D.D. cap. 11+ pp. 569-572 K.P. pp. 581-583 La memorizzazione dei dati nelle variabili e nei vettori è temporanea: tutti quei dati andranno persi quando il programma

Dettagli

Linguaggio C: i file

Linguaggio C: i file Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica A - GES Prof. Plebani A.A. 2006/2007 Linguaggio C: i file La presente dispensa e da utilizzarsi ai soli fini didattici previa

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. I file in Matlab

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. I file in Matlab INFORMATICA B Ingegneria Elettrica I file in Matlab I file I file sono contenitori di informazione: sequenze di byte associate ad un nome Sono memorizzati su memoria di massa (non- volatile) Possono continuare

Dettagli

Gestione dei file. Linguaggio ANSI C Input/Output - 13

Gestione dei file. Linguaggio ANSI C Input/Output - 13 Gestione dei file Necessità di persistenza dei file archiviare i file su memoria di massa. Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni

Dettagli

FILE BINARI FILE BINARI

FILE BINARI FILE BINARI FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di

Dettagli

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente

Dettagli

Gestione dei file. File di testo e binari

Gestione dei file. File di testo e binari Gestione dei file Un file e definito come un oggetto, presente nel file system, costituito da una sequenza continua di bytes Un file, per poter essere utilizzato, deve essere aperto Successivamente e possibile

Dettagli

Scrittura formattata - printf

Scrittura formattata - printf Esercizi su Input/Output con formato FormattedIO 1 Scrittura formattata - printf Funzione printf int printf ( , ) La funzione restituisce un valore intero uguale ai caratteri

Dettagli

Esercizi. I File ed il C

Esercizi. I File ed il C Politecnico di Milano Esercizi File di testo,, file binari I File ed il C Insieme omogeneo di dati, memorizzato su disco e caratterizzato da un nome La lunghezza di un file non è fissata a priori Astrazione

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico Gestione dei file Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2016 2017 Gli stream Si dice stream qualsiasi sorgente di dati in ingresso e qualsiasi

Dettagli

LE STRUTTURE DATI PARTE 2: RECORD. Prof. G. Ciaschetti

LE STRUTTURE DATI PARTE 2: RECORD. Prof. G. Ciaschetti 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOJ LE STRUTTURE DATI PARTE 2: RECORD Prof. G. Ciaschetti Abbiamo visto nella prima dispensa sulle strutture dati che una struttura dati è una collezione di dati in

Dettagli

Suggerimenti, note utili ed errori comuni. Fondamenti di informatica T

Suggerimenti, note utili ed errori comuni. Fondamenti di informatica T Suggerimenti, note utili ed errori comuni Fondamenti di informatica T printf, scanf e stringhe di formato La lettura e scrittura di variabili in formato testo sono realizzate tramite printf e scanf sfruttando

Dettagli

Gestione dei File. dischi nastri cd

Gestione dei File. dischi nastri cd Gestione dei File Per mantenere disponibili i dati tra le diverse esecuzioni di un programma, questi si devono archiviare in file su memoria di massa (dati persistenti): dischi nastri cd Un file è un astrazione

Dettagli

FILE BINARI FILE BINARI

FILE BINARI FILE BINARI FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di

Dettagli

Sono file di caratteri, organizzati in linee. Ogni linea e` terminata da una marca di fine linea (newline, cara ttere '\n').

Sono file di caratteri, organizzati in linee. Ogni linea e` terminata da una marca di fine linea (newline, cara ttere '\n'). I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un

Dettagli

MATLAB: FILES. Informatica B/C - A.A. 2013/2014

MATLAB: FILES. Informatica B/C - A.A. 2013/2014 MATLAB: FILES Informatica B/C - A.A. 2013/2014 I FILE Contenitori di informazione: sequenze di byte associate ad un nome Sono memorizzati su memoria di massa (non-volatile) Possono continuare ad esistere

Dettagli

I File. Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa.

I File. Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa. I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un

Dettagli

FILE BINARI FILE BINARI FILE BINARI. OUTPUT BINARIO: fwrite()

FILE BINARI FILE BINARI FILE BINARI. OUTPUT BINARIO: fwrite() FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di

Dettagli

Introduzione al C. Unità 9 File. D. Bloisi, S. Peluso, A. Pennisi, S. Salza

Introduzione al C. Unità 9 File. D. Bloisi, S. Peluso, A. Pennisi, S. Salza Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File D. Bloisi, S. Peluso, A. Pennisi, S. Salza Sommario Input/Output Stream

Dettagli

Struttura dati FILE. Concetto di FILE

Struttura dati FILE. Concetto di FILE Struttura dati FILE Concetto di FILE Per poter mantenere disponibili dei dati tra diverse esecuzioni di un programma (PERSISTENZA dei dati), è necessario poterli archiviare su memoria di massa. Un file

Dettagli

FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto

FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto alla volta Scrittura di un fputc Int fputc(int ch, FILE *flusso); carattere alla volta Lettura

Dettagli

File binari, Operazioni sui File binari, Allocazione dinamica della memoria

File binari, Operazioni sui File binari, Allocazione dinamica della memoria File binari, Operazioni sui File binari, Allocazione dinamica della memoria Vitoantonio Bevilacqua bevilacqua@poliba.it Parole chiave: File binari, Funzioni principali file binari, Funzione malloc, Allocazione

Dettagli

Introduzione al C. Stream e disk file

Introduzione al C. Stream e disk file Introduzione al C Stream e disk file Stream Un canale è una sequenza di byte di dati Sorgente o destinazione di dati che possono essere associati ad un disco o ad altre periferiche Due tipi di stream:

Dettagli

Gestione dei File C. Generalità

Gestione dei File C. Generalità Gestione dei File C 1 Generalità Il linguaggio C non contiene alcuna istruzione di Input/Output. Tali operazioni vengono svolte mediante chiamate a funzioni definite nella libreria standard contenute nel

Dettagli

FILE BINARI. I file di testo non sono indispensabili: sono semplicemente comodi 1

FILE BINARI. I file di testo non sono indispensabili: sono semplicemente comodi 1 FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di

Dettagli

Input/output in C e in C++

Input/output in C e in C++ FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Fondamenti di Informatica T. Linguaggio C: File

Fondamenti di Informatica T. Linguaggio C: File Linguaggio C: File I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale.

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Gestione dei File in MATLAB Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Gestione dei file in MATLAB OUTLINE Caratteristiche

Dettagli

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura Struttura a record 2 File ad accesso diretto Il file è organizzato in record aventi tutti la stessa struttura e quindi dimensione record 0 record 1 record 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione

Dettagli

I file possono essere manipolati (aperti, letti, scritti ) all interno di programmi C. dischi nastri cd

I file possono essere manipolati (aperti, letti, scritti ) all interno di programmi C. dischi nastri cd Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persistenza dei dati) è necessario poterli archiviare su memoria di massa. dischi nastri cd GESTIONE DEI FILE I file possono

Dettagli

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

Le Memorie. Si distinguono per: Supporti sui quali le informazioni vengono fisicamente memorizzate.

Le Memorie. Si distinguono per: Supporti sui quali le informazioni vengono fisicamente memorizzate. Le Memorie Supporti sui quali le informazioni vengono fisicamente memorizzate. Si distinguono per: Velocità Costo per bit Tipo di accesso Accesso a byte o blocchi di byte Volatilità Parte I 15 Due Tipi

Dettagli

Rappresentazione binaria delle variabili (int e char)

Rappresentazione binaria delle variabili (int e char) Rappresentazione binaria delle variabili (int e char) int e char son i due tipi utilizzati dal linguaggio C per la rappresentazione di valori interi; ai valori delle variabili del primo tipo sono assegnati

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

LA MEMORIA NEL CALCOLATORE

LA MEMORIA NEL CALCOLATORE Tipi di memorie (1) Rappresenta il supporto fisico, il dispositivo su cui sono immagazzinate le informazioni (dati e programmi) ROM (Read Only Memory) 1-2 MByte Cache 1 MByte di sola lettura contiene programmi

Dettagli

Linguaggio C Gestione File

Linguaggio C Gestione File Gestione File: Il file è l'unità logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati non limitata dalle dimensioni della memoria centrale. Nel linguaggio

Dettagli

Strutture Dati. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Strutture Dati 1 / 16

Strutture Dati. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Strutture Dati 1 / 16 Strutture Dati Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Strutture Dati 1 / 16 Introduzione Fino ad ora nei nostri programmi abbiamo usato Variabili;

Dettagli

Capitolo 11 Elaborazione di file

Capitolo 11 Elaborazione di file 1 Capitolo 11 Elaborazione di file 11.1 Introduzione 2 I file Possono essere creati, modificati, ed elaborati da programmi scritti in C Sono utilizzati per la memorizzazione permanente dei dati La memorizzazione

Dettagli

LP1 Lezione 13: i File in C. Maurizio Tucci

LP1 Lezione 13: i File in C. Maurizio Tucci LP1 Lezione 13: i File in C Maurizio Tucci mtucci@unisa.it 1 Il File: Dichiarazione Memorizzare dati in maniera non volatile In C (libreria ) è definito un tipo FILE che astrae il concetto di sequenza

Dettagli

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti

Dettagli

Lettura da tastiera e scrittura su monitor

Lettura da tastiera e scrittura su monitor Lettura da tastiera e scrittura su monitor Per poter leggere UN SINGOLO CARATTERE dalla tastiera e visualizzare UN SINGOLO CARATTERE sul monitor si possono utilizzare le funzioni: int getchar (void) (per

Dettagli

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli

Microsoft Outlook Di Nunziante Esposito. `*************` Quinta parte: Come gestire la rubrica (contatti). `***********`

Microsoft Outlook Di Nunziante Esposito. `*************` Quinta parte: Come gestire la rubrica (contatti). `***********` Microsoft Outlook 2007. Di Nunziante Esposito. `*************` Quinta parte: Come gestire la rubrica (contatti). `***********` Dopo aver preparato al meglio il layout del browser ed aver impostato un account

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.VI.2015 VINCENZO MARRA Indice Esercizio 1 1 Definizione dei tipi P e T, e calcolo dell area.

Dettagli

GESTIONE DEI FILE IN C

GESTIONE DEI FILE IN C GESTIONE DEI FILE IN C Il concetto di file.. è una parte logicamente contigua del contenuto di un dispositivo! Deve essere capace di memorizzare grandi quantità di dati! I dati memorizzati devono sopravvivere

Dettagli

Introduzione ai puntatori in C Definizione

Introduzione ai puntatori in C Definizione Introduzione ai puntatori in C Definizione Un puntatore è una variabile che contiene l indirizzo di un altra variabile Tramite i puntatori si può quindi accedere a un oggetto indirettamente (si usa il

Dettagli

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007 Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)

Dettagli

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che

Dettagli

I file. un file è una sorgente/destinazione di dati per diversi attori

I file. un file è una sorgente/destinazione di dati per diversi attori I file Il file è un astrazione molto ampia nella descrizione di un sistema informatico: Il concetto di file è uno snodo fondamentale di flussi di informazione anche tra applicazioni diverse un file è una

Dettagli

Variabili e Istruzioni

Variabili e Istruzioni Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome

Dettagli

LIBRERIE STANDARD in C. LIBRERIE STANDARD in C

LIBRERIE STANDARD in C. LIBRERIE STANDARD in C LIBRERIE STANDARD in C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria, non occorre inserirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle

Dettagli

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Dettagli

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno. Tipo File Per memorizzare un dato su un supporto magnetico come un hard disk o un nastro, o più in generale su un'unità di memoria di massa viene utilizzata un tipo di dato chiamato file. Un file può essere

Dettagli

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files

Dettagli

Vettori di caratteri. Caratteri e stringhe. Stringhe in C. Vettori di caratteri. char saluto[10] ; B u o n g i o r n o 4. Esempio.

Vettori di caratteri. Caratteri e stringhe. Stringhe in C. Vettori di caratteri. char saluto[10] ; B u o n g i o r n o 4. Esempio. Vettori di caratteri Il tipo stringa Terminatore nullo Input/output di stringhe Caratteri e stringhe 2 Stringhe in C Vettori di caratteri Nel linguaggio C non è supportato esplicitamente alcun tipo di

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

Esercizio 1 Liste: calcolo perimetro di un poligono

Esercizio 1 Liste: calcolo perimetro di un poligono Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 12 Esercitazione: 28 gennaio 2005 Esercizi su liste, ricorsione, file. Scaletta Esercizio 1 Liste: calcolo perimetro di

Dettagli

Informatica giuridica

Informatica giuridica Informatica giuridica Corso di laurea in Scienze dei Servizi giuridici Corso di laurea magistrale in Giurisprudenza A.A. 2015/16 L architettura hardware degli elaboratori La scheda madre Memoria principale

Dettagli

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere

Dettagli

Linguaggio C: puntatori

Linguaggio C: puntatori Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica A - GES Prof. Plebani A.A. 2006/2007 Linguaggio C: puntatori La presente dispensa e da utilizzarsi ai soli fini didattici previa

Dettagli

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori Formattazione avanzata Modificatori di o in output Modificatori di o in input Stream predefiniti I/O Avanzato e File 2 Formattazione dell output Formattazione avanzata L output (su schermo o su file) viene

Dettagli

Stringhe e allocazione dinamica della memoria

Stringhe e allocazione dinamica della memoria Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per

Dettagli

Lezione 8. Sottoprogrammi

Lezione 8. Sottoprogrammi Lezione 8 Il linguaggio C: Sottoprogrammi e Funzioni I puntatori Input/Output su file Sottoprogrammi Per risolvere un problema si può scomporlo in problemi più semplici e comporre le loro soluzioni in

Dettagli

FILE BINARI. I file di testo non sono indispensabili: sono semplicemente comodi!

FILE BINARI. I file di testo non sono indispensabili: sono semplicemente comodi! FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare. È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length); Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di

Dettagli

caratteri, immagini, suoni, ecc.

caratteri, immagini, suoni, ecc. Il linguaggio C Input e output I flussi di I/O L uso di buffer Apertura e chiusura di file Lettura e scrittura di dati La selezione di un metodo di I/O I/O non bufferizzato L accesso diretto a file Input

Dettagli

Caratteri e stringhe

Caratteri e stringhe Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un

Dettagli

DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII

DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII Gestione dei files DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

Dettagli

Esercizi di programmazione in linguaggio C English Dictionary

Esercizi di programmazione in linguaggio C English Dictionary Esercizi di programmazione in linguaggio C English Dictionary Il file di testo wordnet.txt contiene un certo numero di parole (word) e il corrispondente significato (meaning) secondo il seguente formato:

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-La memoria 1 Prerequisiti Concetto di memoria Dati e istruzioni Bit e byte 2 1 Introduzione In questa Unità studiamo più in dettaglio la memoria del computer e le sue funzioni.

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011

Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147 00161 Roma I puntatori Variabili e parametri Parametri formali

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio C - sezione dichiarativa: costanti e variabili Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione

Dettagli

Caratteri e stringhe

Caratteri e stringhe Caratteri e stringhe Vettori di caratteri Il tipo stringa Terminatore nullo Input/output di stringhe 2 Vettori di caratteri Stringhe in C Nel linguaggio C non è supportato esplicitamente alcun tipo di

Dettagli

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla

Dettagli

Caratteri e stringhe. Vettori di caratteri. Il tipo stringa Terminatore nullo Input/output di stringhe Politecnico di Torino 1

Caratteri e stringhe. Vettori di caratteri. Il tipo stringa Terminatore nullo Input/output di stringhe Politecnico di Torino 1 Caratteri e stringhe Il tipo stringa Terminatore nullo Input/output di stringhe 2 2006 Politecnico di Torino 1 Stringhe in C Nel linguaggio C non è supportato esplicitamente alcun tipo di dato stringa

Dettagli

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore I puntatori Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore...... L operatore & fornisce l indirizzo di un oggetto: p = &c; assegna a p l indirizzo di c, i.e., p

Dettagli

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Dettagli

L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.

L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I file L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I canali, sono delle strutture dati che contengono informazioni sul dispositivo fisico,

Dettagli

Matlab: Gestione avanzata dei file

Matlab: Gestione avanzata dei file Matlab: Gestione avanzata dei file Informatica B File 2 Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare ad esistere indipendentemente dalla vita del programma

Dettagli

Mini-dispensa sui puntatori in C

Mini-dispensa sui puntatori in C Mini-dispensa sui puntatori in C P. Zavarise Versione 1 ottobre 013 1 Valore e indirizzo di una variabile Ripassiamo il significato di dal punto di vista del programmatore. int a=; Viene creata una variabile

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Lab 10 Gestione file di testo

Lab 10 Gestione file di testo Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 10 Gestione file di testo Lab15 1 Esercizio 1 n Realizzare un programma che, aperto un file di testo di nome

Dettagli

puntatori Lab. Calc. AA 2007/08 1

puntatori Lab. Calc. AA 2007/08 1 puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene

Dettagli

SOMMARIO SU LETTURA E SCRITTURA (I/O) DEGLI STANDARD FILES

SOMMARIO SU LETTURA E SCRITTURA (I/O) DEGLI STANDARD FILES SOMMARIO SU LETTURA E SCRITTURA (I/O) DEGLI STANDARD FILES Con conversione di formato: int scanf (const char *format,... ) /* ritorna il numero di argomenti assegnati con successo altrimenti EOF se fine

Dettagli

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A. Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente

Dettagli

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: 1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente

Dettagli

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori Puntatori Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori 1 Il puntatore Un tipo puntatore è un tipo scalare per

Dettagli

Corso sul linguaggio C Modulo Tipi di dato

Corso sul linguaggio C Modulo Tipi di dato Corso sul linguaggio C Modulo 1 1.3 - Tipi di dato 1 Prerequisiti Concetto di espressione Cenni sulla struttura del calcolatore 2 1 Introduzione In questa lezione si esaminano i tipi di dato. I tipi di

Dettagli

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1 Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 16 ottobre 2007 1 Rappresentazioni di caratteri in C In C un carattere è una costante intera il cui valore è dato dal codice ASCII

Dettagli

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso INDICI PER FILE Strutture ausiliarie di accesso 2 Accesso secondario Diamo per scontato che esista già un file con una certa organizzazione primaria con dati non ordinati, ordinati o organizzati secondo

Dettagli

Unità Didattica 5 Linguaggio C. Stringhe. Accesso a file ASCII. Strutture.

Unità Didattica 5 Linguaggio C. Stringhe. Accesso a file ASCII. Strutture. Unità Didattica 5 Linguaggio C Stringhe. Accesso a file ASCII. Strutture. 1 Stringhe Una stringa è una sequenza di caratteri (es: ciao, sd!n29dnqa ); In C non esiste una variabile di tipo stringa; Una

Dettagli

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Descrizione delle operazioni di calcolo. Espressioni costanti semplici Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette

Dettagli