Hi,

Am 08.06.2011 18:07, schrieb Ernst Hügli:

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!

Leider sieht Microsoft das anders und hat genau diesen Fall in OOXML so definiert.

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.

Für Softwareprogramme, ist aber leider manchmal die langjährige prktische Umsetzung im gegebenen Umfeld von höherer Relevanz. Drum steht es auch so im ODF-Standard (Operatoren geordnet nach Priorität absteigend)
http://docs.oasis-open.org/office/v1.2/cs01/OpenDocument-v1.2-cs01-part2.html#refTable0

Das Vorzeichen hat hier höhere Priorität als die Potenz. Auch ist der Potenz-Operator als links-assoziativ definiert (wiederum abweichend von den mathematischen Regeln, aber eben konsistent mit jahrelangem Verhalten von Tabellenkalkulationen).

Glaub mir, ich bin über solche Zustände nicht begeistert, aber mach bitte den Programmieren daraus keinen Vorwurf, die einmal den ursprünglichen Fehler gemacht haben. Ich habe es in den letzten Jahren (beruflich) wiederholt erlebt, dass Fehlerkorrekturen in Berechnungsprozessen von Anwender abgelehnt wurde, weil sich etwas *ändert*. Stabilität der Ergebnisse wird leider sehr oft höherbewertet als korrekte Ergebnisse :(

Gruß,

André




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

Antwort per Email an