AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte MathParser
Thema durchsuchen
Ansicht
Themen-Optionen

MathParser

Ein Thema von Hador · begonnen am 10. Mai 2006 · letzter Beitrag vom 10. Mai 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Hador
Hador

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

MathParser

  Alt 10. Mai 2006, 00:14
Hiho Leute!

Auch ich habe mich (wie ja schon so einige hier im Forum) mal mit dem erstellen eines Mathe-Parsers (Infix) beschäftigt.
Dabei ist ein kleines Testprogramm entstanden, welches gerne getestet werden will.
Es währe also nett, wenn es einige von euch ausprobieren würden.
Alles weitere sollte eigentlich selbsterklärend sein.

Da das Programm lediglich zum testen des Parsers gedacht ist, habe ich mich mit einer Konsolenanwendung begnügt.
Daher brauche ich hier - denke ich - auch kein Screenshot veröffentlichen.

EDIT: 10.05.2006 Neue Version Online
EDIT: 10.05.2006 Noch eine neue Version Online
EDIT: 10.05.2006 Und nochmal
Angehängte Dateien
Dateityp: exe parserapp20060510v2_641.exe (96,0 KB, 47x aufgerufen)
Lars Kiesow
http://www.larskiesow.de

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

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#2

Re: MathParser

  Alt 10. Mai 2006, 08:05
nett

vl solltest du noch machen dass die klammer wirklich geschlossen werden sollte

cos(45 kommt nämlich 45 raus - ohne meldung dass eine Klammer fehlt


grüße Nico
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

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

Re: MathParser

  Alt 10. Mai 2006, 15:49
Danke - werde ich mich gleich mal ransetzen

Hat sonst noch jemand das Programm getestet?
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: MathParser

  Alt 10. Mai 2006, 16:21
Bei einer Exception durch nicht definierte mathematische Operationen wie arccos(4) oder 1/0 sollte nicht die Meldung kommen, dass der Term nicht geparst wurde, das ist nämlich ziemlich verwirrend .
Der unäre Minus- und Plus-Operator fehlen (wobei letzterer eher unwichtig ist - aber einfach der Vollständigkeit halber sollte er vorhanden sein).
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

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

Re: MathParser

  Alt 10. Mai 2006, 17:26
So ich habe mal weitergebastelt.
Bei einer nicht geschlossenen Klasse wird nun auch ein Fehler generiert.

Den unären Minus-Operator gebts doch (Das ist doch das Vorzeichen bspw. 3*-4 oder vertue ich mich da )

Insgesammt werden nun einige Fehler vernünftig behandelt.
Andere werde ich noch hinzufügen.

Auf jeden Fall habe ich mal eine neue Version hochgeladen.
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#6

Re: MathParser

  Alt 10. Mai 2006, 18:03
Zitat von Hador:
Den unären Minus-Operator gebts doch (Das ist doch das Vorzeichen bspw. 3*-4 oder vertue ich mich da )
Das wäre er, aber in deinem Parser ist er noch nicht drin. Bei 3*-4 wertet dein Parser -4 als Fließkomma-Literal aus, als Operator wird - nicht erkannt. Folglich funktioniert beispielsweise "-pi" nicht.

PS: 2²2 = 4 ?
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#7

Re: MathParser

  Alt 10. Mai 2006, 18:38
Und noch eine Sache, ich glaube Klammern parst der noch nicht ganz so wie er es sollte:
Zitat:
(4+3)²
ERROR -> Der eingegebene Term enthält einen Fehler

Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#8

Re: MathParser

  Alt 10. Mai 2006, 18:42
Hi Flare,

Ausdrücke mit Exponenten schreibt man am PC normalerweise so
Code:
(4+3)^2
(Das funktioniert übrigens auch in dem Programm )

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von ArmyMan
ArmyMan

Registriert seit: 25. Mai 2004
Ort: Wil Sg
193 Beiträge
 
#9

Re: MathParser

  Alt 10. Mai 2006, 18:51
Ich würde noch bei einer Rechnung die Leerzeichen rausnehmen.
Wenn ein Leerzeichen drinn ist kommt immer ein fehler.

z.B.:
pi / pi -> Fehlender Operator
3 + 1 -> Undefiniertes Zeichen

Ist ein bissl unschön finde ich.

Greetz
ArmyMan
Reden ist Schweigen, Silber ist Gold!
Der Soldat friert nicht. Er zittert nur vor Wut, weil es so kalt ist.
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

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

Re: MathParser

  Alt 10. Mai 2006, 19:16
Erstmal vielen Dank für's testen

Zitat von ArmyMan:
Ich würde noch bei einer Rechnung die Leerzeichen rausnehmen.
Das könnte ich machen. Ist gar kein Problem => Werde ich machen

Zitat von mirage228:
Ausdrücke mit Exponenten schreibt man am PC normalerweise so
Code:
(4+3)^2
(Das funktioniert übrigens auch in dem Programm )
Code:
(4+3)²
sollte aber eigentlich auch funktionieren.
Ich werde mir das nochmal angucken
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:38 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 by Thomas Breitkreuz