I file. Record logici e record fisici

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "I file. Record logici e record fisici"

Transcript

1 I file La struttura dati per memorizzare e organizzare i dati in memoria di massa è il FILE. Esso consiste in una sequenza di elementi il cui numero cresce indefinitamente in base alle esigenze. Tra i vari tipi di file implementabili da programma risulta particolarmente interessante per i nostri scopi il file di testo e il file di record Il file di testo contiene elementi elementari come char, int, float ecc. Il file di record può essere pensato come un vettore di record residente su disco, di cui non è necessario definire a priori la dimensione. Infatti anche il file è una struttura lineare composta di record tutti fra loro omogenei, individuabili tramite un puntatore di lettura/ scrittura (indice posizionale) che parte convenzionalmente dalla posizione O (se un file è composto da 15 record, questi ultimi sono numerati da O a 14). Inoltre, poiché la dimensione non viene definita a priori, il sistema pone, dopo l'ultimo record un segnalatore di fine file (end of file EOF), che segnala il raggiungimento della fine della struttura registrata. Record logici e record fisici Fino a questo momento abbiamo visto il record come un insieme di informazioni relative a un'entità logica. Tale insieme viene definito tenendo conto delle esigenze dell applicazione. La definizione che abbiamo dato coincide con quella di record logico, ossia con la descrizione di come il programmatore vorrà suddividere il gruppo di informazioni che caratterizzano l'oggetto osservato. Il record logico ha una lunghezza in byte pari alla somma della dimensione dei campi che costituiscono il record stesso. Sulla memoria di massa dove risiede il file, invece, i record logici sono raggruppati in blocchi o record fisici (di lunghezza prefissata), che costituiscono l'unità di trattamento fisico. In altri termini: il record fisico rappresenta l'insieme dei caratteri che possono essere letti o scritti in memoria di massa con una singola operazione di lettura o scrittura. Supponiamo di avere un record col seguente tracciato: Persona = RECORD Nome: Stringa[10] Classe: Stringa[2] FINERECORD Record fisico Il numero di record logici presenti in un unico blocco fisico prende il nome di fattore di bloccaggio o fattore di blocco. Tale numero può essere maggiore, minore o uguale a l. In particolare: - se è maggiore di l, ossia se ogni record fisico contiene più record logici, i record si dicono bloccati; - se è uguale a l, i record si dicono sbloccati; - se è minore di l, ossia se sono necessari più record fisici per memorizzare un record logico, si parla di multiblocco. Il tempo di accesso alla memoria di massa è notevolmente superiore a quello relativo alla memoria centrale. Per questa ragione, nei vari sistemi i record fisici hanno una capienza sufficiente a garantire un minor numero di accessi alla memoria secondaria. La memoria di massa, infatti, ha il compito principale di conservare permanentemente dati e programmi. Inoltre, supporta una parte dell'elaborazione. Per elaborare dei dati è quindi necessario un loro trasferimento in memoria centrale, poiché, come sappiamo, la CPU è in grado di operare solo su questa memoria. Quando la CPU, eseguendo un programma, incontra un'operazione di lettura/scrittura di un record, non preleva dalla memoria di massa il record logico interessato, bensì l'intero record fisico che contiene il record logico in questione. Per poter essere elaborato, il record fisico viene posto in un'area della RAM chiamata buffer, adibita dal sistema proprio a questo scopo.

2 Organizzazione degli archivi Per organizzazione o implementazione di un archivio si intende sia il modo in cui l'archivio è rappresentato sul supporto fisico di memoria, sia l'insieme di operazioni consentite per la sua elaborazione. L'organizzazione, pertanto, si distingue in: - fisica (relativa al supporto); - logica (relativa alla modalità di gestione). L'aspetto fisico dell'organizzazione riguarda la macchina, mentre l'aspetto logico :!guarda il lavoro del programmatore e la fruizione successiva da parte dell'utente. L organizzazione fisica I supporti fisici per la memorizzazione dei file sono stati già trattati nel primo volume, parlando dell'architettura dei computer. Ricordiamo che i supporti fisici si classificano in: - supporti ad accesso sequenziale, come i nastri, nei quali, per accedere a un particolare record, è necessario scorrere tutto il file, record per record. La registrazione e il reperimento di un record, quindi, possono avvenire solo in modo consecutivo al record precedentemente registrato o esaminato. In tal caso organizzazione fisica e organizzazione logica coincidono; - supporti ad accesso diretto, come i dischi, nei quali è possibile accedere al record sia sequenzialmente, sia in modo diretto. In tali tipi di supporto, quindi, si può reperire l'informazione anche in modo diverso rispetto alla loro organizzazione fisica. Pertanto, la dipendenza tra organizzazione fisica e organizzazione logica diviene meno rilevante. Nel corso di questa e della successiva unità vedremo come questi supporti influenzano notevolmente il trattamento degli archivi. Un problema da risolvere, infatti, è proprio quello di adattare in modo soddisfacente la struttura logica degli archivi alla struttura fisica dei supporti di memorizzazione. L'organizzazione logica L'organizzazione logica fa riferimento alla gestione dell'archivio, ossia fissa il modo in cui i record sono disposti all'interno dell'archivio e, quindi, il modo in cui possono essere reperiti. L'organizzazione logica può essere: - sequenziale, quando per ogni record ne esiste uno precedente e uno successivo, a eccezione del primo e dell'ultimo. In tale tipo di organizzazione, quindi, i record sono memorizzati uno di seguito all'altro; - non sequenziale, se la sequenza non esiste, ossia se i record sono memorizzati in maniera sparsa all'interno dello spazio a disposizione. Su uno stesso supporto fisico è possibile implementare un archivio utilizzando diverse organizzazioni logiche. Si pensi, ad esempio, a un archivio a organizzazione sequenziale che debba contenere i dati relativi a un gruppo di studenti, con il campo Nome che funge da chiave per la ricerca. Con tale tipo di organizzazione logica è semplice manipolare i dati di uno studente: è sufficiente digitarne il nominativo per poter accedere al suo record. Nel caso in cui l'utilizzo del campo Nome non riesca a identificare univocamente uno studente o le prestazioni non vengano ritenute soddisfacenti, si procederà a organizzare l'archivio in qualche altro modo. Al concetto di organizzazione logica è quindi legato quello di metodo di accesso ai record. Parlando dell'organizzazione fisica abbiamo già introdotto il termine accesso e lo abbiamo utilizzato per caratterizzare la struttura fisica dei supporti di memorizzazione. Con metodo di accesso, invece, intendiamo quanto segue: il metodo di accesso è la particolare operazione per mezzo della quale è

3 possibile reperire i record memorizzati nell'archivio. Il metodo di accesso sequenziale consente di accedere a un record solo dopo aver fatto accesso a tutti i record che lo precedono. In questo caso, il tempo di accesso al record è in funzione della posizione del record, ossia varia in base al numero di record che devono essere esaminati prima di accedere al record che si vuole trovare. È l'accesso tipico per i file memorizzati su supporti sequenziali come i nastri magnetici. Ciò significa che un archivio implementato su nastro potrà essere trattato solo nello stesso modo in cui è stato realizzato: i dati potranno essere consultati nello stesso ordine con cui sono stati inseriti. È in questo caso evidente la coincidenza tra organizzazione logica e organizzazione fisica. Il metodo di accesso diretto o casuale consente di posizionarsi direttamente sul record interessato in un tempo che non dipende dalla posizione che esso occupa nell archivio. Operazioni sui file Sui file possono essere eseguite le seguenti operazioni fondamentali: l'apertura di un archivio stabilisce un collegamento tra la memoria centrale e il file registrato sulla memoria di massa, riservando in memoria centrale una zona (buffer) per le operazioni di I/O e individuando nella tabella dei descrittori di file le informazioni necessarie per accedere ai blocchi fisici del file. Il comando di apertura deve essere eseguito prima di iniziare qualsiasi operazione di lettura o scrittura. l'operazione di lettura copia in memoria centrale dalla memoria di massa i dati registrati nei blocchi fisici del file; l'operazione di scrittura trasferisce sulla memoria di massa i dati composti in memoria centrale; l'operazione di riscrittura aggiorna nel file su memoria di massa i dati modificati durante l'elaborazione; la consultazione o interrogazione consente il reperimento all'interno dell'archivio delle informazioni necessarie per l'elaborazione desiderata. Il risultato dell'interrogazione può essere rappresentato mediante una visualizzazione sul monitor del computer oppure con una stampa su carta. Gli output su stampante vengono correntemente indicati con il termine report. la chiusura del file interrompe il collegamento tra memoria centrale e file, liberando la memoria riservata per le operazioni di I/O e aggiornando le informazioni sul file nella tabella dei descrittori. Perciò è opportuno chiudere un archivio quando non sono previste ulteriori operazioni di lettura e scrittura. Un programma in linguaggio C++, che deve utilizzare i dati contenuti in un file, contiene le seguenti fasi di lavoro: 1) definizione di una variabile di tipo fstream, ifstream, ofstream da associare al file 2) apertura del file specificandone il nome e il tipo di accesso 3) operazioni di manipolazione o di interrogazioni sul file 4) chiusura del file. Lettura e scrittura di un file sequenziale Un file sequenziale può essere utilizzato per scrivere nuove registrazioni, per leggere dati o per aggiungere dati in coda a quelli già registrati. La scrittura a partire dall'inizio, eseguita su un file già esistente, provoca la cancellazione di eventuali dati presenti nell'archivio. Nei programmi di lettura in un archivio sequenziale, occorre introdurre un opportuno. controllo per segnalare il raggiungimento della fine del file. Un file sequenziale può essere aperto per le seguenti operazioni: scrivere caratteri in un file (Output) leggere caratteri da un file (Input) aggiungere caratteri in un file in coda a quelli già esistenti (Append). Facciamo un esempio

4 Creare un archivio con i nomi dei nostri amici. Il creazione archivio ofstream fout("amici.dat"); Il apre il file in scrittura cout cc "inserisci un nome (^Z per terminare)\n"; while (cin >> nome) fout << nome << endl; I I scrive sul file All'inizio del programma viene definito un oggetto fout della classe ofstream, associato al nome fisico del file, amjci.dat, cioè al nome con cui il file è registrato su disco. La lettera iniziale della classe (lettera 'o') indica che fout è un oggetto di output. Il costruttore contiene l'apertura implicita del file: vedremo in seguito gli esempi con l'apertura esplicita, tramite il metodo open(). La scrittura sul file viene eseguita con l'operatore < < applicato all'oggetto fout. Al termine del programma il file viene chiuso con il metodo close(). Si noti l'inclusione del file di header fstream.h per consentire al programma di utilizzare le classi di I/O. Per controllare il contenuto di un file sequenziale si può utilizzare un programma di lettura. Poiché nell'accesso sequenziale i dati registrati vengono letti dal file uno di seguito all'altro, a partire dall'inizio, nello stesso ordine con il quale erano stati scritti, occorre inserire all'interno del programma di lettura un controllo sul raggiungimento della fine del file. TESTO DEL PROBLEMA Visualizzare il contenuto dell archivio Amici.dat precedentemente creato Il lettura archivio ifstream fin("amici.dat"); Il apre il file in lettura while (fin >> nome) Il legge dal file cout << nome << endl; All'inizio del programma viene definito un oggetto fin della classe ifstream, associato a: nome fisico del file, amici.dat.. La lettera iniziale della classe (lettera 'i') indica che fin; è un oggetto di input. La lettura sul file viene eseguita con l'operatore > > applicato all'oggetto fin. Si noti l'inclusione del file di header fstream.h per consentire al programma di utilizzare le classi di I/O. Si possono aggiungere altri dati ad un archivio creato in precedenza specificando la modalità append nell'apertura del file. Per esempio, se si vogliono aggiungere altri nomi di amici all'archivio, si può usare un programma del tutto simile

5 a quello usato per l'inserimento dei nomi. La variazione riguarda solo l'aggiunta della costante ios::app nella dichiarazione del file. per specificare la modalità di apertura in appendo La costante appartiene all'insieme delle costanti enumerative per l'apertura del file: esse sono definite nella classe ios, contenuta nel file di header iostream.h. Le altre costanti, presentate in seguito, sono ios::in, per la modalità di lettura, e ios::out, per la modalità di scrittura. Il aggiunta dei nomi all archivio ofstream fout("amici.dat", ios::app); Il apre il file in scrittura cout << "inserisci un nome (^Z per terminare)\n"; while (cin >> nome) fout << nome << endl; I I scrive sul file Di seguito viene presentata un'ulteriore versione del programma di lettura sequenziale del file, che utilizza la funzione eof() per il controllo di fine file, nonché il controllo della corretta apertura del file. Il lettura archivio #include <iostream. h> ifstream fin("amici.dat"); Il apre il file in lettura if (!fin) cout «"Errore nell'apertura del file" «endl; exit (l) ; fin >> nome; while (!fin.eof()) cout << nome <<endl; fin >> nome; // legge dal file fin.close(); Di seguito vengono riproposti gli algoritmi di lettura e scrittura usando il metodo OPEN() //creazione archivio ofstream fout; I I dichiara stream fout.open("amici.dat"); Il connette stream all'archivio if (! fout) cout << "Errore nell'apertura del file"<< endl; exit (1) ; cout << "inserisci un nome (^Z per terminare)\n";

6 while (cin >> nome) fout << nome << endl; Il scrive sul file // lettura archivio ifstream fin; // dichiara stream fin.open("amici.dat"); // apre il file in lettura if (!fin) cout << "Errore nell'apertura del file"<< endl; exit (1) ; while (fin >> nome) cout << nome << endl; fin.close() ; // aggiunta nomi nel archivio ofstream fout; // legge dal file // chiude il file I I dichiara stream fout.open("amici.dat", ios::app); // connette stream all'archivio if (! fout) cout << "Errore nell'apertura del file"<< endl; exit (1) ; cout << "inserisci un nome (^Z per terminare)\n"; while (cin >> nome) fout << nome << endl; // scrive sul file Finora abbiamo utilizzato come struttura dati da memorizzare nel file una stringa allo stesso modo si possono memorizzare dati strutture con le stesse funzioni o metodi. Un po diversa è la gestione del file di testo puro dove la variabile da leggere è il carattere, ma logicamente è identico. Riportiamo di seguito un programma che tratta questo tipo di problema. #include <cstdlib> #include <iostream> #include <fstream> #include <string> using namespace std; int crea(); int leggi(); int appendi(); int main(int argc, char *argv[]) int risp; cout<< "devi creare o aggiornare?"<<endl<<"1 per creare 2 per aggiungere in coda"; cin>>risp; if (risp==1) crea(); leggi(); else appendi(); leggi(); system("pause"); return EXIT_SUCCESS;

7 int crea() char ch; ofstream fout("prova.dat"); if (!fout) cout<<"errore nell'apertura del file"<<endl; return 1; cout<<"inserire il testo while(cin.get(ch)) fout<<ch; return 0; ^Z per terminare "<<endl; int leggi() char ch; int l=0; ifstream fin("prova.dat"); if (!fin) cout<<"errore nell'apertura del file"<<endl; return 1; cout<<"ecco l'elenco dei dati "<< endl; while (!fin.eof()) fin.get(ch); cout<<ch; if (ch==10) l++; fin.close(); cout<<" vi sono "<<l-1<<" righe"<<endl; return 0; int appendi() char ch; ofstream fout("prova.dat",ios::app); if (!fout) cout<<"errore nell'apertura del file"<<endl; return 1; while(cin.get(ch)) fout<<ch; return 0;

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

Gestione dei file di dati

Gestione dei file di dati Gestione dei file di dati 1. Le classi di input/output Il linguaggio C++ non dispone di proprie istruzioni per la gestione dell interazione con l utente. Si appoggia infatti su appositi comandi scritti

Dettagli

Concetto di stream. c i a o \0. c i a o \0. c i a o \0

Concetto di stream. c i a o \0. c i a o \0. c i a o \0 Concetto di stream Uno stream è un flusso di byte che permette al programma di comunicare con l esterno (es. con periferiche di input/output) c i a o \0 c i a o \0 c i a o \0 Stream di uscita standard

Dettagli

Ho raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero

Ho raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero Stato di uno stream Uno stream possiede uno stato, che può essere corretto o errato. Quando lo stream è in stato di errore, non posso utilizzarlo. In lettura: Apertura di un file che non esiste X Ho raggiunto

Dettagli

INFORMATICA File di testo in C Roberta Gerboni

INFORMATICA File di testo in C Roberta Gerboni 2018 - Roberta Gerboni File di testo in C++ Il linguaggio C++ mette a disposizione le seguenti classi per operare sui file (è necessario includere nel programma l header ), consentendo tipo di

Dettagli

Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione stream o l input/output del C++ è basato sugli stream o gli stream sono

Dettagli

4. Accesso diretto per gli archivi con record a lunghezza costante

4. Accesso diretto per gli archivi con record a lunghezza costante 4. Accesso diretto per gli archivi con record a lunghezza costante Nell accesso diretto (in inglese, random) al file binario, le operazioni di lettura o scrittura devono essere precedute dall operazione

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

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

Fondamenti di Informatica 2008 corso prof. A. Picariello. Operazioni sui FILE in C++

Fondamenti di Informatica 2008 corso prof. A. Picariello. Operazioni sui FILE in C++ Fondamenti di Informatica 2008 corso prof. A. Picariello Operazioni sui FILE in C++ Librerie di I/O per la gestione dei FILE Il C++ consente di utilizzare le librerie standard di I/O del C mette anche

Dettagli

Standard Input e Standard Output

Standard Input e Standard Output Istruzioni di I/O Standard Input e Standard Output Il C++ utilizza i concetti di standard input e standard output rispettivamente come astrazione di un canale per l ingresso e per l uscita dei dati In

Dettagli

La gestione di file in C++

La gestione di file in C++ Prof.ssa Sara Michelangeli La gestione di file in C++ I file sono strutture dati che consentono di conservare permanentemente, su memoria di massa, i nostri dati. Imparare ad usare i file è quindi INDISPENSABILE

Dettagli

Trasformare array paralleli in array di record

Trasformare array paralleli in array di record Trasformare array paralleli in array di record Un array è una struttura di dati omogenea: gli elementi dell array sono tutti dello stesso tipo (che è il tipo dell array). A volte è necessario gestire informazioni

Dettagli

Trasformare array paralleli in array di record

Trasformare array paralleli in array di record Trasformare array paralleli in array di record Un array è una struttura di dati omogenea: gli elementi dell array sono tutti dello stesso tipo (che è il tipo dell array). A volte è necessario gestire informazioni

Dettagli

Trasformare array paralleli in array di record

Trasformare array paralleli in array di record Trasformare array paralleli in array di record Trasformare array paralleli in array di record Un array è una struttura di dati omogenea: gli elementi dell array sono tutti dello stesso tipo (che è il tipo

Dettagli

File binari e file di testo

File binari e file di testo I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file

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

ingresso/uscita da file

ingresso/uscita da file ingresso/uscita da file fino ad ora: il programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti al volo dall utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento

Dettagli

Corso di Algoritmi e Strutture Dati Lezione del Esercitatrice: dott.ssa Susanna Cozza. L argomento della lezione

Corso di Algoritmi e Strutture Dati Lezione del Esercitatrice: dott.ssa Susanna Cozza. L argomento della lezione L argomento della lezione Dall informazione al file Per permettere il riutilizzo di informazioni oltre la durata dei programmi che le hanno prodotte, i dati sono allocati su dispositivi in memoria secondaria.

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout

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

File. Unità 8. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

File. Unità 8. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

ingresso/uscita da file

ingresso/uscita da file ingresso/uscita da file fino ad ora: il programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti al volo dall utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

Premessa. Input /output e gestione dei file. I file e gli stream. Il puntatore al file. 21. I FILE NEL LINGUAGGIO C Versione 1.

Premessa. Input /output e gestione dei file. I file e gli stream. Il puntatore al file. 21. I FILE NEL LINGUAGGIO C Versione 1. Input /output e gestione dei file Premessa Iniziamo la lezione dicendo subito che per INPUT/OUTPUT si intende l insieme delle operazioni di ingresso ed uscita, ossia lo scambio di informazioni tra il programma

Dettagli

Tipi strutturati - struct

Tipi strutturati - struct Fondamenti di Programmazione A Appunti per le lezioni Gianfranco Rossi Tipi strutturati - struct Struttura dati (concreta) struct: sequenza di n elementi (n 0), rispettivamente di tipo t1,,tn (non necessariamente

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 A3 Accesso 1 Prerequisiti Tipi di organizzazione 2 1 Introduzione L importanza degli archivi sta sia nel consentire di memorizzare grandi quantità di dati, sia nell offrire

Dettagli

Text files, streams. I file che ci interessano sono file di testo. anche se, logicamente, contengono numeri o altro

Text files, streams. I file che ci interessano sono file di testo. anche se, logicamente, contengono numeri o altro Text files, streams I file che ci interessano sono file di testo anche se, logicamente, contengono numeri o altro In C/C++ ci sono anche i file binari, ma li ignoriamo file di testo = ASCII file = successione

Dettagli

Corso di Fondamenti di Informatica Prof. Aldo Franco Dragoni Prova scritta del 21/06/2010. Avvertenze. Specifiche

Corso di Fondamenti di Informatica Prof. Aldo Franco Dragoni Prova scritta del 21/06/2010. Avvertenze. Specifiche Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da ambo le parti. In testa a ciascun foglio scrivere: cognome, nome, numero progressivo

Dettagli

Passaggio di parametri per valore

Passaggio di parametri per valore Passaggio di parametri per valore #include using namespace std; int main() { int z, x = 1; z = ; cout

Dettagli

Corso di Fondamenti di Informatica Tipi strutturati: Stringhe

Corso di Fondamenti di Informatica Tipi strutturati: Stringhe Corso di Fondamenti di Informatica Tipi strutturati: Stringhe Anno Accademico Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri

Dettagli

FILE DI TESTO e SOTTOPROGRAMMI

FILE DI TESTO e SOTTOPROGRAMMI FILE DI TESTO e SOTTOPROGRAMMI Prof. Enrico Terrone A. S: 2008/09 I file di testo in C++ I file di testo sono una forma di input/output alternativa alla tastiera e al monitor (con il vantaggio della persistenza).

Dettagli

ciclo di vita della soluzione (informatica) di un problema

ciclo di vita della soluzione (informatica) di un problema Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using

Dettagli

A. Veneziani Files di record

A. Veneziani Files di record A. Veneziani Files di record Caratteristiche dei file di record I file di record si differenziano rispetto a quelli di testo per avere i dati memorizzati in un formato predefinito ben preciso suddiviso

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 A1 - Struttura File 1 Prerequisiti Tecnica della programmazione elementare Sottoprogrammi Tipo di dato Concetti elementari sulle memorie di massa 2 1 Introduzione Nei casi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 A1 Archivi di dati 1 Prerequisiti Dati semplici e strutturati Strutture dati concrete e astratte Struttura e operazioni sui file Cenni sulle memorie secondarie File system

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

Gestire le situazioni di errore

Gestire le situazioni di errore Gestire le situazioni di errore #include using namespace std; Classe VettoreDiInteri const int MAX = 10; class VettoreInteri { int v[max]; public: ; Gestire le situazioni di errore Ottenere

Dettagli

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++ ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è

Dettagli

Strutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami.

Strutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami. Consideriamo l esercizio assegnato la scorsa lezione per rappresentare il libretto di uno studente. Per memorizzare i dati si sono utilizzati tre array: char* nomiesami[max ESAMI] Array dei nomi degli

Dettagli

File. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire..

File. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire.. File I file sono una illusione creata dal Sistema Operativo(SO) Il SO usa opportune strutture dati per implementare tale astrazione (ad esempio: File Control Block, FCB) Sono usati per memorizzare in modo

Dettagli

Programmazione modulare

Programmazione modulare Programmiamo in.. Programmazione modulare Un programma complesso si suddivide in più sottoprogrammi o funzioni. Un programma suddiviso in piccoli pezzi, è più semplice da gestire da aggiornare da correggere

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

Gestione dei File. Credits Prof. Campi

Gestione dei File. Credits Prof. Campi Gestione dei File Credits Prof. Campi 1 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi Si usano dall'interno dei programmi Realizzano la persistenza dei dati cioè

Dettagli

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++ Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C I file 2001 Pier Luca Montessoro - Davide Pierattoni (vedere

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali o binarie Noi ci occuperemo di file contenenti informazioni testuali In fondo ad un file sequenziale

Dettagli

La copia di un file. contare di quanti caratteri sia composto il file (e quindi determinare la dimensione del file di origine)

La copia di un file. contare di quanti caratteri sia composto il file (e quindi determinare la dimensione del file di origine) La copia di un file Nell'esercizio di oggi cerchiamo di implementare un programma che permetta di effettuare la copia di un file di testo. L'operazione di copia, oltre a permettere di creare un nuovo file

Dettagli

Le funzioni: dichiarazione, definizione e chiamata Il passaggio degli argomenti per valore e riferimento La funzione main() Le regole di visibilità

Le funzioni: dichiarazione, definizione e chiamata Il passaggio degli argomenti per valore e riferimento La funzione main() Le regole di visibilità Funzioni I Parte Indice Le funzioni: dichiarazione, definizione e chiamata Il passaggio degli argomenti per valore e riferimento La funzione main() Le regole di visibilità Le funzioni: la dichiarazione

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

INFORMATICA. I file. File. File. File

INFORMATICA. I file. File. File. File INFORMATICA File Per rendere più uniforme possibile il comportamento dei programmi in relazione alla grande varietà dei dispositivi periferici, i linguaggi moderni fanno riferimento ad un modello : i periferici

Dettagli

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente. HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia 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

Le funzioni: la dichiarazione

Le funzioni: la dichiarazione Funzioni I Parte Indice Le funzioni: dichiarazione, definizione e chiamata Le regole di visibilità (scope) Il passaggio degli argomenti per valore e riferimento La funzione main() Le funzioni: la dichiarazione

Dettagli

file fisico file logico

file fisico file logico I files Un file è una struttura di dati residente su una memoria di massa (file fisico) Un programma vede un file come una sequenza di bytes (file logico) Generalizzando, un file può comprendere qualsiasi

Dettagli

Programmazione I Prova scritta - 10 gennaio h20min

Programmazione I Prova scritta - 10 gennaio h20min Programmazione I Prova scritta - 10 gennaio 2019-1h20min NOTA: Nei programmi si trascuri ogni problema legato al tipo ed al valore di ritorno della funzione main, inoltre si sottintenda la presenza delle

Dettagli

FILE SEQUENZIALI E AD ACCESSO DIRETTO

FILE SEQUENZIALI E AD ACCESSO DIRETTO FILE SEQUENZIALI E AD ACCESSO DIRETTO L input-output astratto (stream) Le periferiche disponibili in un sistema di elaborazione sono, dal punto di vista hardware, anche molto diverse fra di loro anche

Dettagli

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento b) dereferenziazione e

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

Nota: Si consideri il valore di pi greco.

Nota: Si consideri il valore di pi greco. ESERCIZIO 1 (Costrutti condizionali + Casting delle variabili) Realizzare un programma che, dato in ingresso un angolo specificato in gradi come un numero intero, fornisca la relativa conversione in radianti.

Dettagli

Gli Array. Dichiarazione di un array

Gli Array. Dichiarazione di un array Gli Array Un array rappresenta una variabile indicizzata (ovvero contenente un indice) che viene utilizzata per contenere più elementi dello stesso tipo. Ogni array ha un nome al quale viene associato

Dettagli

1. Soluzione esercizio XYZ SpA

1. Soluzione esercizio XYZ SpA 1. Soluzione esercizio XYZ SpA 2. Oggetti fstream e loro uso Si vuole realizzare un piccolo sistema informativo a supporto dell'attività dell'ufficio dipendenti della società XYZ SpA. Tale società opera

Dettagli

Gestione dei file in C

Gestione dei file in C Gestione dei file in C Fondamenti di Informatica Che cos è un file e a cosa serve? Memoria di massa vs memoria centrale q La memoria di massa (disco fisso) è un dispositivo di memorizzazione generalmente

Dettagli

Classe Squadra. #include <iostream> using namespace std;

Classe Squadra. #include <iostream> using namespace std; Classe Squadra Si vuole scrivere un programma che gestisce la classifica di un campionato tra squadre di calcio, ognuna identificata dal proprio nome. Il programma deve essere in grado di assegnare un

Dettagli

Array. Unità 7. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Array. Unità 7. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

I files (archivi) Il C definisce in stdio.h tre file aperti automaticamente: stdin, stdout e stderr.! Sono ad accesso sequenziale diretto

I files (archivi) Il C definisce in stdio.h tre file aperti automaticamente: stdin, stdout e stderr.! Sono ad accesso sequenziale diretto C I files di dati I files (archivi) Files di programmi sono solo gestiti dal compilatore C Files di dati Possono essere creati, aggiornati, letti, scritti da programmi C Servono per conservare dati su

Dettagli

Fattorizzazione e curve ellittiche polinomi di II, II e IV grado

Fattorizzazione e curve ellittiche polinomi di II, II e IV grado Fattorizzazione e curve ellittiche polinomi di II, II e IV grado Di Cristiano Armellini (cristiano.armellini@alice.it) Torniamo ancora una volta al problema della fattorizzazione p=ab e descriviamo un

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 26 Sommario: Gestione dei file in C. File ad accesso sequenziale: apertura, chiusura, lettura e scrittura. File binari. Gestione files

Dettagli

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus Architettura del calcolatore Calcolatori (1) Introdotti all'inizio degli anni 1940 Costruiti assemblano componenti elettronici elementari per memorizzare informazioni ed eseguire programmi informazioni

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 ESERCIZIO 1 Scrivere un programma in linguaggio C che lette dallo standard input due sequenze vettoriali ordinate di interi V1[n], V2[m] ne crei una terza V3[n+m] anch essa ordinata, che contenga tutti

Dettagli

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

a.a Codice corso: 21012, 22010

a.a Codice corso: 21012, 22010 ESERCIZIO 1 Scrivere un sotto-programma in linguaggio C++ che ricevuta una matrice quadrata come parametro restituisca al chiamante un valore booleano indicante se la matrice è simmetrica oppure no. Scrivere

Dettagli

Logico e fisico. Fisico: legato agli aspetti costruttivi e tecnologici HARDWARE Logico: legato al significato e all organizzazione SOFTWARE FISICO

Logico e fisico. Fisico: legato agli aspetti costruttivi e tecnologici HARDWARE Logico: legato al significato e all organizzazione SOFTWARE FISICO File System FISICO LOGICO Indice Caratteristiche generali I file e directory Metodi di accesso Directory e descrittori dei file Operazioni sui file Organizzazione della memoria fisica Allocazione della

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione I Tatiana Zolo zolo@cs.unipr.it 1 L ORGANIZZAZIONE DEL COMPUTER Unità di input: sezione ricevente. dispositivi di input Ò ÓÖÑ Þ ÓÒ altre unità per l elaborazione.

Dettagli

Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File

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

Dettagli

Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011. Gruppo. Cognome Riontino Nome Raffaele. Cognome Nome

Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011. Gruppo. Cognome Riontino Nome Raffaele. Cognome Nome Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011 Gruppo Cognome Riontino Nome Raffaele Cognome Nome TRACCIA 2 ARGOMENTO: LISTE TEMPO: 4h 1. Utilizzando Typedef definire un nuovo tipo di dato

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Dettagli

Struttura logica del computer (semplificata)

Struttura logica del computer (semplificata) Struttura logica del computer (semplificata) INPUT (TASTIERA) SISTEMA OPERATIVO R OUTPUT (MONITOR) A ISTRUZIONI PROGRAMMA M ZONA DATI (variabili e costanti) 21 13 45 A B C ALU UC Unità aritmetico-logica

Dettagli

Qualsiasi programma in C++ segue lo schema:

Qualsiasi programma in C++ segue lo schema: Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA8 B2 Accesso diretto 1 Prerequisiti Programmazione ad oggetti Conoscenza classi di base di I/O Tecnica della programmazione Organizzazione ed accesso ai file 2 1 Introduzione

Dettagli

La funzione main() La funzione main(), presente in tutti i programmi C, è una funzione come tutte le altre

La funzione main() La funzione main(), presente in tutti i programmi C, è una funzione come tutte le altre La funzione main() La funzione main(), presente in tutti i programmi C, è una funzione come tutte le altre Unica particolarità: viene chiamata dal Sistema Operativo, appena il programma viene avviato Non

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione I Tatiana Zolo zolo@cs.unipr.it 1 L ORGANIZZAZIONE DEL COMPUTER Unità di input: sezione ricevente. dispositivi di input altre unità per l elaborazione. ORGANIZZAZIONE

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

Verifica su Record e File

Verifica su Record e File Nome: Data: Valutazione in ventesimi Verifica su Record e File 1. (max 1,5 punti) Completare le frasi scegliendo tra i tipi d accesso ai file indicati al termine della domanda: a. L accesso si utilizza

Dettagli

Associazione Variabile-Indirizzo

Associazione Variabile-Indirizzo I puntatori Associazione Variabile-Indirizzo Tutte le volte che in un programma si dichiarano delle variabili, l'esecutore associa alla variabile un indirizzo. Es. Dato il programma #include

Dettagli

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti

Dettagli

Interfaccia del file system

Interfaccia del file system Interfaccia del file system Concetto di file Metodi di accesso Struttura delle directory Protezione 1 Concetto di File Insieme di informazioni correlate, registrate in memoria secondaria, con un nome.

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 1

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System 1 Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i

Dettagli

Gli stream. ios ostream. istream. iostream

Gli stream. ios ostream. istream. iostream I/O da FILE Gli stream Alla base delle operazioni di I/O, in C++, sta il concetto di stream (flusso) di byte tra la memoria principale ed i dispositivi di input (la tastiera, i file di sola lettura) e

Dettagli

I/O FILE. Sommario I/O FILE. I/O FILE LETTURA DA FILE DI TESTO oggetto di tipo ifstream. I/O FILE: lettura e scrittura su file di testo

I/O FILE. Sommario I/O FILE. I/O FILE LETTURA DA FILE DI TESTO oggetto di tipo ifstream. I/O FILE: lettura e scrittura su file di testo Sommario I/O FILE: lettura e scrittura su file di testo Funzioni: Overloading Argomenti di default I/O FILE Per eseguire operazioni di I/O su file, si deve includere nel programma l header Tale

Dettagli

Corso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica

Corso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica Corso di Fondamenti di Informatica Puntatori e Allocazione Dinamica I puntatori (Richiamo) Il C++ prevede puntatori a dati di qualsiasi natura, semplici o strutturati e puntatori a funzione. In particolare

Dettagli

Esercitazione di Reti degli elaboratori

Esercitazione di Reti degli elaboratori Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione

Dettagli

Gestione dei file in C

Gestione dei file in C Gestione dei file in C Fondamenti di Informatica Che cos è un file e a cosa serve? Memoria di massa vs memoria centrale q La memoria di massa (disco fisso) è un dispositivo di memorizzazione generalmente

Dettagli