1 ELEMENTI DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012

Slides:



Advertisements
Presentazioni simili
File Linguaggio C.
Advertisements

Uso avanzato di C.
INFORMATICA I file.
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
FILE DATI 16 lunedi 26 luglio giovedi ore 9 Come sappiamo, un file dati è un gruppo di informazioni tra loro correlate, memorizzate in un dispositivo di.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 15 Maggio 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 9 Maggio 2012.
Laboratorio di Linguaggi lezione VI Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Laboratorio di Linguaggi lezione XI: I/O Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea.
APPUNTI SUL LINGUAGGIO C
INFORMATICA I file. © Piero Demichelis 2 File Per rendere più uniforme possibile il comportamento dei programmi in relazione alla grande varietà dei dispositivi.
File di testo, file binari
I File.
GESTIONE DEI FILE Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persi-stenza dei dati) è necessario poterli archi-viare.
void binario(int n); …………………
1 Gestione dei File. 2 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi –Si usano dall'interno dei programmi Realizzano.
Esercizi su File.
Esercizi su File e Liste
ALGORITMO Un algoritmo è un procedimento che risolve un determinato problema attraverso un numero finito di passi. Un formalismo che permette di rappresentare.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 21 Maggio 2014.
Fabio Scotti – Università degli Studi – Laboratorio di programmazione per la sicurezza 1 Lezione 13 e 14 GESTIONE DEI FILE A) Nozioni sulla gestione dei.
1 Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( ) Laboratorio di programmazione Lezione 13 e 14 -
CORSO DI PROGRAMMAZIONE II
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Approfondimenti di C, Stringhe e file 13 Stringhe.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 6 Marzo 2016.
1 Elementi DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
ELEMENTI DI INFORMATICA
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
11. Lettura e Scrittura di file in Matlab
Introduzione al linguaggio C
Tutorato Elementi di Informatica 2013
7. Strutture di controllo Ing. Simona Colucci
10. Programmazione Ricorsiva Ing. Simona Colucci
File heap.
File con indice (sparso)
ELEMENTI DI INFORMATICA
ELEMENTI DI INFORMATICA
I FILES AD ACCESSO SEQUENZIALE
Ambienti di Programmazione per il Software di Base
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
APPUNTI SUL LINGUAGGIO C Memoria secondaria: File
Schema generale, visita in ampiezza e profondità.
Alberi n-ary Lezioni di C.
File System ed Input/Output
APPUNTI SUL LINGUAGGIO C
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
APPUNTI SUL LINGUAGGIO C
comprensione e modifica di codice
APPUNTI SUL LINGUAGGIO C Esercizi sugli array e strutture
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Le stringhe in C++ Laboratorio 26 Aprile Dott. Serena Villata
APPUNTI SUL LINGUAGGIO C
comprensione e modifica di codice
APPUNTI SUL LINGUAGGIO C Allocazione dinamica della memoria
Programmazione e Laboratorio di Programmazione
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
APPUNTI SUL LINGUAGGIO C Alberi Binari – primi esercizi
APPUNTI SUL LINGUAGGIO C
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

1 ELEMENTI DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/ Ing. Giuseppe Destefanis Diee, secondo piano Tel mail:

2 File In astratto un file può essere visto come una sequenza di dati di un certo tipo, principalmente caratteri. Per accedere ad un file è necessario che esso sia aperto. Un file ha un nome e un percorso, tale percorso permette di accedere al file in un sistema organizzato in directory. Una volta aperto il file è possibile accedere al suo contenuto, in sequenza, dal suo inizio sino alla fine. Quando si apre un file occorre specificare quale tipo di operazioni tra lettura e scrittura o aggiunta in coda si desidera effettuare.

3 Funzioni fopen() e fclose() I file hanno diverse proprietà importanti:  hanno un nome;  devono essere aperti o chiusi. FILE *fopen(const char *path, const char *mode); La funzione fopen() apre il file path associandolo ad uno stream. Il file path viene predisposto per le operazioni di I/O come e’ indicato da mode. Restituisce, in caso di successo, lo stream da impiegare nelle successive chiamate alle funzioni di I/O. In caso di fallimento viene restituito il valore NULL.

4 Funzioni fopen() e fclose() int fclose( FILE *stream );  Chiude il file stream associato;  dealloca il buffer stream associato. fclose() restituisce 0 se il file viene chiuso con successo, EOF altrimenti.

5 File *myfile; //aperto in lettura myfile=fopen("nomefile.txt","r");... //aperto in scrittura myfile=fopen("nomefile.txt","w"); fclose(myfile);

6 Accesso  lettura: int fscanf(FILE *stream, const char *format,...); La funzione fscanf() legge l’input stream ed esegue le conversioni in base alla stringa di formattazione format assegnando i valori convertiti alle variabili, i cui puntatori sono passati come argomenti della funzione.

7 Accesso  scrittura: int fprintf(FILE *stream, const char *format,...); La funzione fprintf() scrive sull’output stream gli argomenti passati, eseguendo le opportune conversioni sotto il controllo della stringa di formattazione format.

8 Esempio #include int main() { char car; char path[]="/home/universo/Desktop/data/esample.txt"; FILE *file; file=fopen(path,"w"); //scrittura dei caratteri dell’alfabeto if(file!=NULL) for(car=’A’;car<’Z’; car++) fprintf(file,"%c",car); //chiusura del flusso fclose(file); //lettura dei caratteri file=fopen(path,"r"); if(file!=NULL) while( fscanf(file,"%c",&car)!=EOF) printf("%c\n",car); fclose(file); return 0; }

9 Esempio 2 (1) Il file di testo studenti.txt contiene cognome, nome e numero di matricola di alcuni studenti separati da spazi. Il formato è il seguente: Rossi Mario Bianchi Francesco Verdi Simone Neri Alessandra Scrivere un programma che legge i dati da file e li stampa sullo standard output.

10 Esempio 2 (2) #include struct studente { char cognome[15]; char nome[15]; int matricola; }; int main() { int endof; FILE *file; Studente stud; file = fopen("studenti.txt", "r"); endof=1; if(file==NULL) printf("Il file non pu essere aperto\n"); else { do{ endof=fscanf(file,"%s %s %d",stud.cognome,stud.nome,&stud.matricola); printf("%s %s %d\n",stud.cognome,stud.nome,stud.matricola);} while(endof!=EOF); }

11 Algoritmo di Ricerca Binaria int ricercaBinaria(int lista[], int n, int x) { int p,u,m; p = 0; u = n-1; while(p<=u) { m = (p+u)/2; if(lista[m]==x) return m; // valore x trovato alla posizione m if(lista[m]<x) p = m+1; else u = m-1; } // se il programma arriva a questo punto vuol dire che // il valore x non è presente in lista, ma se ci fosse // dovrebbe trovarsi alla posizione p (nota che qui p > u) return -1; }

12 Bubblesort void BubbleSort(int *array, int elemN) { int i, tmp, ultimo; int alto=elemN; /* elemN è il numero degli elementi del vettore da ordinare */ while (alto >= 0) { ultimo = -1; for (i=0; i<alto; i++) { if (array[i]>array[i+1]) //sostituire ">" //con "<" per avere un ordinamento decrescente { tmp = array[i]; array[i] = array[i+1]; array[i+1] = tmp; ultimo = i; } alto = ultimo; }