Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Delphi Formelinterpreter, Programmierbarer Tabellenrechner (https://www.delphipraxis.net/133244-formelinterpreter-programmierbarer-tabellenrechner.html)

himitsu 1. Mai 2009 12:36

Re: Formelinterpreter, Programmierbarer Tabellenrwchner
 
Zitat:

Zitat von Dust Signs
sofern die Priorität des unären Minusoperators kleiner ist als die des Potenzoperators

eigentlich sollte der aber die größte Priorität haben?

Dust Signs 1. Mai 2009 12:46

Re: Formelinterpreter, Programmierbarer Tabellenrwchner
 
Bisher dachte ich immer, dass die Prioritäten folgendermaßen definiert wären (von niedrig zu hoch):

+ binär
- binär
* binär
/ binär
^ binär
+ unär
- unär

Bitte sagt mir, falls ich falsch liege. Die Anmerkung oben zu -1^2 = -(1^2) basierte auf der Annahme, dass die Prioritäten in Herrn Winters Parser nicht den oben aufgeführten entsprechen.

Dust Signs

himitsu 1. Mai 2009 12:51

Re: Formelinterpreter, Programmierbarer Tabellenrwchner
 
offiziell (siehe OH "Ausdrücke")
Zitat:

1. @, not
2. *, /, div, mod, and, shl, shr, as
3. +, -, or, xor
4. =, <>, <, >, <=, >=, in, is
real, da die unären Operatoren direkt zu den Werten gehören
Zitat:

0. + (unär), - (unär), ^ (dereferenzieren)
1. @, not
2. *, /, div, mod, and, shl, shr, as
3. +, -, or, xor
4. =, <>, <, >, <=, >=, in, is
müßte also so sein: -1^2 = (-1)^2

Dust Signs 1. Mai 2009 13:01

Re: Formelinterpreter, Programmierbarer Tabellenrwchner
 
Zitat:

Zitat von himitsu
müßte also so sein: -1^2 = (-1)^2

D.h., meine ursprüngliche Anmerkung war korrekt? @mkinzler: ist dein Kommentar bzgl. der komplexen Zahlen dann noch zutreffend und - falls ja - könntest du ein Beispiel posten?

Dust Signs

Mithrandir 1. Mai 2009 13:07

Re: Formelinterpreter, Programmierbarer Tabellenrwchner
 
:gruebel: Warum verstehe ich hier eigentlich nur Bahnhof? Ich dachte, es handelt sich hier um einen mathematischen Parser? Zumindest mit meinem begrenzten Mathewissensschatz wüsste ich nicht, warum -1^2 = 1 sein sollte.

Ja, ich habe mich im Wiki über das "unäre Minus" informiert. Und da steht:

Zitat:

Diese unterschiedliche Bindungsstärke gilt jedoch nicht in der Mathematik, weswegen dort das unäre Minus meist geklammert werden muss.
Worüber wird also diskutiert? :gruebel:

Khabarakh 1. Mai 2009 13:11

Re: Formelinterpreter, Programmierbarer Tabellenrwchner
 
Hu. Ihr würdet euch also wirklich y = -x² als nach oben geöffnet vorstellen :gruebel: ? Dann sollte man alle Mathelehrer und Taschenrechner sofort auf den Müll schmeißen :drunken: . Und fooplot hat immer recht ;P .

@himi: *hust* Vielleicht solltest du lieber eine Sprache hinzuziehen, die überhaupt einen Power-Operator kennt :zwinker: . Nehmen wir doch mal Python, das dürfte die am weitesten verbreitete sein:
Zitat:

Zitat von http://www.ibiblio.org/g2swap/byteofpython/read/operator-precedence.html
lambda Lambda Expression
or Boolean OR
and Boolean AND
not x Boolean NOT
in, not in Membership tests
is, is not Identity tests
<, <=, >, >=, !=, == Comparisons
| Bitwise OR
^ Bitwise XOR
& Bitwise AND
<<, >> Shifts
+, - Addition and subtraction
*, /, % Multiplication, Division and Remainder
+x, -x Positive, Negative
~x Bitwise NOT
** Exponentiation
x.attribute Attribute reference
x[index] Subscription
x[index:index] Slicing
f(arguments ...) Function call
(expressions, ...) Binding or tuple display
[expressions, ...] List display
{key:datum, ...} Dictionary display
`expressions, ...` String conversion

@Daniel: Ich fühle mich gerade auch im falschen Film ;) .

Mithrandir 1. Mai 2009 13:13

Re: Formelinterpreter, Programmierbarer Tabellenrwchner
 
Zitat:

Zitat von Khabarakh
@Daniel: Ich fühle mich gerade auch im falschen Film ;) .

Na Gott sei Dank. Ich hab schon an meinem Verstand gezweifelt... ;)

himitsu 1. Mai 2009 13:25

Re: Formelinterpreter, Programmierbarer Tabellenrwchner
 
hat wer 'ne Zeitmaschiene?
(vielleicht sollte ich mal statt Delphi meine alte Mathelehrerin besuchen ... aber jetzt wo du's sagst :wall: )

Dust Signs 1. Mai 2009 14:18

Re: Formelinterpreter, Programmierbarer Tabellenrwchner
 
@Daniel, Khabarakh: ihr hattet Recht, -3^2 = -9, auch nach diesem Artikel. Ich hatte also Unrecht, und auch Herr Winters Parser arbeitet in dieser Hinsicht richtig. Wieder was gelernt :)

Dust Signs

Dipl Phys Ernst Winter 2. Mai 2009 16:29

Re: Formelinterpreter, Programmierbarer Tabellenrwchner
 
[quote="Dust Signs"]

Zitat:

Bisher dachte ich immer, dass die Prioritäten folgendermaßen definiert wären (von niedrig zu hoch):

+ binär
- binär
* binär
/ binär
^ binär
+ unär
- unär
Du liegst falsch! Ein Minus bleibt ein Minus, auch wenn es unär vor einem Ausdruck steht. Am einfachsten denkt man sich für einen unären Operator 0- bzw. 0+


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:15 Uhr.
Seite 4 von 5   « Erste     234 5      

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