Formelcompiler

Zur Vorstellung von Komponenten und Units für Lazarus
Antworten
heizkoerper
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

Beitrag von heizkoerper »

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
Dateianhänge
main.pas
(3.91 KiB) 115-mal heruntergeladen
FCompiler.pas
(13.82 KiB) 109-mal heruntergeladen

diogenes
Beiträge: 200
Registriert: So 11. Jul 2010, 18:39
OS, Lazarus, FPC: Linux
CPU-Target: 64 Bit
Wohnort: Wien
Kontaktdaten:

Re: Formelcompiler

Beitrag von diogenes »

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.

indianer-frank
Beiträge: 134
Registriert: So 30. Nov 2008, 21:53

Re: Formelcompiler

Beitrag von indianer-frank »

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.

diogenes
Beiträge: 200
Registriert: So 11. Jul 2010, 18:39
OS, Lazarus, FPC: Linux
CPU-Target: 64 Bit
Wohnort: Wien
Kontaktdaten:

Re: Formelcompiler

Beitrag von diogenes »

Hmja, die übliche Schreibweise impliziert die Klammer. Das kann man wohl als rechtsassoziativv werten.
Ceterum censeo computatores per Pascal docendos esse.

heizkoerper
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

Beitrag von heizkoerper »

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

marcov
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

Beitrag von marcov »

Und auch der Formelkompiler der mit FPC kommt, symbolic.

Antworten