Esercizi e progetti di programmazione - Apogeo
Esercizi e progetti di programmazione - Apogeo
Esercizi e progetti di programmazione - Apogeo
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
E–58 ESERCIZI E PROGETTI DI PROGRAMMAZIONE<br />
***G <strong>Esercizi</strong>o P12.15. Il fi occo <strong>di</strong> neve <strong>di</strong> Koch. Nel seguito defi niamo ricorsivamente una forma simile<br />
a un fi occo <strong>di</strong> neve. Iniziate con un triangolo equilatero:<br />
Poi, aumentatene la <strong>di</strong>mensione <strong>di</strong> un fattore 3 e sostituite ciascun segmento con quattro segmenti,<br />
in questo modo:<br />
Ripetete il proce<strong>di</strong>mento.<br />
Scrivete un programma che <strong>di</strong>segni la quinta iterazione <strong>di</strong> questa curva. Riceverete una valutazione<br />
migliore se aggiungete un pulsante che, quando premuto, genera l’iterazione successiva.<br />
** <strong>Esercizi</strong>o P12.16. Il calcolo ricorsivo dei numeri <strong>di</strong> Fibonacci può essere accelerato in modo<br />
signifi cativo tenendo traccia dei valori che sono già stati calcolati: realizzate una nuova versione<br />
del metodo fi b usando questa strategia. Ogni volta che restituite un nuovo valore, memorizzatelo<br />
anche in un array ausiliario; prima <strong>di</strong> iniziare il calcolo <strong>di</strong> un valore, consultate l’array per vedere<br />
se tale calcolo sia già stato eseguito. Confrontate con le realizzazioni originali, ricorsiva e iterativa,<br />
il tempo <strong>di</strong> esecuzione della vostra versione, così migliorata.<br />
Progetti <strong>di</strong> <strong>programmazione</strong><br />
Progetto P12.1. Migliorate l’analizzatore sintattico <strong>di</strong> espressioni del Paragrafo 12.5 in modo che<br />
possa gestire espressioni più complesse, con esponenti e funzioni matematiche, come sqrt o sin.<br />
Progetto P12.2. Realizzate una versione grafi ca del programma per le Torri <strong>di</strong> Hanoi visto<br />
nell’<strong>Esercizi</strong>o P12.13. Ogni volta che l’utente preme un pulsante con l’etichetta “Next”, <strong>di</strong>segnate<br />
la mossa successiva.<br />
Capitolo 13<br />
<strong>Esercizi</strong> <strong>di</strong> <strong>programmazione</strong><br />
* <strong>Esercizi</strong>o P13.1. Mo<strong>di</strong>fi cate l’algoritmo <strong>di</strong> or<strong>di</strong>namento per selezione in modo da or<strong>di</strong>nare un<br />
array <strong>di</strong> numeri interi in or<strong>di</strong>ne decrescente.<br />
Cay Horstmann: Concetti <strong>di</strong> informatica e fondamenti <strong>di</strong> Java 5 a ed. - Copyright 2010 <strong>Apogeo</strong> srl