31.05.2013 Views

Esercizi e progetti di programmazione - Apogeo

Esercizi e progetti di programmazione - Apogeo

Esercizi e progetti di programmazione - Apogeo

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!