Falsche Vorzeichenverarbeitung beim Quadrieren

Liebe RagTimer,

eben habe ich einen ganz, ganz bösen Fehler entdeckt, der sich sehr einfach darstellen lässt.
In einer Rechenzelle habe ich die Formel
-5**2
stehen, die 25 berechnet, wohlgemerkt ohne negatives Vorzeichen!
Steht dieser Ausdruck aber irgendwo im inneren einer umfangreicheren Formel, und sei es nur
0 - 5**2,
so wird richtig -25 berechnet.
Nicht einmal
-(5)**2
schafft das Programm richtig, obwohl hier die Zuordnung des negativen Vorzeichens absolut eindeutig ist, also auch hier 25 statt -25.
Immerhin werden
-Quadrat(5)
und
-(5**2)
richtig zu -25 berechnet.

Der Ausdruck
-5**2
wird offenbar am Anfang der Formel wie (-5)**2 behandelt.
Das hat mich jetzt zweieinhalb Tage Fehlersuche in meinen eigenen Umformungen gekostet. Sehr komisch fand ich das nicht!
Wenn dieser Fehler nicht an meinem System liegt (MacBook Pro, Mac OS 10.6.4, RagTime 6.0.2, Build 1632) sondern auf anderen Rechnern (vielleicht auch unter Windows) reproduzierbar ist, dann muss er schleunigst, dringendst, noch gestern korrigiert werden.

In guter Hoffnung
Andreas Loos

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9766 On 14 Oktober, 2010 08:59 Thomas Kaegi said,

Hallo Andreas

Du musst umdenken!

Deine "Negativbeispiele":
-5**2: Hier ist das Minuszeichen klar ein Vorzeichen, gehört also zur 5, die quadriert wird - Resultat: 25
0-5**2: Hier ist das Minuszeichen klar ein Operator. Die Quadratur hat Priorität. Das Quadrat wird von 0 abgozogen - Resultat: -25
-(5)**2: Die Klammern machen keinen Unterschied zum ersten Fall, also Resultat: 25

Alle Formeln hat RagTime völlig korrekt berechnet!

Mit freundlichem Gruss
Thomas

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9767 On 14 Oktober, 2010 09:04 "Norbert R. Obst" said,

Hallo, ich weiß ’was!

Ich arbeite mit Mac OS X Version 10.5.8 und RagTime 6.5.2 (Build 1821)
auf einem iMac mit 2,4 GHz Intel Core 2 Duo.z.

Zugegeben, das Ergebnis des Beispiel ist verwirrend: Deutlich wird die
Regel Punkt vor Strich, wenn man die -5 hoch drei rechnet. Es soll ja
von 0 das Quadrat von 5 abgezogen werden. Da ist es doch ganz egal, ob
da -5**2 oder (-5**2) steht. Bei (-5**3) zeigt sich dann der
Unterschied.

Mit freundlichen Grüßen
Norbert O

Am 14.10.2010 um 09:11 schrieb Andreas Loos:

> Liebe RagTimer,
>
> eben habe ich einen ganz, ganz bösen Fehler entdeckt, der sich sehr
> einfach darstellen lässt.
> In einer Rechenzelle habe ich die Formel
> -5**2
> stehen, die 25 berechnet, wohlgemerkt ohne negatives Vorzeichen!
> Steht dieser Ausdruck aber irgendwo im inneren einer umfangreicheren
> Formel, und sei es nur
> 0 - 5**2,
> so wird richtig -25 berechnet.
> Nicht einmal
> -(5)**2
> schafft das Programm richtig, obwohl hier die Zuordnung des
> negativen Vorzeichens absolut eindeutig ist, also auch hier 25 statt
> -25.
> Immerhin werden
> -Quadrat(5)
> und
> -(5**2)
> richtig zu -25 berechnet.
>
> Der Ausdruck
> -5**2
> wird offenbar am Anfang der Formel wie (-5)**2 behandelt.
> Das hat mich jetzt zweieinhalb Tage Fehlersuche in meinen eigenen
> Umformungen gekostet. Sehr komisch fand ich das nicht!
> Wenn dieser Fehler nicht an meinem System liegt (MacBook Pro, Mac OS
> 10.6.4, RagTime 6.0.2, Build 1632) sondern auf anderen Rechnern
> (vielleicht auch unter Windows) reproduzierbar ist, dann muss er
> schleunigst, dringendst, noch gestern korrigiert werden.
>
> In guter Hoffnung
> Andreas Loos
>
>

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9769 On 15 Oktober, 2010 03:57 Andreas Loos said,

Lieber Norbert,

also bei Dir reagiert RagTime genauso, wenn ich Dich richtig verstanden habe. Das ist höchst ärgerlich. Man muss sich eben daran gewöhnen.

Andreas Loos

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9770 On 15 Oktober, 2010 06:44 Tom Kaegi said,

Lieber Andreas

Logisch rechnet RagTime bei Norbert genau wie bei dir, nämlich so wie es rechnen soll. Hast du denn meine und Jürgen Schells Antworten nicht gelesen, bevor du deinen völlig unberechtigten Ärger erneut zum Ausdruck gebracht hast? Du musst dich an die Logik der Abarbeitung von Formeln gewöhnen, die nicht nur bei RagTime so ist, sondern auch bei allen anderen mir geläufigen Computerprogrammen und -sprachen, angefangen bei ALGOL, das ich vor knapp 50 Jahren an der ETH gelernt habe. Es wäre schlimm, wenn jedes Programm dafür seine eigenen Regeln befolgen würde.

Gruss, Thomas

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9773 On 15 Oktober, 2010 14:35 Andreas Loos said,

Lieber Thomas,

inzwischen befassen sich Listenteilnehmer (Thomas, bist du das?), Jürgen Schell und Du mit dem Thema. Ich habe vorhin einem von Euch geantwortet, konnte das Schreiben aber nur als "persönliche Antwort" abschicken (ich hoffe, es hieß genau so). Wo die Antwort gelandet ist, weiß ich leider nicht mehr.
Erstens, Thomas, ich bin keineswegs ärgerlich, das ist bei einer ganz sachlichen Kritik aus meiner Sicht auch nicht nötig.
Zweitens, ich habe die Antworten natürlich gelesen. Die Aufzählung der Reihenfolge der Operatoren ist schön und gut, sollte aber hier so nicht greifen.
Drittens: Du erwähnst Algol, schön, ich habe es eben beim Filemaker probiert, der gibt Dir recht und berechnet -5^2 zu 25, was falsch ist, worauf ich bestehe.
Der Grapher, der beim Mac OS mitgelieferte Funktionsplotter, macht's richtig. Dort wird die Gerade y=-5^2 wie y=-25 dargestellt.
Dass die Programmiersprachen mehr oder weniger alle den selben Fehler machen, wie Du sagst, kann ich nicht bestätigen. Aber auch nicht widerlegen, ich habe zur Zeit nichts Passendes auf dem Rechner. Bei verschiedenen Pascal-Versionen, bei LOGO, bei C und bei Java ist es mir nicht aufgefallen. Das heißt aber nicht viel, denn der Fall tritt wohl eher sehr selten auf.
Trotzdem, die ganze Sache widerspricht der klassischen Schreibweise der Schulmathematik. Es wäre schon komisch, wenn ein 8-Klässler bei der Einführung der Potenzen umlernen müsste: "Die Addition einer Null zu irgendeinem Ausdruck ändert nichts am seinem Ergebnis" müsste jetzt lauten: "Die Addition einer Null ändert normalerweise nichts am Ergebnis, es sei denn, der Ausdruck ist eine Potenz, weil z. B. bei -5^2 = 25 durch die Addition einer Null das Vorzeichen umgekehrt wird, denn es gilt 0-5^2 = -5".
Die Addition einer Null kann das Vorzeichen umkehren?!?
Mal ehrlich, liebe Leute, was verteidigt ihr da? Es ist ein Verstoß gegen die übliche Schreibweise der Mathematik. Die ist schon sehr, sehr alt. Die Programmiersprachen sind noch recht jung (wenn man einmal von den Versuchen des Herrn Babbage und seiner Assistentin Ada Lovelace absieht). Da hätten sich die Entwickler der Programmiersprachen lieber gleich daran halten sollen, dann hätten wir jetzt nichts zu streiten.
Ich finde, wir sollten die Auseinandersetzung beenden. Ihr verteidigt dies Verhalten, ich nenne es einen Fehler. Ok. Anderes würde wohl auch später nicht mehr herauskommen.

Mit besten Grüßen
Andreas Loos

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9771 On 15 Oktober, 2010 09:44 Gottwalt Thiersch said,

Hallo Tom,

den Ärger von Andreas kann ich schon verstehen. Kommt man von der geschriebenen Formel, so liest sich die Notation "minus fünf hoch zwei" eben ausgerechnet als "minus fünfundzwanzig," da hier die Konvention "minus Klammer auf Fünf hoch zwei Klammer zu" entspricht, das Minus also gerade NICHT als Vorzeichen der Basis, sondern vielmehr als Vorzeichen des gesamten Ausdrucks gesehen würde.

Dass dies auch bei allen anderen mir bekannten Programmen und Programmiersprachen so gehandhabt wird wie bei RagTime ist sinnvoll, widerspricht aber auf den ersten Blick der Papiergewohnheit bzw. Papierkonvention. Dies gilt ja auch ansonsten für "Punkt-vor-Strich"-Verhalten, wo man sich umgewöhnen und sauber klammern muß, damit nicht fälschlicherweise Operatoren als Vorzeichen interpretiert werden.

Lieben Gruß

Gottwalt

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9774 On 15 Oktober, 2010 14:51 Andreas Loos said,

Lieber Gottwald,

ich glaube, ich habe Dich eben mit Thomas verwechselt. Entschuldigung. Im node 3202/9771#9771 erscheinst Du als Listenteilnehmer, hier als Gottwald Tiersch. Ach, ich habe die Organisation dieses Forums bis heute nicht kapiert.
Na ja, gut.
Ich freue mich, dass Du meine Ansicht unterstützt. Aber es wird nichts helfen, wir werden in einigen seltenen Fällen weiter ohne das Kommutativgesetz der Addition leben müssen, wenn wir nicht mehr mit der Hand schreiben.

Dank und Gruß
Andreas Loos

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9768 On 14 Oktober, 2010 13:05 Jürgen Schell said,

Die Prioritätsfolge der Operatoren steht übrigens auch im Handbuch: Unter »Hilfe« die »RagTime-Formeln und -Funkgionen« öffnen. In der Navigation »Formeln« aufklappen und »Operatorreihenfolge« anklicken.

Vorzeichen stehen auf Platz 1, potenzieren auf Platz 3 (und addieren / subtrahieren auf Platz 5). »-5**2« ist also spezifiziert dasselbe wie »(-5)**2«

»-(5**2)« gibt natürlich -25, weil jetzt die Klammerung überwiegt.

Gruß, Jürgen

www.j-schell.de

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9775 On 15 Oktober, 2010 14:56 Andreas Loos said,

Lieber Jürgen,

Dank auch für Deine Antwort.
Ich glaube, jetzt ist alles geschrieben und Du konntest es mitlesen.

Andreas Loos

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9791 On 16 Oktober, 2010 08:16 "Norbert R. Obst" said,

Hallo Andreas,

wie soll ein Rechner erkennen, daß Du nicht die negative Zahl 5
quadrieren möchtest -5^2, sondern daß das Ergebnis der Quadratur
negativ sein soll -(5^2)?

Mit freundlichen Grüßen
Norbert O

Am 15.10.2010 um 15:36 schrieb Andreas Loos:

> Lieber Thomas,
>
> inzwischen befassen sich Listenteilnehmer (Thomas, bist du das?),
> Jürgen Schell und Du mit dem Thema. Ich habe vorhin einem von Euch
> geantwortet, konnte das Schreiben aber nur als "persönliche Antwort"
> abschicken (ich hoffe, es hieß genau so). Wo die Antwort gelandet
> ist, weiß ich leider nicht mehr.
> Erstens, Thomas, ich bin keineswegs ärgerlich, das ist bei einer
> ganz sachlichen Kritik aus meiner Sicht auch nicht nötig.
> Zweitens, ich habe die Antworten natürlich gelesen. Die Aufzählung
> der Reihenfolge der Operatoren ist schön und gut, sollte aber hier
> so nicht greifen.
> Drittens: Du erwähnst Algol, schön, ich habe es eben beim Filemaker
> probiert, der gibt Dir recht und berechnet -5^2 zu 25, was falsch
> ist, worauf ich bestehe.
> Der Grapher, der beim Mac OS mitgelieferte Funktionsplotter, macht's
> richtig. Dort wird die Gerade y=-5^2 wie y=-25 dargestellt.
> Dass die Programmiersprachen mehr oder weniger alle den selben
> Fehler machen, wie Du sagst, kann ich nicht bestätigen. Aber auch
> nicht widerlegen, ich habe zur Zeit nichts Passendes auf dem
> Rechner. Bei verschiedenen Pascal-Versionen, bei LOGO, bei C und bei
> Java ist es mir nicht aufgefallen. Das heißt aber nicht viel, denn
> der Fall tritt wohl eher sehr selten auf.
> Trotzdem, die ganze Sache widerspricht der klassischen Schreibweise
> der Schulmathematik. Es wäre schon komisch, wenn ein 8-Klässler bei
> der Einführung der Potenzen umlernen müsste: "Die Addition einer
> Null zu irgendeinem Ausdruck ändert nichts am seinem Ergebnis"
> müsste jetzt lauten: "Die Addition einer Null ändert normalerweise
> nichts am Ergebnis, es sei denn, der Ausdruck ist eine Potenz, weil
> z. B. bei -5^2 = 25 durch die Addition einer Null das Vorzeichen
> umgekehrt wird, denn es gilt 0-5^2 = -5".
> Die Addition einer Null kann das Vorzeichen umkehren?!?
> Mal ehrlich, liebe Leute, was verteidigt ihr da? Es ist ein Verstoß
> gegen die übliche Schreibweise der Mathematik. Die ist schon sehr,
> sehr alt. Die Programmiersprachen sind noch recht jung (wenn man
> einmal von den Versuchen des Herrn Babbage und seiner Assistentin
> Ada Lovelace absieht). Da hätten sich die Entwickler der
> Programmiersprachen lieber gleich daran halten sollen, dann hätten
> wir jetzt nichts zu streiten.
> Ich finde, wir sollten die Auseinandersetzung beenden. Ihr
> verteidigt dies Verhalten, ich nenne es einen Fehler. Ok. Anderes
> würde wohl auch später nicht mehr herauskommen.
>
> Mit besten Grüßen
> Andreas Loos
>
>

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9807 On 17 Oktober, 2010 05:11 Andreas Loos said,

Lieber Norbert,

Gegenfrage: wie erkennt der Rechner es in der Formel 0-5**2? Und da erkennt er es ja.
Das ist eben keine Frage des Rechners, sondern eine Frage des Programmentwurfs, also der Programmierer.
Für mich bleibt's dabei: an dieser Stelle ist ein Fehler im Entwurf.
Übrigens finde ich es merkwürdig, dass keiner der Befürworter auf dies bizarre Verhalten von RagTime eingegangen ist, dass -5**2 das Ergebnis +25 ergibt, 0-5**2 aber -25.

Liebe Grüße
Andreas Loos

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9797 On 16 Oktober, 2010 13:30 Stephan Will said,

Halo Andreas,

Am Fri Oct 15 2010 15:36:01 GMT+0200 schrieb Andreas Loos
:
> Zweitens, ich habe die Antworten natürlich gelesen. Die Aufzählung der
> Reihenfolge der Operatoren ist schön und gut, sollte aber hier so nicht greifen.
Warum nicht?
Weil Du es anders interpretiert haben willst?

> Drittens: Du erwähnst Algol, schön, ich habe es eben beim Filemaker probiert,
> der gibt Dir recht und berechnet -5^2 zu 25, was falsch ist, worauf ich bestehe.
Auf etwas "bestehen" sollte man nicht.

> Der Grapher, der beim Mac OS mitgelieferte Funktionsplotter, macht's richtig.
> Dort wird die Gerade y=-5^2 wie y=-25 dargestellt.
Nach welcher Vorgehensweise/Formel wird das intern berechnet?

> Trotzdem, die ganze Sache widerspricht der klassischen Schreibweise der
> Schulmathematik.
Tut es das?

-5^2 = -5 * -5 = 25, oder?

> Es wäre schon komisch, wenn ein 8-Klässler bei der Einführung
> der Potenzen umlernen müsste: "Die Addition einer Null zu irgendeinem Ausdruck
> ändert nichts am seinem Ergebnis" müsste jetzt lauten: "Die Addition einer Null
> ändert normalerweise nichts am Ergebnis, es sei denn, der Ausdruck ist eine
> Potenz, weil z. B. bei -5^2 = 25 durch die Addition einer Null das Vorzeichen
> umgekehrt wird, denn es gilt 0-5^2 = -5".

-5^2: das Minus ist als Vorzeichen von 5 zu interpretieren
(=Schulmathematik, zumindest zu meiner Zeit) und ergibt somit als
Ergebnis 25 (vgl. oben).

0-5^2 (besser: 0 - 5^2): das Minus ist als Rechenanweisung zu verstehen:
das Ergebnis von 5^2 (=25) wird von 0 abgezogen = -25

> Die Addition einer Null kann das Vorzeichen umkehren?!?
Nicht die Addition einer Null, sondern das Subtrahieren ausgehend von Null.

> Mal ehrlich, liebe Leute, was verteidigt ihr da? Es ist ein Verstoß gegen die
> übliche Schreibweise der Mathematik.
So?

Übrigens:
Zitat Loose: "... berechnet -5^2 zu 25, was falsch ist, worauf ich bestehe."

Weiter unten schreibst Du:
Zitat Loose: "... weil z. B. bei -5^2 = 25 durch die Addition einer Null
..."

Also ist "-5^2 = 25" nun falsch (worauf Du ja bestehst) oder nach
Schulmathematik nun doch korrekt gerechnet??

Gruß
Stephan

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9798 On 16 Oktober, 2010 16:24 Gottwalt said,

Am 16.10.2010 um 14:30 schrieb Stephan Will:

Halo Andreas,

Am Fri Oct 15 2010 15:36:01 GMT+0200 schrieb Andreas Loos <webgast@ragtime.de>:
Zweitens, ich habe die Antworten natürlich gelesen. Die Aufzählung der
Reihenfolge der Operatoren ist schön und gut, sollte aber hier so nicht greifen.
Warum nicht?
Weil Du es anders interpretiert haben willst?

Vermutlich, weil die Konvention der Schriftform eine andere ist? Der Ausdruck "n hoch m" wird zuerst behandelt, dann erst ggf. vorhandene Vorzeichen. Wenn man dies anders will, so muß man bei der Schriftform entsprechend klammern, der hier konkret benannte Ausdruck "-5 ** 2" müßte auf Papier als "(-5) ** 2" notiert werden, wenn dabei " -5 * -5" gerechnet werden soll. Sonst würde korrekt der Potenz Vorrang eingeräumt (entsprechend der Regel "Punkt vor Strich") und es würde "- (5 * 5) gerechnet, mit dem Ergebnis "-25"

Drittens: Du erwähnst Algol, schön, ich habe es eben beim Filemaker probiert,
der gibt Dir recht und berechnet -5^2 zu 25, was falsch ist, worauf ich bestehe.
Auf etwas "bestehen" sollte man nicht.

Je nun, die Konventionen der mathematischen Notation sind ja nur Konventionen. Werden sie jedoch gebrochen, so hilft es dem allgemeinen Verständnis, wenn dies benannt wird.

Trotzdem, die ganze Sache widerspricht der klassischen Schreibweise der
Schulmathematik.
Tut es das?

-5^2 = -5 * -5 = 25, oder?

Nein, eben nicht, wie oben ausgeführt. Dafür müßte (-5) dort stehen.


Es wäre schon komisch, wenn ein 8-Klässler bei der Einführung
der Potenzen umlernen müsste: "Die Addition einer Null zu irgendeinem Ausdruck
ändert nichts am seinem Ergebnis" müsste jetzt lauten: "Die Addition einer Null
ändert normalerweise nichts am Ergebnis, es sei denn, der Ausdruck ist eine
Potenz, weil z. B. bei -5^2 = 25 durch die Addition einer Null das Vorzeichen
umgekehrt wird, denn es gilt 0-5^2 = -5".

-5^2: das Minus ist als Vorzeichen von 5 zu interpretieren (=Schulmathematik, zumindest zu meiner Zeit) und ergibt somit als Ergebnis 25 (vgl. oben).

Nein. Es gilt die Potenz als Teil der Basis und hat Vorrang, entsprechend der "Punkt-vor-Strich"-Regel. Will man es so behandeln wie Du meinst, müßte man die -5 klammern.

Wie gesagt: Es handelt sich dabei ja NUR um Konventionen, die man nicht einhalten muß. Wreden sie jedoch gebrochen, so ist ein Hinweis schon hilfreich ... 
Dabei gilt im übrigen, daß selbst verschiedene Fachbereiche der Mathematik unterschiedliche Konventionen haben, von den Physikern ganz zu schweigen. Aber dies ist dann jeweils bekannt, bzw. man vermerkt explizit, daß nun eine bestimmte Konvention anzuwenden ist.

Gruß

Gottwalt

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9799 On 16 Oktober, 2010 16:29 Gottwalt said,

Am 16.10.2010 um 09:16 schrieb Norbert R. Obst:

> Hallo Andreas,
>
> wie soll ein Rechner erkennen, daß Du nicht die negative Zahl 5 quadrieren möchtest -5^2, sondern daß das Ergebnis der Quadratur negativ sein soll -(5^2)?

Lieber Norbert,

auf Papier würde man da die -5 klammern. Die Notation wäre also (-5)^2, das Ergebnis wäre 25. Schreibt man jedoch -5^2, so ist dies auf Papier üblicherweise (zumindest in Algebra, Zahlentheorie und Analysis) als -(5^2) zu lesen.

Gruß

Gottwalt

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9800 On 16 Oktober, 2010 17:24 Gottwalt said,

Hallo Liste,

jetzt will ich doch nochmal drauf herumreiten, denn Stephan schrieb es wunderschön auf, sodaß der tatsächliche Formalismusbruch durch RagTime offensichtlich sicherlich für jedermann verständlich ist:
>
> 0-5^2 (besser: 0 - 5^2): das Minus ist als Rechenanweisung zu verstehen:
> das Ergebnis von 5^2 (=25) wird von 0 abgezogen = -25

Jetzt schreibe ich mal weiter:
0 - 5^2 = - 5^2 + 0

Nun wird es sicherlich offensichtlich, daß der Ausdruck "- 5 ^2" niemals als (-5)*(-5) interpretiert werden dürfte. Und die Unterscheidung in "Vorzeichen" und "Rechenanweisung ist völliger Schwachsinn, die gibt es nicht. Beispiel:

a - b = a + (-b) = - b + a = - (b - a) = - ( - ( a - b ), aber auch = (-1)(b-a), oder auch als a - (-1)(b) undsofort.

Also: Die Unterscheidung in "Vorzeichen" und "Rechenanweisung" oder "Operator" oder "Funktion" ist inexistent und höchstens analog der Rangfolge zu verstehen, aber diese drückt man gewöhnlich durch Klammerungen aus.
Und setze ich jetzt im obigen Beispiel a = -b, ja was dann?

Deshalb, ganz klar: RagTime bricht die Konvention, so wie viele andere Computersprachen auch, das muß man wissen, und besonders ärgerlich ist, daß dies nicht stringent erfolgt (ebenso wie sonstige Rechenkonventionen nicht konsequent durchgezogen werden). Würde es stringent erfolgen, dürfte das obige Beispiel nicht zu unterschiedlichen Ergebnissen führen.

Aber, nochmal ganz deutlich: Dabei handelt es sich um Konventionen, RagTime vereinbart andere als die üblichen, wenn man es weiß, kann man damit ebenfalls zu mathematisch richtigen Ergebnissen kommen.
Hilfreich wäre hierfür endlich ein brauchbarer Formeleditor bzw. Formelassistent, und ich werde die nächste RagTime-Version erst kaufen, wenn dieser eingeführt wurde (also vermutlich nie mehr).

Gruß

Gottwalt

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9801 On 16 Oktober, 2010 17:39 Stephan Will said,

Hallo Gottwalt,

Am Sat Oct 16 2010 17:56:05 GMT+0200 schrieb Gottwalt :
>> -5^2: das Minus ist als Vorzeichen von 5 zu interpretieren (=Schulmathematik, zumindest zu meiner Zeit) und ergibt somit als Ergebnis 25 (vgl. oben).
>
> Nein. Es gilt die Potenz als Teil der Basis und hat Vorrang, entsprechend der "Punkt-vor-Strich"-Regel.

Seit wann wird ein Minus, das als Vorzeichen der Zahl zu verstehen ist,
unter Strichrechnung einsortiert?
Nach Deiner Ansicht sind also -5^2 und 0 - 5^2 gleichbedeutend, korrekt?

0 - 5^2 ist Strichrechnung (Ergebnis -25), aber -5^2?

> Will man es so behandeln wie Du meinst, müßte man die -5 klammern.

Dann rechnen also alle meine Taschenrechner (und auch der
Windows-Rechner) seit Jahrzehnten falsch?

Bei denen ist -5^2 = 25 und -5^3 = -125.

> Wie gesagt: Es handelt sich dabei ja NUR um Konventionen, die man nicht einhalten muß. Wreden sie jedoch gebrochen, so ist ein Hinweis schon hilfreich ...
> Dabei gilt im übrigen, daß selbst verschiedene Fachbereiche der Mathematik unterschiedliche Konventionen haben, von den Physikern ganz zu schweigen.
> Aber dies ist dann jeweils bekannt, bzw. man vermerkt explizit, daß
nun eine bestimmte Konvention anzuwenden ist.

Also gibt es keine allgemeingültige Konvention, auf die
Otto-Normalverbraucher zurückgreifen kann??
Wie kann eine Konvention (die es nicht gibt) gebrochen werden?

Oder andersrum: welche mathematische Konvention gilt denn im normalen
Leben und warum diese?

Oder muß ich zukünftig als erstes meine zugrunde liegende mathematische
Konvention angeben?

Und was wird dann heute in der Schulmathematik gelehrt?
Etwas anderes als vor 30 Jahren?
Oder kann es jeder Mathe-Lehrer festlegen, wie er möchte?

Im übrigen, die Konventionen irgendwelcher Spezialdisziplinen der
Mathematik oder Physik sind für den Umgang mit Zahlen im alltäglichen
Leben nicht wirklich relevant.

Gruß
Stephan

ps: 1+1=2 ist auch lediglich eine Konvention im Dezimalsystem, nicht wahr?

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9810 On 17 Oktober, 2010 09:32 Bernhard Storch said,

Hallo Stephan,

du schreibst: Dann rechnen also alle meine Taschenrechner ... seit Jahrzehnten falsch?
Bei denen ist -5^2 = 25.

Bei dieser Eingabe rechnen alle meine 5 Taschenrechner (einschließlich der auf Mac und iPhone) zunächst das Zwischenergebnis 5^2 und zeigen als solches 25 an. Mancher vergisst jetzt, die Gleichzeichen-Taste zur Berechnung des Endergebnisses zu drücken, was dann -25 ergibt und nach meiner Schulmathematik korrekt ist, weil Potenzrechnung Vorrang vor Punkt- und Strichrechnung hat.

Nur wenn ich zunächst 5 eingebe und dann mit der dafür vorgesehenen Taste das Vorzeichen tausche, wird das Quadrat der negativen Zahl berechnet, also der Term (-5)^2, was dann 25 ergibt.

Leider weiß ich nicht, was unter prozeduraler Rechnung zu verstehen ist. Vielleicht kann mir das jemand erklären?

Gruß, Bernhard Storch

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9812 On 17 Oktober, 2010 10:09 Stephan Will said,

Hallo Gottwalt,

ersteinmal einen herzlichen Dank für Deine Ausführungen.
Ich finde die Diskussion richtig spannend.

Am Sat Oct 16 2010 21:37:17 GMT+0200 schrieb Gottwalt :
> das, was Du als "Vorzeichen" verstehst, ist lediglich eine Notationsverkürzung. Denn eigentlich steht dort ja (-1) x 5^2, in Worten minus eins mal fünf hoch zwei. Und schon siehst Du, daß das "Vorzeichen" für den Gesamtausdruck "fünf hoch zwei" gelten muß, der ja der "innere" Ausdruck ist und erst abgearbeitet werden muß, denn ausgeschrieben wäre es ja (-1) x (5 x 5), wobei Du auch die Klammern komplett weglassen kannst und dennoch zum selben Ergebnis kommst. Zum von Dir gewünschten Ergebnis (und dem Ergebnis, das RagTime nimmt) kämst Du nur, wenn Du anders klammerst, nämlich ((-1) x 5) ^ 2, dieser Ausdruck lautet verkürzt aber (-5)^2.

Ich weiß (jetzt wieder deutlicher). :)

ABER ...

> Taschenrechner (mit Ausnahme der inzwischen auch erhältlichen sog. "real answer"-Rechner) arbeiten ind er Regel prozedural und bringen deshalb das fehlerhafte Ergebnis ebenso wie RagTime.

Und damit sind wir beim Punkt.

Wenn die meisten Menschen (und Taschenrechner) "-5^2" verstehen als
"-5*-5", kann man das anders sehen und versuchen, das zu ändern, aber
einem Programmierer stellt sich die Frage, wie programmtechnisch damit
umzugehen ist.

RT hat sich entschieden und hat das auch im Handbuch angegeben.
-> Daher ist das für mich kein Fehler.
Und daran entzündete sich die Diskussion.

Wie Du schreibst, wird vieles in der Mathematik per Konvention
festgelegt und wird daher mal so und mal anders "berechnet".

Ich sehe wieder einiges klarer und das Thema ist für mich beendet.

Gruß
Stephan

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9803 On 16 Oktober, 2010 19:29 Stephan Will said,

Hallo Gottwalt,

ich finde das sehr spannend.

Am Sat Oct 16 2010 18:54:52 GMT+0200 schrieb Gottwalt :
> jetzt will ich doch nochmal drauf herumreiten, denn Stephan schrieb es wunderschön auf, sodaß der tatsächliche Formalismusbruch durch RagTime offensichtlich sicherlich für jedermann verständlich ist:

ist es nun ein Formalismusbruch (= Bug in RT) oder ist es eine
Konvention (= kein Bug in RT), wie Du auch schreibst?
Es kann nur eines richtig sein.

Enweder es handelt sich schlicht um eine andere Konvention als von Dir
erwartet (sollte angegeben werden, um Verständnisfehler zu vermeiden)
oder um einen Formalismusbruch (fehlerhafte Abweichung).

Wenn Formalismusbruch, weshalb ist Deine Konvention/Definition die
korrekte (wenn es die meisten Menschen/Anwendungen offensichtlich anders
sehen)?

>> 0-5^2 (besser: 0 - 5^2): das Minus ist als Rechenanweisung zu verstehen:
>> das Ergebnis von 5^2 (=25) wird von 0 abgezogen = -25
>
> Jetzt schreibe ich mal weiter:
> 0 - 5^2 = - 5^2 + 0
>
> Nun wird es sicherlich offensichtlich, daß der Ausdruck "- 5 ^2" niemals als (-5)*(-5) interpretiert werden dürfte.

"werden dürfte": Das liest sich so, als wenn Du hier lediglich Deine
Ansicht wiedergibst, von der Du selbst weißt, daß es nicht die
vorherrschende Sichtweise ist, auch nicht in Mathe-Kreisen.

> Und die Unterscheidung in "Vorzeichen" und "Rechenanweisung ist völliger Schwachsinn, die gibt es nicht.

Dann erkläre mir kurz, weshalb es auf der Tastatur von Taschenrechnern
eine spezielle Vorzeichen-Taste gibt.

Bzw. wie machst Du kenntlich, daß eine Zahl negativ sein soll?
Mit einem Vorzeichen, oder?

>Beispiel:
> a - b = a + (-b) = - b + a = - (b - a) = - ( - ( a - b ), aber auch = (-1)(b-a), oder auch als a - (-1)(b) und sofort.
>
> Also: Die Unterscheidung in "Vorzeichen" und "Rechenanweisung" oder "Operator" oder "Funktion" ist inexistent

sagt wer?
Quellen?

Zumal Du selbst nicht stringent bei einer Schreibweise bleibst (mal mit,
mal ohne Leerstelle).
Und da fängt das eigentliche Problem schon an.

> und höchstens analog der Rangfolge zu verstehen, aber diese drückt man gewöhnlich durch Klammerungen aus.

Gewöhnlich?
Eben nicht, andernfalls wäre diese Diskussion nicht aufgekommen.
Klammerungen sind hilfreich, um Missverstäündnisse zu vermeiden.

Aber wie ich schon schrieb, Vereinbarungen innerhalb mathematischer
Zirkel, mathematischen Spezialbereichen etc. sind eine Sache.

Das Problem ist - wie so häufig -, daß der Mensch alles, was er sieht,
in einem bestimmten Kontext interpretiert.

Und für mich macht es einen Unterschied, ob da "0 - 5^2" oder "-5^2" steht.

Und da es - wie Du schreibst - eine Konvention ist, wie man das
interpretiert, werden wir wohl nicht auf einen Nenner kommen.

Gruß
Stephan

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9804 On 16 Oktober, 2010 20:04 Gottwalt said,

Hallo Stephan,

das, was Du als "Vorzeichen" verstehst, ist lediglich eine Notationsverkürzung. Denn eigentlich steht dort ja (-1) x 5^2, in Worten minus eins mal fünf hoch zwei. Und schon siehst Du, daß das "Vorzeichen" für den Gesamtausdruck "fünf hoch zwei" gelten muß, der ja der "innere" Ausdruck ist und erst abgearbeitet werden muß, denn ausgeschrieben wäre es ja (-1) x (5 x 5), wobei Du auch die Klammern komplett weglassen kannst und dennoch zum selben Ergebnis kommst. Zum von Dir gewünschten Ergebnis (und dem Ergebnis, das RagTime nimmt) kämst Du nur, wenn Du anders klammerst, nämlich ((-1) x 5) ^ 2, dieser Ausdruck lautet verkürzt aber (-5)^2.

Taschenrechner (mit Ausnahme der inzwischen auch erhältlichen sog. "real answer"-Rechner) arbeiten ind er Regel prozedural und bringen deshalb das fehlerhafte Ergebnis ebenso wie RagTime. Ich kann das hier sehr schön mit dem Taschenrechner meiner Frau reproduzieren, der sowohl den "real answer"-Mode beherrscht und dann richtig ausgibt, als auch "normal" prozedural arbeitet und dabei eben das falsche Ergebnis ebenso wie RagTime errechnet.

Aber besonders deutlich wird ja der Blödsinn, wenn man eben eine Null addiert, der meinetwegen eine Eins und diese dann hinten wieder subtrahiert. Da die Addition im Allgemeinen ja kommutativ ist, dürfte das am Ergebnis nichts ändern. Und jetzt die eigentliche und entscheidende Frage: Weshalb sollte aus dem "Vorzeichen", das für die Basis gilt, plötzlich ein Operator werden, der für den ganzen Ausdruck gilt? Also: Weshalb sollte sich am Ausdruck -5^2 etwas ändern, wenn ich da eine 1 addiere und wieder subtrahiere oder eben meinetwegen eine 0 addiere? Und weshalb sollte vorallem die Kommutativität der Addition verlorengehen? Mit anderen Worten: Weshalb sollte das - ein Vorzeichen sein, wenn ich die 0 hinter dem Ausdruck addiere (also -5^2+0=25), aber ein Operator, wenn wenn ich das Kommutativgesetz der Addition anwende, also 0-5^2=-25 schreibe? Das ist doch barer Blödsinn, und es wird noch offensichtlicher, wenn ich das Ganze algebraisch notiere in einer Gleichung:

a-b^2=0
-b^2=-a
b^2=a

Wie sollte nun, wenn ich den Ausdruck a nach rechts bringe, sich der verbleibende Ausdruck auf der linken Seite plötzlich verändern? Also, irgendwie verstehe ich zwar prozedurales Rechnen, aber "falsch" im mathematischen Sinne bleibt das Verhalten von RagTime dennoch, wenn man die gebräuchliche Konvention anwendet. Sonst müßte man ja plötzlich den Ausdruck in der Gleichung klammern, nachdem man das "a" subtrahierte.

Gruß

Gottwalt

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9805 On 16 Oktober, 2010 20:19 Gottwalt said,

Hallo Stephan,

jegliche mathematische Notation ist lediglich Konvention, aber sie sollte innerhalb eines vorgegebenen Rahmens eingehalten werden. Dies ist offensichtlich bei RagTime NICHT der Fall.

Ein "Vorzeichen" ist immer ein Operator, oder einfacher, eine Bezeichnung, bedeutet er doch, wenn man auf dem Zahlenstrahl als Vorstellungsbereich bleiben möchte, "links von der Null" (wobei der Zahlenstrahl von links nach rechts ja auch nur eine Konvention unserer griechischen Mathematik ist). Also bedeutet der Ausdruck "-5" im Grunde, wenn man auf die Multiplikation verzichtet, "0-5". Und die Multiplikation ist lediglich eine "Beschleunigung" der Addition, zumindest im Groben, und auch programmiertechnisch wird das meist so gehandhabt. Die Verwendung von Leerzeichen oder deren Auslassung ist bei mir lediglich ein Ausdruck von Gelassenheit (oder deren Abwesenheit ...).

Nein, um es auf den Punkt zu bringen und das Beispiel mit der Gleichung zu wiederholen:

a-b^2=0
-b^2=-a
b^2=a

Daran sollte deutlich geworden sein, daß durch die Subtraktion des Ausdruckes "a" sich am Ausdruck "-b^2" nichts ändern darf. Oder andersherum:

-5^2=-25
5-5^2=-25+5

Das entspräche Deinem Verständis, wäre ja aber falsch, aber wie ändert man da die Notation, also auf Papier, damit das funktioniert?

Ich denke, es ist klar geworden, daß RagTime sich eben NICHT an die papierene Konvention hält, und deshalb Gesetze der Mathematik (hier das Kommutativgesetz der Addition z. B.) bricht. Dennoch ist dies Vorgehen gebräuchlich im Bereich der Programmierung, denn es kommt vom prozeduralen Programmieren. Dabei müßte -wie man das auf Papier halt auch muß- eigentlich eben nicht prozedural, sondern hierarchisch abarbeiten.

Gruß

Gottwalt

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9806 On 16 Oktober, 2010 22:06 Thomas Kaegi said,

Lieber Gottwalt

Ich bin froh, macht RagTime das, was die anderen Programme auch machen und nicht etwas anderes. Das wäre dann eine Katastrophe! Dann würde das Jammern rundherum erst richtig losgehen.

Ich habe in der Schule beim damals noch rein handschriftlichen Rechnen gelernt, dass -5^2 = 25 ist. Sollte das Minuszeichen anders interpretiert werden, musste das mit Klammern bewirkt werden: -(5^2) = -25. Und war auch klar, dass in einer algebraischen Schreibweise in der Formel a-b^2 das "-" kein Vorzeichen ist, sondern ein Operator sein muss. Dabei spielt es keine Rolle, ob nun a=0 ist oder nicht.

Nun rechnet RagTime keine Gleichungen (deshalb sind deine "Beweise" mit den Gleichungen nicht stichhaltig), sondern berechnet das Resultat einer Formel. Und da ist sofort zu sehen, dass RagTime durchaus so rechnet, wie ich das auch bei handschriftlicher Notation erwarten würde:

4-5^2 = -21
aber mit umgestellter Operationsreihenfolge:
-5^2+4 = 29
Wollte ich das Minus nicht als Vorzeichen behandelt haben, so musste ich auch schon in der Schule die Formel mit Klammern schreiben:
-(5^2)+4 = -21

Analog mit der dritten Potenz:
4-5^3 = -121, bzw.
-5^3+4 = -121
-(5^3)+4 = -121, aber
-(-5^3)+4 = 129, ebenso wie 4-(-5^3) oder 4-(-5)^3
In all diesen Fällen errechnet RagTime genau das Resultat, das ich auch bei handschriftlicher Rechnung - wie in der Schule gelernt - ermittle. Es ist mir schleierhaft, wo schulisches Mathematikwissen und Schreibweise zu anderen Ergebnissen führen sollen.

Die gleichen Formeln ergeben natürlich auch in Excel die gleichen Resultate. Willst du dich wirklich mit Bill Gates & Co. anlegen und der Welt beweisen, dass sie alle die Mathematik nicht richtig verstanden haben? Wenn Excel so falsch rechnen würde, wie du es von RagTime behauptest, wären die Mathematiker dieser Welt schon lange auf die Barrikaden gestiegen. Hör also auf, auf RagTime herumzuhacken. RagTime macht es genau so richtig wie Excel und die anderen Programme und muss deshalb nicht extra betonen, wie es die Formeln interpretiert.

Mit freundlichem Gruss
Thomas

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9808 On 17 Oktober, 2010 06:27 Andreas Loos said,

Liebe Leute,

ich hätte nicht gedacht, dass meine Kritik an dem Verhalten von RagTime so eine umfangreiche Diskussion auslöst und irgendwann hatte ich auch schon vorgeschlagen, das Thema fallen zu lassen und die gegensätzlichen Standpunkte einfach zu akzeptieren.
Aber jetzt tauchen doch einige Fehler auf, auf die ich eingehen muss: z. B. Thomas weist auf die Schulmathematik hin. Lieber Thomas,ich glaube, dass die Schulmathematik in der Schweiz sich nicht sonderlich von der in Deutschland unterscheidet. Ich bin Diplommathematiker und seit ungefähr 1975 Lehrer (mit einem zehnjährigen Ausflug in die Industrie-Programmierung) mit den Fächern Mathematik, Physik, Informatik, Klassen 5 bis 13 (Abitur). Ich erwähne das nur, weil Thomas mit der Autorität der Bill Gates & Co. winkt. Ja, ich will mich mit deren Autorität anlegen, mit meiner Sachauthorität als Mathematiker.
Zur Schulmathematik. In der Schule und in allen mathematischen Publikationen gilt die Konvention -5**2 = -(5**2), immer und uneingeschränkt. Thomas, da musst Du wohl was vergessen haben. Dass die Mathematiker noch nicht auf die Barrikaden gestiegen sind, liegt vielleicht nur daran, dass das Problem sehr selten auftritt. Mir ist es ja auch erst jetzt aufgefallen und ich habe in verschiedenen Tabellenkalkulationen sehr oft mit Rechenformeln gearbeitet, auch mit RagTime schon seit der ersten Version 2. Auch beim Programmieren ist es mir nie untergekommen, wenn da auch gelegentlich andere Ungereimtheiten auftraten.
Meine Taschenrechner (Casio fx-115MS und Casio fx-9860G) berechnen -5**2 richtig zu -25. An dieser Stelle muss ich gestehen, dass mir der Unterschied zwischen prozeduralem und Formelrechnen nicht bekannt ist, Was ist das? Ich kenne nur eines: Rechnen.
Übrigens, die dritten Potenzen (wie alle Potenzen mit ganzzahligen, ungeraden Exponenten) ziehen hier nicht als Beispiele für die eine oder die andere Interpretation, weil -(5**3) = (-5)**3 = -5**3 ist, wie auch immer man es interpretiert.

Liebe Grüße
Andreas Loos

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9813 On 17 Oktober, 2010 10:56 Jürgen Schell said,

Von mir auch noch mal ein Kommentar, auch, wenn der Thread schon seeehr lang wird:

Script-Sprachen verhalten sich unterschiedlich. Beispielsweise liefert in AppleScript »-5^2« den Wert 25, dagegen der Ausdruck »-5**2« in Python den Wert -25. (RagTime akzeptiert ^ und **.)

Zunächst einmal hat Stephan wohl recht: Die Notation auf Papier - »-52« ist von der Notation in anderen formalen Sprachen wie ^ oder ** für die Potenz schlicht verschieden. Historisch bedingt, weil Code als reiner Text ohne Stilmerkmale geschrieben wird und deshalb das hochstellen von Zeichen nicht kennt.

Andere formale Sprachen nutzen eine eigene Funktion wie »power(-5,2)«. In RagTime gibt es das auch, und dass »Potenz(-5;2)« dann »25« liefert und nicht »-25« ist wohl konsensfähig.

Die Notationen »^« und »**« in RagTime, AppleScript und Python nutzen also einen expliziten Operator, vergleichbar +, -, mod oder was auch immer.

Diese Operatoren sind Infixoperatoren für zwei Argumente, sie stehen zwischen zwei Ausdrücken, die sie verbinden.

Andere Operatoren wie »-« in in »-5« und »NICHT« in »NICHT (3 < 2)« sind Präfixoperatoren für ein Argument. Das Minuszeichen in »-5« und in »0-5« sind in so ziemlich allen formalen Sprachen zwei verschiedene Operatoren, auch, wenn sie gleich aussehen. Das erklärt auch das Missverständnis, dass sich »-5« und »0-5« durch das addieren von 0 unterscheiden würden. Die Ausdrücke verwenden schlicht zwei unterschiedliche Operatoren.

Viele Sprachen haben für die Reihenfolge, in der Operatoren binden, die Grundregel: einstellige Präfixoperatoren binden immer stärker als Infixoperatoren. By Python dagegen bindet der Infixoperator »**« stärker als das Präfix-»-«. Vielleicht näher an der Notation »-52«, aber eine Ausnahmeregel mehr.

Wenn ein Lehrer seinen Schülern irgend eine formale Sprache für Berechnungen erklärt: a) mach deutlich, dass das Minuszeichen für zwei grundverschiedene Operatoren steht und b) mach deutlich: Vorrangregeln sind nicht alle normiert. Schau Dir die Liste an! Hast Du keine Lust dazu: Schreib Klammern. Verlass Dich nie darauf, dass »2 > 3 und 4« in zwei formalen Sprachen dasselbe liefert!

(Erklärung zum letzten Ausdruck: Bindet »und« stärker, ist »3 und 4« wahr oder 1; dann ist »2 > 1« wahr oder 1. Bindet der Vergleich stärker, ist »2 > 3« falsch oder 0; dann ist »0 und 4« falsch oder 0. Das gilt zumindest für Sprachen, die Zahlen und Wahrheitswerte als verträglich betrachten.)

Gruß, Jürgen

www.j-schell.de

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9814 On 17 Oktober, 2010 14:30 Andreas Loos said,

Lieber Jürgen,

Du hast recht, die Diskussion ist schon seeeehr lang geworden und allmählich zu einem Streit um Kaisers Bart oder um den Sinn von Konventionen geraten. Und das ist ein Streit, den wir hier im Forum nicht sinnvoll führen können und auch nicht sollten. Ich glaube, dass Du das jetzt für alle verständlich aufs Papier gebracht hast. Sehr verkürzt sagst Du ja: "Da macht jeder was er will, das muss man wissen und tüchtig viele Klammern setzen". Auch Dein Hinweis auf den Unterricht (wenn ich Schülern eine Programmiersprache nahe zu bringen habe), man müsse das im Detail genau erklären, ist sicher wichtig, auch der Hinweis auf die logischen Operatoren, bei denen ich mich auch nie auf etwas verlasse, sondern viele, deutliche Klammern setze.

Also, wenn man's weiß, ist alles klar.

Trotzdem bleibe ich meiner Kritik an dem Bruch der Konvention, denn eben sehe noch etwas weit Bizarreres. In RagTime gilt:
A1^2 = -A1^2. Beide Formeln liefern 25, wenn in A1 der Wert -5 steht; erst -(A1^2) liefert -25. Das muss man sich gut klarmachen und Schülern wohl energisch 'reinprügeln, bis sie den Sinn dieser Konvention einsehen.

Beste Grüße
Andreas

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9815 On 17 Oktober, 2010 18:59 Jacques Villars said,

Hallo zusammen,

Le 17 oct. 2010 à 15:31, Andreas Loos a écrit :

> Trotzdem bleibe ich meiner Kritik an dem Bruch der Konvention, denn eben sehe noch etwas weit Bizarreres. In RagTime gilt:
> A1^2 = -A1^2. Beide Formeln liefern 25, wenn in A1 der Wert -5 steht; erst -(A1^2) liefert -25.

Nicht nur in RagTime ! in Excel auch ! Alles was hier für RagTime diskutiert wurde gilt auch für Excel ! Man muss sich daran einfach gewöhnen : in Rechenblättern gilt nicht dieselbe Logik wie in der gebräuchlichen Mathematik. Also arbeite ich immer mit Klammern.

Mit meinen HP 15c oder HP 11c RPN-Taschenrechnern rechne ich wie folgt :

5 (Anzeige : 5)
CHS (Anzeige : -5)
ENTER (Anzeige : -5)
x^2

und das ergibt 25

oder

5
CHS
ENTER
2 (Anzeige : 2)
y^x

und das macht auch 25, was für mich auch ganz logisch und intuitiv ist.

das gilt auch für RPN Rechner auf dem Mac wie "Calculette" (="Rechner") "P-Calc" und "RPN Calculator"

NB. CHS oder +/- ; RPN = UPN

Grüsse

jacques

Re: Falsche Vorzeichenverarbeitung beim Quadrieren

#9818 On 21 Oktober, 2010 06:49 Andreas Loos said,

Lieber Jacques,

die HP-Rechner rechnen auch nach meiner Ansicht richtig, denn der Befehl x^2 quadriert ja den ganzen Wert aus dem Stack, wie man es erwarten muss. Es wird also (-5)^2 gerechnet.
Alles OK!

Gruß
Andreas