10.4. La classe File e gli attributi di directory e file



Documenti analoghi
La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 21 Dicembre 2006

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:

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

I file di dati. Unità didattica D1 1

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2011

Introduzione al Linguaggio C

Prova di Laboratorio di Programmazione

esercizi Esercizi / problemi

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

4. Un ambiente di sviluppo per Java

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Corso sul linguaggio Java

Programmare in Java. Olga Scotti

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

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

3. La sintassi di Java

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

Guida all uso di Java Diagrammi ER

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)

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

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

Algoritmi di Ricerca. Esempi di programmi Java

Le variabili. Olga Scotti

Microsoft Access Maschere

Cosa è un foglio elettronico

Funzioni in C. Violetta Lonati

ALL FOR SCAN Versione Twain Manuale Utente. Versione 2.0A00. Luccarelli Srl

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

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

Chat. Si ha un server in ascolto sulla porta Quando un client richiede la connessione, il server risponde con: Connessione accettata.

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

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

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

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

L ACQUISIZIONE E LA GESTIONE DEI DOCUMENTI ELETTRONICI

La struttura dati ad albero binario

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Sage Start Archivio file Guida. Dalla versione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

5.2 UTILIZZO DELL APPLICAZIONE

Gestione dei File in C

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Esercizio 2. Client e server comunicano attraverso socket TCP

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

L utility Unix awk [Aho-Weinberger-Kernighan]

Il menu File contiene tutti i comandi relativi alle seguenti operazioni:

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Operazioni di input/output. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore.

Obiettivi del corso. Creare, modificare e formattare un semplice database costituito da tabelle, query, maschere e report utilizzando Access 2000.

ARRAY BIDIMENSIONALI float [][] mx = new float[3][4]; (float []) [] mx = new float[3][4];

Progettazione di un Database

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale.

10 - Programmare con gli Array

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

1. Le macro in Access 2000/2003

ISTRUZIONI SULLE OPERAZIONI DI CAMBIO ANNO CONTABILE 2005/2006 LIQUIDAZIONE IVA - STAMPA REGISTRI - CHIUSURA/APERTURA CONTI

Concetto di Funzione e Procedura METODI in Java

Database Manager Guida utente DMAN-IT-01/09/10

Utilizzo del Terminalino

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

I Codici Documento consentono di classificare le informazioni e di organizzare in modo logico l archiviazione dei file.

Algoritmi e strutture dati. Codici di Huffman

Studio Prof. Versione 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011

Il sistema operativo UNIX/Linux. Gli script di shell

GESTIONE INFORMATICA DEI DATI AZIENDALI

Esercizi della lezione 5 di Java

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

CONTABILITÀ. Gestione Attività Multipunto. Release 5.20 Manuale Operativo

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni

elicaweb manuali - Vendite: come iniziare - pagina 1 di 9

Matematica in laboratorio

Relazioni tra tabelle

Corso di Reti di Calcolatori L-A

Scheda operativa Versione rif c00. Libro Inventari

Blocco Note Blocco Note

STAMPA UNIONE DI WORD

Modulo 6 Strumenti di presentazione

Esercizio 1. Esercizi 5. Esercizio 3. Esercizio 2 CICLI

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

TRASMISSIONE REPORTISTICA MENSILE. WEB SERVICE Descrizione procedura

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

UTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO)

dall argomento argomento della malloc()

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

Fondamenti di Informatica 2

Transcript:

pag.143 10.4. La classe File e gli attributi di directory e file Questa classe, molto utile per operare con i file su disco, consente di accedere alle directory, verificare e acquisire le caratteristiche dei file presenti, cambiarne gli attributi, cancellare e rinominare file. File NOTE Costruttori File(String) Crea un file di Path e Nome indicati nella stringa. File(String, String) Separa il path genitore 1 string Dal path figlio 2 string Metodi di lettura Metodi di settaggio boolean exists() boolean canread() boolean canwrite() boolean isdirectory() boolean isfile() boolean ishidden() String getabsolutepath() String getname() String getparent() String[] list() long length() boolean createnewfile() boolean delete() void deleteonexit() boolean mkdir() boolean renameto(file) boolean setreadonly() Verifica l esistenza del file con cui è invocata. Esempio: String s= autoexec.bat ; File f=new File(s); if (f.exists()) Verifica se il file con cui è invocata e di sola lettura. Esempio: if (f.canread()) Idem per la lettura e scrittura. Verifica se si tratta di Directory Verifica se si tratta di File Verifica se il File è nascosto. Restituisce una stringa con il path completo del file. Restituisce una stringa con il nome del File. Restituisce una stringa con il solo path del file. Restituisce un array di stringhe con tutti i file e le sottodirectory se invocato con un nome di directory. File f=new File( C:\ ); String s[]=f.list(); Restituisce la lunghezza in byte del file invocante. Crea un file vuoto. Il boolean è true se l operazione ha avuto successo. Cancella il file. Setta il file per la sua cancellazione all uscita dal programma. Crea una directory Rinomina il file invocante con il nome del parametro. Setta il file in sola lettura. Il boolean è true se l operazione è riuscita.

pag.144 esempio 7. realizzare un programma che acquisisca una stringa corrispondente al nome fisico di un file presente su disco C:/.. e stampi un opportuno messaggio <Il file non esiste>, <Il file è lungo xxx byte. E di lettura/scrittura.>. a) Risolverlo rispettando la seguente scomposizione main() leggi() dove leggi() è la procedura di acquisizione del nome file; (vedi procedure di acquisizione da console nei capitoli precedenti). b) Risolverlo con il solo main() acquisendo la stringa come argomento del main(). Soluzione a) import java.io.*; class cap10_es_07_a{ static String leggi(){ int ch; StringBuffer S=new StringBuffer(); System.out.println("\n\n\nImmetti il nome del file cercato:"); try { while ((ch=system.in.read())!= '\n') // (1) S=S.append((char)ch); S=S.deleteCharAt(S.length()-1); // (2) catch (IOException e) { // (3) return S.toString(); public static void main(string arg[]){ String nome=leggi(); File f=new File(nome); // (4) if (!f.exists()) System.out.println("NON ESISTE il file "+nome); // (5) else { long dim=f.length(); // (6) System.out.print("Il file: "+nome+" e' lungo:"+dim+" byte."); if (f.canwrite()) // (7) System.out.println(" E' di lettura e scrittura."); else System.out.println(" E' di sola lettura."); Esecuzione: Il programma deve acquisire l input da console e quindi in RealJava è necessario eseguire il <Run With Console>. I risultati sono i seguenti: Commento al codice: Le note (1) e (3) mostrano una modalità di gestione delle eccezioni di IO, modalità diversa da quella adottata in precedenti input da console. La nota (2) evidenzia la necessità di eliminare il carattere di INVIO inserito dal ciclo di lettura nel Buffer. Le note da (4) a (7) evidenziano rispettivamente il costruttore del file, il metodo che ne testa l esistenza su disco, il metodo che ne determina la lunghezza in byte e infine il metodo che determina se il file è di sola lettura o anche di scrittura.

pag.145 Soluzione b) import java.io.*; class cap10_es_07_b{ public static void main(string arg[]){ String nome=""; if (arg.length>=1) nome=arg[0]; // (1) File f=new File(nome); // (2) if (!f.exists()) // (3) System.out.println("NON ESISTE il file "+nome); else { long dim=f.length(); // (4) System.out.print("Il file: "+nome+" e' lungo:"+dim+" byte."); if (f.canwrite()) // (5) System.out.println(" E' di lettura e scrittura."); else System.out.println(" E' di sola lettura."); Esecuzione: Prima di eseguire in RealJava il programma è necessario aprire l opzione <File: Preferences:> e attivare <Ask for input.> come dalle immagini sottostanti: L opzione attivata farà comparire all avvio del programma un campo in cui immettere una o più stringhe che sono gli argomenti del main(). La stringa c.\mio.txt viene inserita nell array arg[] del main() alla componente 0. L esecuzione stampa sulla finestra di output il messaggio desiderato. Commento al codice: La note (1) mostra come acquisire il nome del file dall array arg[]. Le note da (2) a (5) mostrano i metodi della classe File.

pag.146 esempio 8. realizzare un programma che acquisisca due stringhe corrispondenti al nome di una Directory e all estensione dei file da ricercare su disco C:/.. e stampi la lista dei file della directory che hanno l estensione desiderata. Risolverlo acquisendo le due stringhe come argomento del main(). Codifica: import java.io.*; class cap10_es_08{ public static void main(string arg[]){ String nome="",est=""; // (1) if (arg.length>=1) nome=arg[0]; // (2) if (arg.length>=2) est=arg[1]; // (3) File f=new File(nome); // (4) File a[]=f.listfiles(); // (5) for (int i=0; i<a.length;i++){ String s=a[i].tostring(); // (6) s=s.substring(s.length()-4); // (7) boolean b=(s.equalsignorecase(est)); // (8) if ((a[i].isfile()) && b) // (9) System.out.println(a[i].getName()); Esecuzione: Commento al codice: Le note (1),(2) e (3) mostrano come acquisire i due argomenti del main() e assegnarli alle variabili nome (della Directory) e est (estensione dei file da ricercare). Le note (4) e (5) sono rispettivamente, il costruttore che genera la Directory nella quale ricercare, e il metodo che estrae la lista di tutti i file contenuti in essa. Le note (6), (7) e (8) evidenziano rispettivamente che è necessario trasformare il nome del file a[i] in una stringa, estrarre dalla stringa i 4 caratteri finali che coincidono con l estensione e infine confrontare tale estensione con quella cercata (est) generando il flag booleano b.

pag.147 La nota (9) mostra infine che il nome del file viene stampato solo se b==true ovvero se ha l estensione desiderata. esempio 9. Si desidera costruire un programma che consenta di creare un file di testo immettendo dati da tastiera o di appendere testo in coda se il file è presente su disco. a) Il nome del file deve essere immesso come parametro del main(); b) Se il file non esiste, dopo un opportuno messaggio, deve essere possibile l immissione elementare di righe di testo da tastiera fino a quando non si invia un EOF (Ctrl-z);; c) Se il file esiste, dopo l opportuna segnalazione, il file viene stampato sulla console e quindi si rende disponibile l immissione fino a quando non si invia un EOF (Ctrl-z); d) Al termine dell immissione, a scopo di controllo il metodo stampa() mostra il risultato. Codifica: import java.io.*; class cap10_es_09{ public static void stampa(string n_fil)throws IOException { RandomAccessFile in=new RandomAccessFile(n_fil,"r"); System.out.print("\nil file lungo "+in.length()+" byte \n"); String dat; while ((dat=in.readline())!=null) System.out.println(dat); in.close(); public static void main(string arg[])throws IOException{ String nome="";int ch; RandomAccessFile io;inputstreamreader in; // (1) if (arg.length>=1) nome=arg[0]; // (2) File f=new File(nome); // (3) if (f.exists()){ // (4) stampa(nome); io=new RandomAccessFile(nome,"rw"); // (5) System.out.println("Il file ESISTE, Appendi:"); io.seek(io.length()); // (6) else { io=new RandomAccessFile(nome,"rw"); // (5) System.out.println("Il file NON ESISTE, Immetti:"); in=new InputStreamReader(System.in); // (7) while ((ch=in.read())!= -1) io.writebyte(ch); // (8) io.setlength(io.getfilepointer()); // (9) io.close(); stampa(nome); Commento al codice: (1) definisce i file io e lo stream di inpeu in. (2) acquisisce il nome del file. (3) crea l oggetto File necessario per testarne l esistenza con il metodo di nota (4). Le note (5) e (6) creano rispettivamente il file di output e posizionano il puntatore per appendere. Le note (7) e (8) mostrano il ciclo di acquisizione da tastiera e scrittura nel file io. Il ciclo si interrompe se da tastiera si preme Ctrl-Z. (9) chiude il file con EOF.

pag.148 10.E Esercizi Esercizi che usano, in lettura o scrittura, File di caratteri, di testo o di record di lunghezza fissa in modo elementare usando la sola console. [main() unico] 10.1. Si desidera costruire un programma che acquisito il nome di un file di testo (comprensivo del percorso path) memorizzato su disco, stampi il il testo e il numero delle righe di cui è costituito sulla console." realizzare il solo main() e acquisire il nome file come parametro Fare uso del metodo readln() per leggere e contare le righe. 10.2. Si desidera costruire un programma che acquisito il nome di un file di testo (comprensivo del percorso path) memorizzato su disco, lo stampi su console eliminando i marcatori di end_of_line". Indicazioni: Fare uso del metodo read() per leggere i singoli caratteri e ricordare che i marcatori di fine linea sono o '\n' oppure '\r' oppure la coppia \r\n. realizzare il solo main() e acquisire il nome file come parametro 10.3. Si desidera costruire un programma che acquisito il nome di un file di testo (comprensivo del percorso path) memorizzato su disco, ne conti le vocali che contiene e stampi sia il risultato che il testo su console.". Indicazioni: Fare uso del metodo read() per leggere i singoli caratteri. realizzare il solo main() e acquisire il nome file come parametro 10.4. Si desidera costruire un programma che acquisito il nome di un file di testo (comprensivo del percorso path) memorizzato su disco, ne generi uno nuovo e lo memorizzi su disco appendendo al termine una nuova riga che contenga la frase <ultima riga appesa>. Stampi il nuovo testo su console.". realizzare il solo main() e acquisire il nome dei file di Input e di Output come parametri 10.5. Si desidera costruire un programma che Legga un file di testo da disco e Generi un nuovo file di testo e lo memorizzi sul disco eliminando dal file di input i marcatori di fine linea. Stampi il file ottenuto su console.". realizzare il solo main() e acquisire il nome dei file di Input e di Output come parametri 10.6. Si desidera costruire un programma che acquisito il nome di un file di interi (comprensivo del percorso path) memorizzato su disco, stampi su console gli interi separati da uno spazio." realizzare il solo main() e acquisire il nome file come parametro 10.7. Si desidera costruire un programma che generi e memorizzi su disco un file di interi costituito da 20 numeri generati casualmente e compresi tra 10.000 e 99.999, stampi su console il file come verifica." realizzare il solo main() e acquisire il nome file come parametro

pag.149 10.8. Si desidera costruire un programma che acquisito il nome di un file di interi (comprensivo del percorso path) memorizzato su disco, stampi su console gli interi separati da uno spazio e successivamente sovrascriva ogni intero superiore a 1000 con 999 e ristampi il file su Console." realizzare il solo main() e acquisire il nome file come parametro Esercizi con l'uso della classe File: 10.9. Si desidera costruire un programma che acquisito il nome di un file qualsiasi (comprensivo del percorso path) memorizzato su disco, stampi un messaggio di esistenza/non esistenza e indichi la sua lunghezza in byte. o realizzare il solo main() e acquisire il nome file come parametro del main(string args[]). 10.10. Si desidera costruire un programma che acquisito il nome di un file di testo (comprensivo del percorso path) memorizzato su disco, stampi un messaggio di esistenza/non esistenza, indichi la sua lunghezza in byte e stampi testo sulla console." realizzare il solo main() e acquisire il nome file come parametro Esercizi di riscrittura o fusione di file 10.11. Si desidera costruire un programma che acquisito il nome di un file di double (comprensivo del percorso path) memorizzato su disco, stampi su console i numeri separati da uno spazio e successivamente costruisca un nuovo file che contiene numeri interi derivati dal primo file per troncamento. Ristampi in nuovo file su Console." realizzare il solo main() e acquisire il nome dei due file come parametri 10.12. Si desidera costruire un programma che acquisito il nome di due file di double (comprensivo del percorso path) memorizzati su disco, crei il file fusione che contiene in ogni record la somma dei corrispondenti valori dei due file origine. Stampi i tre file per verificare la correttezza del procedimento." Nota: Se i due file di double sono di lunghezza diversa il programma deve completare il file fusione con i soli numeri residui. realizzare il solo main() e acquisire il nome dei tre file come parametri 10.13. desidera costruire un programma che acquisito il nome di un file di record costituiti da una Stringa di dimensione 20 e da un intero, che rappresentano rispettivamente una città e i suoi abitanti e di un secondo file con lo stesso tipo di record che rappresenta l'incremento/decremento subito dalla popolazione. Fondere in un nuovo file i dati della popolazione aggiornati e stampare i tre file per verificare la correttezza del procedimento." Nota: Si faccia l'ipotesi che il file popolazione sia ordinato alfabeticamente rispetto al nome della città e che così sia anche per il file aggiornamento. Non necessariamente l'aggiornamento contiene tutte le città (una città potrebbe non aver subito modifiche).

pag.150 o Realizzare il solo main() e acquisire il nome dei due file popolazione e aggiornamento come parametri o Dopo aver usato un file temporaneo per la fusione, si dovrà cancellare il vecchio popolazione e aggiornamento e rinominare il file di fusione chiamandolo ancora popolazione. Problemi che usano File di caratteri o di testo in modo elementare su Frame con Eventi. (classe finestra con eventi comandi semplici) 10.14. Come in 10.9, si desidera costruire un programma che acquisito il nome di un file qualsiasi (comprensivo del percorso path) memorizzato su disco, stampi in un campo di una frame il nome del file e un messaggio di esistenza/non esistenza con l'indicazione della sua lunghezza in byte. o il main(string args[]) deve acquisire il nome file come parametro di input e quindi chiamare il costruttore della classe finestra che mostra il risultato. o la classe finestra con i metodi dis_gui() fa_eventi() deve gestire il solo evento windowopened() al quale corrisponde il programma che stampa quanto richiesto. 10.15. Come in 10.10. si desidera costruire un programma che acquisito il nome di un file di testo (comprensivo del percorso path) memorizzato su disco, stampi su una frame un messaggio di esistenza/non esistenza, indichi la sua lunghezza in byte e stampi testo contenuto." o il main(string args[]) deve acquisire il nome file come parametro di input e quindi chiamare il costruttore della classe finestra che mostra il risultato. o la classe finestra con i metodi dis_gui() fa_eventi() deve gestire il solo evento windowopened() al quale corrisponde il programma che stampa quanto richiesto. 10.16. Come il 10.1 ma con output su finestra. mostrare il messaggio in una text area, gestendo l'evento windowopened(). 10.17. Come il 10.2 ma con output su finestra. mostrare il testo in una text area, gestendo l'evento windowopened(). 10.18. Come il 10.3 ma con output su finestra. mostrare il testo e quanto richiesto in una text area, gestendo l'evento windowopened(). 10.19. Come il 10.4 ma con output su finestra. mostrare il file di input in una text area e rimostrare il file di output in una text area distinta. 10.20. Come il 10.5 ma con output su finestra. mostrare il file di input in una text area e rimostrare il file di output in una text area distinta. Problemi che usano File e Stream per progettare semplici classi con input/output su console. a) trattamento di testi e parole b) trattamento di file con record di lunghezza costante c) trasformazioni di file di testo in file di record e viceversa

pag.151 Categoria a) 10.21. si desidera realizzare un programma che acquisito il nome di un file di testo (comprensivo del percorso path) memorizzato su disco, lo filtri restituendo a richiesta una delle seguenti funzionalità: il numero di parole che contiene, il numero di token numerici, il numero di righe, il numero di caratteri e il testo stesso sotto forma di stringa." o Progettare una classe filtro che fornisca le funzionalità richieste utilizzando al suo interno le funzionalità della classe StreamTokenizer. o Disegnare la classe prima di codificarla. o Realizzare un main() che testi il funzionamento delle funzionalità realizzate. 10.22. Si desidera realizzare un programma che Costruisca l'indice analitico di una parola di un testo. Acquisito il nome di un file di testo (comprensivo del percorso path) memorizzato su disco e la parola xxx si deve ottenere l'indice della parola nella forma: xxx pag. yy, zz, kk." o progettare (o ampliare) la classe filtro che fornisca le funzionalità richieste utilizzando al suo interno le funzionalità della classe StreamTokenizer, supporre che ad ogni fine pagina corrisponda un marcatore particolare ad esempio '\'." o Disegnare la classe prima di codificarla. o realizzare un main() che testi il funzionamento dei metodi realizzati. Categoria b) 10.23. Si desidera realizzare un programma che Generi, con la funzione random, un file di dati costituito da numeri decimali (comprensivo del percorso path) memorizzato su disco e ne possa calcolare i seguenti numeri caratteristici: la media aritmetica, il massimo e il minimo. Deve inoltre fornire la possibilità di stampa del file" o Progettare una classe (indici) che esibisca le funzionalità richieste dal testo (Definire i Casi D'uso). o Realizzare un main() che ne testi il funzionamento. 10.24. Si desidera realizzare un programma che Acquisisca da tastiera e generi un file di dati costituito da numeri interi lo memorizzi su disco e lo stampi." Indicazioni: o utilizzare per l'input da tastiera dei numeri lo Stream di input più adatto. o progettare una classe (file_interi) che esibisca le funzionalità richieste dal testo (Definire i Casi D'uso). o Realizzare un main() che ne testi il funzionamento. 10.25. Si desidera realizzare un programma che Acquisisca da tastiera e generi un file di dati costituito da un'entità (record?) formato da una Stringa <nome> e da un intero che rappresenta il <peso> in Kg. Dopo averlo memorizzato su disco lo legga, calcoli la media e stampi sul video di

pag.152 fianco a ciascun nome il differenziale tra il suo peso e la media. Es Tizio 0.500 Kg, Caio +7.5 Kg. ecc." o progettare una classe che esibisca le funzionalità richieste dal testo (Definire i Casi D'uso). 10.26. Si desidera realizzare un programma come il precedente che Acquisisca da tastiera e generi un file di dati costituito da entità di tipo Stringa <nome> e da un intero che rappresenta il <peso> in Kg <idem es. 10.25>. Successivamente generare un nuovo file che memorizzi Nome, Peso e Differenziale e lo stampi" Indicazioni: o Idem. o idem Categoria c) 10.27. Si desidera realizzare un programma che Disponendo in input di un file di interi (o generandolo con la funzione random) lo trasformi in un file di testo con i numeri separati da uno spazio. Si richiede di disporre di una funzionalità che mostri a video il file di testo generato." o progettare una classe che esibisca le funzionalità richieste dal testo (Definire i Casi D'uso). 10.28. Si desidera realizzare un programma che Dopo aver generato (random) un file di interi, lo trasformi in un file di testo con i numeri separati da uno spazio. Si richiede di disporre di una funzionalità che legga il file di testo e restituisca un array di interi." o progettare una classe che esibisca le funzionalità richieste dal testo (Definire i Casi D'uso). o realizzare un main() che ne testi il funzionamento e Stampare l'array come verifica." 10.29. Si desidera realizzare un programma che Disponendo in input di un file di record, costituito da una Stringa nome e dal peso intero, <come esercizio 10.25>, lo trasformi in un file di testo nel quale ogni riga contenga Nome e Peso separati da uno spazio. Si desidera disporre della funzionalità di stampa del testo." o progettare una classe che esibisca le funzionalità richieste dal testo (Definire i Casi D'uso). Problemi che usano File e Stream per progettare semplici classi con input/output su Frame con Eventi.

pag.153 10.30. Si desidera realizzare un programma che "consenta all'utente di immettere interi separati su ogni riga in un'area di una finestra e quindi li memorizzi, alla pressione di una coppia di Pulsanti a scelta o come file di testo o come file di interi." o all'evento di chiusura della frame, se non è stato salvato il lavoro in una delle due modalità, deve comparire una finestra di dialogo (Frame Dialog) che informi che non si è salvato e a conferma consenta di proseguire ugualmente o di ritornare alla frame per salvare. o Disegnare Casi d'uso e Classi e successivamente Codificare. 10.31. Si desidera realizzare un programma che "consenta all'utente di portare in un'area di una finestra un file di Interi (uno per ogni riga del campo) e quindi dopo eventuali modifiche li memorizzi, alla pressione di una coppia di Pulsanti a scelta o come file di testo o come file di interi." o all'evento di chiusura della frame, se non è stato salvato il lavoro in una delle due modalità, deve comparire una finestra di dialogo (Frame Dialog) che informi che non si è salvato e a conferma consenta di proseguire ugualmente o di ritornare alla frame per salvare. o Disegnare Casi d'uso e Classi e successivamente Codificare. 10.32. Si desidera realizzare un programma "che immetta in un'area della frame una coppia Nome,Numero separati da spazio e quindi li memorizzi, alla pressione di una coppia di Pulsanti a scelta, come file di testo (ogni riga Nome Numero) o come file di record." o all'evento di chiusura della frame, se non è stato salvato il lavoro in una delle due modalità, deve comparire una finestra di dialogo (Frame Dialog) che informi che non si è salvato e a conferma consenta di proseguire ugualmente o di ritornare alla frame per salvare.. o Disegnare Casi d'uso e Classi e successivamente Codificare.