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