Im ple m en taz io ne di m eto di
Ric erc a in un a m atr ice
Implementareun metodochepresoin ingressounamatricedi contii numerinegativiconenutinellamatrice
disegnareilrispettivodiagrammadi flusso
intcount(intM[][])
Ric erc a in un a m atr ice : so luz io ne
intcount(intM[][]){intnum=0;for(inti=0;i<M.length;i++){for(intj=0;j<M[0].length;j++){if(M[i][j]<0){num++;}}}return num;} i<M.length inti =0
false
j++ intnum=0;
num++ j<M[0].length
M[i][j]<0 i++intj =0 false
false true
truetrue
true
return num
Sta m pa de iv alo ric om pre si fra 2 e 8 di un ve tto re
Implementareun metodochepresoin ingressoun vettore, stampai valoricompresifra2 e 8
disegnareilrispettivodiagrammadi flusso
voidstampaFra2e8(intA[])
Sta m pa de iv alo ric om pre si fra 2 e 8 di un ve tto re: so luz io ne
voidstampaFra2e8(intA[]){for(inti=0;i<A.length;i++){if(A[i]>=2 && A[i]<=8){System.out.println(A[i]);}}} i<A.length inti = 0true
false
i++ stampaA[i] A[i]>=2 && A[i]<=8
true false
Sta m pa de iv alo ric om pre si fra 2 e 8 di un a lis ta
Implementareun metodochepresoin ingressounalistadi interi, stampai valoricompresifra2 e 8
disegnareilrispettivodiagrammadi flusso
voidstampaFra2e8(List A[]) List {Itemhead;}Item{Itemnext;intvalue;} Classidisponibili
Sta m pa de iv alo ric om pre si fra 2 e 8 di un ve tto re: so luz io ne
voidstampaFra2e8(List A){for(Item it=A.head;it!=null;it=it.next){if(it.value>=2 && it.value<=8){System.out.println(it.value);}}} it!=null it=A.head
true false
i++ stampait.value it.value>=2 && it.value<=8
true false
Ric erc a de iv alo ric om pre si fra 2 e 8 di un ve tto re
Implementareun metodochepresoin ingressoun vettore, restituiscaveroo falsoa secondachecontengao menoun valorecompresofra2 e 8
disegnareilrispettivodiagrammadi flusso
booleancontieneFra2e8(intA[])
Ric erc a di v alo ric om pre si fra 2 e 8 di un ve tto re: so lu zio ne
booleancontieneFra2e8(intA[]){booleanfound=false;for(inti=0;i<A.length;i++){if(A[i]>=2 && A[i]<=8){found=true;break;}}return found;} i<A.length booleanfound=false
true false
i++ A[i]>=2 && A[i]<=8
true false i=0
return found
Me dia di un ve tto re
Implementareun metodochepresain ingressoun vettore, calcolila media deglielementimaggioridi 7
disegnareilrispettivodiagrammadi flusso
floatmedia(intA[])
Me dia di un a lis ta
Implementareun metodochepresoin ingressounalistadi interine calcolila media
disegnareilrispettivodiagrammadi flusso
floatmedia(List A) List {Itemhead;}Item{Itemnext;intvalue;} Classidisponibili
Ric erc a di e lem en tic om un iin du e a rra y
Implementareun metodochepresiin ingressodue vettori, restituiscaun vettorechecontienel’intersezionedeidue vettori, cioèi valoricontenutiin entrambii vettori
disegnareilrispettivodiagrammadi flusso
int[] intersection(intA[], intB[])
Ric erc a di e lem en tic om un iin du e a rra y
Implementareun metodochepresiin ingressodue vettori, restituiscaveroo falsoa secondose i due vettoricontengonoun valorein comune
disegnareilrispettivodiagrammadi flusso
booleanisIntersectionEmp(intA[], intB[])
De fin izio ne cla ssi
Cla sse lib ro
Definireunaclassecherappresentiun libro. Si richiedecheSi memorizzinoiltitolo, ilnumerodi catalogoe le paginedel libro(definite dallaclassea paginasuccessiva)
Si possacreareun oggettolibroindicandoneiltitoloe ilnumerodi catalogo
Si possainserireunanuovapagina
Si possarimuovereunapaginaindicandoneilnumero
Si possaricercaretuttele paginechecontengonounadata parola
Si possaricercareunapaginaindicandoneilnumero
Si possacalcolareilnumerodellepagineDefiniremetodi, costruttorie variabilidellaclassesenzaimplementarli
Cla sse pa gin a
class Pagina {
Stringtesto;intnumero;
Pagina(Stringtesto, intnumero);
}
Cla sse lib ro: so luz ion e
class Libro{Stringtitolo;StringnumeroCatalogo;Libro(Stringtitolo,StringnumeroCatalogo);Pagina pagine[];voidinserisci(Pagina p);voidrimuovi(Pagina p);Pagina [] ricerca(Stringparola);Pagina ricerca (intnumero);intnumeroPagine();}
Us o de lla cla sse lib ro
Dopoaver scrittola definizionedellaclasselibro, come descrittonelprecedenteesercizio, siscrivailcodicechecreaun oggettolibrodaltitolo“Informatica1”aventecome numerodi catalogo10
inseriscela pagina1 contententeiltesto“blabla”
inseriscela pagina2 contententeiltesto“ri-blabla”
stampiilnumerodellepagine
Us o de lla cla sse lib ro: so luz io ne
Libro l=new Libro(“Informatica 1”,”10”);Pagina p1=new Pagina(“blabla”,1);Pagina p2=new Pagina(“ri-blabla”,2);l.inserisci(p1);l.inserisci(p2);System.out.println(l. numeroPagine());
Cla sse na zio ne
Definireunaclassecherappresentiunanazione. Si richiedecheSi memorizzinoilnome, ilnumerodi abitantie le città(definite dallaclassea paginasuccessiva)
Si possacreareun oggettonazioneindicandoneilnomee ilnumerodi abitanti
Si possainserireunanuovacittà
Si possarimuovereunacittàindicandoneilnome
Si possaricercaretuttele cittàdi unaprovincia
Si possaricercareunacittàindicandoneilnome
Si possacalcolareilnumerodellecittàDefiniremetodi, costruttorie variabilidellaclassesenzaimplementarli
Cla sse Cit ta
class Citta{
Stringnome;
Stringprovincia;
Pagina(Stringnome, Stringprovincia);
}
Us o de lla cla sse na zio ne
Dopoaver scrittola definizionedellaclassenazione, come descrittonelprecedenteesercizio, siscrivailcodicechecreaun oggettonazionedalnome“italia”avente59.000.000 abitanti
inseriscela città“Fucecchio”provinciadi Firenze
inseriscela città”San Gimignano”provinciadi Siena
stampiilnumerodellecittà