Esercitazioni di Fondamenti di Informatica - Lez. 9 4/12/2018
|
|
- Romeo Cavalli
- 4 anni fa
- Visualizzazioni
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 Esercizi sull allocazione dinamica della memoria in C Il codice di questi esercizi é contenuto nella cartella parte1 1. Implementare una lista
DettagliEsercitazioni 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
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
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
DettagliEsercitazioni 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.
DettagliIl 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
DettagliStreams 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
DettagliGestione 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
DettagliEsercitazione 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
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
DettagliLab 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
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
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
DettagliIntroduzione 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:
DettagliEsercitazioni 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
DettagliFile. 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:
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è
DettagliEsercitazioni 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
DettagliEsercitazioni 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
DettagliLa 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,
DettagliAllocazione 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
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:
DettagliEsercizio 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
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
DettagliEsercitazioni 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[]
DettagliLezione 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
DettagliIndice. 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
DettagliGESTIONE 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
DettagliCorso 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
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
DettagliEsercizi. 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
DettagliInput / 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
DettagliIntroduzione. 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
DettagliCorso 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
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
DettagliEsercitazioni 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
DettagliLaboratorio di Informatica
Record Laboratorio di Informatica Ingegneria Meccanica Lezione 9, 6 dicembre 2007 versione 18 dicembre 2007 Renato Menicocci Array: collezione di dati omogenei
DettagliInput / 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
DettagliInput / 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
DettagliFondamenti 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
DettagliA. 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)
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
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
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
DettagliDati 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
DettagliGESTIONE 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
DettagliGestione 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
DettagliSystem 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
DettagliIndice. 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
DettagliInformatica 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
DettagliFiles 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
DettagliSe 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
DettagliEsercizio 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
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
DettagliGestione 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
DettagliFile 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
DettagliIntroduzione 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
DettagliLezione 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)
DettagliDIPARTIMENTO 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
DettagliDIPARTIMENTO 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
DettagliCorso 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)
DettagliD 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
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
DettagliEsercizio 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
DettagliFILE: 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
DettagliLa 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
DettagliSuggerimenti, 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
DettagliAllocazione 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
DettagliIntroduzione 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
DettagliInformatica 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
DettagliInformatica 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
DettagliDIPARTIMENTO 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
DettagliGestione 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
DettagliLinguaggio 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
DettagliMatrici, 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
DettagliI/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
DettagliInformatica 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
DettagliFondamenti 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,
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
DettagliSommario 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
DettagliEsercitazioni 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
Dettagliint 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
DettagliProf. 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
DettagliLaboratorio 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
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
DettagliTitolo 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
DettagliFile. 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
DettagliCapitolo 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
DettagliC: 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
DettagliFONDAMENTI 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
Dettaglicaratteri, 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
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
DettagliLezione 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
DettagliInformatica 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.
DettagliGestione 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
DettagliEsercizi. 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