AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Mathemax - kleiner Rechner und Graphenersteller
Thema durchsuchen
Ansicht
Themen-Optionen

Mathemax - kleiner Rechner und Graphenersteller

Ein Thema von naudoc · begonnen am 17. Jun 2007 · letzter Beitrag vom 23. Jul 2007
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
naudoc
Registriert seit: 7. Nov 2006
Hallo,

hab mal rumprogrammiert, und das kam bei raus:

Ein mathematischer Parser.
Er kann:
-Terme rechnen
-Werte in Funktionen berechnen
-Graphen zeichnen
-Ableiten
-Ableitungen zeichnen
-Gleichungen lösen
-Tangenten an Graphen zeichnen
-...

Ableitungen sind nicht alle korrekt, da ich manchmal selber nicht weiss, wie man sowas rechnet(erst Klasse 11) aber das kommt noch, da ich sehrbald Mathe u Physik LK habe...

Bin froh über jede Anregung!

Danke!

Edit: Noch ein Bild

Edit2: 19.06.07: MathemaxV1.6 //gelöscht

Edit3: 21.06.07: MathemaxV1.7 //gelöscht

Edit4: 23.07.07: MathemaxV1.8
Miniaturansicht angehängter Grafiken
mathemax_186.jpg  
Angehängte Dateien
Dateityp: exe mathemaxv18_871.exe (586,0 KB, 54x aufgerufen)
 
Benutzerbild von juergen
juergen

 
Delphi 11 Alexandria
 
#2
  Alt 17. Jun 2007, 13:54
Hallo naudock,

ganz interessant und schon gut gelungen.
Was würde ich anders machen/ändern?
- das Eingabefeld nur für Zahlen, Backspace und Komma zulassen, so dass der Anwender die Rechenoperationen ausschließlich über die Combobox auswählen muss (vermeidet Fehleingaben)
- wenn man z.B. in längere Funktion eingegeben hat und später eine vorhandene Rechenoperation in der Mitte des Eingabefeldes markiert und durch eine andere Rechenoperation ersetzen will, wird nicht die markierte Stelle überschrieben sondern es wird hintendran
- wenn man vor einem Klammerpaar keine Multiplikation setzt, wird es als Fehler ausgewiesen. Normale Interpretation wäre: kein Multiplikationszeichen entspricht Multiplikation
- unten den gesamten Fuß entfernen. Spart Platz. Dafür oben eine neue Menüleiste. Dort einen About-Aufruf rein.
- in der neuen Menüleiste einen neuen Aufruf: -> Beispiele. Hier 4-8 interssante Beispiele bereitstellen. Diese "erwecken die Neugier"...
Jürgen
  Mit Zitat antworten Zitat
naudoc
 
#3
  Alt 17. Jun 2007, 14:06
Danke für das Feedback, also...
ich nummerier deine Anregungen mal gerade...

1 das Eingabefeld nur für Zahlen, Backspace und Komma zulassen, so dass der Anwender die Rechenoperationen ausschließlich über die Combobox auswählen muss (vermeidet Fehleingaben)

2 wenn man z.B. in längere Funktion eingegeben hat und später eine vorhandene Rechenoperation in der Mitte des Eingabefeldes markiert und durch eine andere Rechenoperation ersetzen will, wird nicht die markierte Stelle überschrieben sondern es wird hintendran

3 wenn man vor einem Klammerpaar keine Multiplikation setzt, wird es als Fehler ausgewiesen. Normale Interpretation wäre: kein Multiplikationszeichen entspricht Multiplikation

4 unten den gesamten Fuß entfernen. Spart Platz. Dafür oben eine neue Menüleiste. Dort einen About-Aufruf rein.

5 in der neuen Menüleiste einen neuen Aufruf: -> Beispiele. Hier 4-8 interssante Beispiele bereitstellen. Diese "erwecken die Neugier"

Antworten:

1 ich wollte ja, dass man alles eingeben kann, um zeit und elendes Suchen zu sparen, wer falsch eingibt ist zu doof

2 kommt sehr sehr bald, nervt mich auch!

3 welche funktion hast du getestet? funktioniert bei mir... (zb 2(5)=10 oder so)

4 gute Idee, werd ich drüber nachdenken

5 wär auch ne gute idee
  Mit Zitat antworten Zitat
Benutzerbild von Tiuri
Tiuri

 
Delphi 2005 Personal
 
#4
  Alt 17. Jun 2007, 14:20
Hi,
ist en schönes Programm, mir ist beim ersten testen nur aufgefallen, dass wenn ich die Gleichung x^2=0 eingebe, als Lösung x=wurzel(1) rauskommt. Es wäre schön, wenn das Programm die Wurzeln ausrechnen würde, zumal die Wurtel aus 1 ja bekanntlich 1 ist.
  Mit Zitat antworten Zitat
Torpedo
 
#5
  Alt 17. Jun 2007, 15:20
Nettes Programm. Habe auch einen Fehler gefunden:
Pi*x kann nicht abgeleitet werden, müsste aber Pi sein.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

 
Delphi XE2 Professional
 
#6
  Alt 17. Jun 2007, 15:53
Hallo,

mir ist was anderes aufgefallen:
Das Fenster, dass beim Drücken auf den Button "mehrere Funktionen" (Page: "Graphen zeichnen") geöffnet wird, ist maximierbar. Die einzelnen Controls maximieren sich aber nicht mit. Ich denke mal du willst, dass dieses Fenster nicht maximierbar ist.

[Edit]
siehe Pic: Deine Einheitenstriche (oder wie man diese schwarzen Dinger immer nennt ) liegen nicht direkt auf dem Gitternetz
Miniaturansicht angehängter Grafiken
mathe_graph_671.jpg  
  Mit Zitat antworten Zitat
DMW

 
Delphi XE Professional
 
#7
  Alt 17. Jun 2007, 16:05
Wow, nicht schlecht!

Vielleicht solltest du noch etwas zum Vereinfachen von Termen einbauen, wodurch Dinge wie "1*(((x)))" beseitigt werden.
Für eine Facharbeit hatte ich mal eine Klasse geschrieben (math::Expression; Quelltext und Demoprogramm enthalten), die in der Lage war, simple Vereinfachungen vorzunehmen. Das war allerdings wesentlich schwerer zu implementieren als Ableiten...

Ein Fehler tritt bei mir auf: wenn ich das Programm starte, erhalte ich die Fehlermeldung "-6,5 ist kein gültiger Gleitkommawert.". Das liegt vermutlich daran, daß ich auf meinem Windows '.' als Dezimalseparator eingestellt habe. Vielleicht sollte sich dein Programm auch an die entsprechende Einstellung im OS halten, sonst bekommt es Probleme auf Rechnern im nicht deutschsprachigen Raum. (Die globale Variable DecimalSeparator gibt den aktuellen Dezimalseparator an.)
Moritz
  Mit Zitat antworten Zitat
naudoc
 
#8
  Alt 17. Jun 2007, 22:15
Hi,
danke für die vielen Anregungen, nun meine Antworten:


Zitat von Tiuri:
Hi,
ist en schönes Programm, mir ist beim ersten testen nur aufgefallen, dass wenn ich die Gleichung x^2=0 eingebe, als Lösung x=wurzel(1) rauskommt. Es wäre schön, wenn das Programm die Wurzeln ausrechnen würde, zumal die Wurtel aus 1 ja bekanntlich 1 ist.
Das ist so, weil man so auch andere Variablen benutzen kann ( sin(x)=hallo --> x=arcsin(hallo) )


Zitat von Torpedo:
Nettes Programm. Habe auch einen Fehler gefunden:
Pi*x kann nicht abgeleitet werden, müsste aber Pi sein.
Bei der Ableitung habe ich das Pi vergessen... aber die ist sowieso nur für einfachste Fkt.


Zitat von Helmi:
Hallo,

mir ist was anderes aufgefallen:
Das Fenster, dass beim Drücken auf den Button "mehrere Funktionen" (Page: "Graphen zeichnen") geöffnet wird, ist maximierbar. Die einzelnen Controls maximieren sich aber nicht mit. Ich denke mal du willst, dass dieses Fenster nicht maximierbar ist.

[Edit]
siehe Pic: Deine Einheitenstriche (oder wie man diese schwarzen Dinger immer nennt ) liegen nicht direkt auf dem Gitternetz
Fenster ist in der nächsten VErsion nicht maximierbar(danke!), der Strich ist daneben, damit er auffällt


Zitat von DMW:
Wow, nicht schlecht!

Vielleicht solltest du noch etwas zum Vereinfachen von Termen einbauen, wodurch Dinge wie "1*(((x)))" beseitigt werden.
Für eine Facharbeit hatte ich mal eine Klasse geschrieben (math::Expression; Quelltext und Demoprogramm enthalten), die in der Lage war, simple Vereinfachungen vorzunehmen. Das war allerdings wesentlich schwerer zu implementieren als Ableiten...

Ein Fehler tritt bei mir auf: wenn ich das Programm starte, erhalte ich die Fehlermeldung "-6,5 ist kein gültiger Gleitkommawert.". Das liegt vermutlich daran, daß ich auf meinem Windows '.' als Dezimalseparator eingestellt habe. Vielleicht sollte sich dein Programm auch an die entsprechende Einstellung im OS halten, sonst bekommt es Probleme auf Rechnern im nicht deutschsprachigen Raum. (Die globale Variable DecimalSeparator gibt den aktuellen Dezimalseparator an.)
Das mit dem vereinfachen ist ein bisschen viel Arbeit, dafür, dasss es nur dem Aussehen dient, und ich wollte das Progamm nicht ins Ausland exportieren ... Werd aber drüber nachdenken....


DANKE AN ALLE!
feedbacked () bitte weiter

mfG Max
  Mit Zitat antworten Zitat
fLaSh11
 
#9
  Alt 18. Jun 2007, 16:20
ich hab da ein fehler im Graphenzeichner gefunden...

Wenn ich mir die (übertriebene^^) Funktion f(x)=200000000000000x+0,00009 zeichnen lasse, kommt im kleinen bild nix, im großen lauter senkrechte Striche (einer wär ja ok^^)...
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

 
Delphi 7 Enterprise
 
#10
  Alt 18. Jun 2007, 16:57
Zitat von fLaSh11:
ich hab da ein fehler im Graphenzeichner gefunden...

Wenn ich mir die (übertriebene^^) Funktion f(x)=200000000000000x+0,00009 zeichnen lasse, kommt im kleinen bild nix, im großen lauter senkrechte Striche (einer wär ja ok^^)...
Das dürfte ein Fehler von TChart sein, den ich auch schon in anderen Dimensionen festgestellt habe.

Edit: Bei einem meiner Programme tritt dies auch bei großen Zahlen auf (besonders wenn man zoomt; siehe Bild: der letzte senkrechte Strich sollte nicht existieren)
Miniaturansicht angehängter Grafiken
fastcalc_108.jpg  
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 09:30 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