La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

Presentazioni simili


Presentazione sul tema: "Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA."— Transcript della presentazione:

1 Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA

2 2 Istruzioni: non è ancora finita… In questa lezione vedremo le istruzioni che si possono utilizzare e che, per motivi di tempo, non abbiamo potuto vedere la volta scorsa. Il resto della lezione sarà dedicato completamente allo svolgimento di esercizi sulla progettazione di diagrammi di flusso e traduzione in linguaggio JAVA. Dalla prossima lezioni inizieremo a parlare della programmazione ad oggetti. Nella scorsa lezione abbiamo visto i costrutti IF..ELSE ed il costrutto FOR. Oggi vedremo il costrutto WHILE, il costrutto DO..WHILE, l’istruzione BREAK; l’istruzione CONTINUE ed infine il costrutto SWITCH..CASE con l’opzione facoltativa DEFAULT. Corso di Programmazione in Java – Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”

3 3 Il costrutto WHILE Il costrutto WHILE viene utilizzato per ripetere un determinato blocco di istruzioni finché la condizione posta come test è verificata. Quando la condizione del test diventa falsa, si passa all’istruzione successiva al ciclo. La sintassi del costrutto WHILE è quindi la seguente: while (Condizione) { Blocco di istruzioni da eseguire finchè è vera la condizione; } Corso di Programmazione in Java – Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”

4 4 Il costrutto WHILE (2) Esempio: Si vuole sommare i primi 10 numeri naturali N + int i = 1; int somma = 0; while (i<10) { somma = somma + i; i++; } System.out.println(“Somma: ” + somma); Corso di Programmazione in Java – Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques” Questo diagramma vi ricorda qualcosa? Il costrutto FOR visto la scorsa lezione! Inizio somma = 0, i = 1 i < 10 somma = somma + i i++ Fine somma verofalso

5 5 Corso di Programmazione in Java – Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques” Il costrutto WHILE (3) Il costrutto While ed il costrutto For sono equivalenti: int i = 1; int somma = 0; while ( i < 10 ) { somma = somma + i; i++; } System.out.println( “S: ”+somma ); La scelta su quale costrutto utilizzare è puramente una scelta personale; l’importante è che siano utilizzati correttamente e che restituiscano il risultato corretto richiesto. int i; int somma = 0; for ( i = 1; i < 10; i++ ) { somma = somma + i; } System.out.println( “S: ”+somma );

6 6 Istituto Statale di Istruzione Superiore “F. Enriques” Corso di Programmazione in Java – Lezione n° 03 Altre informazioni sugli Array… Prima di proseguire con le istruzioni, vediamo come si può inizializzare un array più velocemente, es. un array di interi Invece di scrivere: int x[ ]; x = new int[10]; x[1] = 5; x[2] = 6; ecc.. L’istruzione (o come vedremo in seguito, il metodo) nome_array.length restituisce un valore che è la lunghezza dell’array, ovvero il numero di elementi che lo compongono. Si può scrivere… int x [] = {5,6,ecc..}

7 7 Il costrutto DO..WHILE Istituto Statale di Istruzione Superiore “F. Enriques” Corso di Programmazione in Java – Lezione n° 03 Il ciclo DO..WHILE a differenza del ciclo WHILE esegue almeno una volta il blocco di istruzioni prima di controllare se la condizione è vera o no. Inizio somma = 0, i = 1 i < 10 somma = somma + i i++ Fine somma vero falso Inizio somma = 0, i = 1 somma = somma + i i++ i > 10 somma Fine falsovero

8 8 Istituto Statale di Istruzione Superiore “F. Enriques” Corso di Programmazione in Java – Lezione n° 03 Il costrutto DO..WHILE (2) A livello di codice la differenza è la seguente: int i = 1; int somma = 0; while ( i < 10 ) { somma = somma + i; i++; } System.out.println( “S: ”+somma ); int i = 1; int somma = 0; do { somma = somma + i; i++; } while ( i < 10 ) System.out.println( “S: ”+somma );

9 9 L’istruzione BREAK Corso di Programmazione in Java – Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques” Quando all’interno di un ciclo si utilizza l’istruzione BREAK, si indica al computer che si vuole terminare l’esecuzione del ciclo e proseguire con l’istruzione immediatamente successiva. Senza Break Con Break … boolean found = false; for ( int i = 0; i < array.length ; i++ ) if (array[i] = = 101) found = true; if (found) System.out.println("101 trovato"); … boolean found = false; for ( int i = 0; i < array.length ; i++ ) if (array[i] = = 101) { found = true; break; } if (found) System.out.println("101 trovato"); … Cosa cambia secondo voi?

10 10 L’istruzione CONTINUE L'istruzione CONTINUE ha un effetto simile a quello di break, ma invece di dirottare l'esecuzione al termine del ciclo, la riporta all'inizio e, contemporaneamente, passa alla successiva iterazione. Es. Si vuole il prodotto di tutti i numeri di un array ad eccezione dello 0 che annullerebbe il prodotto. Corso di Programmazione in Java – Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques” double prodotto = 1; int x [] = { 2, 15, 31, 0, 6, 9, 81, 35, 2, 15 } for ( int i = 0; i < x.length ; i++ ) { if(x[i] = = 0) continue; prodotto = prodotto * x[i]; } System.out.println(“Prodotto: ”+ prodotto); Se l’elemento è zero si salta ma il ciclo può continuare con l’elemento successivo…

11 11 Il costrutto SWITCH..CASE Corso di Programmazione in Java – Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques” Abbiamo visto che se è necessario eseguire una serie di controlli sulla stessa variabile è possibile utilizzare degli IF..ELSE annidati; Vi ricorderete a tal proposito l’esempio del semaforo della scorsa lezione. Invece di scrivere una serie annidata di IF..ELSE, è possibile far uso dell'istruzione SWITCH..CASE, la cui sintassi è riportata di seguito: switch (Variabile) { case Valore1: Istruzione1; break; case Valore2: Istruzione2; break;... default: Istruzione; break; } In base al valore della variabile viene scelta l’istruzione da eseguire. Se è presente l’opzione DEFAULT, viene eseguita quell’istruzione nel caso in cui la variabile sia diversa da tutte le possibili precedenti.

12 12 Esempio: Stampare il valore di una variabile x se è uguale ad 1, 2 o 5, altrimenti il messaggio “X non è né 1 né 2 né 5”. L’inconveniente di questa istruzione è che nel case non si possono mettere intervalli di valori ma solo un valore unico. Corso di Programmazione in Java – Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques” Il costrutto SWITCH..CASE (2) switch (x) { case 1: System.out.println(“Il valore di x è: 1”); break; case 2: System.out.println(“Il valore di x è: 2”); break; case 5: System.out.println(“Il valore di x è: 5”); break; default: System.out.println(“X non è né 1, né 2, né 5”); break; }


Scaricare ppt "Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA."

Presentazioni simili


Annunci Google