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.

Figura 4<br />

Co<strong>di</strong>ce postale a barre<br />

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

rendole nel pacchetto money e lasciando, invece, la classe CashRegisterTester nel pacchetto<br />

predefi nito.<br />

* <strong>Esercizi</strong>o P8.16. Inserite la classe BankAccount in un pacchetto il cui nome sia derivato dal<br />

vostro in<strong>di</strong>rizzo <strong>di</strong> posta elettronica, come descritto nel Paragrafo 8.9, lasciando invece la classe<br />

BankAccountTester nel pacchetto predefi nito.<br />

**T <strong>Esercizi</strong>o P8.17. Progettate con JUnit una classe <strong>di</strong> collaudo BankTest avente tre meto<strong>di</strong>, ciascuno<br />

dei quali collauda un <strong>di</strong>verso metodo della classe Bank vista nel Capitolo 7.<br />

**T <strong>Esercizi</strong>o P8.18. Progettate con JUnit una classe <strong>di</strong> collaudo TaxReturnTest avente tre meto<strong>di</strong>,<br />

ciascuno dei quali collauda una <strong>di</strong>versa situazione fi scale della classe TaxReturn vista nel<br />

Capitolo 5.<br />

*G <strong>Esercizi</strong>o P8.19. Scrivete i meto<strong>di</strong> seguenti per <strong>di</strong>segnare le lettere H, E, L e O in una fi nestra<br />

grafi ca; il parametro p in<strong>di</strong>ca il punto superiore sinistro del rettangolo che racchiude la lettera.<br />

Tracciate linee ed ellissi, ma non usate il metodo drawString né System.out. Poi, invocate ripetutamente<br />

tali meto<strong>di</strong> per <strong>di</strong>segnare le parole “HELLO” e “HOLE”.<br />

• public static void drawH(Graphics2D g2, Point2D.Double p);<br />

• public static void drawE(Graphics2D g2, Point2D.Double p);<br />

• public static void drawL(Graphics2D g2, Point2D.Double p);<br />

• public static void drawO(Graphics2D g2, Point2D.Double p);<br />

**G <strong>Esercizi</strong>o P8.20. Ripetete l’esercizio precedente progettando le classi LetterH, LetterE, LetterL<br />

e LetterO, ciascuna con un costruttore che riceve un parametro <strong>di</strong> tipo Point2D.Double (il punto<br />

superiore sinistro del rettangolo che racchiude la lettera) e un metodo draw(Graphics2D g2).<br />

Quale soluzione è più orientata agli oggetti?<br />

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

Progetto 8.1. Realizzate un programma che visualizzi le buste paga per un gruppo <strong>di</strong> tutori <strong>di</strong>dattici,<br />

applicando le appropriate deduzioni corrispondenti alle tasse federali e per il servizio sanitario<br />

statunitense (per il calcolo delle tasse potete usare lo schema visto nel Capitolo 5, mentre per il<br />

servizio sanitario consultate Internet, cercando Social Security Tax). Per ciascun tutore il programma<br />

deve chiedere, come dati in ingresso, il nome, la tariffa oraria e il numero <strong>di</strong> ore lavorate.<br />

Progetto 8.2. Per or<strong>di</strong>nare più velocemente le lettere, il Servizio Postale degli Stati Uniti incoraggia<br />

le aziende che spe<strong>di</strong>scono grossi volumi <strong>di</strong> posta a usare un co<strong>di</strong>ce a barre per in<strong>di</strong>care il<br />

co<strong>di</strong>ce ZIP (il co<strong>di</strong>ce <strong>di</strong> avviamento postale , come si può vedere in Figura 4).<br />

Lo schema <strong>di</strong> co<strong>di</strong>fi ca per un co<strong>di</strong>ce ZIP <strong>di</strong> cinque cifre è illustrato nella Figura 5. A ciascuna<br />

estremità si trova una barra <strong>di</strong> delimitazione ad altezza intera. Le cinque cifre co<strong>di</strong>fi cate sono seguite<br />

da una cifra <strong>di</strong> controllo, calcolata nel modo seguente: si sommano tutte le cifre e si sceglie la cifra <strong>di</strong><br />

controllo che, sommata al totale, restituisca un multiplo <strong>di</strong> <strong>di</strong>eci. Per esempio, la somma <strong>di</strong> tutte le cifre<br />

del co<strong>di</strong>ce ZIP 95014 è uguale a 19, quin<strong>di</strong> la cifra <strong>di</strong> controllo è uno, perché porta il totale a 20.<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!