Salve a tutti.
E' tutto il giorno che faccio esercizi in java e ho trovato questo esercizio sull' eserciziario dell' università.
Non ho la più pallida idea di come si faccia. Qualcuno mi può dare suggerimenti?
Grazie!
E' tutto il giorno che faccio esercizi in java e ho trovato questo esercizio sull' eserciziario dell' università.
Le espressioni aritmetiche manipolate da una calcolatrice tascabile sono ottenute a partire dai numeri interi (positivi e negativi) tramite le operazioni di addizione sottrazione, moltiplicazione e divisione. Esempi sono i seguenti: (2 + 3) ∗ 4, (21/5) ∗ (−1) + 7. Una naturale rappresentazione per queste espressioni è quella tramite alberi, in cui i nodi interni rappresentano le operazioni e le foglie rappresentano invece i numeri. Per esempio, (2 + 3) ∗ 4 corrisponde all’albero la cui radice è etichettata con ∗ e i cui due figli sono l’albero corrispondente a 2 + 3 (composto da tre nodi) e l’albero corrispondente a 4 (composto da un singolo nodo). Data un’espressione, si potrebbe essere interessati a calcolarne il valore (per esempio, l’espressione (2 + 3) ∗ 4 ha valore 20). Inoltre potrebbe essere interessante, data un’espressione, il numero di istanze degli operatori elementari in essa contenuti (per esempio, l’espressione (2+3)∗4 contiene due istanze di operatori aritmetici). Si progetti e si implementi una gerarchia di classi JAVA che sia in grado di rappresentare e manipolare le espressioni utilizzate dalla calcolatrice tascabile.
Non ho la più pallida idea di come si faccia. Qualcuno mi può dare suggerimenti?
Grazie!