View Single Post
Old 08-02-2010, 22:26   #2
:.Blizzard.:
Senior Member
 
L'Avatar di :.Blizzard.:
 
Iscritto dal: Jan 2006
Città: Perugia - San Benedetto del Tronto
Messaggi: 348
Ho fatto proprio questa cosa in Java (in un contesto un poco più complicato, considerando che dovevo disegnare funzioni).

Ho adottato la scelta di trasformare l'espressione immessa dall'utente in un'espressione in notazione polacca inversa :

http://it.wikipedia.org/wiki/Notazione_polacca_inversa

Così facendo potrai effettuare le operazioni necessarie in maniera sequenziale senza dover tener conto delle parentesi e delle varie funzioni composte.

L'algoritmo per trasformare una espressione dalla notazione infissa alla notazione postfissa si chiama Shunting Yard (Dijkstra).

http://en.wikipedia.org/wiki/Shunting-yard_algorithm

Devi realizzare anche un piccolo parser per lavorare con i token dell'espressione.


Questo ovviamente se vuoi fare le cose a mano. Non conosco il C# , magari ci sono strade molto più facili.

Spero comunque di esserti stato d'aiuto in qualche modo
:.Blizzard.: è offline   Rispondi citando il messaggio o parte di esso