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 N - Z > Programmazione > hi
-
This poll is closed.
- 0 0%
- 0 0%
Total: 0 votes 100%
  [Edit Poll (moderators only)]

  Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
klajdit
.novellino.

User info:
Registered: Sep 2007
Posts: 1 (0.00 al dì)
Location: milano
Corso: informatica
Anno: 2
Time Online: 0:42:53 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
hi

Salve sono un nuovo entrato in forum è mi e piaciuto l'organizazzione del forum.Ma ho un problema non riescho a risolvere un programino in java percio chiedo il vostro aiuto se qualcuno sa programare in java mi da una mano.Vi ringrazio klajdit.
Adesso vi mandi il testo..



Definire una classe Java, chiamata Espressione, per la rappresentazione di semplici espressioni letterali, lette da input in notazione Polacca prefissa. Un'espressione può quindi avere una delle seguenti forme:
- una lettera 'x' o 'y', senza sottoalberi;
- +ab oppure *ab, dove a e b sono espressioni.

Ogni espressione si può vedere come un albero, che consiste di un solo nodo se l'espressione è una lettera, o ha la forma come in figura sottostante:




dove a e b sono alberi che rappresentano il primo ed il secondo argomento delle operazioni + o *, e le espressioni corrispondenti hanno la rispettiva forma +ab e *ab.

Per esempio, l'espressione +*xx*yy è corrisponde all'albero:




La classe Espressione dovrà contenere:
- un attributo privato op, il cui valore è una lettera 'x' o una lettera 'y' o uno dei simboli di operazione '+' o '*';
- due attributi privati (di tipo Espressione) che hanno come valore le rappresentazioni degli argomenti se il valore dell'attributo op è un simbolo di operazione, altrimenti hanno come valore null.

Includere nella classe:
- un costruttore che legge da input standard un'espressione e ne costruisce l'albero corrispondente, istanza della classe Espressione;
- opportuni metodi di incapsulamento;
- un metodo che visita un albero, istanza di Espressione, e ne scrive il contenuto su output standard in notazione usuale, usando parentesi e scrivendo i simboli di operazione tra i due argomenti. Per esempio, l'espressione in notazione Polacca prefissa +*xx*yy viene scritta su output standard come ((x*x)+(y*y));

Provare la classe Espressione utilizzando il main contenuto nella classe Esercizio scaricabile da qui.



Un suggerimento: Il metodo per la costruzione di un albero a partire da un'espressione deve leggere da input il minimo numero di simboli (a partire dalla posizione corrente di lettura) che definiscono un'espressione; così, ad esempio, se si legge la lettera x si può costruire subito l'albero corrispondente, mentrese il simbolo letto è + o *, allora quello che segue avrà la forma ab, dove a e b sono espressioni. Quindi il costruttore sarà un metodo ricorsivo.

06-09-2007 13:44
Click Here to See the Profile for klajdit Click here to Send klajdit a Private Message Find more posts by klajdit Add klajdit to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
morganhk
.simpatizzante.

User info:
Registered: Jan 2007
Posts: 19 (0.00 al dì)
Location: Milano
Corso: Informatica
Anno: 3° Anno
Time Online: 6:14:21 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
Re: hi

Originally posted by klajdit
Salve sono un nuovo entrato in forum è mi e piaciuto l'organizazzione del forum.Ma ho un problema non riescho a risolvere un programino in java percio chiedo il vostro aiuto se qualcuno sa programare in java mi da una mano.Vi ringrazio klajdit.
Adesso vi mandi il testo..



Definire una classe Java, chiamata Espressione, per la rappresentazione di semplici espressioni letterali, lette da input in notazione Polacca prefissa. Un'espressione può quindi avere una delle seguenti forme:
- una lettera 'x' o 'y', senza sottoalberi;
- +ab oppure *ab, dove a e b sono espressioni.

Ogni espressione si può vedere come un albero, che consiste di un solo nodo se l'espressione è una lettera, o ha la forma come in figura sottostante:




dove a e b sono alberi che rappresentano il primo ed il secondo argomento delle operazioni + o *, e le espressioni corrispondenti hanno la rispettiva forma +ab e *ab.

Per esempio, l'espressione +*xx*yy è corrisponde all'albero:




La classe Espressione dovrà contenere:
- un attributo privato op, il cui valore è una lettera 'x' o una lettera 'y' o uno dei simboli di operazione '+' o '*';
- due attributi privati (di tipo Espressione) che hanno come valore le rappresentazioni degli argomenti se il valore dell'attributo op è un simbolo di operazione, altrimenti hanno come valore null.

Includere nella classe:
- un costruttore che legge da input standard un'espressione e ne costruisce l'albero corrispondente, istanza della classe Espressione;
- opportuni metodi di incapsulamento;
- un metodo che visita un albero, istanza di Espressione, e ne scrive il contenuto su output standard in notazione usuale, usando parentesi e scrivendo i simboli di operazione tra i due argomenti. Per esempio, l'espressione in notazione Polacca prefissa +*xx*yy viene scritta su output standard come ((x*x)+(y*y));

Provare la classe Espressione utilizzando il main contenuto nella classe Esercizio scaricabile da qui.



Un suggerimento: Il metodo per la costruzione di un albero a partire da un'espressione deve leggere da input il minimo numero di simboli (a partire dalla posizione corrente di lettura) che definiscono un'espressione; così, ad esempio, se si legge la lettera x si può costruire subito l'albero corrispondente, mentrese il simbolo letto è + o *, allora quello che segue avrà la forma ab, dove a e b sono espressioni. Quindi il costruttore sarà un metodo ricorsivo.


Non ho capito che tipo di aiuto ti serve......hai postato solamente il testo dell'esercizio.... :-)

Se hai bisogno di qualche ripetizione ti posso aiutare io altrimenti cerca di essere più preciso riguardo i tuoi dubbi

Ciao

28-11-2007 14:14
Click Here to See the Profile for morganhk Click here to Send morganhk a Private Message Find more posts by morganhk Add morganhk to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 19:48.    Post New Thread    Post A Reply
  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.038 seconds (70.38% PHP - 29.62% MySQL) con 29 query.