Decima prova di valutazione:
Definizione di classi

Questa prova di valutazione consiste nella definizione e nell'uso di classi per istanziare oggetti.

Nella parte finale del modulo è possibile scrivere eventuali problemi che sono stati riscontrati nello svolgimento di questa prova.


Esercizio 1: Coppia ordinata.

Si vuole definire una classe Coppia per istanziare oggetti, con le seguenti caratteristiche:

Ad esempio:

    Coppia a, b, c;
    a = new Coppia(1,2);                // a è la coppia (1,2)
    b = new Coppia(3,4);                // b è la coppia (3,4)
    System.out.println(a.primo());      // visualizza 1.0
    System.out.println(b.secondo());    // visualizza 4.0
    System.out.println(b.toString());   // visualizza (3.0,4.0)
    c = b.inverti();                    // c è la coppia (4,3)
    System.out.println(c.toString());   // visualizza (4.0,3.0)
    System.out.println(b.toString());   // visualizza ancora (3.0,4.0)

Completare la definizione della classe con la definizione di un metodo di test per verificare la correttezza della soluzione proposta.


Esercizio 2: Equazioni di secondo grado.

Definire una classe EquazioneDiSecondoGrado per istanziare oggetti, con le seguenti caratteristiche:

Ad esempio:

    EquazioneDiSecondoGrado e;
    Coppia radici;                              // le radici di e
    e = new EquazioneDiSecondoGrado(1,1,-12)    // e = X2 + X - 12 = 0
    System.out.println(e.toString);             // visualizza 1*X*X + 1*X - 12 = 0
    radici = e.radici();                        // radici = (3,-4)
    System.out.println(radici.primo());         // visualizza 3.0
    System.out.println(radici.secondo());       // visualizza -4.0

Completare la definizione della classe con la definizione di un metodo di test per verificare la correttezza della soluzione proposta.


Esercizio 3: Data.

Osservazione: Ad eccezione della definizione del metodo giornoSuccessivo(), questo esercizio è "abbastanza semplice". Invece, il metodo giornoSuccessivo() è "abbastanza difficile".

Si vuole definire una classe Data per istanziare oggetti, con le seguenti caratteristiche:

Ad esempio:

Data d1, d2;

d1 = new Data(10,1,2011);
System.out.println(d1.giorno());    // 10
System.out.println(d1.mese());      // 1
System.out.println(d1.anno());      // 2011
System.out.println(d1.toString());  // 10/01/2011

d2 = new Data(d1);
System.out.println(d2.toString());  // 10/01/2011
System.out.println(d1.equals(d2));  // true

Ed inoltre:

Data oggi, domani;

oggi = new Data(10,1,2011);
System.out.println(oggi.toString());    // 10/01/2011
domani = oggi.giornoSuccessivo();
System.out.println(domani.toString());  // 11/01/2011

oggi = new Data(31,1,2011);
System.out.println(oggi.toString());    // 31/01/2011
domani = oggi.giornoSuccessivo();
System.out.println(domani.toString());  // 01/02/2011

oggi = new Data(31,12,2011);
System.out.println(oggi.toString());    // 31/12/2011
domani = oggi.giornoSuccessivo();
System.out.println(domani.toString());  // 01/01/2012

oggi = new Data(28,2,2011);
System.out.println(oggi.toString());    // 28/02/2011
domani = oggi.giornoSuccessivo();
System.out.println(domani.toString());  // 01/03/2011

oggi = new Data(28,2,2012);
System.out.println(oggi.toString());    // 28/02/2012
domani = oggi.giornoSuccessivo();
System.out.println(domani.toString());  // 29/02/2012

Completare la definizione della classe con la definizione di un metodo di test per verificare la correttezza della soluzione proposta.


Esercizio 4: Orario.

Si vuole definire una classe Orario per istanziare oggetti, con le seguenti caratteristiche:

Ad esempio:

    Orario a, b;
    a = new Orario(11,30);                 // sono le 11:30
    System.out.println(a.toString());      // visualizza 11:30
    System.out.println(a.ore());           // visualizza 11
    System.out.println(a.minuti());        // visualizza 30
    a.avanza(5);                           // sono le 11:35
    System.out.println(a.toString());      // visualizza 11:35
    a.avanza(30);                          // sono le 12:05
    System.out.println(a.toString());      // visualizza 12:05 - non 12:5!
    b = new Orario(23,30);                 // sono le 23:30
    b.avanza(35);                          // sono le 00:05
    System.out.println(b.toString());      // visualizza 00:05 - non 0:5!

Completare la definizione della classe con la definizione di un metodo di test per verificare la correttezza della soluzione proposta.


Difficoltà e problemi

Riporta nella seguente casella di testo eventuali difficoltà e problemi riscontrati nello svolgimento di questa prova di valutazione.


Invio della soluzione proposta

Scrivi chi sei nei seguenti campi

Cognome
Nome

Premi Invia messaggio per inviare il messaggio, oppure Cancella per cancellare il contenuto del modulo.

Qualche secondo dopo aver premuto Invia messaggio, ti apparirà una pagina che riporta il testo del messaggio inviato.