13/08/02Input 1 Interagire con il computer Da tastiera Da riga di comando Funzioni di conversione.

Slides:



Advertisements
Presentazioni simili
INFORMATICA Altre Istruzioni di I/O
Advertisements

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A2 Java: le basi del linguaggio.
12/11/2004Laboratorio di Programmazione - Luca Tesei1 Caratteri – Input da Console Il tipo char Input dallo standard input.
Capitolo 8 Array Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Differenze nei vari linguaggi di Elisa Trifirò e Barbara Tacchino
LIP: 4 Aprile 2008 ECCEZIONI. Eccezioni Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Programmazione Procedurale in Linguaggio C++
FUNZIONI DI BIBLIOTECA
Caratteri e stringhe di caratteri
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Funzioni definite dall’utente
Eccezioni Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
JAVASCRIPT DIFFERENZA TRA JAVASCRIPT E JAVA TAG LO SCRIPT OGGETTI LE CLASSI FUNZIONE GESTORE DI EVENTI ELEMENTI DEL LINGUAGGI è un vero e proprio linguaggio.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Fisica Computazionale I - 51 OPERAZIONI DI INPUT/OUTPUT Le operazioni di input/output sono estremamente complesse perche' implicano una sostanziale interazione.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Lezione XIII Lu 17-Nov-2005 Programmare le classi.
Scomposizione di stringhe
Soluzione Esercizio - Classe Vettore
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Primi programmi in Java
INFORMATICA Altre Istruzioni di I/O. © Piero Demichelis 2 Funzioni di I/O Per la lettura e la scrittura da videoterminale il C prevede numerose istruzioni.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
I File.
Argomenti della lezione
LA DOCUMENTAZIONE È noto che un buon programma dovrebbe essere ben documentato.. ma lesperienza insegna che quasi mai ciò viene fatto! –non cè tempo, ci.
IL CONCETTO DI PACKAGE Una applicazione è spesso composta di molte classi (eventualmente correlate) Un package è un gruppo di classi che costi- tuiscono.
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori. Lapproccio classico consiste nellinse- rire controlli.
Programmazione in Java
Programmazione in Java (9) Mauro Lorenzutti. 30/09/2005Corso Java - Mauro Lorenzutti2 Scaletta I/O Evoluto Serializzazione Comunicazioni via socket JUnit.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
11/11/2004Laboratorio di Programmazione - Luca Tesei1 Operazioni numeriche - Input Espressioni, funzioni matematiche, classi involucro, Acquisizione di.
Corso JAVA Lezione n° 12 Istituto Statale di Istruzione Superiore “F. Enriques”
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Conversione da base 10 a base X (Utilizzo della pila)
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Una "vera" classe.. ..un esempio pratico: la calcolatrice
Ingresso e uscita in Java F. Bombi 10 ottobre 2002.
Tipi primitivi in java tipodefaultmem.daa booleanfalse1 bittrue false char'\u0000'16 bit byte08 bit short016 bit int032 bit-2^312^31-1.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
Input-Output 16 Maggio Nei programmi sviluppati sino ad oggi abbiamo usato * output su schermo (con System.out.print e System.out.print ) * input.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
Ripasso su Java. Introduzione Per risolvere problemi complessi, i linguaggi di programmazione forniscono costrutti per realizzare nuove funzioni che trasformino.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
10/10/20021 Ingresso e uscita in Java F. Bombi 10 ottobre 2002.
Fondamenti di informatica T-A Esercitazione 2 : Linguaggio Java, basi e controllo del flusso AA 2012/2013 Tutor : Domenico Di Carlo.
1 Java secondo contatto Nel tunnel una luce…. 2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore.
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Programmazione dei Calcolatori Elettronici
Fondamenti di informatica T-A Esercitazione 3 : Classi, metodi, visibilità, metodi statici AA 2012/2013 Tutor : Domenico Di Carlo.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Il C `e un linguaggio di programmazione di uso generale, originariamente sviluppato per la scrittura del sistema operativo Unix, ed oggi disponibile su.
1 Input / Output Spesso un programma deve acquisire dati da una sorgente esterna o inviare informazioni a una destinazione esterna. L’informazione può.
13/08/02Tipi base 1 Tipi interi Operatori numerici Tipi float Caratteri Tipo booleano.
30/10/01Array 1  Un array e’ una struttura dati che contiene piu’ valori del medesimo tipo.  La lunghezza di un array e’ stabilita quando l’array viene.
1 Metodo I metodi sono uno strumento che i programmatori usano per strutturare i programmi, sia per renderli più facili da capire che per permettere il.
1 Input / Output Spesso un programma deve acquisire dati da una sorgente esterna o inviare informazioni a una destinazione esterna. L’informazione puo’
Stringhe in Java. Definire una stringa. Definire una stringa in Java Il modo più semplice e diretto per creare un oggetto di tipo String è assegnare alla.
Input in Java. Uso Scanner Un oggetto per la lettura dalla tastiera Piuttosto, per rappresentare la tastiera del nostro calcolatore useremo un oggetto.
Introduzione alle Classi e agli Oggetti in Java 1.
Eccezioni in Java. Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel linguaggio allo scopo.
Transcript della presentazione:

13/08/02Input 1 Interagire con il computer Da tastiera Da riga di comando Funzioni di conversione

13/08/02 Input2 Input da tastiera Lo standard input di un computer è visto attraverso l’oggetto predefinito System.in Questo oggetto mette a disposizione un numero limitato di operazioni Esistono delle classi predefinite che a partire da questo oggetto creano nuovi oggetti con maggiori funzionalità La classe InputStreamReader Un InputStreamReader converte una sequenza di byte in una sequenza di caratteri.in accordo con uno specifico sistema di codifica. La classe BufferedReader Un BufferedReader legge una sequenza di caratteri, la memorizza in un buffer in modo da fornire funzioni per la lettura di intere linee. 1.InputStreamReader reader = new InputStreamReader(System.in); 2.BufferedReader console = new BufferedReader(reader); Dopo queste operazioni posso utilizzare l’oggetto console e il metodo readLine() in grado di restituirmi una linea da tastiera (tutti i caratteri immessi fino alla pressione di un fine linea) sotto forma di stringa. String line = console.readLine();

13/08/02 Input3 Il paradigma ad oggetti I programmi in generale non gestiscono solo numeri e caratteri, ma devono gestire dati più complessi che rappresentano più da vicino la realtà. Ad esempio informazioni relative agli studenti, i conti bancari, ecc. I linguaggi di programmazione orientati agli oggetti sono adatti a trattare questi tipi di dati o oggetti.

13/08/02 Input4 Un programma (o applicazione) è usato da un utente per far eseguire un insieme di operazioni a un calcolatore ciascuna operazione costituisce uno strumento per l’utente del programma l’esecuzione di ciascuna operazione corrisponde allo svolgimento di una sequenza di azioni da parte del calcolatore. Un programma mostra a un utente la rappresentazione, nel calcolatore, di una porzione di mondo reale o virtuale la porzione di mondo rappresentata da un programma è la realtà di interesse del programma un programma rappresenta nel calcolatore i dati e le operazioni di una certa realtà di interesse. La nozione di programma percepita da chi realizza programmi è complementare a quella percepita dall’utente

13/08/02 Input5 Programma Monete5.java 1.import java.io.BufferedReader; 2.import java.io.InputStreamReader; 3.import java.io.IOException; 4. 5.public class Monete5 { public static void main(String[] args) throws IOException { 8. final double VAL1CENT = 0.01; 9. final double VAL10CENT = 0.10; 10. final double VAL20CENT = 0.20; InputStreamReader reader 13. = new InputStreamReader(System.in); 14. BufferedReader console 15. = new BufferedReader(reader); 16. Ho definito 3 costanti di tipo double console è un oggetto per gestire l’input da terminale

13/08/02 Input6 Programma Monete5.java 17. System.out.print("Quante monete da 1 centesimo hai? "); 18. int unCent = Integer.parseInt(console.readLine()); System.out.print("Quante monete da 10 centesimi hai? "); 21. int dieciCent = Integer.parseInt(console.readLine()); System.out.print(" Quante monete da 20 centesimi hai? "); 24. int ventiCent = Integer.parseInt(console.readLine()); double totale = unCent * VAL 1CENT + dieciCent * VAL 10CENT + ventiCent * VAL 20CENT ; 27. System.out.println("Valore totale = " + totale); 28. } 29.} console.readLine() legge una riga da tastiera e la restituisce come stringa Integer.parseInt() analizza una stringa e restituisce il corrispondente valore intero total è una variabile floating-point è buona norma stampare una frase di richiesta prima di ogni operazione di lettura da tastiera

13/08/02 Input7 Esecuzione Monete5.java E:\Java\esempi\Monete> java Monete5 Quante monete da 1 centesimo hai? 2 Quante monete da 10 centesimi hai? 3 Quante monete da 20 centesimi hai? 5 Valore totale = 1.32 E:\Java\esempi\Monete>

13/08/02 Input8 Funzioni di conversione Le classi Integer, Double, Boolean … mettono a disposizione una serie di metodi di conversione che restituiscono un valore numerico a partire da una stringa. In particolare sono utili: Integer.parseInt(stringa) Double.parseDouble(stringa) Integer.parseInt( “12”) restituisce il valore intero 12 Double.parseDouble( “12.5”) restituisce il valore double 12.5 Versioni non recenti di Java non hanno parseDouble in alternativa si può usare (new Double(stringa)).doubleValue()

13/08/02 Input9 Riutilizzo del software Come evitare di riscrivere tutte le volte il codice che mi serve per gestire l’input? Posso definire una classe che mi mette a disposizione dei metodi opportuni e poi utilizzare questi (allo stesso modo della classe Math )

13/08/02 Input10 MyUtility.java 1.import java.io.*; 2. 3.public class MyUtility { private static BufferedReader console = 6. new BufferedReader(new InputStreamReader(System.in)); public static String readLine(String prompt) { 9. try { 10. System.out.print(prompt); 11. return console.readLine(); 12. } 13. catch(IOException e) { 14. System.err.println(e); 15. System.exit(1); 16. } 17. return null; 18. } 19. readLine legge una riga da tastiera, presentando un messaggio di richiesta try/catch servono per gestire condizioni di errore err corrisponde allo standard error di Unix, System.exit forza la terminazione del programma L’istruzione return forza l’uscita dal metodo in esecuzione specificando il valore che deve essere restituito

13/08/02 Input11 MyUtility.java 20. /** 21. readInt – legge un intero da tastiera, 22. presentando un messaggio di richiesta, 23. sfrutta readLine 24. */ 25. public static int readInt(String prompt) { 26. return Integer.parseInt(readLine(prompt)); 27. } /** 30. readDouble – legge un double da tastiera, 31. presentando un messaggio di richiesta, 32. sfrutta readLine 33. */ 34. public static double readDouble(String prompt) { 35. return Double.parseDouble(readLine(prompt)); 36. } 37.} Double.parseDouble si comporta in maniera simile a Integer.parseInt solo le versioni recenti di Java lo implementano Integer.parseInt restituisce il valore intero corrispondente alla stringa

13/08/02 Input12 Somma.java Una volta compilata MyUtility.java posso utilizzare i metodi pubblici definiti (purché il file MyUtility.class sia in una directory compresa in CLASSPATH ) allo stesso modo dell’uso delle funzioni matematiche della classe Math, non posso invece utilizzare la variabile console perché definita private (non accessibile, serve solo ai diversi metodi per uso interno) 1.// Somma.java legge due numeri da tastiera 2.// e stampa la loro somma 3. 4.public class Somma { public static void main(String[] args) { 7. int a = MyUtility.readInt("a="); 8. int b = MyUtility.readInt("b="); 9. System.out.println("a+b="+(a+b)); 10. } }

13/08/02 Input13 Somma.java E:\Java\esempi\Somma> java Somma a=3 b=5 a+b=8 E:\Java\esempi\Somma>

13/08/02 Input14 Usare parametri ai comandi Come i comandi UNIX così anche I programmi java possono usare parametri: I parametri posti sulla riga di comando sono utilizzabili attraverso la variabile args (un vettore di stringhe) del metodo main Attraverso il campo length posso sapere quanti dati ho a disposizione, i vari parametri sono accessibili come args[0] il primo parametro args[1] il secondo args[2] il terzo …

13/08/02 Input15 Uso di parametri da riga di comando 1.// Somma2.java somma due valori dati come parametri del programma 2.// e stampa il risultao 3.public class Somma2 { 4.public static void main(String[] args) { 5.int a = Integer.parseInt(arg[0]); 6.int b = Integer.parseInt(arg[1]); 7.System.out.println("a+b="+(a+b)); 8.} 9.} E:\Java\esempi\Somma> java Somma2 3 5 a+b=8 E:\Java\esempi\Somma>