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.
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