Paolo Boldi
Problemi per la lezione del 22/11
- [Media armonica di frazioni] Scrivere un programma che usi la classe
Frazione
(nel pacchetto prog.utili
) e operi come segue:
- legge una sequenza di frazioni (numeratore e denominatore), terminata quando il numeratore inserito è 0;
- stampa la loro media armonica; la media armonica è il reciproco della media aritmetica dei reciproci.
- [Rettangoli, quadrati e aree] Scrivete un programma che chieda all'utente di inserire una sequenza di aree di figure geometriche
(le aree sono al massimo 100, tutte costituite da numeri interi, e terminate da 0). Dopo aver chiesto ciascuna area, il programma
chiede all'utente di inserire la misura del lato (che deve essere un divisore dell'area). A seconda dei casi, il programma creerà
un rettangolo o un quadrato.
Alla fine, verranno stampate le misure dei rettangoli e quadrati inseriti, nell'ordine in cui sono stati inseriti.
Ad esempio (le parti in grassetto sono inserite dall'utente):
Area: 15
Lato: 3
Area: 16
Lato: 4
Area: 17
Lato: 1
Area: 0
base = 3.0; altezza = 5.0
lato = 4.0
base = 1.0; altezza = 17.0
Suggerimento: per questo esercizio dovete sfruttare un array polimorfo (cioè un array il cui tipo di base sia tale da poter
ospitare sia rettangoli che quadrati).
- [Rettangoli, quadrati e aree / II parte] Modificate il programma in modo che l'output sia il seguente:
Rettangolo -- base = 3.0; altezza = 5.0
Quadrato -- lato = 4.0
Rettangolo -- base = 1.0; altezza = 17.0
Suggerimento: per questo esercizio dovete sfruttare il polimorfismo e il predicato instanceof.
- [Figura di area massima] Scrivete un'applicazione che permetta all'utente di inserire una sequenza di figure (siano essi
quadrati, rettangoli o cerchi), scegliendo ogni volta quale figura introdurre e inserendo i dati necessari ad identificarla.
Il programma alla fine deve stampare la figura di area massima (o una di esse, se ci sono più figure di area massima).
Ad esempio (le parti in grassetto sono inserite dall'utente):
0) Termina, 1) Rettangolo, 2) Quadrato, 3) Cerchio: 1
Base: 5
Altezza: 3
0) Termina, 1) Rettangolo, 2) Quadrato, 3) Cerchio: 2
Lato: 4
0) Termina, 1) Rettangolo, 2) Quadrato, 3) Cerchio: 1
Base: 4
Altezza: 5
0) Termina, 1) Rettangolo, 2) Quadrato, 3) Cerchio: 3
Raggio: 5
0) Termina, 1) Rettangolo, 2) Quadrato, 3) Cerchio: 0
raggio = 5.0