Esercitazioni di Fondamenti di Informatica - Lez. 9 4/12/2018

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esercitazioni di Fondamenti di Informatica - Lez. 9 4/12/2018"

Transcript

1 Esercitazioni di Fondamenti di Informatica - Lez. 9 /1/018 Esercizi sulla gestione dei file in C Il codice degli esercizi e contenuto nella cartella parte1 1. Creare una funzione C che legga tutto cio che viene scritto sullo standard input e riporti ogni carattere letto su un file passato come argomento. La lettura continua fino alla lettura di un carattere terminatore $ Soluzione: 3 void r e a d s t d i n ( FILE f i l e ){ 5 6 char c ; 7 do{ 8 c=g e tchar ( ) ; 9 if ( c!=eof && c!= $ ){ 10 f p u t c ( c, f i l e ) ; 11 } } while ( c!= $ && c!= EOF ) ; } int main ( ) { 0 1 FILE f i l e ; 3 if ( ( f i l e = fopen ( "log.txt", "w"))==null){ puts ( " Non e stato possibile aprire il file" ) ; 5 e x i t ( 1 ) ; 6 } 7 r e a d s t d i n ( f i l e ) ; 8 f c l o s e ( f i l e ) ; }. Data la struttura Rubrica, creare una funzione C che dati come parametri una rubrica e un file aperto in modalita binaria salvi sul file l array di contatti, e una funzione che dato un file e una rubrica, recuperi dal file i contatti salvati 0 #d e f i n e MAXNOME 30 1 #d e f i n e MAX TEL 11 3 typedef struct { char nome [MAX NOME] ; 5 char t e l e f o n o [MAX TEL ] ; 6 } Contatto ; 7

2 8 #d e f i n e MAX CONTATTI typedef struct { 10 Contatto c o n t a t t i [MAX CONTATTI ] ; 11 int numero contatti ; 1 } Rubrica ; Soluzione: 1 #include <s t r i n g. h> #include <s t d l i b. h> 3 5 #d e f i n e MAXNOME 30 6 #d e f i n e MAX TEL 11 7 #d e f i n e MAX CONTATTI typedef struct { 11 1 char nome [MAX NOME] ; 13 char t e l e f o n o [MAX TEL ] ; 1 } Contatto ; typedef struct { Contatto c o n t a t t i [MAX CONTATTI ] ; 19 int numero contatti ; 0 1 } Rubrica ; 3 5 /* Salva l array di contatti su un file binario */ 6 7 void s a l v a ( FILE f i l e, Rubrica r u b r i c a ){ 8 9 f w r i t e ( r u b r i c a. c o n t a t t i, sizeof ( Contatto ), 30 r u b r i c a. numero contatti, f i l e ) ; 31 /* 3 33 size_t fwrite( const void * ptr, size_t size, size_t nmemb, 3 FILE *stream ); 35 La funzione fwrite () scrive su stream nmemb elementi, 36 ciascuno di dimensione size. Il primo elemento e 37 individuato dal puntatore ptr ritorna il numero di elementi scritti. 0 */ 1 } 3 /* Leggere l array di contatti da un file binario */ void r i p r i s t i n a ( FILE f i l e, Rubrica r u b r i c a ){ 5 6 /* Recupero il numero di contatti in base alla 7 dimensione del file 8 */ 9 f s e e k ( f i l e, 0,SEEK END ) ; 50

3 51 /* 5 int fseek( FILE * stream, long offset, int whence ); 53 La funzione fseek () imposta l indicatore di posizione del file. 5 La prossima operazione di I/O su stream verra eseguita dalla 55 nuova posizione impostata. La posizione e calcolata aggiungendo 56 offset ( che puo assumere anche valori negativi ) a whence. 57 whence puo valere SEEK_SET, SEEK_CUR o SEEK_END per 58 specificare rispettivamente il riferimento dall inizio 59 file, dalla posizione corrente o dalla fine file. 60 In caso di successo, fseek () ritorna 0 e viene cancellato 61 l indicatore di fine file. In caso di fallimento ritorna */ 63 rubrica >numero contatti = f t e l l ( f i l e )/ sizeof ( Contatto ) ; 6 65 /* 66 La funzione ftell () ritorna il valore corrente dell indicatore 67 di posizione del file associato a stream. 68 */ /* 71 Ricomincio la lettura dall inizio del file 7 */ 73 rewind ( f i l e ) ; 7 75 /* Leggo i contatti */ 76 f r e a d ( rubrica >c o n t a t t i, sizeof ( Contatto ), 77 rubrica >numero contatti, f i l e ) ; 78 } int main ( ) { 81 8 Rubrica r u b r i c a 1 = { 83 {{"Mario", "000000" }, 8 {" Filippo ", "000001" }, 85 {"Giulia", "00000" }}, } ; 88 FILE f i l e ; 89 if ( ( f i l e =fopen ( " rubrica.bin", "wb"))==null){ 90 puts ( " Non e possibile aprire il file in scrittura " ) ; 91 e x i t ( 1 ) ; 9 } 93 s a l v a ( f i l e, r u b r i c a 1 ) ; 9 f c l o s e ( f i l e ) ; /* Dichiaro un altra struttura rubrica */ 97 Rubrica r u b r i c a ; 98 int i ; 99 FILE f i l e ; 100 if ( ( f i l e =fopen ( " rubrica.bin", "rb"))==null){ 101 puts ( " Non e possibile aprire il file in lettura " ) ; 10 e x i t ( 1 ) ; 103 } 10 r i p r i s t i n a ( f i l e,& r u b r i c a ) ; 105 f c l o s e ( f i l e ) ; 106 for ( i =0; i <r u b r i c a. numero contatti ; i ++){ 107 p r i n t f ( "%s - %s\n", r u b r i c a. c o n t a t t i [ i ]. nome, 108 r u b r i c a. c o n t a t t i [ i ]. t e l e f o n o ) ; 109 }

4 } 3. Dato un file di testo aperto in lettura, controllare se il testo contenuto e un palindromo. Soluzione: 3 typedef enum {FALSE,TRUE} b o o l ; 5 bool palindromo ( FILE f i l e ){ 6 int count = 0 ; 7 char i n i z i o, f i n e ; rewind ( f i l e ) ; /* 15 Leggo un carattere all inizio del file 16 */ 17 while ( ( i n i z i o=f g e t c ( f i l e ) )!=EOF){ 18 count ++; 19 /* 0 Mi sposto alla fine del file 1 */ f s e e k ( f i l e, count sizeof ( char ),SEEK END ) ; 3 /* N.B. a questo punto count e stato incrementato, quindi non leggero 5 EOF come primo carattere alla prima 6 lettura */ 7 8 /* Leggo un carattere */ 9 f i n e = f g e t c ( f i l e ) ; 30 if ( i n i z i o!= f i n e ){ 31 return FALSE; 3 } 33 /* 3 Mi riposiziono all inizio del file 35 N.B. count e gia stato incrementato 36 */ 37 f s e e k ( f i l e, count sizeof ( char ),SEEK SET ) ; 38 /* 39 N.B. Quando mi riposiziono all inizio 0 o alla fine del file devo usare 1 un contatore per sapere quanti caratteri saltare 3 */ } 5 6 return TRUE; 7 } int main ( ) {

5 51 5 FILE f ; 53 5 if ( ( f=fopen ( " palindromo.txt", "r"))==null){ 55 puts ( " Non e possibile aprire il file" ) ; 56 e x i t ( 1 ) ; 57 } if ( palindromo ( f ) ) { 60 p r i n t f ( "Testo palindromo \n" ) ; 61 } 6 else{ 63 p r i n t f ( "Testo non palindromo \n" ) ; 6 f c l o s e ( f ) ; 65 } 66 }. Scrivere una funzione C che ha come unico parametro un file testuale contenente una lista di interi (intervallati da uno spazio), dove il primo intero indica quanti interi sono contenuti. La funzione deve leggere gli interi e aggiungere al file la media dei valori letti. Dare anche un esempio del mail chiamante la funzione 3 5 void media ( FILE f i l e ){ 6 7 int n u m e r o i nteri, i n d i c e, n ; 8 double media = 0 ; 9 10 rewind ( f i l e ) ; 11 1 /* 13 Leggo il numero n di interi contenuti 1 */ 15 f s c a n f ( f i l e, "%d",& n u m e r o i n t e r i ) ; /* 18 Leggo iterativamente n interi 19 */ 0 for ( i n d i c e =0; i n d i c e <n u m e r o i n t e r i ; i n d i c e ++){ 1 f s c a n f ( f i l e, "%d",&n ) ; media+=n ; 3 } media /=n u m e r o i n t e r i ; 5 /* 6 Stampo la media in un formato appropriato 7 */ 8 f p r i n t f ( f i l e, " %.f", media ) ; 9 } int main ( ) { 33 3 FILE f ; 35 if ( ( f=fopen ( "media.txt", "r+"))==null){ 36 puts ( "Errore apertura file" ) ;

6 37 e x i t ( 1 ) ; 38 /* r+ apre un file e abilita update 39 w+ apre file e cancella i contenuti 0 se non esiste lo crea 1 */ } 3 media ( f ) ; f c l o s e ( f ) ; 5 } 5. Scrivere una funzione C che prende come argomenti una parola e un file (di testo) ed effettua la ricerca di tale parola all interno del file. Il testo contiene solo lettere e spazi. La funzione deve restituire il numero di occorrenze della parola. Es: la ricerca della parola asso nel seguente testo ASSO asso sasso asso deve restituire come valore di ritorno della funzione. Soluzione: #include <s t r i n g. h> 3 5 /* 6 Funzione che recupera una parola dal file 7 ( alternativa alla fscanf di una stringa ) 8 void sottostringa ( FILE * file, char * parola) { 9 int indice = 0; 10 char c; 11 do { 1 c = fgetc( file ); 13 if(c == c == EOF) 1 parola[ indice] = \0 ; 15 else 16 parola[ indice] = c; 17 indice ++; 18 } while(c!= && c!= EOF ); 19 } 0 */ 1 int r i c e r c a ( char parola, FILE f i l e ){ 3 char s [ ] ; int n=0; 5 6 rewind ( f i l e ) ; 7 do{ 8 /* sottostringa (file,s);*/ 9 f s c a n f ( f i l e, "%s", s ) ; /* 3 Confronto la parola da cercare 33 e quella letta 3 */ 35 if ( strcmp ( s, p a r o l a )==0){ 36 n++; 37 } 38 } while (! f e o f ( f i l e ) ) ;

7 39 0 return n ; 1 } 3 int main ( ) { 5 FILE f i l e ; 6 7 if ( ( f i l e = fopen ( " ricerca.txt", "r"))==null){ 8 puts ( "Errore apertura file" ) ; 9 e x i t ( 1 ) ; 50 } 51 p r i n t f ( "Numero occorrenze : %d\n", r i c e r c a ( "asso", f i l e ) ) ; 5 53 f c l o s e ( f i l e ) ; 5 } 6. Scrivere in C una funzione che legge un file di numeri interi e restituisce un nuovo file (numeripari). Questo deve contenere i soli numeri pari letti, ma memorizzati in ordine inverso.ad esempio, se il file originario contenesse: 1,, 3,, 5, 6, 7, 8, il nuovo file dovrebbe contenere: 8, 6,,. Il parametro della funzione e il valore restituito non devono essere nomi di file, ma i file stessi. Soluzione: 3 /* Funzione ricorsiva ausiliaria */ void n u m P a r i r i c o r s i v a (FILE input, FILE output ){ 5 int i ; 6 /* Legge un intero */ 7 if ( f r e a d (&i, sizeof ( int ), 1, input )!=0){ 8 /* 9 Richiama se stessa in modo ricorsivo 10 ( stampa quindi prima il prossimo intero) 11 */ 1 n u m P a r i r i c o r s i v a ( input, output ) ; 13 if ( i %==0){ 1 /* 15 Stampa l intero pari letto dopo aver 16 terminato la chiamata ricorsiva 17 */ 18 f w r i t e (&i, sizeof ( int ), 1, output ) ; 19 } 0 } 1 } 3 /* Funzione principale che crea il file di output e 5 richiama la funzione ricorsiva 6 */ 7 FILE numpari ( FILE input ){ 8 FILE output ; 9 30 if ( ( output = fopen ( " numeripari ", "rb+" ) ) == NULL){ 31 return NULL; 3 } 33 rewind ( input ) ; 3 n u m P a r i r i c o r s i v a ( input, output ) ;

8 35 return output ; } int main ( ) { 0 1 FILE input, output ; int n ; 3 /* Generiamo un file binario contenente gli interi 5 da 1 a */ 7 if ( ( output=fopen ( " numeri_contrario ", "wb"))==null){ 8 puts ( "Errore lettura file" ) ; 9 e x i t ( 1 ) ; 50 } 51 int i ; 5 for ( i =1; i <=100; i ++){ 53 f w r i t e (&i, sizeof ( int ), 1, output ) ; 5 } 55 f c l o s e ( output ) ; /* 58 Stampiamo a stdin il file appena generato 59 */ if ( ( input=fopen ( " numeri_contrario ", "rb"))==null){ 63 puts ( " Errrore lettura file" ) ; 6 e x i t ( 1 ) ; 65 } /* Stampiamo il file di input */ 68 p r i n t f ( "INPUT\n" ) ; 69 while ( f r e a d (&n, sizeof ( int ), 1, input )!=0){ 70 p r i n t f ( " %d ", n ) ; 71 } 7 73 output = numpari ( input ) ; 7 f c l o s e ( input ) ; /* stampiamo il file generato */ 78 if ( output!=null){ 79 p r i n t f ( "\n OUTPUT \n" ) ; 80 rewind ( output ) ; 81 f r e a d (&n, sizeof ( int ), 1, output ) ; 8 while 83 ( f r e a d (&n, sizeof ( int ), 1, output )!=0){ 8 p r i n t f ( " %d ", n ) ; 85 } 86 p r i n t f ( "\n" ) ; 87 f c l o s e ( output ) ; 88 } } 7. Scrivere una funzione C che dato un file di interi e un intero n (entrambi passati come parametri),

9 modifichi i numeri contenuti nel file dividendoli per n. Il risultato di ogni divisione deve essere arrotondato al primo intero inferiore #d e f i n e NUM LEN void d i v i d i ( FILE f i l e, int n ){ 6 7 int i ; 8 /* Legge tutti i numeri 9 contenuti nel file 10 */ 11 while ( f r e a d (&i, sizeof ( int ), 1, f i l e )!=0){ 1 i /=n ; /* Divide il numero letto */ 13 /* 1 Ritorna indietro nel file 15 */ 16 f s e e k ( f i l e, sizeof ( int ),SEEK CUR ) ; 17 /* 18 E sovrascrive il numero letto 19 */ 0 f w r i t e (&i, sizeof ( int ), 1, f i l e ) ; 1 } 3 } 5 int main ( ) { 6 7 FILE f i l e ; 8 9 /* 30 Generiamo un file binario contenente 31 gli interi da 1 a 10 3 */ 33 3 int numbers [NUM LEN] = { 1,, 3,, 5, 6, 7, 8, 9, 1 0 } ; if ( ( f i l e = fopen ( "dividi", "wb+"))==null){ 38 puts ( "Errore lettura file" ) ; 39 e x i t ( 1 ) ; 0 } 1 f w r i t e ( numbers, sizeof ( int ),NUM LEN, f i l e ) ; 3 /* Stampiamo il contenuto del file */ rewind ( f i l e ) ; 5 int a [NUM LEN ] ; 6 f r e a d ( a, sizeof ( int ),NUM LEN, f i l e ) ; 7 for ( int i =0; i <NUM LEN; i ++){ 8 p r i n t f ( " %d ", a [ i ] ) ; 9 } 50 f c l o s e ( f i l e ) ; /* apriamo il file appena generato */ 55 if ( ( f i l e = fopen ( "dividi", "rb+"))==null){

10 56 puts ( "Errore lettura file" ) ; 57 e x i t ( 1 ) ; 58 } /* 61 eseguiamo la funzione dividi sul file 6 e stampiamo il risultato 63 */ 6 65 d i v i d i ( f i l e, 3 ) ; 66 rewind ( f i l e ) ; 67 int i ; 68 p r i n t f ( "\n" ) ; 69 while ( f r e a d (&i, sizeof ( int ), 1, f i l e )!=0){ 70 p r i n t f ( " %d ", i ) ; 71 } 7 73 f c l o s e ( f i l e ) ; 7 p r i n t f ( "\n" ) ; 75 } Esercizi su Python Il codice degli esercizi e contenuto nella cartella parte 1. Cosa stampa il seguente codice Python? 0 1 for in range ( 5 ) : #r i p e t e i l c i c l o 5 v o l t e l =10 3 print ( *, end= ) print ( l ) # stampa i l v a l o r e d e l l a v a r i a b i l e l 5 # l a v i s i b i l i t a d i l non e s o l o i n t e r n a a l c i c l o. Cosa stampa il seguente codice Python? 0 1 l i s t a = [ 5 ] 5 # Crea una l i s t a [ 5, 5, 5, 5, 5 ] 3 #I l c i c l o f o r i t e r a per ogni elemento d e l l a l i s t a [ n5, n5, n5, # n5, n5 ] 5 6 for i in [ n%d % j for j in l i s t a ] : 7 print ( i ) 3. Cosa stampa il seguente codice Python? 0 1 l i s t a 1 = [ 6 ] 5 # Crea una l i s t a [ 6, 6, 6, 6, 6 ] l i s t a = l i s t a 1 #Copia i l r i f e r i m e n t o a l l a l i s t a ( s o l o i l RIFERIMENTO) 3 l i s t a [ 0 ] = 1 #Modifica i l primo elemento d e l l a l i s t a 5 # Dato che entrambe l e v a r i a b i l i fanno r i f e r i m e n t o a l l a s t e s s a l i s t a 6 # e l a l i s t a c r e a t a in r i g a 3 ad e s s e r e m o d i f i c a t a 7 8 for i in l i s t a 1 : 9 print ( i ) 10 # i l c i c l o f o r stampa [ 1, 6, 6, 6, 6 ]

11 . Cosa stampa il seguente codice Python? 0 l i s t a = [ 5 ] 5 # Creo una l i s t a [ 5, 5, 5, 5, 5 ] 1 l i s t a [ 0 ] = 3 # La l i s t a diventa [ 3, 5, 5, 5, 5 ] for i in l i s t a : 3 print ( i )# Stampo t u t t i i v a l o r i d e l l a l i s t a 5 6 print ( "=====" ) 7 8 l i s t a = [ [ 5 ] ] 5 # Creo una l i s t a d i 5 r i f e r i m e n t i a l l a l i s t a [ 5 ] 9 #Ogni elemento d i l i s t a e un r i f e r i m e n t o a l l a l i s t a [ 5 ] 10 l i s t a [ 0 ] [ 0 ] = 3 11 for i in l i s t a : 1 print ( i [ 0 ] ) 13 1 # I l c i c l o f o r produce l a stampa dato che ogni elemento d i 15 # l i s t a 16 # e un r i f e r i m e n t o a l l a s t e s s a i d e n t i c a l i s t a [ 5 ] 17 # I l c o d i c e e e q u i v a l e n t e a 18 # l = [ 5 ] 19 # l i s t a = [ l ] 5 # N.B. copio i l r i f e r i m e n t o, 0 # non i l v a l o r e contenuto n e l l a l i s t a 1 # l [ 0 ] = 3 # f o r i i n l i s t a : 3 # p r i n t ( i [ 0 ] ) 5. Partendo dal seguente dizionario: prezzi = mela : 0.50, banana : 0.60, ananas : 1, fragola : 0. Scrivere un programma Python 3 che definisce una apposito dizionario spesa, pensata in funzione di prezzi, per una spesa specifica, calcola il costo e lo stampa a schermo (usando due cifre decimali per i centesimi di euro). 0 # D i z i o n a r i o p r e z z i 1 p r e z z i = { mela : , banana : , ananas : 1, fragola : 0. } # S t r u t t u r a spesa 3 spesa = { mela : 3, banana : 1, ananas :, fragola : 1 0 } 5 t o t a l e = for prodotto, q u a n t i t a in spesa. items ( ) : 8 t o t a l e +=p r e z z i [ prodotto ] q u a n t i t a 9 10 print ( "Totale spesa %.f" % t o t a l e )

Esercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018

Esercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018 Esercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018 Esercizi sull allocazione dinamica della memoria in C Il codice di questi esercizi é contenuto nella cartella parte1 1. Implementare una lista

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez /12/2018

Esercitazioni di Fondamenti di Informatica - Lez /12/2018 Esercitazioni di Fondamenti di Informatica - Lez. 0 //08 Esercizi su Python. ESAME 3/08/07 es. 6. Scrivere un programma Python 3 che definisce un apposito dizionario che contiene, attraverso le coppie

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

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

Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018

Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018 Esercitazioni di Fondamenti di Informatica - Lez. 30/10/018 Esercizi sulle funzioni in C I codici e le soluzioni degli esercizi sono nella cartella parte1 1. Scrivere i prototipi delle seguenti funzioni.

Dettagli

Il linguaggio C. Breve panoramica su stdio.h

Il linguaggio C. Breve panoramica su stdio.h Il linguaggio C Breve panoramica su stdio.h 1 Input/Output: stdio.h Contiene definizioni di costanti legate all I/O es. EOF (end of file) #define EOF (-1) valore restituito alla fine di un file Contiene

Dettagli

Streams e disk files

Streams e disk files Streams e disk files Streams 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: Testo: sequenza

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

Esercitazione n. 7. Gestione dei file (seconda parte)

Esercitazione n. 7. Gestione dei file (seconda parte) Esercitazione n. 7 Gestione dei file (seconda parte) dott. Carlo Todeschini tode@cremona.polimi.it Politecnico di Milano A.A. 2010/2011 Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non

Dettagli

Fondamenti di Informatica L-A

Fondamenti 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

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

Operazioni su file di caratteri

Operazioni 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

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

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

Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Università di Ferrara Dipartimento di Ingegneria Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Tutor Arnaud Nguembang Fadja: ngmrnd@unife.it Damiano Azzolini: damiano.azzolini@student.unife.it Esercizio

Dettagli

File. Titolo presentazione sottotitolo. Federico Reghenzani

File. Titolo presentazione sottotitolo. Federico Reghenzani File Titolo presentazione sottotitolo Informatica ed Elementi Informatica Medica Milano,diXX mese 20XX Introduzione Memorie e fiesystem (1/3) In un calcolatore possiamo identificare due categorie di memorie:

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

Esercitazioni di Fondamenti Informatica - Modulo A

Esercitazioni di Fondamenti Informatica - Modulo A Il file binario non è altro che una collezione di byte, memorizzata sul file system (ad esempio nell hard disk), che si può leggere sequenzialmente (ma non solo sequenzialmente). Un file di testo è prima

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018

Esercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018 Esercitazioni di Fondamenti di Informatica - Lez. 7 0/11/018 Esercizi sull allocazione dinamica della memoria in C 1. Cosa stampa il seguente programma? 1 #d e f i n e MAXLENGTH 0 4 typedef struct { char

Dettagli

La gestione dei file in C

La gestione dei file in C Gestione dei file La gestione dei file in C Il file è un astrazione molto ampia nella descrizione di un sistema informatico nastro di I/O supporto di comunicazione macchina/ambiente di ogni tipo (sensori,

Dettagli

Allocazione dinamica memoria

Allocazione dinamica memoria Allocazione dinamica memoria Marco Casazza 11/12/2017 1 Esercizio 1 1 /* 2 Creare una lista bidirezionale di interi, ovvero una lista 3 che permette lo scorrimento in entrambe le direzioni ( dal primo

Dettagli

ELEMENTI DI INFORMATICA. Linguaggio C

ELEMENTI 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:

Dettagli

Esercizio 1 File: ordinamento di un archivio di studenti (file binario)

Esercizio 1 File: ordinamento di un archivio di studenti (file binario) Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 9 Esercitazione: 19 gennaio 2005 Esercizi sui file e sulle liste. Scaletta Esercizio 1 File: ordinamento di un archivio

Dettagli

I files in C. A cura del prof. Ghezzi

I 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

Dettagli

Esercitazioni Fondamenti di Informatica

Esercitazioni Fondamenti di Informatica Esercitazioni Fondamenti di Informatica Marco Biagi Esercitazione 10 Email: marco.biagi@unifi.it Stringhe in C Una stringa è una sequenza di caratteri con un ordine prestabilito char c = p ; char stringa[]

Dettagli

Lezione 15. Introduzione

Lezione 15. Introduzione Lezione 15 L elaborazione dei file Introduzione La memorizzazione dei dati nelle variabili e nei vettori è temporanea. I file sono usati per la memorizzazione permanente di grandi quantità di dati. I calcolatori

Dettagli

Indice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale

Indice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale File in C Indice La gestione dei file in C e gli stream Apertura e chiusura di un file Operazioni sui file Accesso sequenziale e non sequenziale Gestione dei file in C In C all interno della standard library

Dettagli

GESTIONE DEI FILE. File come tipo di dati

GESTIONE DEI FILE. File come tipo di dati GESTIONE DEI FILE File come tipo di dati Nel linguaggio C, i file vengono trattati come un tipo di dati derivato, cioè ottenuto dai tipi elementari esistenti. In pratica, quando si apre e si gestisce un

Dettagli

Corso di Fondamenti di Programmazione canale E-O. Introduzione. Elaborazione dei files (2)

Corso di Fondamenti di Programmazione canale E-O. Introduzione. Elaborazione dei files (2) Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri L elaborazione dei files in C DD, Cap. 11 + pp. 569-572 KP, pp. 581-583 Introduzione La memorizzazione dei dati nelle variabili e nei

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

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

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Stdio.h Input / Output Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Sia i file che i dispositivi (tastiera, schermo...) sono visti come

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

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 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

Esercitazioni di Fondamenti di Informatica - Lez. 4 23/10/2018

Esercitazioni di Fondamenti di Informatica - Lez. 4 23/10/2018 Esercitazioni di Fondamenti di Informatica - Lez. 4 2/0/20 Esercizi sui tipi in C I codici e le soluzioni degli esercizi sono nella cartella parte. Dato il seguente codice, trovare gli errori, correggerli

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Record Laboratorio di Informatica Ingegneria Meccanica Lezione 9, 6 dicembre 2007 versione 18 dicembre 2007 Renato Menicocci Array: collezione di dati omogenei

Dettagli

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Stdio.h Input / Output Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Sia i file che i dispositivi (tastiera, schermo...) sono visti come

Dettagli

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard

Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Stdio.h Input / Output Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Sia i file che i dispositivi (tastiera, schermo...) sono visti come

Dettagli

Fondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009

Fondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009 Fondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009 Esercizio 1 (punti 3) Sia data la funzione ricorsiva seguente: void elabora (unsigned

Dettagli

A. Ferrari. File. in C

A. Ferrari. File. in C File in C stream - flussi in C la gestine dei file avviene attravers un fluss di cmunicazine per utilizzare un file è necessari dichiarare una variabile di tip puntatre al file (ad un ggett di tip FILE)

Dettagli

Perchè 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. 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

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

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

Dati aggregati. Violetta Lonati

Dati aggregati. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture

Dettagli

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009 Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

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

System call per l accesso a file

System call per l accesso a file System call per l accesso a file Nome open creat close read write lseek unlink remove fcntl Significato apre un file in lettura e/o scrittura o crea un nuovo file crea un file nuovo chiude un file precedentemente

Dettagli

Indice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale

Indice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale File in C Indice La gestione dei file in C e gli stream Apertura e chiusura di un file Operazioni sui file Accesso sequenziale e non sequenziale La gestione del buffer Gestione dei file in C In C all interno

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Ripasso Liste: typedef struct EL{TipoElemento Info; struct EL *Prox;} ElemLista; typedef ElemLista

Dettagli

Files in C endofile

Files in C endofile Files in C Il C vede i file semplicemente come un flusso (stream) sequenziale di bytes terminati da un marcatore speciale che determina la fine del file (end-of-file). 0 1 2 3 4... endofile A differenza

Dettagli

Se vogliamo cambiarlo: i dati vengono sovrascritti. 300 White Jones (vecchio valore) 300 Worthington 0.00

Se vogliamo cambiarlo: i dati vengono sovrascritti. 300 White Jones (vecchio valore) 300 Worthington 0.00 File position pointer File position pointer Indica la posizione da cui leggere/scrivere i prossimi byte Non un puntatore, ma un valore intero (specifica la posizione dall inizio file in termini di numero

Dettagli

Esercizio 1: media di numeri reali (uso funzioni e struct)

Esercizio 1: media di numeri reali (uso funzioni e struct) Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le

Dettagli

Corso di Informatica A.A

Corso 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

Dettagli

Gestione dei File. Indice. Il file system in C. Principali operazioni sui file (dalla Standard Library) Esempi. Corso di Informatica A.

Gestione dei File. Indice. Il file system in C. Principali operazioni sui file (dalla Standard Library) Esempi. Corso di Informatica A. Gestione dei File Corso di Informatica A Vito Perrone 1 Il file system in C Indice Principali operazioni sui file (dalla Standard Library) Esempi 2 Il file system in C Flusso di comunicazione: binario

Dettagli

File qualche nota riassuntiva Che cos è un file? È un astrazione fornita dal sistema operativo, per consentire la memorizzazione di informazioni su

File qualche nota riassuntiva Che cos è un file? È un astrazione fornita dal sistema operativo, per consentire la memorizzazione di informazioni su File qualche nota riassuntiva Che cos è un file? È un astrazione fornita dal sistema operativo, per consentire la memorizzazione di informazioni su memoria di massa È un astrazione di memorizzazione di

Dettagli

Introduzione al linguaggio C Dati aggregati

Introduzione al linguaggio C Dati aggregati Introduzione al linguaggio C Dati aggregati Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 5 ottobre

Dettagli

Lezione 11: Liste a Puntatori e Input/Output

Lezione 11: Liste a Puntatori e Input/Output Lezione 11: Liste a Puntatori e Input/Output Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Richiamo: strutture (struct)

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 6 Marzo 2016 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Maggio 2014 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono

Dettagli

Corso di Fondamenti di Programmazione canale E-O. Strutture. Strutture. Definizione di strutture (2) Definizione di strutture (1)

Corso di Fondamenti di Programmazione canale E-O. Strutture. Strutture. Definizione di strutture (2) Definizione di strutture (1) Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Strutture e Unioni DD Cap. 10, pp. 379-391, 405-406 KP Cap. 9, pp. 361-379 Strutture Strutture Collezioni di variabili correlate (aggregati)

Dettagli

D Alcune funzioni della libreria standard del C

D Alcune funzioni della libreria standard del C D Alcune funzioni della libreria standard del C In questa appendice forniamo una descrizione dettagliata dei principali sottoprogrammi della libreria standard del C. In particolare, il Paragrafo D.1 tratta

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

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Esercizio 1: funzione con valore di ritorno di tipo puntatore Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio

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

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

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

Allocazione dinamica della memoria

Allocazione dinamica della memoria Allocazione dinamica della memoria Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Stringhe Ricerca binaria

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Stringhe Ricerca binaria Informatica A (per gestionali) A.A. 2004/2005 Esercizi di programmazione C Stringhe Ricerca binaria Indice 1 Stringhe... 3 1.1 Codice di Cesare...3 1.2 Ricerca binaria...4 1.3 Indirizzi Internet...7 1.4

Dettagli

Informatica A aa Seconda prova in itinere. Esempi di esercizi possibili

Informatica A aa Seconda prova in itinere. Esempi di esercizi possibili Informatica A aa 2002-03 Seconda prova in itinere Esempi di esercizi possibili Struttura della prova-parte 1 Fortran: comprensione di un programma dato (semplice) Reti: domanda teorica (per verificare

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2015

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2015 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2015 2nda prova in itinere Era il 21 Maggio 2 2nda prova in itinere Era il 21 Maggio Spostata (da 3 settimane) al 22

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

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

Matrici, stringhe e I/O da file

Matrici, stringhe e I/O da file Memory Leakage (I) Se si perde il valore di un puntatore di una zona di memoria allocata, quella memoria non e piu utilizzabile dal processo e non e piu liberabile : rimane quindi proprieta del processo

Dettagli

I/O da file. Matrici. Stringhe. Memory leakage. Matrici, stringhe e I/O da file

I/O da file. Matrici. Stringhe. Memory leakage. Matrici, stringhe e I/O da file Matrici, stringhe e I/O da file Memory leakage Matrici Stringhe I/O da file Memory Leakage (I) Se si perde il valore di un puntatore di una zona di memoria allocata, quella memoria non e piu utilizzabile

Dettagli

Informatica 1. Prova di recupero 21 Settembre 2001

Informatica 1. Prova di recupero 21 Settembre 2001 Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo

Dettagli

Fondamenti di Informatica 1 - Compito A

Fondamenti di Informatica 1 - Compito A Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 9 Gennaio 2007 Esercizio (16 punti) Un programma in linguaggio C deve rilevare se un punto del piano, le cui coordinate sono lette da tastiera,

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

Sommario FONDAMENTI DI INFORMATICA. File e Python. Gestione di file. LINGUAGGIO Python Gestione dei file

Sommario FONDAMENTI DI INFORMATICA. File e Python. Gestione di file. LINGUAGGIO Python Gestione dei file Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica ed Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://people.unica.it/gianlucamarcialis A.A. 2018/2019 Docente: Gian Luca Marcialis

Dettagli

Esercitazioni di Programmazione II. Chiara Petrioli

Esercitazioni di Programmazione II. Chiara Petrioli Esercitazioni di Programmazione II Chiara Petrioli Ricevimento e info Martedi dalle 13 alle 14.30 Via Salaria 113, terzo piano, stanza 311 Homework: 3-4 ogni due settimane Primo homework da consegnare

Dettagli

int ninv; /* numero di inventario */

int ninv; /* numero di inventario */ 1) Scrivere il programma C che legga da un file di testo ("dati.dat") i record con dati relativi ad un archivio di dischi (utilizzando la struttura data) e scriva il file dati1.dat con i nomi degli artisti

Dettagli

Prof. G. Ascia. Gestione dei File C

Prof. G. Ascia. Gestione dei File C 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

Laboratorio di Informatica

Laboratorio di Informatica Corso di Laurea in Informatica e Tecnologie per la Produzione del Sofware (Track B) - A.A. 2016/2017 Laboratorio di Informatica Elaborazione di File docente: Cataldo Musto cataldo.musto@uniba.it Slides

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

Titolo presentazione INFORMATICA. sottotitolo A.A Milano, XX mese 20XX Laboratorio n 4 Ing. Gian Enrico Conti Dott.

Titolo presentazione INFORMATICA. sottotitolo A.A Milano, XX mese 20XX Laboratorio n 4 Ing. Gian Enrico Conti Dott. Titolo presentazione INFORMATICA A sottotitolo A.A. 2017-18 Milano, XX mese 20XX Laboratorio n 4 Ing. Gian Enrico Conti Dott. Michele Zanella Info Logistiche (cont d) Calendario laboratori Data Orario

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

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

C: panoramica. Violetta Lonati

C: panoramica. Violetta Lonati C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati

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

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

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

Lezione 22: Input/Output e Files

Lezione 22: Input/Output e Files Lezione 22: Input/Output e Files Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università di Salerno Struttura della lezione Esami: date e modalità Funzioni di libreria standard

Dettagli

Informatica C CHI/MAT

Informatica C CHI/MAT Informatica C CHI/MAT Giovanni Agosta Informatica C CHI/MAT p.1/76 Gestione dei File 1. L input da file 2. Cos è un file 3. Dichiarare una variabile file 4. Funzioni di apertura e chiusura dei file 5.

Dettagli

Gestione dei file in C

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

Dettagli

Esercizi. Stringhe. Stringhe Ricerca binaria

Esercizi. Stringhe. Stringhe Ricerca binaria Politecnico di Milano Esercizi Stringhe Stringhe Array di caratteri Funzioni: strcpy() strcmp() strlen() char stringaa[10], stringab[10]; strcpy(stringaa, stringab); Copia if (strcmp(stringaa, stringab)

Dettagli