| |
|
|
- Seite 1 - |
|
Jac de Lad | Hallo Community!
Bis jetzt bin ich euch eigentlich nur auf die Nerven gegangen, hab unendlich viele Fragen gestellt und meine Progs und Codeschnipsel im Hintergrund gehalten. Naja, das liegt daran, dass meine Programme wahrescheinlich keine große Verwendung für euch haben. Wie auch immer. Ich arbeite im Moment an einem Taschenrechner, der nicht nur einfach rechnen soll, sondern auch Funktionen (auch in 3D) darstellen soll, sowie Terme umformen und auf lösen, Umgehen mit komplexen Zahlen etc...jedenfalls habe ich angefangen einen Parser für mathematische Ausdrücke zu schreiben. Ich denke, den könnt ihr vielleicht auch gebrauchen...allerdings ist der noch nicht fertig. Er beherrscht im Moment folgendes: - Die Grundrechenarten +-*/ sowie (Division mit Abschneiden der Machkommastellen) und Potenzen (mit ^) - Klammern (egal ob (), [], {}, <> oder gemischt, alles wird erkannt) - Leerzeichen werden ausgefiltert - negative Zahlen müssen nicht in Klammern gefasst werden (bitte ausprobieren) - fängt folgende Fehler ab: Division durch 0, unausgewogene Klammern, nicht vorhandener Term, unerlaubte Zeichen im Term (noch unvollständig), falsche Klammeranordnung - Groß- und Kleinschreibung wird ignoriert (für spätere trigonometrische Funktionen und so, jetzt noch nicht von Belang) aber das Wichtigste: er orientiert sich an Punktrchnung vor Strichrechnung und Potenzen vor Punktrechnung!
Alle die im Zeit haben: Bitte probiert das Teil mal aus. Das ganze habe ich in eine PCU gepackt und ist im Prinzip eine Klasse. Hier ein Demo-Code:
Ich will im Moment noch nicht viel verraten, das folgt alles, wenn der Parser einwandfrei funktioniert. Zum Ausprobieren einfach die Formel ändern, der Demo-Code ist eigentlich auch nicht schwer zu verstehen. Mir gehts, wie gesagt, im Moment nur darum Fehler aufzudecken. Ich hab bis jetzt keine gefunden, aber ich rechne mit ner Lawine Zuschriften. Naja, wenn das dann irgendwann richt funzt kann ich die Trigonometrie einbauen und Stochastik und so, dann werde ich auch eine vollständige Beschreibung liefern. Also wie gesagt: BITTE FEEDBACK, gerade wegen negativer Zahlen!
Jac
@Michael Wodrich: Vielen Dank für deine Hilfe! Ich hab leider die alte Version völlig verhunzt und hab deswegen nochmal von vorne angefangen. Aber einiges konnte ich wiederverwenden, vor allem wäre ich ohne deine Hilfe nicht so schnell vorangekommen!!!
Nachtrag: Auf neue Version aktualisiert: 0.1.0.4 (Verbesserung der Erkennung negativer Zahlen, müsste jetzt perfekt sein, der Term kann jetzt auch Parameter der Prozedur Parse angegeben werden [hat Vorrang vor der Angabe mit .term&!]). |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 09.02.2006 ▲ |
|
|
|
|
| |
|
- Seite 3 - |
|
Jac de Lad | Hallo Peter,
das ist mir jetzt ehrlich unbegreiflich, denn bei mir kommt immer das richtige Ergebnis (95415124894145.2031). Egal ob compiliert oder im Interpreter oder so. Hast du vielleicht eine Vorstellung woran das bei dir liegen könnte???
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 19.02.2006 ▲ |
|
|
|
|
Jac de Lad | Wird es gewünscht, dass Parcival bei einer Funktion, die eine ntürliche Zahl vorraussetzt (z.B. die stochatischen Funktionen) eine Fehlermeldung ausgegeben wird, wenn die Zahl Nachkommastellen hat? Ich will das jedenfalls so einbauen (alternativ, und daran werde ich jetzt ebenfalls evtl. arbeiten, könnte man auch bei bestimmten Fehlern, Meldungen unterdrücken und einfach weiterrechnen, bzw. wie in der Frage oben, einfach die Nachkommastellen abschneiden; quasi ein Set(ErrorLevel für Parcival).
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 19.02.2006 ▲ |
|
|
|
|
Jac de Lad | So, ich hab jetzt so ne Art ErrorHandling eingebaut. Schaut dazu mal in der Hilfe nach, bzw. im beigelegten Quelltext.
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 19.02.2006 ▲ |
|
|
|
|
| Die Unit ist fehlerhaft und lässt sich mit XProfan9 nicht kompilieren. Es erscheint die Meldung Befehl nicht gefunden: PARAMTERS BIT&
Parameters ist falsch geschrieben.
Auch meldet XPSE bei den Beispielen Fehler. |
|
|
| |
|
|
|
Jac de Lad | Oje, ich hatte gehofft, dass nun endlich alle Fehler behoben seien, dabei habe ich einen neuen eingebaut.
@iF: Was für Fehler meinst du in meinen Beispielen? Bei mir ningelt XPSE zwar rum, aber es lässt sich einwandfrei compilieren und ausführen!
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 20.02.2006 ▲ |
|
|
|
|
Jac de Lad | Hallo Community!
Hier die erste 0.4-er-Version. Ich habe was feines, neues eingebaut. Probierts mal aus. Die neue Funktion ist aber noch nicht fertig, sonder befindet sich noch in der Testphase. Ich bin natürlich weiterhin für alles (vor allem Fehler) offen!
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 21.02.2006 ▲ |
|
|
|
| |
|
- Seite 4 - |
|
|
Jac de Lad | Hab noch einen Fehler entdeckt und eine Variable hinzugefügt...
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 21.02.2006 ▲ |
|
|
|
|
Dietmar Horn | Hmmm ...
der Sinus von 180 Grad (laut taschenrechner.prf) soll sein:
0.00000000000000012
Da scheint irgendwas nicht ganz zu stimmen, oder?
Gruß Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...] Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...] | 22.02.2006 ▲ |
|
|
|
|
Jac de Lad | Hallo Dieter! Oach, sei mal nicht so pingelig, das ist ein Rundungsfehler. Ich schau mal, ob ich das noch wegkriege. Viel wichtiger sind mir im Moment noch richtige (will sagen, schwerwiegende) Fehler. Und ein Feedback zur Funktion .Graph (wie gesagt, ist noch nicht fertig). Aber danke für den Hinweis, wie gesagt, ich kümmer mich drum!
Jac
PS: Am Freitag werde ich anfangen 3D-Graphen zu implementieren (mal sehen, ob ich am Freitag schon fertig werde...). Die sollen dann auch frei drehbar sein! |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 22.02.2006 ▲ |
|
|
|
|
Jac de Lad | @Dietmar (Entschuldigung, ich hatte im letzten Beitrag aus Versehen Dieter geschrieben *zermürb*). Naja, jadenfalls habe ich das Problem behoben...glaube ich jedenfalls.
@all: Ich habe jetzt eine Funktion 3DGraph eingebaut, die 3D-Graphen zeichnet. Dabei kann der Betrachtunswinkel frei bestimmt werden. Sie ist allerdings noch nicht fertig (Überlappungen werden noch nicht erkannt, Betrachtungswinkel nocht nicht zu 100% fertig...). Naja, ich arbeite halt noch daran!
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 24.02.2006 ▲ |
|
|
|
|
Michael Wodrich | Thread Mathe-Parser wird ein bischen groß - weiter geht es in
[...]
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 24.02.2006 ▲ |
|
|
|
|
Unterthema: Zufällige, ungleichmässige 3d-Punkte [...] erzeugt. |
|
|
| |
|
|