Einzelnen Beitrag anzeigen

Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Mathematische Formeln parsen

  Alt 6. Okt 2008, 01:56
Hi Coder1990,
am Freitag gab es schon einen Thread zu diesem Thema. Dort habe ich schonmal folgendes zur Vorgangsweise geschrieben:
Zitat von Hador:
- Operatorenreihenfolge feslgegen
- Operator mit der höchsten Priorität in dem String suchen
- Als Wurzel in einen Baum einfügen
- Reststrings (je nach parameteranzahl des Operators/der Funktion) als Child-Knoten eingefügt
- das ganze für die Kinder und alle anderen Operatoren wiederholen
- Nachdem alles aufgeteilt wurde in der untersten Ebene anfangen zu berechnen
Mit einem Binärbaum kommt man leider nicht ganz so weit, da es mathematische Operationen nicht nur mit zwei Variablen gibt.

Übrigends ist Rekursion garnicht so schlacht - wenn auch in Zusammenhang mit einem Baum: Du kannst, nachdem du eine Wurzel gefunden hast, einfach die restlichen Teilstrings wiederum mit der selben Funtion aufrufen und somit weiter zerteilen, bis du den ganzen Ausdruck in deinem Baum untergebracht hast.
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat