LABORATORIO DI INFORMATICA VI Elementi di Informatica di base Dott.ssa Elisa Tiezzi Un numero complesso è individuato da una coppia di numeri reali (a; b). Due numeri complessi (a; b) e (c; d) sono uguali se e solo se a = c e b = d. La somma di due numeri complessi (a; b) e (c; d) è definita come: (a; b) + (c; d) = (a + c; b + d). Il prodotto di due numeri complessi è definito come: (a; b) * (c; d) =(a*c-b*d; a*d+b*c). Pertanto, l’elemento neutro per l’addizione è il numero complesso (0; 0) mentre l’elemento neutro per il prodotto è il numero complesso (1; 0). Da ciò segue che qualsiasi numero complesso (a; b) ammette un opposto (ovvero, un numero complesso che sommato ad (a; b) dia come risultato (0; 0)) e che qualsiasi numero complesso (a; b) diverso da (0; 0) ammette un reciproco (ovvero, un numero complesso che moltiplicato per (a; b) dia come risultato (1; 0)). Pertanto, è possibile definire le operazioni di sottrazione e divisione tra numeri complessi. Specifica della classe Lo studente deve definire una classe Complex che rappresenti l’insieme dei numeri complessi. Questa classe deve contenere, oltre ad un solo costruttore con due parametri di tipo double, i seguenti metodi: (1) add: dato un numero complesso, questo metodo ritorna il numero complesso pari alla somma dei due numeri complessi. (2) sub: dato un numero complesso, questo metodo ritorna il numero complesso pari alla differenza dei due numeri complessi. (3) mul: dato un numero complesso, questo metodo ritorna il numero complesso pari al prodotto dei due numeri complessi. (4) div: dato un numero complesso, questo metodo ritorna il numero complesso pari alla divisione dei due numeri complessi se il parametro non è il numero complesso (0; 0), altrimenti ritorna il numero complesso (0; 0). (5) getOpposite: questo metodo ritorna il numero complesso opposto. (6) getInverse: questo metodo ritorna il numero complesso reciproco se il numero complesso non è (0; 0), altrimenti ritorna il numero complesso (0; 0). (7) getModule: questo metodo ritorna un double pari al modulo del numero complesso. Creare un file Java E’ sufficiente dal menù File selezionare la voce New e poi Java File, specificare il nome del file Java e, infine, premere il pulsante OK (nel seguito assumeremo che il file si chiami Complex). La finestra principale sarà completamente bianca e avrà la linguetta Complex.java selezionata. Siamo ora pronti per scrivere la definizione della classe dei numeri complessi. Per testare la correttezza di questa classe possiamo creare una nuova classe Java contenente un metodo main che verifichi i vari metodi della classe Complex. Compilare un file Java Per compilare un file Java mostrato nella finestra di visualizzazione dei file, è sufficiente cliccare con il tasto destro sull’icona del file e selezionare la voce Compile (che è seguita dal nome del file). Eventuali errori di compilazione appariranno nella finestra di output: se, al contrario,la compilazione ha successo, in questa finestra apparirà solo il messaggio Process completed (la finestra di output può essere sempre resa visibile premendo il pulsante Output). Testare una classe Java Per testare la correttezza di una classe (senza modificarla) possiamo creare una nuova classe Java contenente un metodo main che verifichi i vari metodi della classe in esame. Eseguire una classe Java Per eseguire una classe Java (contenente un metodo main) è sufficiente fare doppio clic sull’icona del file corrispondente e quindi premere il pulsante Execute File.