Scaletta Preparare un programma Java Input interattivo Programmazione, 1a lezione E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Trieste, 27.09.2011 E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Preparare un programma Java Preparazione del testo, o ‘codice’ Compilazione Esecuzione Collaudo Input interattivo Problematica della parametricità Esempio di lettura da tastiera Esercizio sulla lettura da tastiera E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Preparazione del testo, o ‘codice’ Compilazione Esecuzione Collaudo Un banale programma Java – I class PrimoVagito { // ci troviamo nel file “PrimoVagito.java” public static void main( String[ ] argg ) { // programma principale System.out.print( "Ciao, mondo!!" ); // invocazione metodo di stampa } } E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Preparazione del testo, o ‘codice’ Compilazione Esecuzione Collaudo Un banale programma Java – II class PrimoVagito { // ci troviamo nel file “PrimoVagito.java” public static void main( String[ ] argg ) { // programma principale System.out.print( "Ciao, mondo!!" ); // invocazione metodo di stampa } } // qui sopra, il grassetto evidenzia le parole chiave E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Preparazione del testo, o ‘codice’ Compilazione Esecuzione Collaudo Scaletta Preparare un programma Java Input interattivo Note sul lessico Oltre alle parole chiave, nell’esempio vediamo: I un identificatore di classe: PrimoVagito I identificatori di metodo: main, print I E. Omodeo delimitatori: punto-e-virgola, parentesi tonde/quadre/graffe, virgolette Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Preparazione del testo, o ‘codice’ Compilazione Esecuzione Collaudo Note sulla sintassi Osserviamo che: I le parentesi sono attentamente bilanciate I il ‘;’ non è facoltativo I vi sono identificativi composti, piuttosto elaborati, come: System.out.print I i commenti sono esenti da regole e sono estranei al programma I analogamente le virgolette, ”, impiegate a coppie, delimitano un brano di testo molto libero, che in questo caso fa parte del programma E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Preparazione del testo, o ‘codice’ Compilazione Esecuzione Collaudo Note stilistiche L’‘indentazione’, cosı́ come altri artifici tesi a facilitare la lettura, non sono essenziali: qui, però, la consideremo obbligatoria E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Preparazione del testo, o ‘codice’ Compilazione Esecuzione Collaudo Come compilare un programmi Java ( sotto Windows ) Da una finestra di comandi, si impartisca il comando: C:· · · · · · > javac PrimoVagito.java per effetto del quale comparirà un nuovo file ( costituito di istruzioni per la Java Virtual Machine ): PrimoVagito.class E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Preparazione del testo, o ‘codice’ Compilazione Esecuzione Collaudo Come lanciare un programma Java ( sotto Windows ) Da una finestra di comandi, si impartisca il comando: C:· · · · · · > java PrimoVagito che si riferisce al file PrimoVagito.class prodotto dalla compilazione E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Preparazione del testo, o ‘codice’ Compilazione Esecuzione Collaudo Come collaudare un programma Per ora sorvoliamo su questo tema, che peraltro è importante E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Problematica della parametricità Esempio di lettura da tastiera Esercizio sulla lettura da tastiera Esempio di un programma con variabili public class VolumeSfera { // calcolo vol. in base a r. noto public static void main( String[ ] argg ) { int raggio; // qui dichiaro che il raggio e‘ un intero raggio = 2; // qui gli assegno un valore double piGreca = Math.atan(1.0) * 4.0; // trovo π double volume = (4.0/3.0) * piGreca * raggio * raggio * raggio; System.out.println( volume ); } } E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Problematica della parametricità Esempio di lettura da tastiera Esercizio sulla lettura da tastiera La variabile Nel programma visto ora, figurano tre variabili. Ciascuna possiede: identificatore: raggio, piGreca, volume tipo: int, double valore: descritto da una costante, come 2 (o 4.0), o piú in generale da un’espressione Il valore di una variabile: I ne è, in certo senso, il contenuto I può incessantemente cambiare E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Problematica della parametricità Esempio di lettura da tastiera Esercizio sulla lettura da tastiera L’istruzione di assegnamento Nella sua forma piú semplice e piú comune, ha la forma identificatore di variabile = espressione Significa : I determina il valore dell’espressione I verifica che sia compatibile con il tipo della variabile1 I fallo diventare il nuovo valore della variabile Avrebbe senso, ad es., assegnare raggio = raggio + 1 ; 1 E. Omodeo Controllo necessario? Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Problematica della parametricità Esempio di lettura da tastiera Esercizio sulla lettura da tastiera Esercizio di sulle espressioni Calcolare ed esporre a video il valore della somma 1 + 2 + · · · + 200 dei primi cento ( pardon, duecento ) numeri. E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Problematica della parametricità Esempio di lettura da tastiera Esercizio sulla lettura da tastiera Quelli visti sin qui, meritano di essere chiamati programmi ? E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Problematica della parametricità Esempio di lettura da tastiera Esercizio sulla lettura da tastiera Quello che stiamo vedendo merita di essere chiamato prolema ? E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Problematica della parametricità Esempio di lettura da tastiera Esercizio sulla lettura da tastiera Quello che stiamo vedendo merita di essere chiamato soluzione ? E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Problematica della parametricità Esempio di lettura da tastiera Esercizio sulla lettura da tastiera Esempio di lettura da tastiera, durante l’esecuzione – I Listato 1.1 Un semplice programma Java # 1/2 E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Problematica della parametricità Esempio di lettura da tastiera Esercizio sulla lettura da tastiera Esempio di lettura da tastiera, durante l’esecuzione – II Listato 1.1 Un semplice programma Java # 2/2 E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione Scaletta Preparare un programma Java Input interattivo Problematica della parametricità Esempio di lettura da tastiera Esercizio sulla lettura da tastiera Esercizio sulla lettura da tastiera Modificate il programma che calcola il volume della sfera, in modo che acquisisca il raggio dalla tastiera. E. Omodeo Università degli Studi di Trieste, a.a. 2011/12 Programmazione, 1a lezione