strutture di controllo esercizi!. utilizzare i metodi: i modi per poter richiamare un metodo, di una...

14
Strutture di controllo Esercizi!

Upload: noemi-mascia

Post on 03-May-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

Strutture di controllo

Esercizi!

Page 2: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

Utilizzare i metodi:

• I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due.

1) E’ sempre possibile scrivere:new SavitchIn().nomemetodo(parametriMetodo)

2) Ma se il metodo è definito static, è possibile:SavitchIn.nomemetodo(parametriMetodo)

Page 3: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

• Per ora potete utilizzare sempre il primo modo, successivamente vedremo quali sono le differenze e quando è opportuno usare il secondo.

Page 4: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

Lavorare con le stringhe

Le stringhe sono un caso particolare di classe, si utilizzano in questo modo:

• Dichiarazione e inizializzazione:String nomevariabile = “testo…”;

oppure String nomevariabile = new String(“testo…”);

• X richiamare i metodi:nomevariabile.nomemetodo(parametriMetodo);

Page 5: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

Costrutto if-else

Page 6: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

esercizi

1. Acquisite da tastiera due numeri ‘a’ e ‘b’, che definiscono un intervallo, successivamente acquisite un terzo numero ‘c’. Se ‘c’ è compreso nell’intervallo stampate “il numero XX è compreso” altrimenti “alt il numero XX è fuori”.

2. Acquisite da tastiera due numeri di tipo ‘long’ e una var. che contenga un carattere (+,-,*,/,%). A seconda del carattere immesso, calcolare il risultato dell’operazione in una variabile ‘risultato’ (di tipo a scelta) e stamparla a video.

Page 7: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

if-else nidificati

• E’ possibile scrivere all’interno di un blocco (if o else), un altro costrutto if-else

if(cond1)

else

if(cond3)if(cond2)

elseelse

blocco 1 blocco 2 blocco 3 blocco 4

Page 8: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

3. Create(e inizializzate) una costante di tipo intero chiamata ‘NUMEROFISSO’, acquisite altri due numeri da tastiera, trovate e stampate a monitor il maggiore dei tre.

(suggerimento: x semplicità, scegliete 3 numeri ‘a’‘b’‘c’ diversi tra loro . Confrontate prima ‘a’ con ‘b’ poi ‘a’ con ‘c’…).

4. Acquisite da tastiera due numeri decimali, fate la moltiplicazione tra loro e il risultato lo salvate in una terza variabile ‘risultato’ di tipo intero. (Attenzione all’overflow!) Stampate a video un messaggio a seconda che ‘risultato’ sia divisibile per un numero primo minore di 10.

(esempio output: il numero 4568 è divisibile per 2Oppure:il numero 123456789 è divisibile per 3)

Page 9: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

switchUtile se bisogna scegliere tra più strade:

switch variabilecase ‘unpossibilevalore’:

instruzioni;break;case ‘altrovalore’:

instruzioni;break;

………default:

altrimenti eseguo queste istruzioni;

variabile può essere solo di tipo intero o carattere!!!

Page 10: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

Provate a casa:

• Riscrivere l’esercizio 2 sostituendo gli if con uno switch.

Page 11: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

Costrutto whileE’ utilizzato per ripetere l’esecuzione di un blocco fino a quando

l’espressione è vera.

Page 12: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

Costrutto for

Page 13: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

Esercizi

5) Acquisite da tastiera una stringa e visualizzate a monitor solo i caratteri in posizione pari.

6) Acquisite da tastiera due stringhe, controllate se hanno caratteri uguali nelle stesse posizioni e stampateli a video.

Utilizzate prima il costrutto while, dopo il for. Qual è la differenza?

Page 14: Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre

Curiosità

• Qual è la differenza tra l’operatore & e l’operatore &&?

int x = 0;System.out.println((x != 0) & (5/x > 10)); [/ by 0]

System.out.println((x != 0) && (5/x > 10)); [false]

System.out.println((x == 0) | (5/x > 10)); [/ by 0]

System.out.println((x == 0) || (5/x > 10)); [true]