Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale
Transcript
Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale
Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale Canale AL ESERCITAZIONE 8 ARGOMENTI: I/O CON FLUSSI DI CARATTERI Esercizio 1 Create con notepad.exe nella vostra directory due file "pari.txt" e "dispari.txt" copiando i versi del terzo canto dell'Inferno trovati nella slide successiva. Come vedrete, i versi appartengono alle prime tre strofe ma sono raggruppati in versi pari e dispari. Scrivete un programma LetturaDante che crei un terzo file "dante.txt" in cui scriva le linee lette alternativamente dai due file riportando il testo a quello originale. Versi da copiare File "dispari.txt" Per me si va ne la città dolente, per me si va tra la perduta gente. fecemi la divina podestate, Dinanzi a me non fuor cose create Lasciate ogne speranza, voi ch'intrate'. File "pari.txt" per me si va ne l'etterno dolore, Giustizia mosse il mio alto fattore; la somma sapïenza e 'l primo amore. se non etterne, e io etterno duro. Esercizio 2 – la classe Persona Si vuole realizzare il sistema di gestione delle persone in una azienda. A. La prima classe da realizzare è Persona e rappresenta tutte le istanze di persone nell'azienda. Una persona viene caratterizzata dalle seguenti proprietà: – cognome e nome: una stringa di caratteri, – data di nascita: una stringa di caratteri, – sesso: un carattere 'M' o 'F', – stipendio: un valore in euro. La classe Persona deve avere i seguenti metodi delle istanze: • costruttore con 4 argomenti per le 4 proprietà della persona, • metodi get e set per ciascuna proprietà dell'oggetto, • un metodo toString che restituisca una stringa con le 4 proprietà elencate. La classe Persona ha anche un metodo statico: • creaPersona con un argomento BufferedReader che restituisce un nuovo oggetto Persona inizializzato con i dati letti con l'argomento BufferedReader da un file già aperto. Esercizio 2 – la classe GestionePersone B. La seconda classe da realizzare è GestionePersone che serve alla gestione dell'insieme delle persone nell'azienda. L'unico oggetto della classe ha tre variabili di istanza: 1. il numero di persone nell'azienda, 2. un array personale che contiene tutti gli oggetti Persona e 3. un oggetto BufferedReader br utilizzato per salvare/caricare dati dal/nel file. La classe deve avere i seguenti metodi: • un costruttore con due argomenti: il numero di persone nell'azienda e il nome del file dove si trovano informazioni su queste persone. Un esempio del file si trova nella slide successiva; • un metodo carica() che inizializzi l'array con le persone trovate nel file memorizzato nell'oggetto; • un metodo salva() che memorizzi nel file le informazioni delle persone trovate nell'array, • un metodo statico main() che: – legge il numero di persone (diciamo 4) e il nome del file ("persone.txt") dalla riga di comando o con JOptionPane, – legge con br dal file le informazioni creando degli oggetti Persona e memorizzandoli nell'array, – aumenta gli stipendi delle persone di 5%, – salva le persone nel file. Esercizio 2-Il contenuto del file "persone.txt" Fabio De Simoni 20/3/1984 M 2040.00 Maurizio Bianchi 1/7/1983 M 2560.50 Maria Ricci 12/11/1982 F 2810.88 Giuseppe Cantori 30/12/1983 M 2040.00 Esercizio 3 Create con notepad.exe nella vostra directory un file "dante.txt" copiando i versi iniziali del III canto dell'Inferno trovati nella slide successiva. Come si può vedere, i versi sono correttamente numerati, ma non sono ordinati. Scrivete un programma LetturaDante che: 1. legga il file "dante.txt", linea per linea, memorizzando gli n versi in un array di n elementi String. Il valore di n (in questo caso 9) viene trasmesso dalla riga di comando. Se manca n nella riga di comando il programma lo richiede con JOptionPane.showInputDialog; 2. ordini nell'array i versi delle tre strofe; 3. visualizzi i versi in ordine corretto lasciando una riga vuota tra le strofe. Il file "dante.txt" (da copiare) 8 6 3 9 4 2 1 5 7 se non etterne, e io etterno duro. la somma sapïenza e 'l primo amore. per me si va tra la perduta gente. Lasciate ogne speranza, voi ch'intrate'. Giustizia mosse il mio alto fattore; per me si va ne l'etterno dolore, Per me si va ne la città dolente, fecemi la divina podestate, Dinanzi a me non fuor cose create