Hallo Lazarusfreunde,
ich habe einen Formelcompiler als Unit entwickelt, mit dem sich mathematische Formeln auswerten lassen.
Außerdem habe ich ein kleines und einfaches Beispielprogramm beigelegt.
Viel Spaß beim Ausprobieren.
Gruß Heizkörper
Formelcompiler
-
- Beiträge: 24
- Registriert: Mo 1. Aug 2011, 14:39
- OS, Lazarus, FPC: Windows XP und 7, L 0.9.31, FPC 2.4.4
- CPU-Target: 32 und 64 Bit
- Wohnort: Hannover
- Kontaktdaten:
Formelcompiler
- Dateianhänge
-
- main.pas
- (3.91 KiB) 115-mal heruntergeladen
-
- FCompiler.pas
- (13.82 KiB) 109-mal heruntergeladen
-
- Beiträge: 200
- Registriert: So 11. Jul 2010, 18:39
- OS, Lazarus, FPC: Linux
- CPU-Target: 64 Bit
- Wohnort: Wien
- Kontaktdaten:
Re: Formelcompiler
Ich hatte mal auch einen, da konnte man sogar neue elemente binden. Vielleicht code ich's noch einmal.
Ceterum censeo computatores per Pascal docendos esse.
-
- Beiträge: 134
- Registriert: So 30. Nov 2008, 21:53
Re: Formelcompiler
Der Potenzoperator ist rechtsassoziativ, wird also von rechts nach links ausgewertet, d.h. a^b^c ist wie a^(b^c) zu behandeln.
Dein Compiler rechnet 2^3^4 = (2^3)^4 = 8^4 = 4096, richtig ist 2^3^4 = 2^(3^4) = 2^81 = 2.4178516392292583494E24.
Dein Compiler rechnet 2^3^4 = (2^3)^4 = 8^4 = 4096, richtig ist 2^3^4 = 2^(3^4) = 2^81 = 2.4178516392292583494E24.
-
- Beiträge: 200
- Registriert: So 11. Jul 2010, 18:39
- OS, Lazarus, FPC: Linux
- CPU-Target: 64 Bit
- Wohnort: Wien
- Kontaktdaten:
Re: Formelcompiler
Hmja, die übliche Schreibweise impliziert die Klammer. Das kann man wohl als rechtsassoziativv werten.
Ceterum censeo computatores per Pascal docendos esse.
-
- Beiträge: 24
- Registriert: Mo 1. Aug 2011, 14:39
- OS, Lazarus, FPC: Windows XP und 7, L 0.9.31, FPC 2.4.4
- CPU-Target: 32 und 64 Bit
- Wohnort: Hannover
- Kontaktdaten:
Re: Formelcompiler
Hallo,
auf die Klammersetzung hätte ich bei Ausdrücken wie a^b^c hinweisen sollen.
Es ist ja klar ersichtlich, dass die Formel von links nach rechts ausgewertet wird.
Mit a^(b^c) oder (a^b)^c ist alles klargestellt.
Bei komplizierten Formeln können Klammern generell für eine bessere Übersicht sorgen.
Hinweis: Auch kommerzielle Programme wie WinFunktion (z.B. Mathematik plus 18) rechnen genauso falsch.
Gruß Heizkoerper
auf die Klammersetzung hätte ich bei Ausdrücken wie a^b^c hinweisen sollen.
Es ist ja klar ersichtlich, dass die Formel von links nach rechts ausgewertet wird.
Mit a^(b^c) oder (a^b)^c ist alles klargestellt.
Bei komplizierten Formeln können Klammern generell für eine bessere Übersicht sorgen.
Hinweis: Auch kommerzielle Programme wie WinFunktion (z.B. Mathematik plus 18) rechnen genauso falsch.
Gruß Heizkoerper
-
- Beiträge: 1100
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: Formelcompiler
Und auch der Formelkompiler der mit FPC kommt, symbolic.