Franco ScarseliFondamenti di Informatica 2006-07
Il co nto co rre nte : de fin izio ne e im ple m en taz io ne
Si vuole implementare una classe che simuli un conto corrente
la classe dovràcontenere il bilancio del conto corrente e il nomedell’intestatario
Le operazioni possibili dovranno essere quella del prelievo e quella dedeposito e una operazione per conoscere il bilancioSi richiede di
Disegnare prima graficamente la classe, come visto a lezione
Definire le variabili i metodi
Definire un costruttore che prende in ingresso il nome dell’intestatario
Implementare i metodi
Franco ScarseliFondamenti di Informatica 2006-07
Il co nto co rre nte : u so
…… Usando la classe definita scrivere il codice per
creare due conti correnti, uno di Paperone e uno di Paperino
depositare 100 sul conto di Paperone e 10 su quello di Paperino
spostare 5 dal conto di Paperino a quello di Paperone
stampare il bilancio dei due conti correnti
Franco ScarseliFondamenti di Informatica 2006-07
Il co nto co rre nte : de fin izio ne de i d ati
class Contocorrente{
Stringintestatario;floatbilancio;
}
…… Classe Contocorrente
bilancio intestatario
Franco ScarseliFondamenti di Informatica 2006-07
Il co nto co rre nte : de fin izio ne de i m eto di
class Contocorrente{
Stringintestatario;floatbilancio;
voidprelievo(floatcifra);
voiddeposito(floatcifra);floatgetiBilancio();
}
…… Classe Contocorrente
bilancio
prelievo
deposito
getBilancio intestatario
Franco ScarseliFondamenti di Informatica 2006-07
Il co nto co rre nte : de fin izio ne de l c ost ru tto re
class Contocorrente{
Stringintestatario;floatbilancio;
Contocorrente(Stringi);
voidprelievo(floatcifra);
voiddeposito(floatcifra);floatgetBilancio();
}
…… Si definisca anche un costruttore che prende in ingresso il nome dell’intestatario
Franco ScarseliFondamenti di Informatica 2006-07
Il co nto co rre nte : im ple m en taz io ne de i m eto di
class Contocorrente{
Stringintestatario;floatbilancio;
Contocorrente(Stringi){intestataro=i;
bilancio=0;
}voidprelievo(floatcifra){
bilancio=bilancio-cifra;
} voiddeposito(floatcifra){bilancio=bilancio+cifra;}
floatgetBilancio(){return bilancio;
}
}
Franco ScarseliFondamenti di Informatica 2006-07
Il co nto co rre nte : u so
Contocorrentea;Contocorrenteb;
a = new Contocorrente(“Paperone”)b = new Contocorrente(“Paperino”);
a.deposito(100);b.depositio(10);
b.prelievo(5);a.deposito(5);
System.out.prntln(“Bilancio Paperon+a.getBilancio());System.out.prntln(“Bilancio Paperino+b.getBilancio());…… Scrivere il codice per
creare due conti correnti, unodi Paperone e uno di Paperino
depositare 100 sul conto di Paperone e 10 su quello di Paperino
spostare 5 dal conto di Paperino a quello di Paperone
stampare il bilancio dei dueconti correnti
Franco ScarseliFondamenti di Informatica 2006-07
Il gru pp o d i st ud en ti
Si vuole implementare una classe che simuli un insieme di studenti
la classe dovràcontenere un insieme di studenti
Le operazioni possibili dovranno essere quella dell’inserire uno studentedell’ottenere il numero di studenti
Il numero massimo di studenti del gruppo saràindicato nel costruttore amomento della creazioneSi richiede di
Disegnare prima graficamente la classe, come visto a lezione
Definire le variabili i metodi
Implementare i metodi
Franco ScarseliFondamenti di Informatica 2006-07
Il gru pp o: us o
…… Scrivere il codice per
creare un gruppo con al più10 studenti
aggiungere gli studenti Homer, Bart, Lista
stampare il numero di studenti del gruppo
Franco ScarseliFondamenti di Informatica 2006-07
Il gru pp o: de fin izio ne di va ria bili, m eto di e co str utt ore
…… Si definisca variabili metodi e costruttori supponendo la seguente definizione di Studente
class Studente{
Stringnome;
Studente(Stringn){
nome=n;
}}
Franco ScarseliFondamenti di Informatica 2006-07
Il gru pp o: de fin izio ne di va ria bili, m eto di e co str utt ore
class Gruppo {
Studente insiemeStuden
intnumeroStudenti;
Gruppo(intmaxStudi);
voidinserisci(Studente s
intgetNumero();
} Classe Gruppo
inserisci
getNumero insiemeStudenti
Franco ScarseliFondamenti di Informatica 2006-07
Il gru pp o: im ple m en taz ion e
class Gruppo {
Studente insiemeStudenti[];intnumeroStudenti;
Gruppo(intmaxStud){insiemeStudenti=
new Studente[maxStud];
numeroStudenti=0;
} voidinserisci(Studente s){insiemeStudenti[numeroStude
numeroStudenti=numeroStud}
intgetNumero(){return numeroStudenti;
}
}
Franco ScarseliFondamenti di Informatica 2006-07
Il gru pp o: us o
Gruppo a;a = new Gruppo(a)
a.inserisci(new Studente(“Homer”));a.inserisci(new Studente(“Bart”));a.inserisci(new Studente(“Lista”));
System.out.prntln(“Numero studenti del grup+a.getNumero());
…… Scrivere il codice per
creare un gruppo con al più10 studenti
aggiungere gli studenti Homer, Bart, Lista
stampare il numero di studentidel gruppo
Franco ScarseliFondamenti di Informatica 2006-07
Le po ten ze
Implementareun metodochecalcolala potenzadi un numeroe disegnarneildiagrammadi flusso
Il metodo, la cui definizioneèdata quìsotto, deverestituireilvaloredi “numero”elevatoa “esponente”
Non usarela classeJava Math chepermette, tral’altrolancheilcalcolodellepotenze: sicalcoliilrisultatousandoi cicli.
intpower(intnumero, intesponente)
Franco ScarseliFondamenti di Informatica 2006-07
Le po ten ze
intpower(intnumero, intesponente){intrisultato=1;for(inti=1;i<=esponente;i++){risultato=risultato*numero;}returnrisultato;} risultato=risultato*numero i<=esponente inti = 1
true false
i++ intrisultato=1
return risult
Franco ScarseliFondamenti di Informatica 2006-07
Il fat tor ia le
intfattoriale(intnumero) Implementareun metodochecalcolala potenzadi un numeroe disegnarneildiagrammadi flusso
Il metodo, la cui definizioneèdata quìsotto, deverestituireilvaloredi del fattorialedi “numero”
Non usarela classeJava Math chepermette, tral’altrolancheilcalcolodel fattoriale
Franco ScarseliFondamenti di Informatica 2006-07
Il fat tor ia le
intfattoriale(intnumero){intrisultato=1;for(inti=numero;i>=2;i--){risultato=risultato*i;}returnrisultato;} risultato=risultato*i i>=2 inti = numero
true false
i-- intrisultato=1
return risultato
Franco ScarseliFondamenti di Informatica 2006-07
Ca lco la re la m ed ia di un in sie m e
Implementareun metodochecalcolala media deglielementidi un array
floatmedia(intinsieme[])
Franco ScarseliFondamenti di Informatica 2006-07
Ca lco la re la m ed ia di un in sie m e d i in ter i
i<insieme.length false
i++ intsomma=0;
somma=somma+insieme[i]
return ((float) floatmax(intinsieme[]){
intsomma=0;for(inti=0;i<insieme.length;i++){somma=somma+insieme[i];}return((float)somma )/insieme.length;}