Fondamenti di Informatica. Tecniche di input/output per l'accesso ai file

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti di Informatica. Tecniche di input/output per l'accesso ai file"

Transcript

1 Corso di per il corso di Laurea di Ingegneria Meccanica Tecniche di input/output per l'accesso ai file Università degli Studi di Udine - A.A Docente Ing. Sandro Di Giusto Ph.D. 1

2 L'importanza In tutti gli esempi di programmazione visti fino ad oggi abbiamo sempre trattato problemi in cui i dati di elaborazione avevano durata infinitesima I dati di input venivano inseriti al momento dell'esecuzione stessa ad esempio con delle scanf/getc da shell oppure da riga di comando I dati di output venivano generalmente visualizzati ad output ad esempio con delle prf su shell Ovviamente questo tipo di programmazione copre solamente un minimo sottoinsieme dei casi realmente possibili, poiché per sua stessa natura è scomodo e costoso in termini di tempo, praticità, facilità d'errori,... Per questo motivo in C, come in ogni altro linguaggio di programmazione, è di vitale importanza poter accedere ad un nuovo tipo di oggetto di memorizzazione, non strettamente legato al tempo di esecuzione del programma ovvero che non mantenga traccia dei dati solo a runtime Si comprende quindi come l'accesso al file-system, ovvero ai dispositivi di memorizzazione di massa di un elaboratore, sia una necessità stringente ed un'opportunità da non perdere In questa lezione vedremo quindi come sia possibile accedere ai file o più propriamente agli stream in C sia per semplici letture, sia per scritture 2

3 Il tipo In C è stato definito un nuovo tipo di dato non primitivo ma aggregato chiamato la cui dichiarazione appartiene alla libreria Standard C e necessita in particolare dell'header file stdio.h Ogni volta che avremo necessità di leggere o scrivere su un file o stream dovremo quindi associarlo prima di tutto ad un oggetto di tipo, chiamato generalmente descrittore del file il termine in realtà è un po abusato poiché il descrittore sarebbe un singolo membro di Per fare questo la sassi è la solita delle dichiarazioni di variabili, con la accortezza però che quello che ci occorre non è definire direttamente un oggetto ma bensì un puntatore ad un oggetto poiché l'oggetto fisico viene definito/allocato quando necessario dalle funzioni apposite: #include #include <stdio.h> <stdio.h> *prova; *prova; Nel caso sopra riportato prova è dunque un puntatore al file Come visto a suo tempo per i puntatori e per le variabili in generale, sono naturalmente possibili anche definizioni multiple ed inizializzazioni: #include #include <stdio.h> <stdio.h> *prova1=null, *prova1=null, *prova2; *prova2; 3

4 L'apertura dei file ad accesso sequenziale Ora che abbiamo l'oggetto base su cui operare, il prossimo passo è legare l'oggetto in C la variabile al corrispondente oggetto del file-system, ovvero al file vero e proprio file ad accesso sequenziale Per fare questo si utilizza la funzione di libreria stdio.h fopen il cui prototipo è di seguito riportato: *fopen *fopen *name, *name, *mode *mode Scopo della funzione è allocare ernamente una nuova struttura come e perché lo fa non è di eresse per questo corso associata al file specicato in name e con le modalità specicate in mode, restituendo al termine un puntatore alla struttura appena definita quindi un puntatore ad un oggetto L'operazione compiuta è detta di apertura del file ed è indispensabile per qualunque tipo di operazione che debba essere fatta su qualsiasi file/stream Il primo argomento della funzione, name, è una stringa di caratteri che serve per specicare quale specico file si desidera aprire mediante fopen e quindi quale file del file-system associare alla nuova struttura dati 4

5 L'apertura dei file ad accesso sequenziale In particolare name può essere il solo nome del file da aprire naturalmente completo di estensione oppure può essere un ero percorso path comprensivo al termine del nome del file La sassi e le modalità di accesso al file-system possono variare in base alla piattaforma/architettura in Unix/Linux i path si scrivono in un certo modo, in sistemi Win-based in un altro etc. In ogni caso, a meno che non si specichi in name un path di ricerca assoluto, name viene risolto in modo relativo al path di esecuzione del programma quindi se il programma viene eseguito in c:\prova\, allora un eventuale file name uguale a testo.txt signicherebbe di cercare il file nella cartella c:\prova\ Quando per un motivo qualunque l'operazione di apertura del file non può essere portata a buon fine ad esempio perché il file non esiste, è protetto, etc. la funzione fopen restituisce la costante NULL per poter comprendere meglio lo specico tipo di errore riscontrato da fopen si può usare la funzione perror che visualizza un messaggio di errore specico, preceduto eventualmente dalla stringa prefix di solito nulla o Error o simili #include #include <errno.h> <errno.h> fopen fopen name, name, mode mode ==NULL ==NULL perror perror prefix prefix ; ; 5

6 L'apertura dei file ad accesso sequenziale Il secondo argomento di fopen è una stringa di caratteri in cui invece specichiamo il tipo modo di accesso al file stesso Le modalità di accesso sono essenzialmente 3 diste r Apre un file in sola lettura e si posiziona all'inizio w Apre un file in sola scrittura ovvero lo crea. Se esiste già lo elimina tronca a 0 e ne crea uno nuovo. Si posiziona all'inizio a Apre il file se esistente e permette di scriverci in coda accoda altrimenti lo crea. Si posiziona alla fine Per ognuna di queste 3 modalità esiste poi la variante aggiornamento r+ Apre un file in aggiornamento lettura e scrittura e si posiziona all'inizio w+ Apre un file in aggiornamento ovvero lo crea. Se esiste già lo elimina tronca a 0 e ne crea uno nuovo. Si posiziona all'inizio a+ Apre il file esistente in aggiornamento e permette di scriverci in coda accoda altrimenti lo crea. Si posiziona alla fine Per ognuna di queste 6 modalità è poi possibile specicare di voler trattare il file in modalità binaria invece che testuale, aggiungendo alla stringa mode anche il carattere b ad esempio: rb, ab, wb+, ecc. 6

7 La chiusura dei file ad accesso sequenziale Al completamento di tutte le operazioni volute sul file lettura o scrittura buona programmazione prevede di effettuare il processo di chiusura pulita del file attraverso l'uso dell'apposita funzione di libreria stdio.h fclose il cui prototipo è: fclose fclose Alla funzione fclose occorre dunque passare come argomento fp il puntatore ad un file precedentemente aperto con fopen con successo La funzione restituisce 0 se la chiusura del file è stata regolare o anche se il puntatore fosse stato NULL mentre restituisce la costante EOF se invece sono stati incontrati dei problemi e la chiusura non può quindi essere considerata correttamente avvenuta La chiusura dei file aperti durante l'esecuzione di un programma verrebbe già fatta automaticamente alla terminazione del programma stesso, ma ci sono buoni motivi per chiederne forzatamente la chiusura anticipata: Liberare risorse per altri programmi in esecuzione contemporanea Garantire il corretto flushing delle informazioni sul file in chiusura 7

8 Le funzioni fprf e fscanf Una volta aperto un file con fopen, occorre naturalmente utilizzare le apposite funzioni per leggere dallo stesso file oppure per scriverci sopra La funzione di libreria stdio.h fprf è l'analogo dell'oramai conosciuta prf per la stampa a video ed il suo prototipo è il seguente: fprf fprf,, *format, *format, L'utilizzo è naturalmente identico, distinguendosi dalla precedente solo per il primo argomento fp che è ovviamente il puntatore al file aperto almeno in scrittura su cui vogliamo scrivere le informazioni formattate Allo stesso modo la funzione di libreria stdio.h fscanf è l'analogo dell'oramai conosciuta scanf per l'ottenimento di dati da tastiera ed il suo prototipo è il seguente: fscanf fscanf,, *format, *format, Anche in questo caso l'utilizzo è identico, distinguendosi dalla precedente solo per il primo argomento fp che è un puntatore al file aperto almeno in lettura da cui vogliamo leggere le informazioni formattate 8

9 Le funzioni fputc e fgetc Altre due funzioni sono poi estremamente usate per leggere e scrivere caratteri in modo semplice su file La funzione di libreria stdio.h fputc serve per scrivere un singolo carattere su un file ed il suo prototipo è il seguente: fputc fputc c, c, La funzione scrive sul file associato ad fp aperto almeno in scrittura il carattere specicato con c e muove il cursore al file alla posizione successiva Se la scrittura è avvenuta correttamente, restituisce c, altrimenti EOF Per la lettura di un singolo carattere dall'attuale posizione di un file si può utilizzare invece la funzione di libreria stdio.h fgetc il cui prototipo è: fgetc fgetc La funzione legge il carattere attuale dal file associato ad fp aperto almeno in lettura e lo restituisce, spostando il cursore alla posizione successiva Se la lettura è avvenuta correttamente restituisce il carattere, altrimenti EOF Da notare che queste funzioni sono identiche a putc e getc, salvo il fatto che queste ultime in molte implementazioni sono delle macro e non funzioni 9

10 Le funzioni fputs e fgets La funzione di libreria stdio.h fputs serve per scrivere direttamente un'era stringa riga su un file ed il suo prototipo è il seguente: fputs fputs *line, *line, La funzione scrive sul file associato ad fp aperto almeno in scrittura la stringa line e muove il cursore al file alla posizione successiva Se la scrittura è avvenuta correttamente, restituisce 0, altrimenti EOF NOTA: la funzione non prevede che ci siano caratteri newline all'erno di line, mentre ne inserirà uno lei nel file al termine di line stessa sul file, non in line! La funzione di libreria stdio.h fgets serve per leggere direttamente un'era stringa riga da un file ed il suo prototipo è il seguente: *fgets *fgets *line, *line, maxline, maxline, La funzione legge l'era riga terminata da un newline attuale dal file associato ad fp aperto almeno in lettura e la restituisce carattere newline compreso e terminata da '\0', spostando il cursore alla posizione successiva Se la lettura è avvenuta correttamente restituisce line, altrimenti NULL La stringa letta da fp sarà comunque lunga al massimo maxline-1 caratteri poiché un carattere lo riserva sempre per l'aggiunta del '\0' di terminazione 10

11 Le funzioni ferror e feof Ci sono poi altre due funzioni relative alla gestione dei file e che sono utilizzate generalmente per l'ottenimento di informazioni sugli errori La funzione di libreria stdio.h ferror permette di errogare lo status attuale di un file aperto ed il suo prototipo è il seguente: ferror ferror La funzione restituisce 0 se non ci sono stati errori o problemi pendenti sul file in questione, altrimenti un valore diverso da 0 La funzione di libreria stdio.h feof permette di sapere se la posizione attuale all'erno di un file aperto è l'eof ed il suo prototipo è il seguente: feof feof La funzione restituisce 0 se la posizione attuale all'erno del file non è EOF End Of File, altrimenti un valore diverso da 0 NOTA: Per rimuovere lo status su una condizione di errore accaduta su un file occorre necessariamente usare la funzione di libreria stdio.h clearerr dopo la sua chiamata sia ferror che feof restituiranno 0 clearerr clearerr 11

12 Le funzioni per l'accesso casuale o I/O diretto Tutte le funzioni viste finora si reriscono al trattamento apertura, chiusura, creazione, lettura, scrittura,... dei file ad accesso sequenziale In C vengono messe però a disposizione anche una serie di altre funzioni per la gestione dei file, chiamate per l'accesso casuale o di I/O diretto Questo tipo di funzioni sono generalmente più complesse nel loro utilizzo, richiedendo una padronanza maggiore del linguaggio e delle sue proprietà, motivo per cui non saranno trattate nel corso Per completezza si riportano però di seguito i prototipi delle principali funzioni di accesso casuale e si rimanda a testi specializzati o ai manuali dei compilatori per l'ottenimento di informazioni dettagliate sul loro funzionamento size_t size_t fread fread *ptr, *ptr, size_t size_t size, size, size_t size_t nobj, nobj, *stream *stream size_t size_t fwrite fwrite *ptr, *ptr, size_t size_t size, size, size_t size_t nobj, nobj, *stream *stream fseek fseek *stream, *stream, long long offset, offset, origin origin long long ftell ftell *stream *stream rewind rewind *stream *stream fgetpos fgetpos *stream, *stream, fpos_t fpos_t *ptr *ptr fsetpos fsetpos *stream, *stream, fpos_t fpos_t *ptr *ptr 12

13 Esempio di programma con accesso a file Vediamo ora un semplice esempio di programma per la gestione di informazioni su file Il programma in particolare si occupa semplicemente di generare un certo numero di valori pseudo-casuali e di scriverli in un file Lo stesso programma poi può essere riavviato con opportune opzioni da riga do comando per rileggere i dati precedentemente salvati sul file e visualizzarli a video all'utente assieme ad una serie di statistiche Nel codice illustrato si farà rerimento ad una serie di funzionalità che saranno illustrate con maggior dettaglio nel prosieguo di questa lezione rand, srand, formattazione avanzata di prf/scanf 13

14 Esempio di programma con accesso a file 11 #include #include <stdio.h> <stdio.h> 2 2 #include #include <stdlib.h> <stdlib.h> /* /* Per Per srand, srand, rand, rand, #include #include <time.h> <time.h> /* /* Per Per time time 4 4 #define #define NUM_VALORI NUM_VALORI #define #define MAX MAX #define #define MIN MIN inventa_valori inventa_valori ; ; 9 9 leggi_valori leggi_valori ; ; scrivi_valori scrivi_valori ; ; stampa_valori stampa_valori ; ; main main argc, argc, *argv[] *argv[] valori[num_valori]; valori[num_valori]; =0; =0; argc!=3 argc!= prf"sassi prf"sassi errata errata usare usare \"nome_programma \"nome_programma -r -r nome_file\" nome_file\" oppure oppure \"nome_programma \"nome_programma -w -w nome_file\"\n"; nome_file\"\n"; exitexit_failure; exitexit_failure; argv[1][0] argv[1][0]!=!= '-' '-' argv[1][1]!='r' argv[1][1]!='r' && && argv[1][1]!='w' argv[1][1]!='w' prf"sassi prf"sassi errata errata usare usare \"nome_programma \"nome_programma -r -r nome_file\" nome_file\" oppure oppure \"nome_programma \"nome_programma -w -w nome_file\"\n"; nome_file\"\n"; exitexit_failure; exitexit_failure;

15 Esempio di programma con accesso a file switch switch argv[1][1] argv[1][1] case case 'r': 'r': = = leggi_valori leggi_valori argv[2], argv[2], NUM_VALORI NUM_VALORI ; ; stampa_valori stampa_valori argv[2], argv[2], ; ; break; break; case case 'w': 'w': = = inventa_valori inventa_valori NUM_VALORI NUM_VALORI ; ; scrivi_valori scrivi_valori argv[2], argv[2], ; ; stampa_valori stampa_valori argv[2], argv[2], ; ; break; break; return return 0; 0; /* /* La La f. f. genera genera diversi diversi valori valori pseudo-casuali pseudo-casuali tra tra MIN MIN e e MAX MAX e e li li memorizza memorizza in in valori. valori. Restituisce Restituisce il il numero numero di di valori valori generati generati inventa_valori inventa_valori index=0; index=0; srand srand timenull timenull ; ; for for index=0; index=0; index<; index<; index++ index valori[index] valori[index] = = MIN MIN + + rand rand %% MAX-MIN+1 MAX-MIN+1 ; ; return return ; ;

16 Esempio di programma con accesso a file /* /* La La f. f. stampa stampa a video video i valori valori presenti presenti in in valori valori e le le statistiche statistiche associate associate stampa_valori stampa_valori index, index, min=valori[0], min=valori[0], max=valori[0]; max=valori[0]; long long somma=0; somma=0; for for index=0; index=0; index<; index<; index++ index prf"%2d : prf"%2d : %+3d\n", %+3d\n", index+1, index+1, valori[index] valori[index] ; ; somma somma += += valori[index]; valori[index]; min min = min min <= <= valori[index] valori[index]?? min min : : valori[index]; valori[index]; max max = max max >= >= valori[index] valori[index]?? max max : : valori[index]; valori[index]; prf"### prf"### Statistiche Statistiche conclusive:\n" conclusive:\n" ; ; prf"file prf"file di di rerimento: rerimento: %s\n", %s\n", nome_file nome_file ; ; prf"valori prf"valori elaborati: elaborati: %d\n", %d\n", ; ; prf"minimo: prf"minimo: %+3d\n", %+3d\n", min min ; ; prf"massimo: prf"massimo: %+3d\n", %+3d\n", max max ; ; prf"somma: prf"somma: %+3ld\n", %+3ld\n", somma somma ; ; prf"media: prf"media: %6.3f\n", %6.3f\n", float float somma somma / / float float ; ;

17 Esempio di programma con accesso a file /* /* La La f. f. legge legge dal dal file file nome_file nome_file i i primi primi eri eri se se esistono esistono altrimenti altrimenti legge legge tutti tutti i i numeri numeri presenti presenti e e li li memorizza memorizza in in valori. valori Restituisce Restituisce al al termine termine il il numero numero di di valori valori correttamente correttamente letti letti leggi_valori leggi_valori ; ; index=0, index=0, letti=0; letti=0; num=0; num=0; fp fp = = fopennome_file, fopennome_file, "r" "r" == == NULL NULL prf"impossibile prf"impossibile proseguire. proseguire. C'è C'è un un problema problema nella nella lettura lettura del del file\n"; file\n"; perror""; perror""; exit exit EXIT_FAILURE EXIT_FAILURE ; ; for for index=0; index=0; index<; index<; index++ index fscanffp, fscanffp, "%d\n", "%d\n", &num &num == == valori[index] valori[index] = = num; num; letti++; letti++; else else break; break; fclose fclose fp fp ; ; return return letti; letti;

18 Esempio di programma con accesso a file /* /* La La f. f. scrive scrive sul sul file file nome_file nome_file i valori valori presenti presenti nel nel vettore vettore uno uno per per riga riga scrivi_valori scrivi_valori ; ; index; index; fp fp = = fopennome_file, fopennome_file, "w" "w" == == NULL NULL prf"impossibile prf"impossibile proseguire. proseguire. C'è C'è un un problema problema nella nella creazione creazione del del file\n"; file\n"; perror""; perror""; exit exit EXIT_FAILURE EXIT_FAILURE ; ; for for index=0; index=0; index<; index<; index++ index fprffp, fprffp, "%+3d\n", "%+3d\n", valori[index] valori[index] ; ; fclose fclose fp fp ; ; return return ; ;

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

Gestione dei File. dischi nastri cd

Gestione dei File. dischi nastri cd Gestione dei File Per mantenere disponibili i dati tra le diverse esecuzioni di un programma, questi si devono archiviare in file su memoria di massa (dati persistenti): dischi nastri cd Un file è un astrazione

Dettagli

puntatori Lab. Calc. AA 2007/08 1

puntatori Lab. Calc. AA 2007/08 1 puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene

Dettagli

Fondamenti di Informatica T. Linguaggio C: File

Fondamenti di Informatica T. Linguaggio C: File Linguaggio C: File I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale.

Dettagli

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files

Dettagli

Dove die( stringa ) è una funzione di utilità del php che stampa la stringa e fa terminare lo script.

Dove die( stringa ) è una funzione di utilità del php che stampa la stringa e fa terminare lo script. I file in PHP Un file è un archivio elettronico contenente informazioni (dati) memorizzate su memoria di massa. Il file ha la caratteristica di consentire la lettura, la scrittura e la modifica dei dati

Dettagli

Struttura dati FILE. Concetto di FILE

Struttura dati FILE. Concetto di FILE Struttura dati FILE Concetto di FILE Per poter mantenere disponibili dei dati tra diverse esecuzioni di un programma (PERSISTENZA dei dati), è necessario poterli archiviare su memoria di massa. Un file

Dettagli

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura Struttura a record 2 File ad accesso diretto Il file è organizzato in record aventi tutti la stessa struttura e quindi dimensione record 0 record 1 record 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

Matlab: Gestione avanzata dei file

Matlab: Gestione avanzata dei file Matlab: Gestione avanzata dei file Informatica B File 2 Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare ad esistere indipendentemente dalla vita del programma

Dettagli

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015 VINCENZO MARRA Indice Parte 1. Input/Output standard dalla console 2 Esercizio 1 2 Eco

Dettagli

Linguaggio C La libreria standard

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

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 18 dicembre 2007 Esercizio 1: rappresentazione di una tabella di occorrenze L obiettivo è quello di rappresentare in modo efficiente

Dettagli

http://www.programmiamo.altervista.org/c/oop/o...

http://www.programmiamo.altervista.org/c/oop/o... PROGRAMMIAMO Programma per la gestione di un conto corrente C++ - Costruttore e distruttore C++ Home Contatti Supponiamo ora di voler scrivere un programma a menu per la gestione di un conto corrente bancario.

Dettagli

BOZZA. cin per la comunicazione dal dispositivo di input standard, la tastiera, al programma (stream di input standard)

BOZZA. cin per la comunicazione dal dispositivo di input standard, la tastiera, al programma (stream di input standard) Capitolo 6 Input/output su file BOZZA 6.1 Stream e file L input/output in C ++, in particolare quello su file, avviene tramite stream. stream. Uno stream è un astrazione di un canale di comunicazione,

Dettagli

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente

Dettagli

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

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

Lab. di Sistemi Operativi - Esercitazione n 9- -Thread-

Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- 1 Sommario Esercizi su: Comunicazione tra processi: la funzione pipe() Condivisione dati e codice tra due o più processi: concetto di Thread 2 -

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli

Dettagli

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 15 Maggio 2013 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2013 Obiettivi Alcuni problemi aperti Il main() Allocazione dinamica della memoria Il salvataggio dei dati File File

Dettagli

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema AXO Architetture dei Calcolatori e Sistema Operativo programmazione di sistema Il sistema operativo Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel

Dettagli

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

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

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011

Laboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011 Laboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011 Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147 00161 Roma I/O in C Il sistema di I/O del C è una interfaccia uniforme

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

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero ---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero delle variabili a cui possono essere assegnati gli indirizzi

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 della prova scritta del 28 Febbraio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int min = 3; int i; Scrivere la porzione di codice

Dettagli

Operazioni di input e output in Fortran 90

Operazioni di input e output in Fortran 90 Operazioni di input e output in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: file e formattazione DIS - Dipartimento di informatica

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

----------------------------------------------------------------

---------------------------------------------------------------- ---------------------------------------------------------------- utilizzo frequente di chiamate a.. A differenza del Pascal, il C permette di operare con assegnamenti e confronti su dati di tipo diverso,

Dettagli

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

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

Esercizi di programmazione in C

Esercizi di programmazione in C Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal

Dettagli

I File. Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa.

I File. Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa. I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 13/03/07 Nota Questi lucidi sono tratti

Dettagli

Strutture dati e realizzazione in C. Componenti software:

Strutture dati e realizzazione in C. Componenti software: Strutture dati e realizzazione in C Strutture dati: Termine usato per indicare tipi con elementi del dominio compositi, ad esempio: vettori e matrici; tavole; liste; insiemi; pile e code; alberi e grafi.

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

Problem solving avanzato

Problem solving avanzato Problem solving avanzato Formulazione del problema Struttura dati e algoritmo Il programma 2 26 Politecnico di Torino 1 Dati in input (1/4) Sono dati due file di testo, contenenti le informazioni sulle

Dettagli

Linguaggio C. Fondamenti. Struttura di un programma.

Linguaggio C. Fondamenti. Struttura di un programma. Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione

Dettagli

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni. Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix-

Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix- Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix- 1 Sommario Esercizi sulla gestione dei processi Creazione di un nuovo processo: fork Sincronizzazione tra processi: wait 2 -

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

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

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

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Corso di Programmazione ad oggetti

Corso di Programmazione ad oggetti Corso di Programmazione ad oggetti Il sistema di I/O del C++ a.a. 2008/2009 Claudio De Stefano 1 Il Modello di Von Neumann Il Modello di Von Neumann prevede che la CPU carichi in maniera sequenziale i

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

Linguaggio C Gestione File

Linguaggio C Gestione File Gestione File: Il file è l'unità logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati non limitata dalle dimensioni della memoria centrale. Nel linguaggio

Dettagli

Il sistema operativo UNIX/Linux. Gli script di shell

Il sistema operativo UNIX/Linux. Gli script di shell Il sistema operativo UNIX/Linux Gli script di shell Introduzione Le shell permettono La gestione di comandi su linea di comando La shell comprende automaticamente quando il costrutto termina e lo esegue

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono

Dettagli

Capitolo 5 -- Stevens

Capitolo 5 -- Stevens Libreria standard di I/O Capitolo 5 -- Stevens Libreria standard di I/O rientra nello standard ANSI C perché è stata implementata su molti sistemi operativi oltre che su UNIX le sue funzioni individuano

Dettagli

Corso di Esercitazioni di Programmazione

Corso di Esercitazioni di Programmazione Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami.. http://www.dsi.unive.it/~prog1

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

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore Relazioni tra oggetti e classi : Generalizzazione Fondamenti di Informatica II 20. Laboratorio 6 Collegamenti e associazioni Le relazioni di tipo generalizzazione (specializzazione), servono per poter

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

Linguaggio C - Funzioni

Linguaggio C - Funzioni Linguaggio C - Funzioni Funzioni: Il linguaggio C è di tipo procedurale; ogni programma viene suddiviso in sottoprogrammi, ognuno dei quali svolge un determinato compito. I sottoprogrammi si usano anche

Dettagli

2. I THREAD. 2.1 Introduzione

2. I THREAD. 2.1 Introduzione 2. I THREAD 2.1 Introduzione Il tipo di parallelismo che è opportuno avere a disposizione nelle applicazioni varia in base al grado di cooperazione necessaria tra le diverse attività svolte in parallelo:

Dettagli

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica Corso di Laurea in Matematica Seminario C/C++ Costa Università degli Studi di Milano Dipartimento di Matematica 19 Ottobre 2011 Cos'é un'ide IDE = Integrated Development Environment Consiste in: Editor

Dettagli

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio 1-La memoria dinamica La scrittura di un programma (indipendentemente dal linguaggio adottato) deve sempre tener conto

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Introduzione a ROOT. 1. Informazioni generali

Introduzione a ROOT. 1. Informazioni generali Introduzione a ROOT 1. Informazioni generali ROOT è un ambiente visualizzazione e trattamento dati interattivo sviluppato al CERN (si veda il sito ufficiale http://root.cern.ch interamente sviluppato in

Dettagli

MAGAZZINO.CPP January 2, 2008 Page 1

MAGAZZINO.CPP January 2, 2008 Page 1 MAGAZZINO.CPP January 2, 2008 Page 1 1 #include 2 #include 3 #include 4 // ==================================================================== 5 // Versione 1.1 1/1/2008

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli

Connessione ad internet

Connessione ad internet Introduzione al C++ Connessione ad internet Istruzioni per la connessione internet: - una volta connessi, aprire un browser (firefox) - in Modifica/preferenze/avanzate/rete/impostazioni - attivare la modalità

Dettagli

Il File-System. I file in ambiente Linux Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Il File-System. I file in ambiente Linux Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Il File-System I file in ambiente Linux Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 File System Il file-system è uno degli aspetti più visibili di un sistema operativo

Dettagli

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...

Dettagli

Il foglio elettronico

Il foglio elettronico Il foglio elettronico Foglio di calcolo, Spreadsheet in inglese, Permette di elaborare DATI NUMERICI. E una TABELLA che contiene numeri che possono essere elaborati con FUNZIONI matematiche e statistiche.

Dettagli

Esercizio 1. Esercizio 1

Esercizio 1. Esercizio 1 Esercizio 1 Un registratore di cassa registra su di un file binario alcuni dati relativi agli scontrini emessi. In particolare, tramite una struttura dati di nome scontrino, il registratore di cassa tiene

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli

Breve riepilogo della puntata precedente:

Breve riepilogo della puntata precedente: Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta

Dettagli

Funzioni. Il modello console. Interfaccia in modalità console

Funzioni. Il modello console. Interfaccia in modalità console Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Manuale Terminal Manager 2.0

Manuale Terminal Manager 2.0 Manuale Terminal Manager 2.0 CREAZIONE / MODIFICA / CANCELLAZIONE TERMINALI Tramite il pulsante NUOVO possiamo aggiungere un terminale alla lista del nostro impianto. Comparirà una finestra che permette

Dettagli

Fondamenti di Informatica 2. Le operazioni binarie

Fondamenti di Informatica 2. Le operazioni binarie Corso di per il corso di Laurea di Ingegneria Gestionale Le operazioni binarie Università degli Studi di Udine - A.A. 2010-2011 Docente Ing. Sandro Di Giusto Ph.D. 1 L'algebra binaria Il fatto di aver

Dettagli

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza vers.0 in lavorazione Docente SAFFI FABIO Contenuti Implementazione delle operazioni di base mediante main in un unico file sorgente... 2 Struttura

Dettagli

Le operazioni di allocazione e deallocazione sono a carico del sistema.

Le operazioni di allocazione e deallocazione sono a carico del sistema. Allocazione della memoria In C++ è possibile creare (allocare) variabili in maniera statica o dinamica. Nell allocazione statica una variabile esiste ed è utilizzabile dal momento della sua dichiarazione

Dettagli

Corso di Laboratorio di Sistemi Operativi

Corso di Laboratorio di Sistemi Operativi Corso di Laboratorio di Sistemi Operativi Lezione 5 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Processi in Unix Approfondimenti: http://gapil.gnulinux.it/download/

Dettagli

Ricerca sequenziale di un elemento in un vettore

Ricerca sequenziale di un elemento in un vettore Ricerca sequenziale di un elemento in un vettore La ricerca sequenziale o lineare è utilizzata per ricercare i dati in un vettore NON ordinato. L algoritmo di ricerca sequenziale utilizza quan non ha alcuna

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto

Dettagli

Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it

Dettagli

NOZIONI BASE SHELL E SCRIPT LINUX

NOZIONI BASE SHELL E SCRIPT LINUX NOZIONI BASE SHELL E SCRIPT LINUX Aggiornato al 11 gennaio 2006 Ermes ZANNONI (ermes@zannoni.to.it) (http://www.zannoni.to.it) Indice : 1. Introduzione 2. La Shell 2.1 Comandida Shell 2.1.1 File e directory

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

Introduzione al Python

Introduzione al Python Andrea Passerini passerini@disi.unitn.it Informatica Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti

Dettagli

Comandi di Input/Output in Matlab

Comandi di Input/Output in Matlab Comandi di Input/Output in Matlab Il comando format controlla la configurazione numerica dei valori esposta da MAT- LAB; il comando regola solamente come i numeri sono visualizzati o stampati, non come

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 16 luglio 2015 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

Allocazione dinamica della memoria - riepilogo

Allocazione dinamica della memoria - riepilogo Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della

Dettagli

Indirizzo di una funzione. Puntatori a funzioni. Definizione di variabili. Definizione di variabili

Indirizzo di una funzione. Puntatori a funzioni. Definizione di variabili. Definizione di variabili Indirizzo di una funzione 2 Puntatori a funzioni Ver. 2.4 Si può chiamare una funzione utilizzando l indirizzo di memoria dal quale inizia il codice eseguibile della funzione stessa L indirizzo di memoria

Dettagli

VARIABILI LOCALI E GLOBALI (ESTERNE)

VARIABILI LOCALI E GLOBALI (ESTERNE) VARIABILI LOCALI E GLOBALI (ESTERNE) Le variabili locali sono definite (ed il loro uso dichiarato) nella funzione (o nel blocco) che le usa; nascono quando la funzione entra in esecuzione e muoiono al

Dettagli

P a s q u a l e t t i V e r o n i c a

P a s q u a l e t t i V e r o n i c a PHP: interagire con i file Pasqualetti Veronica Apertura file Quando si apre un file, bisogna specificare le seguenti informazioni: Se lo si vuole aprire in sola lettura, in sola scrittura, o in lettura

Dettagli

I puntatori e l allocazione dinamica di memoria

I puntatori e l allocazione dinamica di memoria I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in

Dettagli

Politecnico di Torino

Politecnico di Torino Politecnico di Torino INFORMATICA II Esame del 19 Luglio 2008 1. Realizzare un programma in linguaggio C per evidenziare le variazioni percentuali di un insieme di azioni quotate in borsa. In un file di

Dettagli