Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi A - F > Fondamenti di architettura e programmazione > [Laboratorio] Es. x il 28 - 11
Pages (7): [1] 2 3 4 5 » ... Last »   Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
gabry_deejay
.grande:maestro.

User info:
Registered: Oct 2003
Posts: 2284 (0.29 al dì)
Location: Cernusco sul Naviglio!
Corso: Digital Communication!
Anno: Secondo+Primo arretrato!
Time Online: 9 Days, 0:40:50 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

RAGA......... altri tre programmi da fare!!!!!!! e che programmi :

1-Scrivere la classe ConcatenaStringhe che lette due stringhe ne crea una terza contenente la loro concatenazione, il tutto usando solo i metodi charAt e setCharAt() della classe StringBuffer. Costruita la terza stringa stamparla a video.

Suggerimenti: costruire la stringa risultato come una istanza della classe StringBuffer di dimensione la somma delle lunghezze delle due stringhe passate in input. Usare quindi charAt() e setCharAt() per copiare le stringhe nella stringa risultato.

Esempio di esecuzione:
Stringa 1: Corso di Laurea in
Stringa 2: Comunicazione Digitale.
Stringa Concatenata: Corso di Laurea in Comunicazione Digitale.

------------------------------------------------------------------

2-Scrivere la classe Bizarre che letta una stringa in input ne converta in loco (cioè senza creare un'altra stringa e senza stamapre direttamente il risultato) il case (cioè cambi ogni carattere maiuscolo in minuscolo e ogni carattere minuscolo in maiuscolo). Stampare alla fine, cioè dopo la conversione, la stringa convertita.

Suggerimento: usare variabili di tipo StringBuffer.

Esempio di esecuzione:
Stringa da Convertire: TRentaTRE TRENTINI entrarono in TRento tutti e TRENTATRE TROTTERELLANDO.
Stringa Convertita: trENTAtre trentini ENTRARONO IN trENTO TUTTI E trentatre trotterellando.

------------------------------------------------------------------

3-Scrivere la classe StatisticaFrequenze che preso un testo in input stili un rapporto sulle frequenze con cui si presentano le varie parole all'interno del testo. Assumere che il testo contenga al più 2000 parole distinte (Nota questo non vuol dire che il testo contiene al più 2000 parole). La punteggiatura ammessa nel testo e che ovviamente non contribuisce al computo delle parole sono esclusivamente il punto e la virgola. Parole uguali ma con case diverso sono da considerarsi uguali, es. Casa e casa sono la stessa parola.

Suggerimenti:

usare due array uno per le stringhe (chiamato dizionario) e l'altro per le frequenze delle stesse, scansire per parole il testo, verificare la presenza della parola nel dizionario, se presente incrementare la corrispondente frequenza altrimenti aggiungere la parola nel dizionario e porre a uno la corrispondente frequenza.
la scansione del testo (contenuto in una stringa) alla ricerca di parole va fatta carattere per carattere considerando come terminatori delle parole lo spazio, la virgola ed il punto. Chi vuole ampliare le proprie conoscenze può vedere la classe StringTokenizer che è pensata proprio per questo tipo di lavoro.

Esempio di esecuzione:
Introdurre Testo da elaborare: Sopra la panca la capra canta, sotto la Panca la CAPRA crepa.

Frequenze
· sopra: 1
· la: 4
· panca: 2
· capra: 2
· canta: 1
· sotto: 1
· crepa: 1

__________________
"Il semplice colore, non viziato dal significato e non legato ad una forma definita, può parlare all'anima, in un migliaio di modi diversi.....Oscar Wilde " ......GIGI D'AGOSTINO - FORREST GUMP SUITE



21-11-2003 01:14
Click Here to See the Profile for gabry_deejay Click Here to See the Blog of gabry_deejay Click here to Send gabry_deejay a Private Message Find more posts by gabry_deejay Add gabry_deejay to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
gabry_deejay
.grande:maestro.

User info:
Registered: Oct 2003
Posts: 2284 (0.29 al dì)
Location: Cernusco sul Naviglio!
Corso: Digital Communication!
Anno: Secondo+Primo arretrato!
Time Online: 9 Days, 0:40:50 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Opinioni:

1- Il primo Dovrebbe essere una pagliacciata......

2- Il coeff. di complessità incomincia ad aumetare

3- Pesante....ma non impossibile!!!!!!

__________________
"Il semplice colore, non viziato dal significato e non legato ad una forma definita, può parlare all'anima, in un migliaio di modi diversi.....Oscar Wilde " ......GIGI D'AGOSTINO - FORREST GUMP SUITE



21-11-2003 01:16
Click Here to See the Profile for gabry_deejay Click Here to See the Blog of gabry_deejay Click here to Send gabry_deejay a Private Message Find more posts by gabry_deejay Add gabry_deejay to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
citrus
.arcimaestro.

User info:
Registered: Oct 2003
Posts: 382 (0.05 al dì)
Location: como
Corso: com. digitale
Anno: 2
Time Online: 2 Days, 14:39:24 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by gabry_deejay
Opinioni:
...
3- Pesante....ma non impossibile!!!!!!


mannaggia!!!!
sono due giorni che ci sclero!!!!

:wall: :wall: :wall:

questo è davvero una mazzata!!!!
qualcuno è già riuscito a farlo??????

23-11-2003 11:02
Click Here to See the Profile for citrus Click here to Send citrus a Private Message Find more posts by citrus Add citrus to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
ellegi
.powerbook.

User info:
Registered: Sep 2003
Posts: 185 (0.02 al dì)
Location: Milano
Corso: Comunicazione Digitale
Anno: Terzo (1° turno)
Time Online: 1 Day, 21:10:36 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ma a voi la data dell'ultima sottoposizione cambia ?? :? :?

La mia nonostante sottoponga non cambia, rimane il giorno 11 novembre ??? :x :x :x

__________________
"L'ossessione è la fonte perpetua del genio e della follia"

23-11-2003 11:04
Click Here to See the Profile for ellegi Click Here to See the Blog of ellegi Click here to Send ellegi a Private Message Find more posts by ellegi Add ellegi to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
foolish
bleak

User info:
Registered: Oct 2003
Posts: 3585 (0.45 al dì)
Location:
Corso:
Anno:
Time Online: 36 Days, 7:28:56 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by citrus
mannaggia!!!!
sono due giorni che ci sclero!!!!

:wall: :wall: :wall:

questo è davvero una mazzata!!!!
qualcuno è già riuscito a farlo??????



crea due array:
uno string per le parole ed uno int per le frequenze. Inizializza a zero quello delle frequenze.

Ora crea un istanza "stringbuffer" in cui ci inserirai come argomento la frase in input.

Da questo oggetto (che conterra' sia virgole che punti) eliminale con un'oppurtuno ciclo di for e degli if.

-- Analizza tutte le lettere della frase
-- Se: sono delle virgole O dei punti
-- Allora: trasformale in spazi.

Ora facciamo puntare un'istanza "stringtokenizer" a questa nostra nuova stringa,ottenuta con il passaggio precedente, avendo cura di inserire lo " " come oggetto di divisione tra i vari tokens.

Chi non si voleva fare lo sbattimento dell'eliminazione dei punti e delle virgole, inserisca come divisori " .,".

Ora che otterete (tramite lo stringtokenizer) le parole presenti nella frase controllate se sono state inserite nell'elenco.

-- Se: Ci sono ancora tokens
-- Allora: Analizzalo e
-- Se: è presente nell'array dedicato alle parole una parola uguale
-- Allora: incrementa la relativa frequenza
-- Altrimenti: inserisci la parola in elenco ed incrementa la freq.

cmd: .equals() NO ==

Ora fate stampare a video l'array delle parole e quello delle frequenze.

OK??!

:cool:

__________________
The only way to discover the limits of the possible is to go beyond them into the impossible.
Arthur C. Clarke.

23-11-2003 14:25
Click Here to See the Profile for foolish Click Here to See the Blog of foolish Click here to Send foolish a Private Message Find more posts by foolish Add foolish to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
citrus
.arcimaestro.

User info:
Registered: Oct 2003
Posts: 382 (0.05 al dì)
Location: como
Corso: com. digitale
Anno: 2
Time Online: 2 Days, 14:39:24 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

scusa ma l'array dizionario quando lo inizializzi che dimensione gli dai?

23-11-2003 15:10
Click Here to See the Profile for citrus Click here to Send citrus a Private Message Find more posts by citrus Add citrus to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
EagleSpirit
.consigliere.

User info:
Registered: Oct 2003
Posts: 127 (0.02 al dì)
Location: VA
Corso:
Anno:
Time Online: 8 Days, 6:36:07: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by citrus
scusa ma l'array dizionario quando lo inizializzi che dimensione gli dai?


2000
(il limite delle parole che può contenere secondo le istruzioni dell'esercizio)

23-11-2003 16:18
Click Here to See the Profile for EagleSpirit Click here to Send EagleSpirit a Private Message Find more posts by EagleSpirit Add EagleSpirit to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
foolish
bleak

User info:
Registered: Oct 2003
Posts: 3585 (0.45 al dì)
Location:
Corso:
Anno:
Time Online: 36 Days, 7:28:56 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by citrus
scusa ma l'array dizionario quando lo inizializzi che dimensione gli dai?


crea una variabile

final int MAX 2000;

in questo modo potrai cambiare semplicemente questo valore per aumentare la capacità del pgm.

__________________
The only way to discover the limits of the possible is to go beyond them into the impossible.
Arthur C. Clarke.

23-11-2003 17:28
Click Here to See the Profile for foolish Click Here to See the Blog of foolish Click here to Send foolish a Private Message Find more posts by foolish Add foolish to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
citrus
.arcimaestro.

User info:
Registered: Oct 2003
Posts: 382 (0.05 al dì)
Location: como
Corso: com. digitale
Anno: 2
Time Online: 2 Days, 14:39:24 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

azz.... è vero! non ci avevo fatto caso!!!
però ho ancora molti problemi prima di arrivare alla soluzione....
per esempio come si fa ad associare l'array frequenze all'array dizionario?

ex:
se io trovo la parola "ciao" alla posizione 3 dell'array dizionario come faccio a sapere quale posizione dell'array frequenze devo incrementare?

un altra cosa:
nell'esercizio 1 come faccio ad instanziare la stringa risultato (StringBuffer) se non ho ancora niente da metterci dentro?
in teoria bisogna partire dalla prima e modificarla aggiungendogli la seconda giusto (quindi non serve instanziarne una terza)?

...
il secondo per fortuna è stato una sciocchezza altrimenti mi sarei sparato un colpo.........
ps: sto giro però ci ha dato dentro con gli esercizi eh?
:D

23-11-2003 17:31
Click Here to See the Profile for citrus Click here to Send citrus a Private Message Find more posts by citrus Add citrus to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
EagleSpirit
.consigliere.

User info:
Registered: Oct 2003
Posts: 127 (0.02 al dì)
Location: VA
Corso:
Anno:
Time Online: 8 Days, 6:36:07: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by citrus
azz.... è vero! non ci avevo fatto caso!!!
però ho ancora molti problemi prima di arrivare alla soluzione....
per esempio come si fa ad associare l'array frequenze all'array dizionario?

ex:
se io trovo la parola "ciao" alla posizione 3 dell'array dizionario come faccio a sapere quale posizione dell'array frequenze devo incrementare?

un altra cosa:
nell'esercizio 1 come faccio ad instanziare la stringa risultato (StringBuffer) se non ho ancora niente da metterci dentro?
in teoria bisogna partire dalla prima e modificarla aggiungendogli la seconda giusto (quindi non serve instanziarne una terza)?

...
il secondo per fortuna è stato una sciocchezza altrimenti mi sarei sparato un colpo.........
ps: sto giro però ci ha dato dentro con gli esercizi eh?
:D


per curiosità che sistema hai usato per il cambio di Case?

1. io ho inserito le due stringhe, poi ho calcolato le due lunghezze e ho inizializzato StringBuffer con setLength()
dopodichè l'ho riempito con le stringhe

2. i due array li associ usando lo stesso indice i
es. il ciclo trova la posizione i del vettore dizionario[i] occupata dal vocabolo "ciao"
frequenze[i] += 1

23-11-2003 17:49
Click Here to See the Profile for EagleSpirit Click here to Send EagleSpirit a Private Message Find more posts by EagleSpirit Add EagleSpirit to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
citrus
.arcimaestro.

User info:
Registered: Oct 2003
Posts: 382 (0.05 al dì)
Location: como
Corso: com. digitale
Anno: 2
Time Online: 2 Days, 14:39:24 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by EagleSpirit
per curiosità che sistema hai usato per il cambio di Case?

1. io ho inserito le due stringhe, poi ho calcolato le due lunghezze e ho inizializzato StringBuffer con setLength()
dopodichè l'ho riempito con le stringhe

2. i due array li associ usando lo stesso indice i
es. il ciclo trova la posizione i del vettore dizionario[i] occupata dal vocabolo "ciao"
frequenze[i] += 1



....) Ho utilizzato la classe Characther per verificare il case nel ciclo if e l'ho invertito poi usando StringBuffer......

for (i=0;i<s.length();i++)
{...}

1) ... è quello che sto facendo anch'io ma poi come fai a riempirle?
carattere per carettere con un ciclo for? (a me da un errore "...out of range 0" subito alprimo ciclo...)

2) e quando trovi la parola "ciao" per la seconda volta in un'altra posizione?
come fai a ricordarti in quale posizione dell'array frequenze hai incrementato il valore?
se lo fai allo stesso indice di ogni parola l'array di frequenze si riempirà con tutti 1 e avrà la stesso numero di posizioni dell'array dizionario.....

Last edited by yoruno on 06-12-2005 at 12:44

23-11-2003 18:44
Click Here to See the Profile for citrus Click here to Send citrus a Private Message Find more posts by citrus Add citrus to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Rocco.Li
38 Primavere, Dottore !

User info:
Registered: Sep 2003
Posts: 609 (0.08 al dì)
Location: BARLASSINA (MI)
Corso: COMUNICAZIONE DIGITALE
Anno: Finitooooo !!!!
Time Online: 8 Days, 2:31:26 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Citrus,
Per l'esercizio di conversione case usando lo stringbuffer, creare la sola istanza dell'oggetto non e' sufficiente:

StringBuffer miaStringa = new StringBuffer(int lunghezza = 100);

perche' creera una stringa con capacita massima di 100 caratteri ma lunghezza 0. Quindi devi anche impostare la nuova lunghezza:

miaStringa.setLength(lunghezza);

Se non lo fai ricevi un errore a runtime.

Ciao

__________________
Alcuni uomini vedono le cose come sono e dicono: << Perche' ? >>
Io sogno le cose come non sono mai state e dico: << Perche' No ? >>
George Barnard Shaw, Commediografo.

"non preoccuparti troppo, comunque vada la vita, non ne uscirai vivo !" - anonimo

24-11-2003 08:15
Click Here to See the Profile for Rocco.Li Click Here to See the Blog of Rocco.Li Click here to Send Rocco.Li a Private Message Find more posts by Rocco.Li Add Rocco.Li to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
foolish
bleak

User info:
Registered: Oct 2003
Posts: 3585 (0.45 al dì)
Location:
Corso:
Anno:
Time Online: 36 Days, 7:28:56 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by citrus
....) 2) e quando trovi la parola "ciao" per la seconda volta in un'altra posizione?
come fai a ricordarti in quale posizione dell'array frequenze hai incrementato il valore?
se lo fai allo stesso indice di ogni parola l'array di frequenze si riempirà con tutti 1 e avrà la stesso numero di posizioni dell'array dizionario.....


infatti se l'array dizionario ha per esempio 156 posizioni prese in considerazione, anche l'array delle frequenze DEVE avere per forza 156 posizioni prese in considerazione.

Se tu associ alla posizione 0 una parola, assocerai alla stessa posizione anche la relativa frequenza.
Se "CIAO" si trova alla posizione 34 le frequenze relative a quella parola si troveranno alla posizione 34.

Per capire se una parola è già stata inserita bisogna necessariamente fare una ricerca sequenziale sull'array. Quindi nel caso sia stata trovata, incrementare l'array delle frequenze proprio con l'indice dell'array dizionario in quel dato istante. Se invece la parola non verrà trovata bisognerà inserire la parola in fondo all'array.

__________________
The only way to discover the limits of the possible is to go beyond them into the impossible.
Arthur C. Clarke.

24-11-2003 13:33
Click Here to See the Profile for foolish Click Here to See the Blog of foolish Click here to Send foolish a Private Message Find more posts by foolish Add foolish to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
supernova
Mad For It

User info:
Registered: May 2003
Posts: 403 (0.05 al dì)
Location: Milan, London
Corso: Digital Comunication
Anno: I Don't Know, Not Yet.
Time Online: 3 Days, 4:56:55 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Raga, sono un po' in merda. Nel primo esercizio, quello della concatenazione delle stringhe, dice di usare setCharAt(). Ma che funzione ha?????
Mi sapete poi spiegare brevemente StringBuffer. Ho capito che è una stringa che si può modificare. Ma è giusto??? Grazie a tutti raga. Ciauz!

__________________
" So I Start The Revolution From My Bed ". Noel Gallagher

24-11-2003 19:00
Click Here to See the Profile for supernova Click here to Send supernova a Private Message Find more posts by supernova Add supernova to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
citrus
.arcimaestro.

User info:
Registered: Oct 2003
Posts: 382 (0.05 al dì)
Location: como
Corso: com. digitale
Anno: 2
Time Online: 2 Days, 14:39:24 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by foolish
infatti se l'array dizionario ha per esempio 156 posizioni prese in considerazione, anche l'array delle frequenze DEVE avere per forza 156 posizioni prese in considerazione.

Se tu associ alla posizione 0 una parola, assocerai alla stessa posizione anche la relativa frequenza.
Se "CIAO" si trova alla posizione 34 le frequenze relative a quella parola si troveranno alla posizione 34.

Per capire se una parola è già stata inserita bisogna necessariamente fare una ricerca sequenziale sull'array. Quindi nel caso sia stata trovata, incrementare l'array delle frequenze proprio con l'indice dell'array dizionario in quel dato istante. Se invece la parola non verrà trovata bisognerà inserire la parola in fondo all'array.



...si ma capisci che così cade lo scopo del programma......
l'array frequenze conterrà 156 posizioni (esattamente tante quante il numero di parole della stringa) tutte valorizzate a 1......
....
non è difficile porca.... però sono bloccato in questo punto sul ragionamento logico........

24-11-2003 19:06
Click Here to See the Profile for citrus Click here to Send citrus a Private Message Find more posts by citrus Add citrus to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 15:00.    Post New Thread    Post A Reply
Pages (7): [1] 2 3 4 5 » ... Last »   Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.130 seconds (50.80% PHP - 49.20% MySQL) con 26 query.