Programmazione C Massimo Callisto De Donato

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione C Massimo Callisto De Donato"

Transcript

1 Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it LEZIONE 9 FILE A.A. 2011/12

2 Gestione dei files in C Un file è una sequenza di bytes che supportano le operazioni di: creazione, cancellazione, posizionamento, lettura, scrittura. Un file può rappresentare qualsiasi cosa (file di testo, schermo, una stampante, un disco) chiamato canale. Le operazioni saranno tradotte a seconda del canale su cui operiamo. Esempio: scrivere qualcosa su un file che rappresenta lo schermo produce una stampa a video. La stessa operazione su una stampante provoca una stampa.

3 Gestione dei files in C Le classiche operazioni sono: Apertura Possibilità di creazione Operazioni sul file Lettura e scrittura. Posizionamento [solo su file allacciati a canali che lo supportano] Chiusura Serve a scrivere eventuali dati rimasti in attesa da inviare al canale.

4 Gestione dei files in C da stdio.h Funzione fopen() fclose() putc()/fputc() getc()/fgetc() fgets()/fputs() fread()/fwrite() fprintf()/fscanf() fseek() feof() ferror() rewind() fremove() fflush() Significato Apre un file Chiude un file Scrive un carattere su file Legge un carattere da file Come sopra su stringhe Lettura/scrittura di byte da/su file Equivalente della printf/scanf su file Posizionamento su un certo byte del file Raggiungimento fine file Restituisce vero se si verifica un errore Riporta l indicatore di posizione all inizio del file Cancella il file Scarica il contenuto del buffer in memoria

5 File: aggetti utili Per capire la posizione si usano: NULL: definisce il puntatore nullo EOF: identifica la fine del file Costanti di posizionamento(con fseek()) SEEK_SET inizio file SEEK_CUR posizione corrente SEEK_END: fine del file

6 File: apertura Apertura: #include <stdio.h> FILE *fopen(const char * filename, const char *mode); Il prototipo dice: Una stringa filename in ingresso Una stringa mode che identifica come aprire il file Ritorna: un puntatore a struttura di tipo FILE NULL se l apertura non va a buon fine.

7 Esempio #include <stdio.h> // STanDard Input/Output FILE *fp; if((fp = fopen( test.txt, r )) == NULL){ printf( Errore di apertura di test.txt!\n ); exit(-1); // Possiamo operare sul file puntato da fp

8 File: la struttura FILE La struttura FILE è contenuta nella libreria stdio.h Mantiene le informazioni per la corretta gestione del file [nome, modalità di apertura, posizione corrente, ] Le funzioni che operano sul file useranno queste informazioni a seconda dei casi. Es.: fwrite() controllerà nella struttura se abbiamo aperto il file in modalità corretta.

9 File: modalità di apertura Modalità r w r+ w+ a a+ b Read Write Read & Write Write & Read Append Append & Read Binary Descrizione File di testo in sola lettura [se non esiste torna NULL] File di testo in sola scrittura [ il contenuto viene cancellato,se il file non esiste viene creato] File di testo in lettura e scrittura [se non esiste torna NULL] File di testo in scrittura e lettura [il contenuto viene cancellato, se il file non esiste viene creato] File di testo in scrittura aggiungendo i dati alla fine del file [ae il file non esiste viene creato]. Come append ma aggiunge anche la lettura. Se una b viene aggiunta alle modalità precedenti si indica che il file è binario. [rb, wb, ab, e r+b, w+b, a+b]

10 File: modalità di apertura In modalità testo ciò che effettivamente contiene il file può non rispecchiare ciò che leggiamo/scriviamo. Esempio: new line può corrispondere al carattere \n oppure alla coppia di caratteri CarriageReturn + LineFeed ( \r\n ). In modalità binario leggiamo ciò che si trova sul file [i due caratteri CR e LF]

11 Esempio #include <stdio.h> #include <stdlib.h> #define MAX_LEN 100 int main(int argc, char *argv[]) { FILE *fp; char mfile[max_len], mod[4]; while(1){ printf("file da aprire e modalita'[r r+ w w+ a a+...]:"); scanf("%s%s", mfile, mod); if((fp = fopen(mfile, mod)) == NULL){ printf("errore di apertura di %s!\n", mfile); exit(-1); printf("file %s aperto in modalità %s!\n", mfile, mod); // do nothing fclose(fp);

12 Esercizio Modificare il programma precedente per aprire un solo file nella modalità scelta. Il file su cui operare deve essere indicato all avvio del programma. Schema di utilizzo: programma.exe nome_file modalità

13 File: chiusura La chiusura del file è sempre un operazione importante: (in generale) l O.S. gestisce scritture bufferizzate. La chiusura forza a scrivere i dati ancora bufferizzati. int fclose(file* fp); Restituisce zero se va a buon fine; EOF se c'è stato qualche errore; Quando può tornare EOF? Es.: il file puntava ad un disco e prima della chiusura qualcuno lo ha estratto dal computer.

14 File: lettura/scrittura Dopo l apertura di un file possiamo: Leggere/scrivere caratteri: getc(), putc() Leggere/scrivere stringhe: fputs(), fgets() Leggere e scrivere con fscanf(), fprintf() In modalità binario leggiamo/salviamo tipi di dati arbitrari. Es.: Possiamo creare una rubrica tramite le struct. Il salvataggio consiste nello scrivere le variabili di tipo struct su un file.

15 File: lettura di caratteri getc() [fgetc()] per la lettura da file di un carattere. int getc(file* fp); Dopo la lettura fp punta al prossimo carattere La funzione ritorna: Il carattere letto EOF per la fine del file EOF in caso di errore. Per distinguere tra errore o fine del file usiamo ferror() o feof()

16 Esempio #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE *fp; char ch; if((fp = fopen("input.txt", "r")) == NULL){ printf("errore di apertura di input.txt!\n"); exit(-1); printf("file input.txt aperto il lettura!\n"); while( (ch = getc(fp))!= EOF ) { printf( "letto %c [%d]\n", ch, ch); //sleep(10); // se entro 20s elimino input.txt provoco un errore(?) if(!feof(fp)){ printf("c'e' stato un errore!"); printf("%d", ferror(fp)); fclose(fp); return 0;

17 File: scrittura di caratteri putc() [fputc()] per la scrittura su file di un carattere int puntc(int ch, FILE* fp); Accoda alla posizione di fp il carattere ch. Ritorna: Il ch carattere appena scritto EOF in caso di errore

18 Esempio #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE *fp; char ch, *ofile = "output.txt"; if((fp = fopen(ofile, w")) == NULL){ printf("errore di apertura di %s!\n, ofile); exit(-1); printf("file %s aperto il scrittura!\n Termina con 0 \n, ofile); while( (ch = getchat())!= 0 ) { if(putc(ch, fp) == EOF){printf( Errore in scrittura!\n ); exit(-1); // Valeva anche: if(fputc(ch, fp)!= ch){ fclose(fp); return 0;

19 Esercizio Scrivere il programma copia_files.c che prende in input: il file da cui leggere il file su cui scrivere: copia_files.exe in.txt out.txt N.b: getc() e putc() non effettuano una copia esatta da in.txt a out.txt, perché?

20 Esercizio Proviamo ad implementare il programma copia_files in modalità binaria. Osservazione 1: dobbiamo aggiungere b alla modalità di apertura di un file. Osservazione 2: in modalità binario un byte potrebbe rappresentare EOF e quindi potremmo leggere erroneamente la fine di un file. Per controllare la terminazione usiamo al suo posto feof(file *).

21 File: lettura di stringhe con fgets() Leggiamo il file a righe con fgets() char *fgets(char *buffer, int n, FILE *fp); Inserisce in buffer i caratteri letti: Fino alla terminazione della riga (con \n compreso); Oppure più n-1 caratteri se la riga è più lunga di n. A buffer si aggiunge automaticamente \0. Ritorna NULL in caso di errore. FILE *fp = fopen( ); char line[line_max]; // vedi LINE_MAX di limits.h... while (fgets(line, LINE_MAX, fp)!= NULL){...

22 File: scritture di stringhe con fputs() Scriviamo il contenuto di buffer nel file int fputs(const char *buffer, FILE *fp); Non verranno aggiunti \n in maniera automatica. Ritorna EOF se c è stato errore, un intero positivo altrimenti. FILE *fp = fopen( ); char line[line_max]; scanf( %s, line); if((fputs(line, fp) == EOF){ /* gestione errore */

23 Esempio int main(int argc, char *argv[]) { FILE *fp; char str[line_max]; int i = 0; if(argc!= 2){ printf("errore! Usare: %s file_scrittura\n", argv[0]); exit(-1); if((fp = fopen(argv[1], "w")) == NULL){ /*errore */ exit(-1); printf("inserire il testo. Una riga vuota per terminare:\n"); while(1){ if(gets(str) == NULL) if(!strlen(str)){ break; if(fputs(str, fp) == EOF) if(fputs("\n", fp) == EOF) fclose(fp); { fclose(fp); exit(-1); { fclose(fp); exit(-1); { fclose(fp); exit(-1); Il carattere \n non era stato inserito in str. Vedi gets() su Open Group

24 Esercizio Creiamo un programma conta_caratteri che: Usi le funzioni fgets() e fputs(); Prende in input un file di testo input.txt; Per ogni riga calcola il numero dei caratteri presenti su una riga; Riscrive la riga su un altro file output.txt aggiungendo il numero dei caratteri trovato. Esempio: input.txt output.txt

25 File: fprintf e fscanf Date le funzioni printf e scanf, esistono le rispettive versioni che operano su file in maniera esattamente uguale: int i = 1034; FILE* fp = fopen(...); fprintf(fp, "%d\n", i); // scrive su fp il valore 1034 fscanf(fp, "%d", &i); // legge da fp Otteniamo l effetto delle funzioni note usando i puntatori a FILE definiti in stdio.h: standard input stdin (la tastiera) standard output stdout (lo schermo) : printf(...) fprintf(stdout,...) scanf(...) fscanf(stdin,...) getchar(...) fgetc(stdin) putchar(c) fputc(c, stdin)

26 Esempio FILE *fp; char str[line_max]; int i = 0; if(argc!= 2){ fprintf(stdout, "Errore! Usare... "); exit(-1); if((fp = fopen(argv[1], "w")) == NULL){ /*errore */ exit(-1); printf("inserire il testo. Una riga vuota per terminare:\n"); while(1){ if(fgets(str, LINE_MAX, stdin) == NULL) { fclose(fp); exit(-1); if(strlen(str) < 2){ break; if(fputs(str, fp) == EOF ) { fclose(fp); exit(-1); //if(fputs("\n", fp) == EOF) { fclose(fp); exit(-1); /* N.b.: fgets legge anche \n e lo memorizza in str; e se c è un solo carattere deve essere \n */

27 File: operare in binario In modalità binario accediamo all effettiva rappresentazione binaria del file. #define BUFF_MAX 512 char buffer[buff_max]; int n; FILE* fp = fopen(...); n = fread(buffer, sizeof(char), BUFF_MAX, fp); Dati in ingresso: Leggiamo sizeof(char) alla volta per BUFF_MAX volte; Il contenuto va inserito in buffer La funzione scrive in n: BUFF_MAX se c erano abbastanza dati < BUFF_MAX se il file è terminato prima

28 File: operare in binario In modalità binario accediamo all effettiva rappresentazione binaria del file. #define BUFF_MAX 512 char buffer[buff_max]; int n; FILE* fp = fopen(...); n = fwrite(buffer, sizeof(char), BUFF_MAX, fp); Dati in ingresso: Scriviamo sizeof(char) alla volta per BUFF_MAX volte; Il contenuto viene letto da buffer La funzione scrive in n il numero degli elementi scritti: BUFF_MAX se è andato tutto bene < BUFF_MAX se c è stato un errore

29 Esempio /* Copia binaria tra due files. Gestione degli errori è omessa */ #define BUFF_MAX 512 FILE *fp_in, *fp_out; char buffer[buff_max]; /* copiamo 1 byte (1 char)alla volta. */ int n = 0; fp_in = fopen( input.txt, rb ); fp_out = fopen( output.txt, wb ); while(!feof(fp_in)){ n = fread(buffer, sizeof(char), BUFF_MAX, fp_in); if(fwrite(buffer, sizeof(char), n, fp_out)!= n){ /* errore */ exit(-1); fclose(fp_in); fclose(fp_out); /* Nb:se al posto di char mettiamo int o altro potremmo avere dei troncamenti! */

30 Esercizio 1. Scriviamo un programma verify_1.c che: Prende in input due files; Verifica se i due files hanno lo stesso contenuto. Opera in modalità testo; Usi le funzioni fread, fwrite. 2. Scriverne un programma verify_2.c che opera come verify_1.c ma effettua il controllo in modalità binaria. 3. Scriverne verify.c che prende in input un ulteriore parametro: text per effettuare una verifica modalità testo; bin per effettuare una verifica in modalità binaria.

31 File: salvataggio tipi di dati derivati Scriviamo/leggiamo su un file strutture dati shop che contiene l id di un negozio ed relativo nome. #define MAX_LEN 100 #define MAX_ID 10 typedef struct { char id[10]; char nome[max_len]; shop; Operiamo in binario con append. Eseguendo più volte il programma la lista crescerà mostrando i negozi salvati in precedenza.

32 Esempio // nel main shop buffer[n]; FILE *fp = fopen( shop.save, ab ); // append binario /* Assumiamo di riempire buffer[n] di N shops e salviamo il file*/ savefile(fp, buffer, N); void save_file(file * file, const shop* buffer, const int size){ int n; n = fwrite(buffer, sizeof(shop), size, file); if(n!= size){ printf("errore di scrittura!\n"); exit(-1);

33 Esempio // nel main FILE *fp = fopen( shop.save, r ); // read binario /* Riapriamo il file e richiamiamo una funzione che lo legge e ne stampa il contenuto */ read_file (fp); void read_file(file * file){ shop *ptr = (shop *) malloc(sizeof(shop)); if(ptr == NULL) { /* errore */ exit(-1); while(fread(ptr, sizeof(shop), 1, file)){ if(ferror(file)){ /* errore */ exit(-1); printf("[id: %s, NOME: %s]\n", ptr->id, ptr->nome); free(ptr); ptr = NULL;

34 File: spostamenti fseek() ci permette di muoverci a piacimento a partire da un punto di riferimento. int fseek(file *fp, long offset, int pos); offset (anche negativo) è la quantità in bytes dello spostamento rispetto al riferimento pos pos può essere inizio (SEEK_SET), posizione corrente (SEEK_CUR), fine file (SEEK_END) Ritorna: 0 in caso di successo -1 se c è stato un errore E.s.: usiamo ftell() per conoscere la dimensione di un file in bytes.

35 Esempio /* long ftell(file *fp); ritorna il n di bytes nella posizione attuale rispetto all inizio del file */ shop buffer[n]; long n = 0; FILE *fp = fopen( shop.save, r ); // read dall inizio n = fseek(fp, 0, SEEK_END); if(!n) { /* errore */ exit(-1); printf( Dimensione file: %l bytes, ftell(fp)); /* ci riportiamo all inizio del file */ n = fseek(fp, 0, SEEK_SET); if(!n) { /* errore */ exit(-1);

36 File Passiamo all esempio SaveStruct.c con i concetti visti prima. Il file è diventato un po lungo e comincia ad essere difficile da maneggiare Impariamo ad usare un file.h per lavorare meglio

37 Header files Un file.h contiene solo: I prototipi delle funzioni Strutture dati derivate, alias, etc. Costanti Eventuali variabili globali Dovrà esistere il corrispettivo file.c che definisce i prototipi. Nel nostro file con il main includiamo il nostro file con: #include file.h

38 Esempio // main.c #include <stdio.h> #include "bridge.h" 2 // bridge.h int num(); 3 int main() { num(); 1 return 0; // file.c #include <stdio.h> /*static*/ int ggl = 0; int num(){ printf("ciao mondo"); ggl++; return 0;

39 Esempio #include <stdio.h> #include "my_math.h" int main(){ int a, b, c; fprintf(stdout, Tre numeri prego:"); fscanf(stdin, "%d %d %d", &a, &b, &c); printf( La media e %f\n", average(a,b,c)); return 0; /* my_math.h */ #define ZERO 0 float average(int,int,int); float sum(int, int); /* my_math.c */ #include "my_math.h float average(int x, int y, int z){ int somma; return (somma = sum(sum(x, y), z)) == ZERO? ZERO : (somma / 3); float sum(int x, int y){ return x + y;

40 Esercizio (ultimo ) Creare un programma Rubrica che mantenga le informazioni sui contatti (e.s.: nome, cognome). Ciascun contatto possiede un ID unico nella rubrica. Il programma deve offrire un menu interattivo per: Apertura da file di una rubrica Salvataggio su file della rubrica attualmente in memoria Stampa lista contatti in memoria Aggiunta di un nuovo contatto Cancellazione di un contatto dalla rubrica Ricerca contatto Analisi del contenuto di un file di una rubrica Duplicazione del file di una rubrica

41 The end Grazie per l attenzione

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

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

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

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti

Dettagli

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

Fondamenti di Informatica. Tecniche di input/output per l'accesso ai file 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. 2010-2011 Docente Ing. Sandro Di Giusto Ph.D. 1 L'importanza

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

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

Input/output in C e in C++

Input/output in C e in C++ FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni

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

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

Sono file di caratteri, organizzati in linee. Ogni linea e` terminata da una marca di fine linea (newline, cara ttere '\n').

Sono file di caratteri, organizzati in linee. Ogni linea e` terminata da una marca di fine linea (newline, cara ttere '\n'). 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

DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII

DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII Gestione dei files DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

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

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

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

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

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007 Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)

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

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Dettagli

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa

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

I/O Avanzato e File. Definizione di file File di testo in C Input robusto Formattazione avanzata Esercizi proposti Sommario

I/O Avanzato e File. Definizione di file File di testo in C Input robusto Formattazione avanzata Esercizi proposti Sommario Programmazione in C I/O Avanzato e File Definizione di file File di testo in C Input robusto Formattazione avanzata Esercizi proposti Sommario 2 Riferimenti al materiale Testi Kernighan & Ritchie: capitolo

Dettagli

Laboratorio di Elementi di Bioinformatica

Laboratorio di Elementi di Bioinformatica Laboratorio di Elementi di Bioinformatica Laurea Triennale in Informatica (codice: E3101Q116) AA 2015/2016 I/O su file Docente del laboratorio: Raffaella Rizzi 1 Standard input e output gets: legge una

Dettagli

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno. Tipo File Per memorizzare un dato su un supporto magnetico come un hard disk o un nastro, o più in generale su un'unità di memoria di massa viene utilizzata un tipo di dato chiamato file. Un file può essere

Dettagli

Gestione dinamica della memoria Stringhe File

Gestione dinamica della memoria Stringhe File Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Gestione dinamica della memoria Stringhe File Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica

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

STRINGHE: ARRAY DI CARATTERI! a p e \0

STRINGHE: ARRAY DI CARATTERI! a p e \0 STRINGHE: ARRAY DI CARATTERI! Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più

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

File di testo e file binari Directory

File di testo e file binari Directory File di testo e file binari Directory Dove salvare i file perché vengano ritrovati dal programma? CASO 1 Programma eseguito da ambiente di lavoro (MS Visual C++). La directory in cui viene creato/letto

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

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

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Video Scrittura (MS Word) Lezione 1 Funzioni di base

Video Scrittura (MS Word) Lezione 1 Funzioni di base Video Scrittura (MS Word) Lezione 1 Funzioni di base Cos e un programma di Video Scrittura Un programma di Video Scrittura serve per effettuare tutte quelle operazioni che consentono di creare, modificare,

Dettagli

4 GLI ARRAY E LE STRINGHE

4 GLI ARRAY E LE STRINGHE 13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si

Dettagli

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3. 1 strace : visualizzazione delle system call invocate da un processo

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3. 1 strace : visualizzazione delle system call invocate da un processo UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica a.a. 2005-2006 CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3 1 strace : visualizzazione delle system call

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 pratica alla creazione di pagine web

Guida pratica alla creazione di pagine web Guida pratica alla creazione di pagine web Dopo aver creato una pagina html, muoviamo i primi passi nell'uso del codice. Naturalmente non è necessario conoscere il codice a memoria per creare pagine internet,

Dettagli

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30' Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit5.zip contenente i file necessari (solution di VS2008 e progetto compresi). Avvertenze per la consegna: apporre all inizio di

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

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

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3 UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica-Informatica-Telecomunicazioni a.a. 2001-2002 CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3 1 Trasferimento

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

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste 4 Le liste collegate 4.0 Le liste collegate c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 4.0 0 4 Le liste collegate Rappresentazione di liste 4.1

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

3. Terza esercitazione autoguidata: progetto gestione voli

3. Terza esercitazione autoguidata: progetto gestione voli 9 3. Terza esercitazione autoguidata: progetto gestione voli Qui ci occupiamo di scrivere un programma abbastanza lungo, dedicato alla gestione di una tabella di dati. Una tabella e una struttura dati

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

L INTERFACCIA GRAFICA DI EXCEL

L INTERFACCIA GRAFICA DI EXCEL Dopo l avvio del foglio elettronico apparirà un interfaccia grafica nella quale verrà aperta una nuova cartella di lavoro alla quale il PC assegnerà automaticamente il nome provvisorio di Cartel1. La cartella

Dettagli

Fondamenti di Informatica T-1, 2010/2011 Modulo 2. Prova d Esame 4A di Martedì 21 Giugno 2011 tempo a disposizione 2h

Fondamenti di Informatica T-1, 2010/2011 Modulo 2. Prova d Esame 4A di Martedì 21 Giugno 2011 tempo a disposizione 2h Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit4A.zip contenente i file necessari (progetto Visual Studio ed eventuali altri file di esempio). Avvertenze per la consegna:

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Linguaggio C: introduzione Il linguaggio C è un linguaggio general purpose sviluppato nel 1972 da Dennis Ritchie per scrivere il sistema operativo UNIX ed alcune applicazioni per un PDP-11. Il linguaggio

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

Questa è la finestra dei dettagli, è possibile selezionare anche da qui un modello o un pezzo per essere aperto.

Questa è la finestra dei dettagli, è possibile selezionare anche da qui un modello o un pezzo per essere aperto. Il sistema CONFELMOD come tutti gli analoghi sistemi per la confezione d abbigliamento, svolge 3 funzioni distinte (anche dal punto di vista del tipo di programma) 1. la gestione di tutti i dati relativi

Dettagli

Gestione risorse (Windows)

Gestione risorse (Windows) Gestione risorse (Windows) Organizzazione dei file Il sistema di memorizzazione è organizzato ad albero secondo una struttura gerarchica DISCO (drive) FILES CARTELLE (directory) FILES SOTTOCARTELLE FILES

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

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

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

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

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

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Seminario di C Appendici

Seminario di C Appendici Seminario di C Appendici Paride Dominici Indice Appendice A - Allocazione dinamica della memoria... 2 Appendice B - Progettazione lineare di un programma... 4 Appendice C - Utilizzo dei file in modalità

Dettagli

Laboratorio di Informatica L-A 1. ne: M se macchina, P se parte Nel caso di macchina seguono: L identificatore

Laboratorio di Informatica L-A 1. ne: M se macchina, P se parte Nel caso di macchina seguono: L identificatore Azienda meccanica Un azienda artigianale monta macchine per conto terzi ed acquista le parti costituenti da ditte esterne. Una macchina è caratterizzata da un valore intero che identifica la macchina e

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

TUTORATO di LINGUAGGI I

TUTORATO di LINGUAGGI I TUTORATO di LINGUAGGI I Enrico Vianello TUTORATO di LINGUAGGI I contatti utili LE LEZIONI SI TERRANNO: VENERDI 12.30-14.30 PER INFORMAZIONI e DOMANDE: enrico.vianello@student.unife.it IL MATERIALE UTILIZZATO

Dettagli

Navigare in Internet Laboratorio di approfondimento la creazione di siti web e/o blog. Marco Torciani. (Seconda lezione) Unitre Pavia a.a.

Navigare in Internet Laboratorio di approfondimento la creazione di siti web e/o blog. Marco Torciani. (Seconda lezione) Unitre Pavia a.a. Navigare in Internet Laboratorio di approfondimento la creazione di siti web e/o blog (Seconda lezione) Unitre Pavia a.a. 2014-2015 27/01/2015 dott. 1 In informatica l'hypertext Markup Language (HTML)

Dettagli

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione.

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione. Scrivere un programma per la gestione di una videoteca. Il programma deve essere in grado di tenere traccia dello stato corrente (presente/in prestito a x/smarrito da x/danneggiato da x a livello nn) e

Dettagli

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

Introduzione a Visual Basic Lezione 2 Cicli e anomalie a Visual Basic Lezione 2 Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Perché i cicli? Un esempio concreto Finora abbiamo visto

Dettagli

ESERCIZI SULLA PROGRAMMAZIONE DI SISTEMA GNU/LINUX

ESERCIZI SULLA PROGRAMMAZIONE DI SISTEMA GNU/LINUX Autore: Classe: Luciano VIVIANI QUARTA INFORMATICA (4IB) Anno scolastico: 2004/2005 Scuola: Itis Euganeo ESERCIZI SULLA PROGRAMMAZIONE DI SISTEMA GNU/LINUX Questa dispensa non vuole essere un manuale di

Dettagli

Angelo Gallippi. Fondamenti di informatica

Angelo Gallippi. Fondamenti di informatica Angelo Gallippi Fondamenti di informatica Copyright MMIX ARACNE editrice S.r.l. www.aracneeditrice.it info@aracneeditrice.it via Raffaele Garofalo, 133 A/B 00173 Roma (06) 93781065 ISBN 978 88 548 2506

Dettagli

Come utilizzare i riferimenti assoluti e relativi in Microsoft Excel

Come utilizzare i riferimenti assoluti e relativi in Microsoft Excel Come utilizzare i riferimenti assoluti e relativi in Microsoft Excel In un foglio elettronico, le celle sono identificate mediante delle coordinate; in genere, sono utilizzate le lettere per identificare

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Dettagli

Lettura e scrittura di file di dati input/output

Lettura e scrittura di file di dati input/output Lettura e scrittura di file di dati input/output Lettura e scrittura da disco Molto semplice in C++: si fa esattamente come se fosse una tastiera (se sto leggendo da disco) o lo schermo (se sto scrivendo

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

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

Scrivere alla fine di un file Vi sono due modi per scrivere alla fine di un file:

Scrivere alla fine di un file Vi sono due modi per scrivere alla fine di un file: Scrivere alla fine di un file Vi sono due modi per scrivere alla fine di un file: usare lseek per spostarsi alla fine del file e poi scrivere: lseek(filedes, (off_t)0, SEEK_END); write(filedes, buf, BUFSIZE);

Dettagli

WINDOWS95. 1. Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

WINDOWS95. 1. Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni WINDOWS95 1. Avviare Windows95 Avviare Windows95 non è un problema: parte automaticamente all accensione del computer. 2. Barra delle applicazioni 1 La barra delle applicazioni permette di richiamare le

Dettagli

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676

Dettagli

INTRODUZIONE ALLE BASI DATI RELAZIONALI

INTRODUZIONE ALLE BASI DATI RELAZIONALI INTRODUZIONE ALLE BASI DATI RELAZIONALI RELAZIONI E TABELLE Nelle BASI DI DATI RELAZIONALI le informazioni sono organizzate in TABELLE; Le tabelle sono rappresentate mediante griglie suddivise in RIGHE

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

Note_Batch_Application 04/02/2011

Note_Batch_Application 04/02/2011 Note Utente Batch Application Cielonext La Batch Application consente di eseguire lavori sottomessi consentendo agli utenti di procedere con altre operazioni senza dover attendere la conclusione dei suddetti

Dettagli

CREARE UNA LIBRERIA IN C

CREARE UNA LIBRERIA IN C CREARE UNA LIBRERIA IN C Prima di cominciare a vedere come fare una libreria, dobbiamo capire di cosa abbiamo bisogno... di un file.h che sarà l'header della libreria (ovvero il file che conterrà i prototipi

Dettagli

Esercizi. Codifica file di testo

Esercizi. Codifica file di testo Politecnico di Milano Esercizi Esercizi di riepilogo sul linguaggio C: file, puntatori, liste Codifica file di testo Utilizzando la codifica di Cesare, scrivere un programma in grado di criptare e decriptare

Dettagli

1 Automi Cellulari (Rev. 2.0.3)

1 Automi Cellulari (Rev. 2.0.3) 1 Automi Cellulari (Rev. 2.0.3) Gli automi cellulari sono una classe di modelli introdotti originariamente da von Neumann e Ulam nel 1948 come una semplice idealizzazione dell evoluzione delle cellule

Dettagli

Manuale utente Soggetto Promotore Erogatore Politiche Attive

Manuale utente Soggetto Promotore Erogatore Politiche Attive Manuale utente Soggetto Promotore Erogatore Politiche Attive Guida all utilizzo del Sistema Garanzia Giovani della Regione Molise Sistema Qualità Certificato UNI EN ISO 9001:2008 9151.ETT4 IT 35024 ETT

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione Fondamenti di Programmazione (con linguaggio di riferimento C++) Gianfranco Rossi Università di Parma Dip. di Matematica e Informatica 43100 Parma (Italy) gianfranco.rossi@unipr.it Indice 1 Introduzione

Dettagli

Trattamento delle STRINGHE in C(++)

Trattamento delle STRINGHE in C(++) Trattamento delle STRINGHE in C(++) Le cose che qui vengono dette valgono sia per il linguaggio C che per il C++. Nel linguaggio C non esiste, a differenza di quel che avviene per altri linguaggi di programmazione

Dettagli

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m

Dettagli

CARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe

CARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe CARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe Caratteri e stringhe Caratteri Sono i blocchi costitutivi di ogni programma:

Dettagli

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Funzioni Esercizio 1 Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Creare un altra funzione, di nome float cube(float x), che restituisce invece il

Dettagli

Informatica I Facoltà di Ingegneria Prova scritta del 20/01/2014 TURNO A

Informatica I Facoltà di Ingegneria Prova scritta del 20/01/2014 TURNO A Informatica I Facoltà di Ingegneria Prova scritta del 20/01/2014 TURNO A In una versione semplificata del gioco della Battaglia Navale il giocatore cerca di colpire le navi dell avversario (di cui non

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

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

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

18/05/2016 MANUALE UTENTE

18/05/2016 MANUALE UTENTE 18/05/2016 MANUALE UTENTE Indice dei contenuti 2 1. ACCESSO AL SISTEMA PAGOINRETE... 3 2. HOME PAGE... 4 3. RICHIEDI ASSISTENZA... 5 4. SERVIZI DI PAGAMENTO... 6 5. VISUALIZZA CONDIZIONI CONTRATTUALI PSP...

Dettagli

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO Servizi per l e-government nell università Federico II WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO CONNESSIONE_TERMINAL_SERVER PAG. 1 DI 13 Indice 1. Premessa...3

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

Manuale del software Supplemento. Comunicazione tra sensore per rilevamento oggetti O2D2xx e Siemens Simatic S7 704567 / 00 02 / 2011

Manuale del software Supplemento. Comunicazione tra sensore per rilevamento oggetti O2D2xx e Siemens Simatic S7 704567 / 00 02 / 2011 Manuale del software Supplemento Comunicazione tra sensore per rilevamento oggetti O2D2xx e Siemens Simatic S7 704567 / 00 02 / 2011 Indice 1 Premessa 3 1.1 Simboli utilizzati 3 2 Generalità 3 3 Connessione

Dettagli

Esempio 1: stampa locale di file remoto

Esempio 1: stampa locale di file remoto Alcuni esempi di uso di Socket Esempio 1: stampa locale di file remoto Visualizzazione locale del contenuto di un file remoto. Il client deve richiedere la creazione della connessione e successivamente

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