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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

E–60 ESERCIZI E PROGETTI DI PROGRAMMAZIONE<br />

Figura 7<br />

Animazione grafi ca<br />

Progetti <strong>di</strong> <strong>programmazione</strong><br />

Progetto P13.1. Scrivete un programma per gestire un’agenda <strong>di</strong> appuntamenti. Create una<br />

classe Appointment che memorizzi una descrizione dell’appuntamento, il giorno dell’appuntamento,<br />

l’ora <strong>di</strong> inizio e l’ora <strong>di</strong> fi ne. Il programma deve conservare gli appuntamenti in un vettore<br />

or<strong>di</strong>nato. Gli utenti possono aggiungere appuntamenti e visualizzare tutti gli appuntamenti <strong>di</strong><br />

un determinato giorno. Quando viene aggiunto un nuovo appuntamento, utilizzate una ricerca<br />

binaria per stabilire in quale posizione del vettore va inserito: non aggiungetelo se è in confl itto<br />

con altri appuntamenti.<br />

Progetto P13.2. Realizzate una animazione grafi ca degli algoritmi <strong>di</strong> or<strong>di</strong>namento e <strong>di</strong> ricerca.<br />

Costruite un array e inseritevi numeri casuali compresi tra 1 e 100, poi <strong>di</strong>segnate ciascun elemento<br />

dell’array sotto forma <strong>di</strong> barretta verticale, come nella Figura 7. Ogni volta che l’algoritmo<br />

mo<strong>di</strong>fi ca l’array, mostrate una fi nestra <strong>di</strong> <strong>di</strong>alogo e attendete che l’utente prema il pulsante “Step”,<br />

poi invocate il metodo repaint. Premendo il pulsante “Run” si fa procedere l’animazione, fi no<br />

al termine oppure fi no a quando l’utente preme il pulsante “Step”.<br />

Realizzate le animazioni dell’or<strong>di</strong>namento per selezione, dell’or<strong>di</strong>namento per fusione e della<br />

ricerca binaria. Nell’animazione della ricerca binaria evidenziate l’elemento in fase <strong>di</strong> ispezione e<br />

i valori <strong>di</strong> from e to.<br />

Capitolo 14<br />

<strong>Esercizi</strong> <strong>di</strong> <strong>programmazione</strong><br />

** <strong>Esercizi</strong>o P14.1. Utilizzando soltanto l’interfaccia pubblica della classe lista concatenata, scrivete<br />

un metodo<br />

public static void downsize(LinkedList staff)<br />

che elimini un impiegato sì e uno no da una lista concatenata.<br />

** <strong>Esercizi</strong>o P14.2. Utilizzando soltanto l’interfaccia pubblica della classe lista concatenata, scrivete<br />

un metodo<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!