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

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 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, che collega un mittente ed un ricevente. In particolare, uno stream permette la comunicazione tra un programma e un dispositivo di input/output o un file. Nei capitoli precedenti abbiamo già utilizzato due stream predefiniti: cin per la comunicazione dal dispositivo di input standard, la tastiera, al programma (stream di input standard) cout per la comunicazione dal programma al dispositivo di output standard, il monitor (stream di output standard). L interazione tra questi stream, il programma ed i dispositivi di input/output ad essi associati è schematizzata in Figura 6.1. Gli stream sono canali di comunicazione sequenziali: è possibile ricevere/inviare un dato alla volta, in sequenza, a partire dal primo. In ogni istante lo stream mantiene un informazione su qual è il dato corrente da leggere/scrivere da/sul file o dispositivo a cui è connesso (si veda Figura 6.2). Questa informazione, che diremo puntatore al dato corrente, viene aggiornata automaticamente ad ogni operazione di lettura/scrittura, facendo avanzare il puntatore al dato successivo da leggere/scrivere. Spesso gli stream sono usati come canali di comunicazione da/verso file allo scopo di permettere ad un programma di effettuare operazioni di let- 197

2 Figura 6.1: Stream di input e di output standard tura/scrittura da/su file. Una descrizione precisa di cosa sia e come si gestisca un file esula dagli scopi di queste note. Qui possiamo limitarci a dare la seguente generica caratterizzazione di un file. File. Un file è entità esterna al programma, gestito dal Sistema Operativo. Un file può vedersi come una sequenza di caratteri, identificata da un nome simbolico (una stringa), terminata da un carattere speciale detto end-of-file (EOF), senza limiti di dimensione massima. Inoltre un file è normalmente memorizzato in una memoria non-volatile (ad es. un hard-disk) e quindi in modo permanente. Una possibile rappresentazione grafica di un file è mostrata in Figura 6.3. Si noti che un file può anche essere vuoto (in questo caso, nella rappresentazione grafica, il primo e unico elemento del file è EOF). Su un file è possibile eseguire diverse operazioni. In generale, mettere in evidenza che per operare su un file all interno di un programma, in un linguaggio che preveda l utilizzo di stream, si dovranno svolgere, nell ordine indicato, le seguenti operazioni: 1. creare uno stream, ad es. di nome f 2. associare lo stream f al file (apertura del file) 3. eseguire (ripetutamente) le operazioni di input/output su f (ad esempio operazioni get, put, <<, >>, ecc.) 198

3 Figura 6.2: Puntatore al dato corrente Figura 6.3: Un file di nome dati.txt 4. al termine, eliminare l associazione tra lo stream e il file (chiusura del file). Analizziamo più in dettaglio queste diverse operazioni nel caso specifico del C Gestione di stream e file in C++ Per poter creare e gestire stream all interno di un programma C ++ bisogna prima di tutto includere nel programma il file fstream con la direttiva #include <fstream> Questo file contiene tutte le dichiarazioni necessarie a creare stream e ad operare su essi. 1. Creazione dello stream Uno stream può essere creato tramite un opportuna dichiarazione. 199

4 Dichiarazione di stream di input ifstream f1; crea uno stream di input di nome f1 ( = un oggetto di nome f1 e tipo ifstream). Dichiarazione di stream di output ofstream f2; stream di output di nome f2 ( = un oggetto di nome f2 e tipo ofstream). ifstream e ofstream sono classi derivate dalla classe fstream, che a sua volta è derivata dalla classe ios. 2. Associazione dello stream al file ( = apertura del file) Uno stream (di input o di output) può essere associato ad uno specifico file tramite un operazione di open (funzione propria delle classi ifstream e ofstream). Apertura stream di input L esecuzione di f1.open("dati"); associa lo stream di input f1 al file di nome "dati" (n.b.: il nome del file è una stringa tipo C). Da questo punto in poi è possibile operare in lettura sul file "dati" tramite lo stream f1. Nota. Il nome del file può essere un pathname assoluto (ad esempio,"c:\users\utente1 \Documenti\prova.txt") o relativo (ad esempio "prova.txt"). In quest ultimo caso il file viene cercato a partire dalla cartella di lavoro, che coincide normalmente con quella contenente il codice sorgente ed eseguibile del programma. Se il file specificato nella open non esiste allora siamo in una situazione d errore. Questa situazione può essere rilevata tramite la funzione fail (funzione propria delle classi ifstream e ofstream). L esecuzione di f1.fail() restituisce true se, in generale, l ultima operazione eseguita sullo stream f1 ha avuto esito negativo, false altrimenti. 1 Se l ultima operazione eseguita è stata quella di apertura del file, allora il fatto che la funzione fail restituisca true significa che l apertura è fallita, in particolare perchè il file specificato non è stato trovato. Mostriamo ora la porzione di programma C ++ che effettua la creazione e l apertura di un file di nome "dati". 1 Di fatto la funzione fail restituisce il valore del campo booleano failbit contenuto nello stream a cui essa viene applicata; questo campo viene posto a true ogni qualvolta lo stream viene a trovarsi in una situazione di errore. 200

5 Figura 6.4: Apertura in input del file dati #include <fstream> using namespace std; int main() { //Crea lo stream ifstream f1; //Apre il file associato allo stream f1.open("dati"); //Controlla errori di apertura del file. if (f1.fail()) { cout << "Impossibile aprire il file" << endl; return 0; "operazioni di input sul file tramite f1"... Apertura stream di output L esecuzione di f2.open("risultati"); 201

6 associa lo stream di outputf2 al file di nome"risultati". Da questo punto in poi è possibile operare in scrittura sul file "risultati" tramite lo stream f2. Figura 6.5: Apertura in output del file risultati Nel caso di uno stream di output, se il file indicato nella open non esiste allora viene creato un file con il nome specificato. 2 Il file viene creato inizialmente vuoto. Il file potrà crescere successivamente in seguito ad eventuali operazioni di scrittura su di esso. Viceversa, se il file specificato nella open già esiste, allora la open cancella tutto il precedente contenuto del file (lo tronca a zero ). Per evitare il troncamento si può specificare che l apertura del file avvenga con modalità append. Ad esempio, f2.open("risultati", ios:app); associa allo steam di output f2 il file "risultati", ma senza cancellare il precedente contenuto del file; le eventuali nuove scritture sul file andranno ad aggiungere i dati di seguito a quelli già presenti. 3 Apertura file: modalità alternative Possibile creare lo stream e associarlo ad un file in un unica dichiarazione. Ad esempio: ifstream f1("risultati"); Possibile testare l avvenuta apertura del file utilizzando direttamente il nome dello stream come espressione booleana (invece di ricorrere alla funzione fail). Ad esempio: 2 Il file viene creato nella cartella di lavoro corrente a meno che non venga specificato come nome file un percorso che contenga una diversa cartella; ad esempio,..\dati programmi\risultati specifica che il file risultati deve essere creato nella cartella dati programmi che si trova nel livello superiore alla cartella corrente. 3 Con questa modalità di apertura, però, il fatto che il file specificato non esista viene visto come un errore (come nel caso dell apertura su uno stream di input) e quindi non comporta la creazione del file. 202

7 if (!f1) cout << "Errore apertura file" << endl; (l operatore! è definito in C ++ in modo tale che quando il parametro è uno stream restituisce come risultato il valore booleano del campo failbit contenuto nello stream). 3. Operazioni di input/output Per eseguire operazioni di input/output su uno stream collegato ad un file è possibile utilizzare le funzioni e gli operatori già incontrati in precedenza a proposito dell input/output standard (da tastiera e su monitor). In particolare distinguiamo tra: input/output a caratteri funzioni get, put e getline input/output tipato operatori >> e <<. Descriveremo queste due modalità di input/output su file rispettivamente nei capitoli 6.3 e Chiusura di un file Una volta che il collegamento tra uno stream ed un file non è più utilizzato è opportuno eliminarlo. Questo può essere realizzato tramite la funzione close (funzione propria delle classi ifstream e ofstream). L esecuzione di: f1.close() provoca l eliminazione dell associazione tra lo stream f1 e il file a cui tale stream era collegato. Si noti che questa operazione non elimina il file e nemmeno lo stream: elimina soltanto il collegamento tra i due. Una volta eseguita la close su uno stream è possibile collegare lo stesso stream ad un altro file, con una nuova open. Al termine dell esecuzione del programma tutti i file eventualmente ancora aperti sono comunque chiusi automaticamente. 6.3 Input/output a caratteri Lettura di caratteri L operazione di lettura di caratteri da uno stream di input avviene principalmente tramite la funzione get già incontrata in precedenza (si veda cap ). L esecuzione di s.get() legge (= estrae) dallo stream di input s il carattere corrente e lo restituisce come suo risultato (n.b.: il carattere corrente è quello indicato dal puntatore al dato corrente contenuto nello stream s). Esempio 6.1 (Input tramite get) Dato il seguente frammento di codice C

8 ifstream f1; f1.open("dati.txt"); char c; c = f1.get(); Figura 6.6: Lettura da file tramite get e supponendo che il contenuto del file sia quello indicato in figura 6.6 l esecuzione della get estrae il primo carattere presente sul file (carattere a ). Una successiva get c = f1.get(); estrae il carattere successivo (carattere b ), che viene assegnato alla variabile c. Una terza get c = f1.get(); estrae ed assegna a c il carattere c, e così via. Come ci si accorge quando si raggiunge l end-of-file? Uno stream di input ha associato anche un altro flag (variabile booleana) che indica se si è raggiunto l end-of-file del file associato allo stream. Questo flag può essere testato con la funzione eof (funzione propria della classe ifstream). L esecuzione di s.eof() 204

9 dove s è uno stream di input, restituisce come suo risultato true se l ultima operazione di lettura su s (ad es., una get) ha letto l end-of-file; false altrimenti. Vediamo il funzionamento e l utilizzo della funzione eof con un semplice (ma completo) programma C ++. Esempio 6.2 (Conteggio dei caratteri contenuti in un file) #include <iostream> #include <fstream> using namespace std; int main() { ifstream in_file; in_file.open("dati.txt"); if (in_file.fail()) { cout << "Il file non esiste" << endl; return 0; int num_car = 0; char c; while (!in_file.eof()) { num_car++; cout << "Contiene " << num_car << " caratteri" << endl; in_file.close(); return 0; Si noti che se il file è vuoto il programma stampa (correttamente) che il file contiene 0 caratteri. Si presti attenzione al fatto che la funzione eof restituisce true soltanto dopo aver eseguito un operazione che ha comportato la lettura del carattere di end-of-file. Se ad esempio il ciclo di lettura da file del programma precedente venisse modificato nel modo seguente... char c; while (!in_file.eof()) { num_car++;

10 (cioè eliminando la get che precede il ciclo while), allora il numero di caratteri calcolato risulterebbe (erroneamente) incrementato di 1 rispetto al numero di caratteri realmente contenuti nel file. In particolare, se il file fosse vuoto, il risultato stampato sarebbe 1. Per l input di caratteri si può utilizzare anche la funzione getline già vista in precedenza (cap ), specificando come stream di input quello collegato al file da cui si vogliono leggere dati. La lettura della stringa termina non solo quando si incontra il carattere delimitatore o si raggiunge la dimensione massima, ma anche quando si incontra l end-of-file. Test di end-of-file - modalità alternative La funzione get() restituisce la costante predefinita EOF quando legge l endof-file. Pertanto è possibile riscrivere il ciclo di lettura da file dell esempio precedente nel modo seguente: while (c!= EOF) { num_car++; oppure in modo equivalente, ma più sintetico: while ((c = in_file.get())!= EOF) num_car++; Si noti l utilizzo dell assegnamento come (sotto-)espressione nella condizione del while: l esecuzione di c = in_file.get(), oltre ad assegnare a c il carattere letto dalla get), restituisce questo valore come suo risultato. Si presti attenzione al fatto che la modalità di test dell end-of-file tramite la costante EOF può essere usata soltanto in combinazione con la get. Il test tramite la funzione eof() invece può essere usato in modo più generale, sia con la get, che con la getline, che con l operatore <<. Esistono anche altre forme di get, che prevedono che il carattere letto sia un parametro (passato per riferimento) della get stessa. In particolare, l esecuzione di s.get(c) equivale all esecuzione della c = s.get(), ma la s.get(c) restituisce anche un risultato che può essere interpretato come un valore booleano, con il seguente significato: se è true significa che la get è riuscita a leggere correttamente il carattere corrente dallo stream di input s; altrimenti, se è false, significa che c è stato qualche problema di lettura, in particolare che il carattere corrente era l end-of-file. Pertanto è possibile riscrivere il ciclo di lettura dal file dell esempio precedente nel modo seguente: while (in_file.get(c)) num_car++; 206

11 6.3.2 Scrittura di caratteri L operazione di scrittura di caratteri su uno stream di output avviene principalmente tramite la funzione put già incontrata in precedenza (si veda cap ). L esecuzione di s.put(e) scrive (= inserisce) sullo stream di output s il carattere ottenuto dalla valutazione dell espressione e (n.b.: il carattere viene scritto nella posizione indicata dal puntatore al dato corrente contenuto nello stream s, che viene poi aggiornato di conseguenza). Esempio 6.3 (Output tramite put) Dato il seguente frammento di codice C ++ ofstream f2; f2.open("risultati.txt"); char c = a ; f2.put(c); Figura 6.7: Scrittura su file tramite put e supponendo che il contenuto del file sia quello indicato in figura 6.7 l esecuzione della put inserisce il carattere a nel file al posto di EOF che avanza alla posizione successiva. Il puntatore al dato corrente è aggiornato e punta alla nuova posizione contenente EOF. Una successiva f2.put( b ); 207

12 inserisce b sul file in modo analogo. Dopo queste istruzioni il file sarà pertanto diventato: Figura 6.8: File risultati.txt modificato 6.4 Un esempio completo: copia di un file Problema. Copiare il contenuto di un file di nome "sorgente.txt" in un altro file di nome "copia.txt". Al termine stampare su standard output il numero di caratteri copiati. Procedimento risolutivo. I caratteri presenti nel file "sorgente.txt" vengono, uno alla volta, letti dal file, memorizzati in una variabile c, e quindi scritti sul file "copia.txt". Questo procedimento continua fino a quando si incontra l end-of-file sul file di input. La soluzione proposta è illustrata schematicamente in Figura 6.9. Programma C ++. Il seguente programma C ++ realizza il procedimento sopra descritto. #include <fstream> #include <iostream> using namespace std; const int max_nome = 100; int main() { // Apre un file per l input. ifstream in_file; in_file.open("sorgente.txt"); // Controllo errori di apertura del file. if (in_file.fail()) { cout << "Il file non esiste!" << endl; return 0; // Apre un file per l output. 208

13 Figura 6.9: Copia di un file ofstream out_file; out_file.open("copia.txt"); int num_bytes = 0; char c; while (!in_file.eof()) { out_file.put(c); num_bytes++; cout << "Copiati " << num_bytes << " bytes.\n" << endl; in_file.close(); out_file.close(); return 0; Al termine dell esecuzione del programma, il file "copia.txt" conterrà una copia esatta del contenuto del file "sorgente.txt". Si noti che il file "copia.txt", se non esistente, viene creato ex-novo durante l esecuzione del programma, mentre se già esistente verrà comunque sovrascritto. In alternativa, il ciclo di lettura-scrittura da/su file può essere realizzato utilizzando un costrutto do-while nel seguente modo: 209

14 char c; do { if (in_file.eof()) break; out_file.put(c); num_bytes++; while (true); Una variante (più realistica) di questo problema prevede che il nome del file da copiare non sia prefissato, ma venga fornito in input dall utente, mentre il nome del file di output sarà creato a partire da quello di input aggiungendo ad esso qualche altra stringa. Ad esempio, se il nome del file di input è "dati.txt" il nome del file di output potrebbe essere ottenuto anteponendo la stringa"copia di " e quindi essere"copia di dati.txt". Per realizzare questo nuovo funzionamento il programma C ++ mostrato sopra viene modificato come segue (in evidenza le sole parti modificate):... #include <cstring>... int main() { // Legge il nome del file da copiare char sorgente[max_nome]; ifstream in_file; cout << "Immettere il nome del file da copiare: "; cin.getline(sorgente,max_nome); // Apre un file per l input in_file.open(sorgente); // Controlla errori di apertura del file if (in_file.fail()) { cout << "Impossibile aprire il file " << sorgente << endl; return 0; // Costruisce il nome del nuovo file char destinazione[max_nome+9] = "Copia di "; strcat(destinazione,sorgente); // Apre un file per l output ofstream out_file; out_file.open(destinazione); int num_bytes = 0;... // come versione precedente Si osservi che nel caso in cui l apertura del file di input fallisca abbiamo finora supposto di far semplicemente terminare il programma. In alternativa, si può far in modo che in caso di fallimento dell apertura venga richiesto 210

15 all utente di provare ad immettere un nuovo nome di file. Per ottenere questo, modifichiamo il programma mostrato sopra come segue:... ifstream in_file; do { cout << "Immettere il nome del file da copiare: "; cin.getline(sorgente,max_nome); in_file.clear(); //reset del flag failbit modificato da open in_file.open(sorgente); if (in_file.fail()) cout << "Impossibile aprire il file. Ripetere!" << endl; else cout << "File aperto correttamente." << endl; while (in_file.fail()); // Costruisce il nome del nuovo file Input/output tipato In C ++ è possibile leggere/scrivere da/su file non solo singoli caratteri, ma anche valori di qualsiasi tipo primitivo t, utilizzando gli operatori >> e << applicati a stream di input e di output. In questo caso l esecuzione dell operazione di input/output legge/scrive caratteri da/sul file fino a comporre (se possibile) un valore di tipo t sintatticamente corretto (come per altro gia illustrato nel caso degli stream di input e ouput standarxd nel cap ).... in preparazione Domande per il Capitolo 6 1. Che cosa è, in generale, uno stream in C ++ (definizione, uso, caratteristiche principali)? 2. Qual la sequenza tipica delle operazioni necessarie per accedere ed operare su un file tramite stream allinterno di un programma C ++?.... in preparazione

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

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

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

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

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

1. Soluzione esercizio XYZ SpA

1. Soluzione esercizio XYZ SpA 1. Soluzione esercizio XYZ SpA 2. Oggetti fstream e loro uso Si vuole realizzare un piccolo sistema informativo a supporto dell'attività dell'ufficio dipendenti della società XYZ SpA. Tale società opera

Dettagli

Programmazione I / Informatica generale Prova scritta 11 Giugno 2008

Programmazione I / Informatica generale Prova scritta 11 Giugno 2008 Programmazione I / Informatica generale Prova scritta 11 Giugno 2008 NOTA: Si trascuri ogni problema legato al tipo ed al valore di ritorno della funzione main. Inoltre, nei programmi è da sottintendere

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

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

Input / Output attraverso stream. I/O in C vs. I/O in C++

Input / Output attraverso stream. I/O in C vs. I/O in C++ Alessio Bechini - Corso di - Input / Output attraverso stream (anno accademico 2002-2003) Utilizzo di stream per I/O I/O in C vs. I/O in C++ La libreria C standard per l I/O viene acceduta con stdio.h

Dettagli

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

Sottoprogrammi: astrazione procedurale

Sottoprogrammi: astrazione procedurale Sottoprogrammi: astrazione procedurale Incapsulamento di un segmento di programma presente = false; j = 0; while ( (j

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)

Dettagli

Le stringhe. Le stringhe

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" è

Dettagli

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi:

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi: JAVASCRIPT Introduzione Con l HTML siamo in grado di realizzare pagine web statiche. Con il linguaggio Javascript, invece, possiamo interagire modificando il contenuto della pagina. Il linguaggio javascript

Dettagli

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare

Dettagli

void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }

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

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

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

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

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 11 Gestione file di testo"

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

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

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.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

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

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

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

La selezione binaria

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

Dettagli

Corso Programmazione 1 Capitolo 01: Concetti Elementari

Corso Programmazione 1 Capitolo 01: Concetti Elementari Corso Programmazione 1 Capitolo 01: Concetti Elementari Docente: Roberto Sebastiani - roberto.sebastiani@unitn.it Esercitatori: Mario Passamani - mario.passamani@unitn.it Alessandro Tomasi - alessandro.tomasi@unitn.it

Dettagli

Laboratorio di Programmazione Gruppo III, Ml-ZZ. Alberto Finzi finzi@na.infn.it

Laboratorio di Programmazione Gruppo III, Ml-ZZ. Alberto Finzi finzi@na.infn.it Laboratorio di Programmazione Gruppo III, Ml-ZZ Alberto Finzi finzi@na.infn.it Record e File binari Record La definizione della struttura è data dalla parola riservata struct seguita da un identificatore,

Dettagli

Le Stringhe. Un introduzione operativa. Luigi Palopoli

Le Stringhe. Un introduzione operativa. Luigi Palopoli Le Stringhe p.1/19 Le Stringhe Un introduzione operativa Luigi Palopoli ReTiS Lab - Scuola Superiore S. Anna Viale Rinaldo Piaggio 34 Pontedera - Pisa Tel. 050-883444 Email: palopoli@sssup.it URL: http://feanor.sssup.it/

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Definizione. File di dati. Insieme di record omogenei memorizzati in memoria di massa. Record. Bianchi. Anna Roma 1980. Verdi. Luca Milano 1960.

Definizione. File di dati. Insieme di record omogenei memorizzati in memoria di massa. Record. Bianchi. Anna Roma 1980. Verdi. Luca Milano 1960. File di dati Definizione File di dati Insieme di record omogenei memorizzati in memoria di massa Bianchi Verdi Neri Verdi Anna Roma 1980 Luca Milano 1960 Andrea Torino 1976 Paola Bari 1954 Record Operazioni

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

ingresso/uscita da file

ingresso/uscita da file ingresso/uscita da file fino ad ora: il 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

Costruzione di Siti Web con PHP e MySQL. Lezione 4: Operatori, Array, Controlli e Cicli

Costruzione di Siti Web con PHP e MySQL. Lezione 4: Operatori, Array, Controlli e Cicli Costruzione di Siti Web con PHP e MySQL Lezione 4: Operatori, Array, Controlli e Cicli Argomenti della lezione In questa lezione si riprenderà il concetto di Array, nel suo aspetto basilare, ed in particolare

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

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

Dettagli

Unità B3 Strutture di controllo

Unità B3 Strutture di controllo (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: I/O su console Package Blocco di controllo Oggetto System.out Oggetto System.in Oggetto Tastiera Metodo readline() Strutture

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

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

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

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

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

ingresso/uscita da file

ingresso/uscita da file ingresso/uscita da file fino ad ora: il programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti al volo dall utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

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

Ricerche, ordinamenti e fusioni. 5.1 Introduzione. 5.2 Ricerca completa

Ricerche, ordinamenti e fusioni. 5.1 Introduzione. 5.2 Ricerca completa Ricerche, ordinamenti e fusioni 5.1 Introduzione Questo capitolo ci permette di fare pratica di programmazione utilizzando gli strumenti del linguaggio introdotti finora. A una prima lettura possono essere

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati schifano@fe.infn.it Laurea di Informatica - Università di Ferrara 2011-2012 [1] Strutture dati Dinamiche: Le liste Una lista è una sequenza di elementi di un certo tipo in cui è possibile aggiungere e/o

Dettagli

Il tipo di dato astratto Pila

Il tipo di dato astratto Pila Il tipo di dato astratto Pila Il tipo di dato Pila Una pila è una sequenza di elementi (tutti dello stesso tipo) in cui l inserimento e l eliminazione di elementi avvengono secondo la regola seguente:

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA1 1.3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Strutture di controllo Scittura di semplici applicazioni Java 2 1 Introduzione In molti casi le

Dettagli

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione basata sul campo d utilizzo. I principali package sono:

Dettagli

Foglio di calcolo. Il foglio di calcolo: Excel. Selezione delle celle

Foglio di calcolo. Il foglio di calcolo: Excel. Selezione delle celle Foglio di calcolo Il foglio di calcolo: Excel I dati inseriti in Excel sono organizzati in Cartelle di lavoro a loro volta suddivise in Fogli elettronici. I fogli sono formati da celle disposte per righe

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione

Dettagli

La struttura dati ad albero binario

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,

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

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

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

Dettagli

SMS IN. Rules SMS IN. Rules. Geodrop. Geodrop

SMS IN. Rules SMS IN. Rules. Geodrop. Geodrop SMS IN Rules SMS IN Rules } Geodrop Geodrop SMS In 2.3 Regole per la manipolazione dei messaggi Guida alla scrittura di condizioni complesse Guida alle condizioni complesse v1.0-it, 7 Dicembre 2012 Indice

Dettagli

4. Accesso diretto per gli archivi con record a lunghezza costante

4. Accesso diretto per gli archivi con record a lunghezza costante 4. Accesso diretto per gli archivi con record a lunghezza costante Nell accesso diretto (in inglese, random) al file binario, le operazioni di lettura o scrittura devono essere precedute dall operazione

Dettagli

Indice. Materiale di riferimento. Struttura di un programma in C++ Introduzione al C++ (CAP 1) Alberto Garfagnini e Marco Mazzocco A.A.

Indice. Materiale di riferimento. Struttura di un programma in C++ Introduzione al C++ (CAP 1) Alberto Garfagnini e Marco Mazzocco A.A. Introduzione al C++ (CAP 1) Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 Indice Scrittura del primo programma in C++ elementi costitutivi del programma compilazione

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

Programmazione in Java (I modulo) Lezione 3: Prime nozioni

Programmazione in Java (I modulo) Lezione 3: Prime nozioni Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo visto come usare l editor per scrivere un programma Java. Abbiamo analizzato riga per

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 I/O. M. R. Guarracino: File I/O 1

File I/O. M. R. Guarracino: File I/O 1 File I/O M. R. Guarracino: File I/O 1 File I/O Gran parte delle operazioni su file in ambiente UNIX possono essere eseguite utilizzando solo cinque funzioni: open read write lseek close M. R. Guarracino:

Dettagli

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth ed é un linguaggio di programmazione strutturata. I linguaggi di programmazione

Dettagli

I/O su Socket TCP: read()

I/O su Socket TCP: read() I/O su Socket TCP: read() I socket TCP, una volta che la connessione TCP sia stata instaurata, sono accedibili come se fossero dei file, mediante un descrittore di file (un intero) ottenuto tramite una

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

Costruzione di Siti Web con PHP e MySQL. Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date

Costruzione di Siti Web con PHP e MySQL. Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date Costruzione di Siti Web con PHP e MySQL Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date Argomenti della lezione In questa lezione si riprenderanno le strutture di controllo, verrà introdotto

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

DAL DIAGRAMMA AL CODICE

DAL DIAGRAMMA AL CODICE DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza

Dettagli

20 - Input/Output su File

20 - Input/Output su File 20 - Input/Output su File Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

INTERNET EXPLORER Breve manuale d uso

INTERNET EXPLORER Breve manuale d uso INTERNET EXPLORER Breve manuale d uso INDICE INTRODUZIONE... 3 COME IMPOSTARE LA PAGINA INIZIALE... 3 LA WORK AREA... 3 LE VOCI DI MENU... 5 IL MENU FILE... 5 IL MENU MODIFICA... 6 IL MENU VISUALIZZA...

Dettagli

Elementi di semantica operazionale

Elementi di semantica operazionale Elementi di semantica operazionale 1 Contenuti sintassi astratta e domini sintattici un frammento di linguaggio imperativo semantica operazionale domini semantici: valori e stato relazioni di transizione

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

L algoritmo di ricerca binaria. Daniele Varin LS Ing. Informatica Corso di Informatica teorica Docente: prof. Paolo Sipala

L algoritmo di ricerca binaria. Daniele Varin LS Ing. Informatica Corso di Informatica teorica Docente: prof. Paolo Sipala L algoritmo di ricerca binaria Daniele Varin LS Ing. Informatica Corso di Informatica teorica Docente: prof. Paolo Sipala L algoritmo di ricerca binaria (o dicotomica) In informatica,, la ricerca dicotomica

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

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

Dettagli

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include

Dettagli

If a cascata, switch, boolean

If a cascata, switch, boolean If a cascata, switch, boolean If a cascata Switch Il tipo boolean Operatori logici, valutazione pigra 1 If a cascata Consideriamo una semplice classe che deve descrivere con una stringa gli effetti di

Dettagli

Tibet4DExt. Manuale Utente. Un Plug-in 4 th Dimension per accedere agli archivi di Tibet in linea. (Versione 1.7.x)

Tibet4DExt. Manuale Utente. Un Plug-in 4 th Dimension per accedere agli archivi di Tibet in linea. (Versione 1.7.x) Tibet4DExt Un Plug-in 4 th Dimension per accedere agli archivi di Tibet in linea (Versione 1.7.x) Manuale Utente Capitolo 1, Informazioni Generali Informazioni generali su Tibet4DExt Il plug-in Tibet4DExt

Dettagli

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base: LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto

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

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

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

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

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.

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

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 22 Martedì 7-1-2014 1 System Call per l'uso dei segnali Un processo che

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

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

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

Dettagli

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = <Q,,, q0, F>, dove: Finite State Machine (2)

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = <Q,,, q0, F>, dove: Finite State Machine (2) Idee guida ASM = FSM con stati generalizzati Le ASM rappresentano la forma matematica di Macchine Astratte che estendono la nozione di Finite State Machine Ground Model (descrizioni formali) Raffinamenti

Dettagli

Gestione dei file di dati

Gestione dei file di dati Gestione dei file di dati 1. Le classi di input/output Il linguaggio C++ non dispone di proprie istruzioni per la gestione dell interazione con l utente. Si appoggia infatti su appositi comandi scritti

Dettagli

Prova Scritta del 19/07/10

Prova Scritta del 19/07/10 Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da un solo lato. In testa a ciascun foglio scrivere: cognome, nome, numero progressivo

Dettagli

Nexus Badge Manager Manuale Uso

Nexus Badge Manager Manuale Uso Nexus Badge Manager Manuale Uso 1. Primo avvio La prima volta che verrà eseguito il software apparirà il seguente messaggio: Collegare il dispositivo ad una qualsiasi porta USB libera del PC e seguire

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

Dettagli

INTERAZIONE CON L UTENTEL

INTERAZIONE CON L UTENTEL IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli