Struttura dati FILE. Concetto di FILE
|
|
|
- Marta Spinelli
- 10 anni fa
- Visualizzazioni
Transcript
1 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 è un astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni (record) uniformi, cioè dello stesso tipo. Un file è un astrazione di memorizzazione di dimensione potenzialmente illimitata (ma non infinita!), ad accesso sequenziale. Programmazione - Michele Colajanni, 2003/
2 Funzionamento Una testina di lettura/scrittura (concettuale) indica in ogni istante la registrazione (record) corrente. Inizialmente, la testina si trova per ipotesi sulla prima posizione. Dopo ogni operazione di lettura / scrittura, la testina si sposta poi sulla registrazione successiva. E illegale tentare di leggere / scrivere oltre la fine del file. Programmazione - Michele Colajanni, 2003/ Operare sui file A livello di sistema operativo, un file è denotato univocamente dal suo nome assoluto, che comprende il percorso e il nome relativo. A sua voltà, in certi sistemi operativi il percorso può comprendere il nome dell unità. In DOS e Windows: C:\temp\prova1.c In UNIX e Linux: /usr/temp/prova1.c Programmazione - Michele Colajanni, 2003/
3 Apertura file Poiché un file è un entità del sistema operativo, per agire su di esso dall interno di un programma occorre stabilire una corrispondenza fra: il nome del file come risulta al sistema operativo un nome di variabile definito all interno del programma Questa operazione si chiama APERTURA DEL FILE, ed è necessaria per collegare il mondo esterno (del sistema operativo) con l ambiente del programma in esecuzione Programmazione - Michele Colajanni, 2003/ Apertura e chiusura file Una volta aperto, il programma potrà poi agire sul file operando formalmente sulla variabile definita al suo interno: il sistema operativo provvederà ad effettuare realmente l operazione richiesta sul file associato a tale simbolo. Al termine, la corrispondenza dovrà essere eliminata mediante un operazione di CHIUSURA DEL FILE Questa operazione garantisce che tutte le modifiche apportate sul file siano rese effettive a livello di disco Programmazione - Michele Colajanni, 2003/
4 File in C Il modello di coordinazione della Standard I/O Library è basato sul concetto di file. Per gestire la corrispondenza fra il nome del file (come risulta al sistema operativo) ed una variabile del programma che rappresenta tale file, la Standard I/O Library definisce un apposito tipo: il tipo FILE. In pratica, FILE è una struttura definita all interno dello header standard stdio.h, che l utente non ha necessità di conoscere nei dettagli e che spesso cambia da un compilatore all altro! Programmazione - Michele Colajanni, 2003/ File in C (cont.) Le strutture di tipo FILE non sono mai gestite direttamente dall utente, ma solo ed esclusivamente mediante le funzioni della Standard I/O Library Nei suoi programmi, l utente dovrà solo definire, ove necessario, dei puntatori a FILE Il modello di coordinazione della Standard I/O Library è basato sul concetto di file, e distingue fra: file di testo sequenza di caratteri file binario sequenza di byte Programmazione - Michele Colajanni, 2003/
5 Apertura di un file Per aprire un file, stdio.h dichiara la funzione fopen(): FILE* fopen(char fname[ ], char modo[ ]) Questa funzione apre il file di nome fname nel modo specificato, e restituisce un puntatore a FILE (che punta a una nuova struttura FILE appositamente creata). ATTENZIONE alle convenzioni dipendenti dal sistema operativo usato (es., \ nei percorsi oppure /) La stringa modo specifica come aprire il file: r apertura in lettura (read) w apertura in scrittura (write) a apertura in aggiunta (append) seguita opzionalmente da: t apertura in modalità testo (default) b apertura in modalità binaria Programmazione - Michele Colajanni, 2003/ Apertura di un file (cont.) Il valore restituito da fopen() è un puntatore a FILE, da usare in tutte le successive operazioni sul file. Tale puntatore è NULL in caso in cui l apertura sia fallita (vi sono molte possibilità in tal senso) IMPORTANTE prima di usare il file, controllare sempre il risultato di fopen() Programmazione - Michele Colajanni, 2003/
6 Esempi (apertura file testo) Apertura di un file di testo in lettura: FILE *f; f = fopen("nomefile.txt","r"); Apertura di un file di testo in scrittura (= CREAZIONE di un file) FILE *f; f = fopen("nomefile.txt","w"); Apertura di un file di testo in aggiunta (in coda): FILE *f; f = fopen("nomefile.txt","a"); NOTA: Specificatore di modo "t" (testo), essendo di default, di solito si omette Programmazione - Michele Colajanni, 2003/ FILE di testo 6
7 Operazioni sui file di testo Per operare sui file di testo, la libreria standard fornisce funzioni del tutto analoghe a quelle già viste per i canali di I/O predefiniti: Input/Output a caratteri Input/Output a stringhe di caratteri Input/Output formattato A queste si aggiungono altre funzioni di utilità generale. Programmazione - Michele Colajanni, 2003/ Funzioni di I/O per file di testo Funzioni console Funzioni per file int getchar(void); int fgetc(file* f); int putchar(int c); int fputc(int c, FILE* f); char* gets(char* s); char* fgets(char* s, int n, FILE* f); int puts(char* s); int fputs(char* s, FILE* f); int printf(char* fm, int fprintf(file* f, char*fm, expr1,, exprn); expr1,...exprn); int scanf(char* fm, int fscanf(file* f, char* fm, addr1,...addrn); addr1,...addrn); Programmazione - Michele Colajanni, 2003/
8 Funzioni di I/O per file di testo (cont.) In particolare, getchar() fgetc(stdin) putchar(c) fputc(c,stdout) Altre funzioni: feof(), che indica se si è incontrato l EOF fseek(), che sposta la testina di lettura/scrittura in una posizione a scelta nel file ftell(), che dà la posizione corrente della testina di lettura/scrittura nel file CHIUSURA DI UN FILE Alla fine, per chiudere un file si usa fclose(): int fclose(file*); Programmazione - Michele Colajanni, 2003/ Esercizio 1 Si archivi ciò che viene inserito da console (digitandolo sulla tastiera) su un file di testo. #include <stdio.h> main() { FILE *fp; fp = fopen("prova.txt","w"); if (fp==null) printf("errore di apertura del file\n"); else { int c; while ((c=getchar())!=eof) fputc(c,fp); fclose(fp); ATTENZIONE: fopen() restituisce un puntatore NULL in caso di errore nell apertura del file (ad esempio, se non c è spazio su disco o il disco èprotetto) Programmazione - Michele Colajanni, 2003/
9 Esercizio 2 Stampare a video il contenuto di un file di testo. #include <stdio.h> main(){ FILE *fp; fp = fopen("prova.txt","r"); if (fp==null) printf("errore di apertura del file\n"); else { int c; while ((c=fgetc(fp))!=eof) putchar(c); fclose(fp); Programmazione - Michele Colajanni, 2003/ Esercizio 3 Leggere da un file di testo dati.txt una sequenza di numeri interi di al più 100 elementi finché non si trova il primo elemento uguale a 0 (si ipotizza che un elemento uguale a 0 esista). Memorizzare tutti i numeri (escluso lo 0) in un vettore. continua Programmazione - Michele Colajanni, 2003/
10 main() { int vett[100], temp, i; FILE *puntf; puntf = fopen("dati.txt","r"); /* Attenzione al percorso del file*/ if (puntf==null) printf("errore di apertura file\n"); else { i=0; fscanf(puntf, "%d", &temp); while (temp!=0) { vett[i]=temp; fscanf(puntf, "%d", &temp); i++; fclose(puntf); Programmazione - Michele Colajanni, 2003/ Altre versioni ESERCIZIO 3.b: Leggere da un file di testo dati.txt una sequenza di numeri interi terminata da 0. Memorizzare in un vettore tutti i numeri negativi. ESERCIZIO 3.c: Leggere da un file di testo dati.txt una sequenza di numeri interi terminata da 0. Memorizzare in un vettore tutti i numeri compresi tra 30 e +30 escluso lo 0. Ordinare il vettore in modo crescente e stampare tutti i numeri positivi. ESERCIZIO 3.d: Leggere da un file di testo dati.txt una sequenza di caratteri terminata da *. Memorizzare in un vettore tutti i caratteri alfabetici. Programmazione - Michele Colajanni, 2003/
11 Esercizio 4 Scrivere in un file di testo valori_pos.txt tutti i numeri positivi di un vettore di 100 interi e terminare con uno 0. main() { int vett[100], temp, i; FILE *puntf; puntf = fopen("valori_pos.txt","w"); if (puntf==null) printf("errore di apertura file\n"); else { for (i=0; i<100; i++) if vett[i]>0 fprintf(puntf, "%d\n", vett[i]); fprintf(puntf, "%d\n", 0); fclose(puntf); Programmazione - Michele Colajanni, 2003/ Altre versioni ESERCIZIO 4.b: Scrivere in un file di testo carat.txt tutti i caratteri di una stringa letta da input. Terminare la sequenza di caratteri del file con *. ESERCIZIO 4.c: Leggere da un file di testo dati_inp.txt una sequenza di numeri interi terminata da 0. Ordinare il vettore in modo crescente. Copiare tutti i valori positivi del vettore in un file di testo dati_out.txt. ESERCIZIO 4.d: Come l esercizio 4.c. In più, stampare su schermo il contenuto del file dati_out.txt. [ Ricordare l uso di EOF: while (fscanf(puntf, %d,&temp)!=eof) printf(..); ] Programmazione - Michele Colajanni, 2003/
12 FILE binari File binari Mentre il file di testo è una sequenza di caratteri, un file binario è una pura sequenza di byte Viene usato in C per archiviare su memoria di massa qualunque tipo di informazione che non sia un testo, in particolare: valori numerici (int, float, double, ) tipi definiti dall utente (struct, vettori, ) una copia della memoria del calcolatore Non c è EOF, perché un file binario non è una sequenza di caratteri Programmazione - Michele Colajanni, 2003/
13 Operazioni su file binari Per operare sui file binari, la libreria standard fornisce due funzioni: fread(), per leggere una sequenza di byte fwrite(), per scrivere una sequenza di byte Programmazione - Michele Colajanni, 2003/ fwrite() int fwrite(addr, int dim, int n, FILE *f); Scrive sul file n elementi, ognuno grande dim byte complessivamente, scrive quindi n dim byte Gli elementi da scrivere vengono prelevati in memoria a partire dall indirizzo addr Restituisce il numero di elementi (non di byte!) effettivamente scritti (possono anche essere meno di n). Programmazione - Michele Colajanni, 2003/
14 fread() int fread(addr, int dim, int n, FILE *f); Legge dal file n elementi, ognuno grande dim byte (complessivamente, tenta quindi di leggere n dim byte) Gli elementi da leggere vengono posti in memoria a partire dall indirizzo addr Restituisce il numero di elementi (non di byte!) effettivamente letti: controllare il valore restituito è il solo modo per sapere quanto è stato letto, e in particolare per scoprire se il file è finito. Programmazione - Michele Colajanni, 2003/ Esercizio 1 Salvare su un file binario il contenuto di un vettore di interi. #include <stdio.h> #include <stdlib.h> main(){ FILE *fp; int vet[10] = {1,2,3,4,5,6,7,8,9,10; if ((fp = fopen("numeri.dat","wb"))==null) { fprintf(stderr, "Errore di apertura \n"); exit(1); fwrite(vet,sizeof(int),10,fp); fclose(fp); Programmazione - Michele Colajanni, 2003/
15 Note Essendo vet il nome di un vettore, rappresenta già un indirizzo, quindi non occorre ricavarlo con l operatore & L operatore sizeof() è essenziale perché il programma sia portabile da una piattaforma all altra Stavolta è necessario mettere lo specificatore di modo b (binario) Si sarebbe anche potuto fare un ciclo di dieci fwrite(), una per ogni int da scrivere, ma sarebbe stato inutilmente inefficiente (ma necessario nell eventualità di uso di file di testo) Programmazione - Michele Colajanni, 2003/ Esercizio 2 Leggere da un file binario 40 numeri interi e memorizzarli in un vettore. #include <stdio.h> #include <stdlib.h> main(){ FILE *fp; int vet[40], i, n; if ((fp = fopen("archivio.dat","rb"))==null) { fprintf(stderr, "Errore di apertura\n"); exit(1); n = fread(vet,sizeof(int),40,fp); for (i=0; i<n; i++) printf("%d ",vet[i]); fclose(fp); Programmazione - Michele Colajanni, 2003/
16 Note Sebbene fread() tenti di leggere 40 interi (il massimo compatibile con le dimensioni del vettore), potrebbe leggerne meno se il file finisse prima (raggiungimento dell EOF) è importante considerare il valore restituito, n Si sarebbe anche potuto fare un ciclo di dieci fread(), una per ogni int da leggere, ma sarebbe stato inutilmente inefficiente (ma necessario nell eventualità di uso di file di testo) Programmazione - Michele Colajanni, 2003/ File Binari o File Di Testo? Riprendiamo le due definizioni: file di testo sequenza di caratteri file binario sequenza di byte Poiché un carattere in C è ampio esattamente un byte, ci si può chiedere quale sia realmente la differenza fra i due tipi di file. In un file binario si potrebbero anche archiviare testi, ma solitamente non conviene farlo poiché le funzioni disponibili per l I/O da file di testo sono molto più sofisticate i file di testo non sono indispensabili, ma più comodi! Programmazione - Michele Colajanni, 2003/
17 Esercizio 3 Scrivere un testo su un file binario e poi rileggerlo #include <stdio.h> #include <string.h> main(){ FILE *fp; char msg[]= L esame si avvicina, buf[25]; int n; if ((fp = fopen( prova.dat", wb"))==null) { fprintf(stderr, "Errore di apertura\n"); exit(1); fwrite(msg,strlen(msg)+1,1,fp); fclose(fp); //apertura in scrittura Programmazione - Michele Colajanni, 2003/ Esercizio 3 if ((fp = fopen( prova.dat", rb"))==null) { //apertura in lettura fprintf(stderr, "Errore di apertura\n"); exit(1); n = fread(buf, strlen(msg)+1, 1, fp); buf[n] = '\0'; printf("%s\n", buf); fclose(fp); NOTE: occorre gestire in prima persona la lunghezza della stringa, compreso il terminatore Programmazione - Michele Colajanni, 2003/
18 Esercizio 4 Archiviare in un file binario una serie di dati relativi a persone (ogni persona sia caratterizzata da cognome, nome ed età). #include <stdio.h> #include <stdlib.h> typedef struct { char cognome[20], nome [20]; int eta; persona; main(){ FILE *fp; persona p; fp = fopen("archivio.dat","ab"); if (fp==null) { fprintf(stderr, "Errore di apertura\n"); exit(1); Programmazione - Michele Colajanni, 2003/ Esercizio 4 do { printf("immettere Cognome, Nome ed età:\t"); scanf("%s%s%d", p.cognome, p.nome, &p.eta); if (eta>=0) fwrite(&p,sizeof(persona),1,fp); while (eta>=0); fclose(fp); NOTA: poiché p è una variabile di tipo persona (non un indirizzo!), occorre ricavare il suo indirizzo con l operatore & Programmazione - Michele Colajanni, 2003/
19 Esercizio 5 Leggere da un file binario e mostrare a video i dati relativi alle persone presenti nel file (il tipo persona è dato). #include <stdio.h> #include <stdlib.h> typedef struct { char cognome[20], nome [20]; int eta; persona; main(){ FILE *fp; persona p; fp = fopen("archivio.dat","rb"); if (fp==null) { fprintf(stderr, "Errore di apertura\n"); exit(1); Programmazione - Michele Colajanni, 2003/ Esercizio 5 while (fread(&p,sizeof(persona),1,fp)>0) printf("cognome: %s, Nome: %s, Età:%d\n", p.cognome, p.nome, p.eta); fclose(fp); NOTE: sebbene fread() tenti di leggere una struttuta persona, potrebbe non leggerne nessuna se il file finisse prima il ciclo termina quando fread() restituisce 0 è essenziale che la typedef sia identica a quella usata quando il file è stato scritto: altrimenti, si leggeranno solo sequenze di byte senza senso Programmazione - Michele Colajanni, 2003/
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
Gestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania [email protected] http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
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
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
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
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
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à
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
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.
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
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
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
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
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
Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
Funzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
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
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++ è
Lab 11 Gestione file di testo"
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 11 Gestione file di testo" Lab15 1 Esercizio 1 n Realizzare un programma che, aperto un file di testo di nome
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
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
RICERCA DI UN ELEMENTO
RICERCA DI UN ELEMENTO Si legga da tastiera un array di N elementi (N stabilito dall utente) Si richieda un elemento x il programma deve cercare l elemento x nell array Se l elemento è presente, deve visualizzare
Le stringhe. Le stringhe
Informatica: C++ Gerboni Roberta Stringhe di caratteri (esempi di utilizzo dei vettori) Nel linguaggio C++ una stringa è semplicemente un vettore di caratteri Vettori di caratteri La stringa "hello" è
CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS
CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu
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
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
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:
Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto LEZIONE
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
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
Editor vi. Editor vi
Editor vi vi 1 Editor vi Il vi è l editor di testo standard per UNIX, è presente in tutte le versioni base e funziona con qualsiasi terminale a caratteri Permette di visualizzare una schermata alla volta
5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record
5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1
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
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
Strutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
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,
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
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 08/03/07 Nota Questi lucidi sono tratti
Esempio: Array di struct
Esempio: Array di struct Scrivere un programma C che definisca la struttura esame, composta dal nome dell esame (stringa) e dal voto (intero). Si leggano poi da terminale n esami, con n definito dall utente
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
Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory
FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File
LINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
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
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
Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli
CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per
Alcune regole di base per scrivere un programma in linguaggio C
Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza
Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132
Gestione dei files Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Struttura del disco fisso Un disco fisso è composto da una serie di piatti sovrapposti Ogni piatto è
Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica
Dynamic Linking Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica Dynamic Linking Il linking tra i moduli di un programma e le librerie da esso utilizzate può essere Statico
5.2 UTILIZZO DELL APPLICAZIONE
5.2 UTILIZZO DELL APPLICAZIONE Base offre la possibilità di creare database strutturati in termini di oggetti, quali tabelle, formulari, ricerche e rapporti, di visualizzarli e utilizzarli in diverse modalità.
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
(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)
(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste
Il Software. Il software del PC. Il BIOS
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
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
La struttura dati ad albero binario
La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,
Uso di base delle funzioni in Microsoft Excel
Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce
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
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
void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }
FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo
Corso di Fondamenti di Informatica
Corso di Fondamenti di Informatica I tipi strutturati: gli array e le strutture Claudio De Stefano - Corso di Fondamenti di Informatica 1 arrays un array (o vettore) è una sequenza di oggetti dello stesso
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record
Elementi di Architettura e Sistemi Operativi
Elementi di Architettura e Sistemi Operativi Bioinformatica - Tiziano Villa 15 Giugno 2015 Nome e Cognome: Matricola: Posta elettronica: problema punti massimi i tuoi punti problema 1 4 problema 2 6 problema
Corso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
Definizione di nuovi tipi in C
Definizione di nuovi tipi in C typedef Ancora sui tipi di dato Ogni elaboratore è intrinsecamente capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe
Record in C: il costruttore struct.
Record in C: il costruttore struct. Le variabili di tipo record e i nuovi tipi record si dichiarano in C tramite il costruttore di tipo struct:. ::= ;
BARCODE. Gestione Codici a Barre. Release 4.90 Manuale Operativo
Release 4.90 Manuale Operativo BARCODE Gestione Codici a Barre La gestione Barcode permette di importare i codici degli articoli letti da dispositivi d inserimento (penne ottiche e lettori Barcode) integrandosi
---------------------------------------------------------------- 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
Introduzione a Dev-C++
Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP
MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE
1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma
ARCHIVIA PLUS - ARCHIFILE
ARCHIVIA PLUS - ARCHIFILE Istruzioni per la configurazione e l uso del modulo di raccolta documenti Versione n. 2012.09.06 Data : 06/09/2012 Redatto da: Veronica Gimignani Approvato da: Claudio Caprara
Il sistema operativo: interazione con l utente
interazione con l utente S.O fornisce un meccanismo per specificare le attività da eseguire (es. copiare un file) L interazione avviene mediante un linguaggio testuale (DOS) o grafico (Windows) linguaggio
costruttori e distruttori
costruttori e distruttori Costruttore E un metodo che ha lo stesso nome della classe a cui appartiene: serve per inizializzare un oggetto all atto della sua creazione Ce ne possono essere uno, più di uno,
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
Algoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
Appello di Informatica B
Politecnico di Milano Facoltà di Ingegneria Industriale 19 febbraio 2004 Appello di Informatica B Prof. Angelo Morzenti - Prof. Vincenzo Martena Cognome e nome: Matricola: Tipo di prova: recupero I prova
Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa
Il File System 1 Il file system E quella componente del SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti
Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247
Cos è una stringa (1) Stringhe DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Una stringa è una serie di caratteri trattati come una singola unità. Essa potrà includere lettere, cifre, simboli e caratteri
CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
http://esamix.labx Quotazione compareto( ) Quotazione piurecente( ) Quotazione Quotazione Quotazione non trovato count( )
Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie
Esercizio: gestione di un conto corrente
Esercizio: gestione di un conto corrente Si realizzi un conto corrente bancario mediante: - una ASTRAZIONE DI DATO - un TIPO DI DATO ASTRATTO Il conto corrente è caratterizzato dalle seguenti informazioni:
UTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO)
Codice documento 10091501 Data creazione 15/09/2010 Ultima revisione Software DOCUMATIC Versione 7 UTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO) Convenzioni Software gestionale
lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000
Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,
La selezione binaria
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per
Fondamenti di Informatica T. Linguaggio C: i puntatori
Linguaggio C: i puntatori Il puntatore E` un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore
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 -
