![]() |
Funktionsterm parsen
Hi,
der Benutzer gibt einen beliebigen Funktionsterm an. Dann soll zu einem ebenfalls angegebenen x ein y berechnet werden. Ich hätte das mit Taschenrechner schon längst fertig, aber ein Programm zu schreiben, welches Funktionsterme parsen kann halte ich für schwierig. Es ist ja üblich, bei Funktionen keine Malpunkte anzugeben. Den Benutzer zu Malpunkten zu zwingen kommt nicht in Frage. Genau da liegt das Problem. Wie dichte ich die Malpunkte dazu, ohne in irgendeiner Form ins Schlamassel zu geraten ? Ein Beispiel für einen Funktionsterm wie ihn der Benutzer angibt: 6x^5-2x^4+1x^1 Habt ihr eine Idee, wie man das angehen könnte ? Außerdem: Wie könnte man so einen Parser strukturieren ? Denn die Hochzahlen usw. müssen ja auch möglichst problemlos und einfach berücksichtigt werden. |
Re: Funktionsterm parsen
Such mal nach 'Mathe-Parser', dort findest Du reichlich Beispiele mit Quellcode. Wichtig und nützlich sind auch die Stichworte 'Tokenizer', 'BNF', 'Syntaxbaum' und 'Parser'.
|
Re: Funktionsterm parsen
|
Re: Funktionsterm parsen
In der Delphipraxis gibt es auch einige fertige Code-Schnippsel (u.a. auch von mir)
|
Re: Funktionsterm parsen
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich hätte da ein paar Sachen.
Am besten gebe ich dir mal das ganze. Das war mal aus langeweile son kleines Tabellenkalkulationsprogramm. (Wie gesagt das war nur aus langeweile also nicht über den Namen des Programms wundern :-D) MFG |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz