Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoBaldo Paoli Modificato 9 anni fa
1
Fondamenti di informatica T-A Esercitazione 2 : Linguaggio Java, basi e controllo del flusso AA 2012/2013 Tutor : Domenico Di Carlo
2
Hello World Si consiglia caldamente di utilizzare dispositivi rimovibile per salvare il proprio lavoro (Pennine USB o simili) Creiamo un file vuoto e chiamiamolo Esercitazione2.java Apriamo il file e scriviamoci dentro il seguente codice : public class Esercitazione2 { public static void main(String args[]) { System.out.println(“Ciao Mondo!”); } Ricordiamo che la classe che andiamo a creare deve essere chiamata allo stesso modo del file nel quale è contenuta !! Fondamenti di informatica A-K - Domenico Di Carlo 2
3
Compilazione Hello World Ora che abbiamo il nostro primo file sorgente Esercitazione2.java, proviamo a compilarlo ! Per compilare, apriamo il prompt dei comandi come abbiamo visto nella scorsa esercitazione, raggiungiamo il direttorio nel quale è contenuto il file Esercitazione2.java ed utilizziamo il seguente comando : javac Esercitazione2.java Una volta eseguito questo comando, il compilatore java avrà creato il file Esempio2.class contenente il bytecode della classe Esempio2.java Per lanciarlo, eseguiamo il seguente comando : java Esercitazione2 Nel prompt, dovrebbe apparire la stringa : "Ciao mondo!" Fondamenti di informatica A-K - Domenico Di Carlo 3
4
Variabili ed espressioni Il linguaggio consente di definire variabili: int a = 10; Di valutare espressioni: 2*a + 1 Di effettuare assegnamenti: int b = 2*a +1 Stampare a video: System.out.println(“testo”) System.out.println(“testo” + variabile) L’operatore “+” permette anche di concatenare stringhe. Fondamenti di informatica A-K - Domenico Di Carlo 4
5
Tipo primitivi in Java Fondamenti di informatica A-K - Domenico Di Carlo 5 Java conosce di base alcuni tipi di dato. Questi tipi primitivi sono utilizzabili direttamente, senza nessuna definizione. Sono ovviamente necessari per definire variabili, espressioni, assegnamenti etc. Di seguito c'è uno schema riassuntivo
6
Provate voi ! Ora che siete diventati degli esperti con Java, provate voi ! Modificate il file precedente in modo da contenere non più la stampa a video di «Ciao Mondo» bensì faccia la somma tra due numeri. Definite quindi tre variabili di tipo intero. ▫ Le prime due saranno gli addendi ▫ La terza sarà il risultato della somma delle prime due Stampate a video il risultato ottenuto Nella prossima slide c'è la soluzione, prova a non sbirciare. Ne va del vostro esame !! Fondamenti di informatica A-K - Domenico Di Carlo 6
7
Avete provato ? Ecco la soluzione del semplice esercizio precedente : public class Somma { public static void main(String args[]) { int a = 3; int b = 4; int risultato = a + b; System.out.println("La somma vale: " + risultato); } Fondamenti di informatica A-K - Domenico Di Carlo 7
8
Controllo del flusso Il codice che noi scriviamo in Java non deve essere così limitato e monolitico. Vengono in nostro aiuti tutti quei costrutti, tutte quelle strutture sintattiche proprie del linguaggio che permettono di realizzare alcuni passaggi base della programmazione: vi sono costrutti per i cicli, per le condizioni, ecc... Questo permette di modellare il flusso di esecuzione a nostro piacere. Vediamo subito un esempio. Fondamenti di informatica A-K - Domenico Di Carlo 8
9
Esercizio Scrivere un semplicissimo programma Java che prenda in input tre numeri interi e li stampi in ordine decrescente. La logica da seguire è : ▫ Leggo i 3 numeri ▫ Confronto il primo con il secondo tramite un if e determino il maggiore dei due. Nell’else determino ovviamente l’altro caso. ▫ Confronto il terzo numero con il maggiore precedentemente trovato e con il minore precedente. Se il terzo è maggiore del maggiore precedentemente trovato vuol dire che il primo diventa secondo e che il secondo diventa terzo Se il terzo è minore del minore precedentemente trovato vuol dire che il primo ed il secondo rimangono invariati ed il più piccolo tra i tre è proprio il terzo L’unico altro caso possibile è che il terzo sia l’intermedio tra i tre e quindi il secondo deve diventare terzo ed il terzo deve diventare secondo. Lo so che sembra complicato detto così ma in realtà è una sciocchezza vera e propria, vediamo il codice relativo ! Fondamenti di informatica A-K - Domenico Di Carlo 9
10
Ordinamento decrescente 1/2 import java.util.Scanner; public class Prova { public static void main(String args[]){ System.out.println("Inserisci 3 numeri"); Scanner tastiera = new Scanner(System.in); int a = tastiera.nextInt(); int b = tastiera.nextInt(); int c = tastiera.nextInt(); int primo, secondo, terzo; if ( a > b ) { primo = a; secondo = b; } else { primo = b; secondo = a; } Fondamenti di informatica A-K - Domenico Di Carlo 10
11
Ordinamento decrescente 2/2 if ( c > primo ) { terzo = secondo; secondo = primo; primo = c; } else { if ( c < secondo ) terzo = c; else { terzo = secondo; secondo = c; } System.out.println("I numeri immessi ordinati in ordine decrescente sono : " + primo +", " + secondo + ", " + terzo); } Fondamenti di informatica A-K - Domenico Di Carlo 11
12
Ultimo esercizio Dal tabaccaio un utonto arriva e compra cose a caso per l’ammontare di una certa cifra che chiameremo totale. L’utonto paga il totale con una banconota a scelta Il tabaccaio cerca di dare il resto all’utonto utilizzando tagli di banconote più grandi possibile. Quindi, se per esempio l’utonto deve: ▫ pagare 13 euro ed ha una banconote da 50 euro ▫ non deve ricevere 3 pezzi da 10, 1 da 5 e 2 da 1 euro. ▫ Bensì 1 da 20, 1 da 10, 1 da 5 e 1 da 2. Supponiamo per semplicità che i centesimi non esistano (quindi si usano int e non float) e che la banconota massima che l’utonto ha a disposizione sia un pezzo da 50 euro. Fondamenti di informatica A-K - Domenico Di Carlo 12
13
Provate voi ! La soluzione sarà pubblicata nei prossimi giorni sul sito del corso. Intanto voi arrovellatevi il cervello. Tips & tricks : ▫ Acquisire il totale e la banconota dell’utonto con Scanner ▫ Calcolare il resto da dare come totale – banconota ▫ If ( c’èancorarestodadare ) [dosomething] ▫ Else [dosomethingelse ] Fondamenti di informatica A-K - Domenico Di Carlo 13
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.