Gestione di files Motivazioni
|
|
- Mariangela Valentini
- 8 anni fa
- Visualizzazioni
Transcript
1 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) una sequenza di caratteri sullo schermo (o stampante) Problema: I dati in ingresso e i risultati prodotti sono "volatili si potrebbe voler conservare i risultati prodotti (per usi futuri) si potrebbe voler conservare i dati in ingresso (per poterli riutilizzare in una nuova esecuzione,.) Definizione di File Un File è "insieme di dati" organizzati secondo una certa struttura, identificato da un nome, e memorizzato in memoria secondaria. FILE FILE DEFINIZIONE: E' una struttura di dati memorizzata su memoria di massa (nastro o disco). E' un insieme di record logici, dove un record è una struttura costituita da più dati anche non omogenei tra loro. Non c'è un limite al numero di record che possono essere contenuti nel file. I tipi di files gestiti dal C++ sono: File di testo (text file) inform. lette e scritte come caratteri (archivi con record a lunghezza variabile) File binario (binary file) dati rappresentati secondo il formato interno della macchina. (archivi con record a lunghezza fissa) 1
2 file di caratteri (testo): costruito dall'utente usando un editor di testi prodotto da un programma in esecuzione (p.es. risultati di un programma C++) La gestione dei file comprende varie operazioni: Apertura si crea un collegamento tra la memoria centrale e il file che risiede sulla m. di massa Lettura copia in memoria centrale i dati del file che si trovano nella m. di massa Consultazione reperimento delle informazioni Scrittura trasferimento nella memoria di massa dei dati che si trovano sulla m. centrale Chiusura interrompe il collegamento tra m. centrale e memoria di massa. Lettura e scrittura in un file di testo Scrittura su file (Output) Lettura da file (Input) Scrittura in coda ad un file (Append) Gestione di un file di testo (esercizio) 1. Creazione di un archivio con i nomi degli amici Il file fisico sarà amici.dat 2. Lettura del contenuto del file e stampa a video delle informazioni 2 3. Aggiunta di dati nel file esistente amici.dat in coda in modalità append
3 1. Creazione del file ed inserimento //creaamici.cpp: Creazione Archivio #include <iostream> #include <fstream> #include <string> using namespace std; int main() { nome fisico del file string nome; ofstream fout( amici.dat );// apertura in scrittura del file nome logico del file cout<< Inserisci i nomi: <<endl; cout<< uno per riga(ctr+z per term) <<end; while(cin>>nome) { fout<<nome<<endl; //scrive su file fout.close(); //chiude file return 0; 3
4 Approfondimento: Files in C++: dichiarazione Gestione dell'ingresso/uscita su file in un programma C++: (1) includere la libreria <fstream> (2) dichiarare (una o più) variabili di "tipo file (es. fstream file_dati; ) tipi consentiti: ifstream: variabile file di sola lettura ofstream: variabile file di sola scrittura fstream: variabile file di lettura/scrittura (3) associare una variabile di tipo file a un oggetto di tipo file (tramite la funzione open()) (es. file_dati.open( c:\dati00.txt ); Ritorniamo all'esercizio Lettura del file creato e stampa a video del contenuto //leggiamici.cpp: lettura del file creato e visualizzazione a video #include <iostream> #include <fstream> #include <string> using namespace std; int main() {string nome; ifstream fin( amici.dat );// apertura del file in lettura while(fin>>nome)//legge dal file fino alla fine { cout<<nome<<endl; //scrive a video nome fin.close(); //chiude file Return 0; 4
5 3. Aggiunta di dati nel file esistente //aggiungiamici.cpp: aggiunta di nuovi nomi #include <iostream> #include <fstream> #include <string> using namespace std; int main() {string nome; ofstream fout( amici.dat, ios::app);// apertura del file in append cout<< Inserisci nuovi nomi: <<endl; cout<< uno per riga(ctr+z per term) <<end; while(cin>>nome) { fout<<nome<<endl; //scrive su file fout.close(); //chiude file Return 0; Apertura esplicita di un file ofstream fout; fout.open( amici.dat, ios::out); ifstream fin; fin.open( amici.dat, ios::in); ofstream fout; 5
6 fout.open( amici.dat, ios::app); Gestione errori su file Nei programmi che utilizzano file è opportuno aggiungere opportuni controlli per eventuali errori che si possono presentare durante l APERTURA DEL FILE: FILE NON ESISTENTE ERRORE PER UN ACCESSO NON CORRETTO ALLA MEMORIA DI MASSA Esistono due modalità Prima modalità If(!nomestream){ cout<< Errore nell apertura del file <<endl; Nell esempio di lettura dell archivio amici.dat if(!fin){ cout<< Errore nell apertura del file <<endl; else { while(fin>>nome)//legge dal file fino alla fine { cout<<nome<<endl; //scrive a video nome fin.close(); //chiude file Return 0; 6
7 Seconda modalità viene usato il metodo fail() che restituisce true se si verifica un errore su file if(nomestream.fail()){ cout<< Errore nell apertura del file <<endl; else {. Controllo sulla fine del file 1 metodo while (fin>>variabile) 2 metodo Uso del metodo eof() Sintassi per uso eof() nomestream>> variabile while(!nomestream.eof()) {cout<<variabile<<endl; nomestream>>variabile; Esercizio: Gestione di una rubrica telefonica con nome e telefono attraverso un menù 7
8 la scrittura sulla rubrica avviene nome e telefono uno di seguito all altro: archivio<<nome<< <<telefono<<endl<<; //rubrica.cpp #include <iostream> #include <fstream> #include <string> using namespace std; const string NOMEARCH= rubrica.dat ; //nome fisico dichiarato come costante fstream archivio; string nome, telefono; //Procedura che crea la rubrica Void crea() { archivio.open(nomearch.c_str(),ios::out); cout<< inserisci un nome *=fine): ; cin>>nome; while(nome!= * ){ cout<< Telefono: ; cin>>telefono; archivio<<nome<< <<telefono<<endl; cout<< inserisci un altro nome(*=fine) ; cin>>nome; Archivio.close(); Realizza la procedura : 8 Aggiungi() che aggiunge un nome e un telefono Visualizza() che mostra il contenuto del file Ricerca() che dato un nome lo cerca e se presente stampa il telefono
9 Soluzione #include <iostream> #include <fstream> #include <string> using namespace std; const string rubrica="rubrica.dat"; fstream archivio; string nome,cognome,tel; void crea() { archivio.open(rubrica.c_str(), ios::out); archivio.close(); void aggiungi() { archivio.open(rubrica.c_str(), ios::app ios::out); cout<<"inserisci cognome * per finire"<<endl; cin>>cognome; while(cognome!="*"){ cout<<"nome:"; cin>>nome; cout<<"telefono:"; cin>>tel; archivio<<cognome<<" "<<nome<<" "<<tel<<endl; cout<<"inserisci un altro cognome(*=fine)"; cin>>cognome; archivio.close(); void visualizza() 9 { archivio.open(rubrica.c_str(), ios::in);
10 while(archivio>>cognome>>nome>>tel){ cout<<cognome<<" "<<nome<<" "<<tel<<endl; archivio.close(); void ricerca(string c, string n) { bool trovato=false; archivio.open(rubrica.c_str(), ios::in); archivio>>cognome>>nome; while(!archivio.eof() &&!trovato) {archivio>>tel; if((cognome==c)&&(nome==n)) { cout<<"contatto trovato con tel:"<<tel<<endl; trovato=true; archivio>>cognome>>nome; if(!trovato) cout<<"contatto inesistente!"; archivio.close(); void menu() {cout<<"1 esci"<<endl; cout<<"2 aggiungi contatti"<<endl; cout<<"3 visualizza"<<endl; cout<<"4 ricerca"<<endl<<endl; int main() {string co,no; 10
11 int scelta=10; crea(); while(scelta!=1) { menu(); cout<<"scelta="; cin>>scelta; cout<<endl; switch(scelta) { case 1: break; case 2: aggiungi(); break; case 3: visualizza(); break; case 4: cout<<"inserisci cognome e nome da cercare:"; cin>>co>>no; ricerca(co,no); break; return 0; 11
12 File binari Accesso a file con record di lunghezza costante Struct Persona { int id; char nome[50];//nome e cognome Double stipendio; ; persona dipendente; Accesso a file binari... fstream nomestream; nomestream.open(nomefile, ios::binary); Tipo di accesso a binary file: 1. Sequenziale scrivere o leggere dal primo record 2. Diretto posizionamento su uno specifico record Lettura e scrittura sequenziali su file binario nomestream.write(variabile, sizeof(variabile)); nomestream.read(variabile, sizeof(variabile)); Fare attenzione il metodo deve ricevere un puntatore a carattere per cui si effettua un casting sul record nomestream.write(variabile, sizeof(variabile)); nomestream.read(variabile, sizeof(variabile)); Fare attenzione il metodo deve ricevere un puntatore a carattere per cui si effettua un casting sul record SCRITTURA... nomestream.write((char*) &variabile, sizeof(variabile)); LETTURA... nomestream.read((char*) &variabile, sizeof(variabile)); 12
13 13 Creazione archivio dipendenti Costruisci un creadipendenti.cpp che apre il file binario in scrittura e lo richiude Il file fisico sarà anagrafe.dat Costruiamo ora un file inserisci dipendenti.cpp (in append) avendo inserito tutte le librerie e la definizione del record persona... int main() { fstream fout; fout.open( anagrafe.dat", ios::app ios::binary); if (!fout) { cout<< Error <<endl; else { cout<< matricola dip(0 per finire) : ; cin>>dipendente.id; while(dipendente.id!=0) { cin.ignore(80, \n ); cout<< cognome e nome dip: ; cin.getline(dipendente.nome,50); cout<< stipendio in euro: ; cin>>dipendente.stipendio; fout.write((char *) &dipendente, sizeof(dipendente)); cout<< inserisci matricola nuovo dip (0 per finire): ; cin>>dipendente.id; fout.close(); spiegazioni significative al codice: cin.ignore(80, \n );elimina il carattere di terminazione. Rimuove tutti i caratteri dal buffer di input fino a quando non
14 incontra il primo carattere newline. Il numero 80 indica il numero massimo di caratteri di una riga. Si mette dopo una lettura con cin>>. Elimina il carattere di terminazione per poter usare il metodo getline() di cin successivamente cin.getline(dipendente.nome,50) gestisce gli ingressi di stringhe di caratteri che possono avere anche spazi bianchi, si indica anche il numero massimo di caratteri L operatore >> trascura gli spazi, le tabulazioni e i caratteri di fine riga Esercizio: Visualizza i dipendenti registrati Attività di progetto per il laboratorio: Le informazioni relative ai partecipanti alle gare studentesche di atletica vengono registrate in un archivio ad accesso sequenziale. 1. Costruire il file binario creaarchiviogs.cpp 2. Costruire una procedura che inserisce atleti nell archivio 3. Costruire una procedura che stampi a video gli atleti registrati nell archivio 4. Costruire una funzione che ci dica quanti 15enni partecipano alle gare. Il tutto deve prevedere un menù di scelta iterata Ricapitolando..Metodi su file di testo e binari operazioni Metodi/operatori File di File testo binario Apertura open().. scrittura <<. scrittura write(). lettura read(). lettura >>. chiusura close().. 14
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)
DettagliGestione 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
DettagliConcetto 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
DettagliInformatica 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
DettagliINFORMATICA 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
Dettagliingresso/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)
Dettagliingresso/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)
DettagliIL 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
DettagliHo 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
Dettagli4. 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
DettagliLaboratorio di Informatica
Gli stream in C++ Laboratorio di Informatica 8. Gestione I/O e file in C++ Corso di Laurea in Ingegneria Elettronica e Telecomunicazioni A.A. 2013-2014 2 Semestre Prof. Giovanni Pascoschi stream è un astrazione
DettagliFondamenti 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
DettagliI file. Record logici e record fisici
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
DettagliStandard 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
Dettagli2) 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
DettagliLa 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
DettagliCorso 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
DettagliLaboratorio 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
DettagliI files in C. A cura del prof. Ghezzi
I files in C A cura del prof. Ghezzi 1 Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali 2 Files e S.O. I files
DettagliGestione 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è
DettagliFILE 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).
DettagliPerchè i files? Realizzano la persistenza dei dati. Sono delle strutture di dati sequenziali. dati che sopravvivono all esecuzione del programma
Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali Files e S.O. I files sono gestiti dal S.O. e resi visibili
DettagliFondamenti di Informatica II 24. Gestione I/O e File in C++
Gli stream in C++ stream è un astrazione che rappresenta un flusso di dati che scorre tra una sorgente e una destinazione idea di Stroustrup : una sequenza di caratteri Fondamenti di Informatica II 24.
DettagliFile. 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#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
Dettagliciclo 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
DettagliText 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
DettagliFondamenti 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
DettagliProgrammazione 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
DettagliInformatica (A-K) 23. Linguaggio C -8
Modalità di accesso ai file Informatica (A-K) 23. Linguaggio C -8 Accesso sequenziale: in fase di lettura i dati possono essere ritrovati (sequenzialmente) scorrendo tutti i record del file a partire dal
DettagliL AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 2 La Lista G. Mecca M. Samela Università della Basilicata Strutture di Dati: Lista >> Sommario Sommario Introduzione Definizione di
DettagliGestione 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
DettagliISTITUTO 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++ è
DettagliInput/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
DettagliOperazioni su file di caratteri
Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si
DettagliQualsiasi 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
DettagliLaboratorio 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
DettagliCorso 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.
DettagliI 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
DettagliLaboratorio di Informatica
Liste semplici (semplicemente linkate) Una lista semplice e costituita da nodi Laboratorio di Informatica 7. Strutture complesse di dati in C++ Ogni nodo e una struttura che contiene : Dati Un riferimento
DettagliQualsiasi 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
DettagliScrittura 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
DettagliCorso 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
DettagliA. 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
DettagliInput/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
DettagliUno stream rappresenta un flusso di dati da cui e' possibile
L'I/O in C++ e' basato sul concetto di stream. Uno stream rappresenta un flusso di dati da cui e' possibile prelevare caratteri (input stream) inserire caratteri (output stream) I vari tipi di stream sono
DettagliL 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
DettagliGestione 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
DettagliPassaggio di parametri per valore
Passaggio di parametri per valore #include using namespace std; int main() { int z, x = 1; z = ; cout
DettagliClasse 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
DettagliTrasformare 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
DettagliFondamenti di Informatica L-A
Fondamenti di Informatica L-A Esercitazione del 23/11/07 Ing. Giorgio Villani Ripasso Teoria Funzioni ricorsive 2 fatt(2) 1 2*fatt(1) fatt(1) 1 2*1 1*fatt(0) fatt(0) 1*1 caso base fatt(0)=1 Esercizio 1
DettagliUniversità 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
DettagliProgrammazione I Prova scritta - 18 febbraio h20min
Programmazione I Prova scritta - 18 febbraio 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
DettagliTrasformare 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
DettagliGestire 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
DettagliTrasformare 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
DettagliFondamenti di Informatica
Strutture dati complesse Esempi di strutture dati complesse analizzate in questa lezione: Fondamenti di Informatica 21. Strutture di dati complesse in C++ Array di puntatori Pila (Stack) Coda (queue) Liste
DettagliGestione 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
DettagliFILE 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
DettagliCorso 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
Dettaglifile 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
DettagliBreve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
DettagliFile 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
DettagliPrimo programma in C
Primo programma in C Struttura minima di un file C Applicazioni C in modo console Struttura del programma Commenti Direttive #include Definizione di variabili Corpo del main 2 Struttura minima di un file
DettagliInformatica/ 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
DettagliESERCIZIO 1. AZ111 milano 12:34 23 AZ222 buenos-aires 12: BA333 toronto 4:15 20 KM444 madrid 10:12 100
ESERCIZIO 1 Scrivete un programma per la gestione delle informazioni relative ai voli giornalieri in partenza da un certo aeroporto. Il programma deve leggere da file le informazioni relative ai voli,
Dettagli1. 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
DettagliCorso di Programmazione ad oggetti
Corso di Programmazione ad oggetti Il sistema di I/O del C++ a.a. 2008/2009 Claudio De Stefano 1 Il Modello di Von Neumann Il Modello di Von Neumann prevede che la CPU carichi in maniera sequenziale i
DettagliI 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
DettagliCorso 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
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA8 B1 Accesso sequenziale 1 Prerequisiti Programmazione ad oggetti Conoscenza classi di base di I/O Tecnica della programmazione 2 1 Introduzione In questa Unità vediamo
DettagliGestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132
Gestione dei files Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Struttura del disco fisso Un disco fisso è composto da una serie di piatti sovrapposti Ogni piatto è
DettagliFunzioni di libreria. Richiedono tutte. #include <math.h> fabs(x) sqrt(x) pow(x,a) exp(x) log(x)
Funzioni di libreria Richiedono tutte #include x x a x fabs(x) sqrt(x) pow(x,a) x e ln(x) exp(x) log(x) log 10 ( x ) log10(x) sen(x) cos(x) tg(x) arcsen(x) arccos(x) arctg(x) senh(x) cosh(x) tgh(x)
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
DettagliGestione 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
DettagliTipi 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
DettagliIl C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliStruttura di un linguaggio
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliLe 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
DettagliIntroduzione alla programmazione. Alice Pavarani
Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello
DettagliDati due punti sul piano calcolare la loro distanza
Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12
DettagliCorso di Informatica A.A
Corso di Informatica A.A. 2009-2010 Lezione 13 Corso di Informatica 2009-2010 Lezione 13 1 Input/output da file Stream Si definisce stream una sequenza di bytes di dati che può essere in ingresso (input
DettagliFile e puntatori a file
File e puntatori a file Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di
DettagliProva Scritta del 20/09/10
Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da solo da un lato se si vogliono avere le fotocopie del compito. In testa a ciascun
DettagliInput/Output Input = clienti.bin, n (funzione richiesta dall utente), Cognome (per il punto 1) Output = dati_cliente, top10, sconti
Fondamenti di Informatica L-A (Elettronica/Automazione) A.A. 2005/2006, terzo scritto (18/1/2005) Proposta di soluzione (ragionata) dell esercizio di progetto Input/Output Input = clienti.bin, n (funzione
DettagliLe stringhe in C++ Utilizzo della classe string in un programma C++ Alessandro Bugatti 31 ottobre 2007
Le stringhe in C++ Alessandro Bugatti 31 ottobre 2007 Tutto dovrebbe essere fatto nel modo più semplice possibile, ma non più semplicemente di così. Albert Einstein Le stringhe nel linguaggio C vengono
DettagliLettura e scrittura di file di dati input/output
Lettura e scrittura di file di dati input/output Lettura e scrittura da disco Molto semplice in C++: si fa esattamente come se fosse una tastiera (se sto leggendo da disco) o lo schermo (se sto scrivendo
DettagliGestione 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
DettagliEsercitazione 4. Gestione dei file in Unix
Esercitazione 4 Gestione dei file in Unix Primitive fondamentali (1/2) open close Apre il file specificato e restituisce il suo file descriptor (fd) Crea una nuova entry nella tabella dei file aperti di
DettagliELEMENTI DI INFORMATICA. Linguaggio C
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica ELEMENTI DI INFORMATICA http://agile.diee.unica.it A.A. 2015/2016 Ing. Marco Ortu Diee, secondo piano Tel. 070-6755774 mail:
DettagliEsercizi sui file. Esercizio 1. Soluzione. Domenico Cotroneo Dipartimento di Informatica e Sistemistica
Esercizi sui file Domenico Cotroneo Dipartimento di Informatica e Sistemistica Esercizio 1 Si implementi un programma in C concorrente nel quale siano presenti tre processi distinti: un processo P1 che
DettagliVerifica 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
DettagliI 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
DettagliStrutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici.
Operatori di incremento e decremento ++ e -- Esempi y=x++ il contenuto della variabile x viene inizialmente usata per l assegnazione y, e solo dopo incrementata y=--x il contenuto della variabile x viene
DettagliEsercitazioni Informatica Novembre Gruppo A 24 Novembre Gruppo B. Esercizi
Esercitazioni Informatica 1 17 Novembre Gruppo A 24 Novembre Gruppo B Esercizi 1 - Scrivere un programma che acquisita una frase permetta a scelta dell'utente di 1. Stamparla 2. Stamparla invertita 3.
Dettagli#include <iostream> #include <cstring> #include <fstream> using namespace std; struct elem{ char parola[31]; elem *pun; };
#include #include #include using namespace std; struct elem{ char parola[31]; elem *pun; ; struct Dizionario{ elem *testa; ; void inizializzadizionario(dizionario &D){ D.testa
Dettagli