• Non ci sono risultati.

L’archivio degli studenti

N/A
N/A
Protected

Academic year: 2021

Condividi "L’archivio degli studenti"

Copied!
16
0
0

Testo completo

(1)

Franco ScarseliFondamenti di Informatica 2006-071

L’a rch iv io de gli stu de nti

Si vuole implementare una classe che realizzi un archivio di studenti

L’archivio dovràpermettere di

creare un archivio con un numero di massimo distudenti

inserire un nuovo studente

eliminare uno studente indicando il numero di matricola

dire quanti studenti ci sono nell’archivio

cercare uno studente per numero di matricola

cercare tutti gli studenti con un certo nome

Si supponga che sia giàstata definita la classe studente Si scriva la definizione delle classe archivio definendo variabili, costruttore e metodi, senza implementare costruttore e i metodi Classe Archivio

dataContainer

rimuovi

numeroStudenti inserisci

cercaPerMatricola

cercaPerNome

Franco ScarseliFondamenti di Informatica 2006-072

Lo stu de nte (… già de fin ito ) …

class Studente{Stringnome, cognome, matricola;

Studente(Stringn, Stringc, Stringm){nome=n;cognome=c;matricola=m;}}

(2)

Franco ScarseliFondamenti di Informatica 2006-073

So lu zio ne …

class Archivio{Studente dataContainer[];Archivio(intmassimaLunghezza)voidinserisci(Studente s)voidrimuovi(Stringm)intnumeroStudenti()Studente cercaPerMatricola(Stringmatricola)Studente [] cercaPerNome(Stringnome, Stringcognome)

}

Franco ScarseliFondamenti di Informatica 2006-074

L’a rch iv io de gli stu de nti II



Si s criv a il cod ice Jav a ch e u san do l a cla sse arc hivio ap pen a d efin ita



cre i un arc hivio co n u n m ass im o d i 10 00 s tud enti



inse risc a g li st ude nti



Pao lino Pa peri no, ma tric ola 10



Pap ero nD ei P ape ron i, m atric ola 1



sta mp i il n um ero di s tud enti ne ll’ar chiv io

(3)

Franco ScarseliFondamenti di Informatica 2006-075

So lu zio ne …

Archivio a=newArchivio(100);Studente paperino=newStudente(“Paolino”,”Paperino”,”100”);Studente paperone=newStudente(“Paperon”,”Dei Paperoni”,”1”);a.inserisci(paperino);a.inserisci(paperone);System.out.println(a.numeroStudenti());

Franco ScarseliFondamenti di Informatica 2006-076

La sq ua dra di ca lcio

Si vuole implementare una classe che realizzi una squadra di calcio

L’archivio dovràpermettere di

memorizzare i giocatori con il loro ruolo

memorizzare il nome della squadra

inserire e eliminare un giocatore

modificare il nome della squadra

cercare il ruolo svolto da un giocatore

cercare tutti i giocatori di un ruolo

Si supponga che sia giàstata definita la classe giocatore Si scriva la definizione delle classe definendo variabili, costruttore e metodi, senza implementare costruttore e i metodi Classe Squadra

giocatori

rimuoviGiocatore

modificaNome inserisciGiocatore nome

ruoloDelGiocatore

giocatoriNelRuolo

(4)

Franco ScarseliFondamenti di Informatica 2006-077

Il gio ca tor e ( … già de fin ito ) …

class Giocatore{Stringnome, cognome, ruolo;

Giocatore(Stringn, Stringc, Stringr){nome=n;cognome=c;ruolo=r;}}

Franco ScarseliFondamenti di Informatica 2006-078

So lu zio ne …

class Squadra{Giocatore giocatori[];Stringnome;Squadra()voidrimuoviGiocatore(Stringnome, Stringcognome)voidinserisciGiocatore(Giocatore g)voidmodificaNome(Stringn)StringruoloDelGiocatore(Stringnome, Stringcognome)Giocatore [] giocatoriNelRuolo(Stringruolo)

}

(5)

Franco ScarseliFondamenti di Informatica 2006-079

La sq ua dra di ca lcio II



Si s criv a il cod ice Jav a ch e u san do l a cla sse Sq uad ra a ppe na d efin ita



cre i un a sq uad ra



dia il n om e “T utti i te mp i”a lla s qua dra



inse risc a i g ioca tori



Pao lo C ann ava ro, ruo lo d ifen sore



Pao lo R oss i, ru olo att acc ante



sta mp i il r uolo de l gio cato re C ann ava ro (… ovv iam ente ce rca ndo lo nell’ arch ivio )

Franco ScarseliFondamenti di Informatica 2006-0710

So lu zio ne …

Squadra a=newSquadra();Giocatore rossi=newGiocatore(“Paolo”,”Rossi”,”attaccante”);Giocatore cannavaro=newGiocatore(“Paolo”,”Cannavaro”,”difensore”);a.inserisci(rossi);b.inserisci(cannavaro);System.out.println(a.ruoloDelGiocatore( “Paolo”, “Cannavaro”));

(6)

Franco ScarseliFondamenti di Informatica 2006-0711

Il m ass im o f ra i v alo ri n eg ativ i



Im ple me nta re u n m eto do c he p ren de i n in gre sso un ve ttor e d i in teri e ca lcola il m ass im o co nsid era ndo so lo i valo ri n ega tivi



se il ve ttor e n on c onti ene nu me ri n ega tivi si re stitu isca il v alo re Inte ger. min valu e



dise gna re a nch e il dia gra mm a d i flu sso

intmaxNeg(inta[])

Franco ScarseliFondamenti di Informatica 2006-0712

So lu zio ne …

intmaxNeg(inta[]){intmax=Integer.minvalue;for(inti=0;i<a.length;i++){if(a[i]<0 && max< a[i]) {max=a[i];}}return max;} max=a[i] a[i]<0 && max< a[i] inti = 0

true false

i++ intmax==Integer.minvalue

return max i<a.length

true

false

(7)

Franco ScarseliFondamenti di Informatica 2006-0713

Le ta be llin e



Im ple me nta re c he c rea un a m atric e ch e co ntie ne l e ta belli ne



Il m eto do p ren de i n in gre sso un inte ro c he è il m ass im o v alo re d i cu i calc ola re la tab ellin a



Il m eto do r esit uisc ela m atric e



dise gna re a nch e il dia gra mm a d i flu sso

int[][] tabellina(intmax)

25 20 15 10 5 20 16 12 8 4 15 12 9 6 3 10 8 6 4 2 5 4 3 2 1

Franco ScarseliFondamenti di Informatica 2006-0714

So lu zio ne …

int[][] tabellina(intmax){intres[][]=new int[max][max];

for(inti=0;i<max;i++){for(intj=0;j<max;j++){res[i][j]=i*j;}}return res;} res[i][j]=i*j j<max inti = 0

true falsei++ intres=newint[max][max]

return res i<maxtrue

false intj = 0

j++

(8)

Franco ScarseliFondamenti di Informatica 2006-0715

So m m a d i d ue ve tto ri



Im ple me nta re u n m eto do c he p ren de i n in gre sso du e v etto ri d i in teri e n e ca lcola la s om ma



dise gna re a nch e il dia gra mm a d i flu sso



Si a ssu ma ch e la lun ghe zza de i ve ttor i in ing ress o sia a s tess a ( non occ orre tes tare qu esta pro prie tà)

int[] somma(inta[], intb[])

2 0 1 3 2 0 1 4 1 1

2 1 5 4 3

+=

Franco ScarseliFondamenti di Informatica 2006-0716

So lu zio ne …

intsomma(inta[], intb[]){intres[]=new int[a.length];for(inti=0;i<a.length;i++){res[i]=a[i]+b[i];}return res;} res[i]=a[i]+b[i] inti = 0

false

i++ res[]=new int[a.length];return max i<a.length

true

(9)

Franco ScarseliFondamenti di Informatica 2006-0717

Alg eb ra bo ole an a



Dat e le va riab ili d i fia nco , sc rive re l’ esp ress ion e Jav a ch e 1. èfa lsa se e so lo s e “ a èn ell’in terv allo ap erto (2,1 0) o ppu re a è min ore di b ” 2. èv era se e so lo s e “ c non è nes sun o d ei cara tter i P,C ,D o ppu re d èil cara tter e C ” 3. èfa lsa se e so lo s e “ a èu n n um ero dis pari com pre so f ra 1 e 5 , es trem i co mp resi, e c non è il ca ratt ere C” 4. èv era se e so lo s e “ c èu no d ei c ara tter i P,D opp ure a non è la m età di b ”

inta, b;charc,d;

Franco ScarseliFondamenti di Informatica 2006-0718

So lu zio ne … 1. èfa lsa se e so lo s e “ a èn ell’in terv allo ap erto (2, 100 ) op pur e a èm ino re d i b ” 2. èv era se e so lo s e “ c non è nes sun o d ei c ara tter i P,C ,D o ppu re d èil cara tter e C ”

3. èfa lsa se e so lo s e “ a èu n n um ero dis pari co mp reso fra 1 e 10 0, e stre mi com pre si, e c non è il ca ratt ere C”

4. èv era se e so lo s e “ c èu no d ei c ara tter i P,D op pur e a non è la m età di b ”

!( (a>2 && a<100) || (a<b) )(c!=‘P’&& c!=‘C’&& c!=‘D’) || (d==‘C’)

!(a>=1 && a<=100 && a%2==1 && c!=‘C’)

(c==‘P’|| c==‘D’) ||(a*2!=b)

(10)

Franco ScarseliFondamenti di Informatica 2006-0719

Alg eb ra bo ole an a II



Dat e le seg uen tie spre ssio nid i alg ebra bo ole ana



scriv ere la c orris pon den te tab ella di v erità



riott ene re un’e spre ssio ne boo lean ad alla tab ella di v erità usa ndo ilm eto do vist oa lez ion e

b b a F ) (

3

+ = b b a F + =

2

) (

1

b a a b F + + =

Franco ScarseliFondamenti di Informatica 2006-0720

So lu zio ne …

111 010 001 000 F1 ba

) (

1

b a a b F + + =

a b F =

1 ok, perchè…

a b a b a b b a a b = + = + + ) (

regoledi De Morgan

y x xy + =

y x y x = +

(11)

Franco ScarseliFondamenti di Informatica 2006-0721

So lu zio ne …

111 110 001 100 F1ba

a b b a b a F + + =

2 ok, perchè…

b b a F + =

2

a b ba b a b a a b b a b b a b b a F + + = + + + = + + = + =

) ( ) (

2

Franco ScarseliFondamenti di Informatica 2006-0722

So lu zio ne …

011 010 101 000 F1 ba

b a F =

2 ok, perchè…

b b a F ) (

3

+ =

b a bb a b b a F = = + = ) (

3

(12)

Franco ScarseliFondamenti di Informatica 2006-0723

Co nv ers io ni

Dati i seguenti numeri in base 10 convertirli in binario e in esadecimale. Si usi una rappresentazione in virgola fissa dedicando 8 bit alla parte interae 4 alla parte frazionaria.

240,375

96,3125

193,5625

184,375

Franco ScarseliFondamenti di Informatica 2006-0724

So lu zio ni …

(240,375 )10= (1111 0000 , 0110 )2 = (F 0 , 6 )16

240 : 2 = 120+ 0120 : 2 = 60 + 060 : 2 = 30 + 030 : 2 = 15 + 015: 2 = 7 + 17: 2 = 3 + 13: 2= 1 + 11 : 2 = 0 + 1 0,375 ×2 = 0,750,75 ×2 = 1,50,5 ×2 = 1

(13)

Franco ScarseliFondamenti di Informatica 2006-0725

So lu zio ni …

(96, 3125 )10 = (0110 0000, 0101 )2 = (6 0 , 5 )16

(193,5625)10= (1100 0001, 1001)2 = (C1 , 9 )16(184,375)10= (1011 1000, 0110)2 = (B8, 6 )16

Franco ScarseliFondamenti di Informatica 2006-0726

Co nv ers io ni



Dat i i s egu enti nu me ri in bin ario co nve rtirli in b ase 10



101 1 0 011



001 0 1 001



100 1 0 111



110 1 1 011

(14)

Franco ScarseliFondamenti di Informatica 2006-0727

So lu zio ni …

(1011 0011)2 = (179 )2

1 x 2 = 2 + 02 x 2 = 4 + 15 x 2 = 10 + 111 x 2 = 22 + 022 x 2 = 44 + 0 44 x 2 = 88 + 1 89 x 2 = 178+ 1= 179

Franco ScarseliFondamenti di Informatica 2006-0728

So lu zio ni ..

(0010 1001)2= (41 )2

(1001 0111)2= (151 )2

(1101 1011)2= (219)2

(15)

Franco ScarseliFondamenti di Informatica 2006-0729

Ra pp res en taz ion e in co m ple m en to a 2

Dati i seguenti numeri in base 10 rappresentarli in complemento a 2 e in modulee segno

i numeri 98, -98 usando 8 bit

i numeri 120, -120, usando 8 bit

i numeri 23, -23 usando 6 bit

i numeri 5, -5 usando 4 bit

Franco ScarseliFondamenti di Informatica 2006-0730

So lu zio ne …

(98)10 =(

110 00 10

)2

In m odu lo e seg no ( 8 b it) 9 8 è 011 0 0 010 , -9 8 è 111 0 0 010 In c om ple me nto a 2 , 98 è 011 0 0 010 , -9 8 è 100 1 1 110

011000101001110110011110 complemento tutte le cifre+ 1

Per calc ola re il co mp lem ento a 2 di u n n um ero



si s corr e il num ero da de stra fin o a qu and o n on s i tro va u n u no: i num eri s ucc ess ivi s i co mp lem enta no



opp ure si c om ple me nta tutt o il num ero e s i so mm a 1

01100010

10011110 complemento le cifre dopoil primo uno

(16)

Franco ScarseliFondamenti di Informatica 2006-0731

So lu zio ne …



In m odu lo e seg no ( 8 b it) 120 è 011 1 1 000 , -1 20 è 111 1 1 000 In c om ple me nto a 2 , 12 0 è 011 1 1 000 , -1 20 è 100 0 1 000



In m odu lo e seg no ( 6 b it) 2 3 è 01 0 111 , -2 3 è 11 0 111 In c om ple me nto a 2 , 23 è 01 0 111 , -2 3 è 10 1 001



In m odu lo e seg no ( 4 b it) 5 è 010 1, - 5 è 110 1 In c om ple me nto a 2 , 10 è 010 1, - 5 è 101 1

Riferimenti

Documenti correlati

Le cartelle delle Bonus Game contengono diversi importi di gettoni, sebbene più giocatori effettuino le puntate nel gioco principale, le vincite più alte sono quelle della

L’esposizione del linguaggio avverr`a in fasi successive: dapprima verr` a descritto il formalismo degli string diagrams, soffermandosi in particolare sulla teoria processuale

Ogni volta che si pesca una carta e non fa coppia con una di quelle che si ha nel proprio mazzo, oppure se si pesca una carta pallone o campo da minibasket, ma la stessa è già

Stringhe: Tipo string &gt;&gt; Lettura e Stampa delle

A turno gli studenti mostrano i loro pezzi di treno nella mano non nascosta agli altri studenti del gruppo, che devono dire di quanti cubetti sono formati i due pezzi in cui il

Il primo argomento tra parentesi indica la posizione da cui deve iniziare l'estrazione dei caratteri; il secondo argomento è il numero di caratteri da sostituire nella stringa

Il metodo length length () () può essere invocato su un oggetto String String per sapere la lunghezza della sequenza di caratteri che l’oggetto rappresenta. String str = new

„ Il metodo String substring(int inizio, int fine) della classe String crea e restituisce un nuovo oggetto String composto dai caratteri della stringa su cui il metodo è