|
-
This poll is closed. |
- |
|
0 |
0% |
- |
|
0 |
0% |
Total: |
0 votes |
100% |
|
| |
|
klajdit |
|
|
klajdit |
.novellino.
Registered: Sep 2007
Posts: 1 (0.00 al dì)
Location: milano
Corso: informatica
Anno: 2
Time Online: 0:42:53 [...]
Status: Offline
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 |
|
|
| |
|
morganhk |
|
|
morganhk |
.simpatizzante.
Registered: Jan 2007
Posts: 19 (0.00 al dì)
Location: Milano
Corso: Informatica
Anno: 3° Anno
Time Online: 6:14:21 [...]
Status: Offline
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 |
|
|
| |
|
All times are GMT. The time now is 19:48. |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|