Hallo Ernst,

Ernst Hügli schrieb:
  Hallo Regina

Am 08.06.2011 16:48, schrieb Regina Henschel:
Das Zeichen - für Subtraktion ist ein binärer Operator, er muss also
linkes und rechts einen Operanden haben. In -3^2 steht aber links kein
Operand, folglich ist das Zeichen - kein Zeichen für die Subtraktion.
Es kann also nur ein Vorzeichen sein.

Stimmt.

Also ist (-3)^2 gemeint.

Falsch! Nimm irgend ein mathematisches Lehrbuch,  und Du wirst finden,
dass das, was Du meinst, *zwingend* mit Klammern als (-3)^2 geschrieben
werden muss. Andernfalls betrifft die Regel des Potenzierens nur
denjenigen Term, der unmittelbar davor steht - dh. nur die 3. Also ist
-3^2 = -(3 * 3) = -9.  Dass andere Programme es so oder anders machen,
ist keine Referenz. Schliesslich wird 1900 nicht dadurch zu einem
Schaltjahr, dass Excel fälschlicherweise so rechnet! Relevant sind die
mathematischen Gesetze, und die lauten schlicht und einfach so, wie ich
sie hier zitiere. Als Mathematiker muss ich schliesslich wissen, wovon
ich rede.

Die für Calc maßgebliche Refernz ist die ODF-Spezifikation. Und dort ist als Preferenz u.a. festgelegt:
Vorzeichen + und -
Prozentzeichen %
Potenzieren ^
Multiplizieren und Dividieren * /
Addition und Subtraktion (binärer Operator) + und -

Das Vorzeichen - ist also vor dem Potenzieren anzuwenden.


Im übrigen zeigt gerade der Vergleich mit 0 - 3^2, worum es eigentlich
geht. Machen wir zuerst einen kleinen Exkurs: bei einem Bruch kommt kein
Mensch auf die Idee, 4/5^2 als (4/5)^2 = 16/25 zu interpretieren,
sondern jeder rechnet ganz automatisch 4/5^2 = 4/25.  Sogar Calc O:-) .

Calc besitzt keinen Datentyp "Bruch" und ein solcher ist in ODF auch nicht vorgesehen. Für Calc ist 4/5^2 also nicht anderes als Vier / Fünf ^Zwei.

Nun ist aber 4/5 eine Zahl wie -3. Warum wird dann in diesem Fall die
Potenz nur auf den Nenner und nicht auf den ganzen Bruch angewendet?

Weil es eben kein Bruch als Datentyp ist, sondern eine Division.

Doch jetzt zurück zum ursprünglichen Problem: -3 ist eigentlich wie 4/5
eine Zahl, die als Rechenvorschrift verstanden werden muss.  -3 ist *ein*
Repräsentant aus einer Äquivalenzklasse sämtlicher Subtraktionen, bei
der der Subtrahend um 3 grösser ist als der Minuend: 4 - 7 = 3 - 6 = 2 -
5 = 1 - 4 = 0 - 3. Ähnlich ist 4/5 der Repräsentant aller Divisionen der
Gestalt 4/5 = 8/10 = 12/15 = 16/20 = ...  Man ist bei den negativen
Zahlen übereingekommen, statt der eigentlich korrekten, aber
umständlichen Schreibweise 0 - 3 (entspricht dem vollständig gekürzten
Bruch 4/5) kurz einfach -3 zu schreiben.

Wenn du auf der Ebene der Äquivalenzklassen argumentieren willst, musst du aber in der Notation deutlich zwischen einem Term 4/5 und einer Äquivalenzklasse unterscheiden. Benutze für die Notations der Äquivalenzklasse doch mal die Wortform. Dann wird auf einmal alles klar und eindeutig.

 Wenn es so wäre, dass -3^2 = +9
wäre, dann müsste in dieser Logik auch 0 - 3^2 = +9 und 4/5^2 = 16/25
ergeben.

Wenn du nur 0 - 3 bzw. 4/5 hinschreibst, ohne in der Notation kenntlich zu machen, dass dies eine Äquivalenzklasse sein soll, dann besteht die Übereinkunft, sie nicht als Äquivalenzklasse aufzufassen, sonder als Term mit dem Operator - bzw. /

 Tut es aber nicht. Warum also soll eine so logische
Wissenschaft wie die Mathematik ausgerechnet bei -3^2 eine Ausnahme von
den sonst üblichen Regeln machen?

-3^2 ist keine Ausnahme. Das Problem ist eher, dass die alltäglichen Schreibweisen sehr lax sind, weil sich meist aus dem Kontext ergibt, was der Autor gemeint hat. Deswegen finde ich das Vorgehen von Gnumeric auch gut, bei Eingabe von =-3^2 automatisch =(-3)^2 daraus zu machen. Dadurch wird jedem Autor bewusst, dass das was er eingibt u.U. nicht das ist, was er gemeint hat.


Der Operator ^ ist als links-assoziativ definiert (ODF1.2 part2
chapter 5.5). Daher wird der Ausdruck von links her gruppiert, was
(2^3)^2 ergibt.

Besser wäre, es würde eine Fehlermeldung ausgegeben, denn mathematisch
ist ein solcher Ausdruck nicht definiert, also unsinnig!

Warum? Du erwartest bei 8-4-1 doch auch keine Fehlermeldung. "Links-Assoziativ" heißt doch nur, dass Operatoren auf der gleichen Vorrangstufe von links nach rechts ausgwertet werden. Das ist etwas völlig anderes als die Eigenschaft "assoziativ" für zweistellige Verknüpfungen.

[..]

MfG
Regina

--
-----------------------------------------------------------------
To unsubscribe send email to users-unsubscr...@de.openoffice.org
For additional commands send email to sy...@de.openoffice.org
with Subject: help

Reply via email to