Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Klammern Mathematisch ... aber wie? (https://www.delphipraxis.net/124485-klammern-mathematisch-aber-wie.html)

psd-sign 19. Nov 2008 20:28


Klammern Mathematisch ... aber wie?
 
Ich habe folgendes vor:
Ich möchte komplexe Formeln mit Klammern speichern und dann auch ausführen lassen. Beispiel:
0 + 2·(0 + 2·(0 + 2·(1 + 2·(1 + 2·1)))) = 56

wie bekomme ich das hin?
Die Operatoren +,*,(,) sind strings ... ich versuch es die ganze Zeit
zum laufen zu bekommen, das ganze in einen string zu speichern aber
das bringt mir wahrscheinlich nix ...

Wa mein ihr. Habt ihr einen Lösungsansatz?

jfheins 19. Nov 2008 20:33

Re: Klammern Mathematisch ... aber wie?
 
Du benötigst einen Hier im Forum suchenParser bzw. zunächst einen Tokenizer.

Der baut dir dann aus deinem String einen Baum auf, den du dann ausrechnen kannst ;)

Evtl. kannst du auch auf den Baum verzeichten und direkt rechnen, das sit dann aber nicht mehr so flexibel ;)

(Dann müsstest du immer die innerste Klammer finden, dann parsen (erst nach + und - dann nach * und /) und rechnen und den Klammerausdruck durch das Erbebis ersetzen. Wiederholen, bis nur noch eine Zahl vorhanden ist.)

Corpsman 20. Nov 2008 06:43

Re: Klammern Mathematisch ... aber wie?
 
Hier ist so ein Parser Ausrechner, allerdings kanns gut sein das der dir ein wenig zu viel kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz