Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi Taschenrechner (Anfänger) Problem mit Minuszahlen (https://www.delphipraxis.net/190406-taschenrechner-anfaenger-problem-mit-minuszahlen.html)

Prakti16 30. Sep 2016 11:51

AW: Taschenrechner (Anfänger) Problem mit Minuszahlen
 
ich kann es dir ja gleich schreiben :)

Mavarik 30. Sep 2016 11:54

AW: Taschenrechner (Anfänger) Problem mit Minuszahlen
 
Zitat:

Zitat von Prakti16 (Beitrag 1349334)
Nicht so wirklich aber ich gucke im delphi treff nach der bedeutung von stack - intern - die Umgekehrte polnische Notation verwendet.
:)

LOL...

Stack ist klar oder nicht?

UPN ist...

1 2 + 3 * =

Hierfür nimmt man einen Stack für die Zahlen und einen für die Operatoren... Jeder Operator hat eine Wertigkeit

Beispiel: (=3;*=2 +=1

So kann man die Reihenfolge was zu erst berechnet werden muss erhalten.

Prakti16 30. Sep 2016 11:57

AW: Taschenrechner (Anfänger) Problem mit Minuszahlen
 
Hier ist es .
Damit zusammengesetzte Ausdrücke auch ohne Klammern geschrieben werden können, hat der polnische Mathematiker Jan Lukasiewicz eine Notation entworfen, welche die Operatoren neben den Zahlen und Variablen (und nicht dazwischen) aufführt.
Die hier verwendete Notation schreibt die Operatoren nach den Zahlen und wird "umgekehrte Polnische Notation" genannt.
Anstelle von "3 + 4" schreibt man hier "3 4 +". Damit können auch zusammengesetzte Ausdrücke ohne Klammern geschrieben werden. Anstelle von "(3 + 4) * (6 - 2)" schreibt man nun "3 4 + 6 2 - *". Es wird also zuerst 3 + 4 gerechnet, danach wird 6 - 2 bestimmt und am Schluss werden die beiden Faktoren miteinander multipliziert.
Achtung: Eine Änderung in der Reihenfolge der Operatoren hat natürlich auch eine Auswirkung auf die Auswertungsreihenfolge und somit auf das Resultat. Somit wird "3 4 + 6 - 2 *" wie folgt ausgewertet: "((3 + 4) - 6) * 2" .
Am einfachsten stellt man sich vor, die Zahlen werden der Reihe nach (von links nach rechts) auf Zettel geschrieben und aufeinadergetürmt (Stapel). Kommt nun ein Operator, so werden die beiden obersten Zettel vom Stapel genommen, miteinander verrechtet und am Schluss das Resultat wieder auf dem Stapel (auf einem neuen Zettel) aufgetürmt. (Die beiden verrechneten Zahlen werden nicht mehr auf den Stapel gelegt.)

Beispiel :


markieren
ausblenden Quelltext
1:
2:
3:
1
* 5 7
* * 68 9 2
Davor kommen wiederum die Operatoren für die Additionen. Das ganze sieht dann also so aus:
markieren
ausblenden Quelltext
1:
+ + 1 * 5 7 * * 68 9 2

Prakti16 30. Sep 2016 11:58

AW: Taschenrechner (Anfänger) Problem mit Minuszahlen
 
Danke mavarik ich habs zwar selber gefunden aber noch mal danke für die kurz vor :)

Sherlock 30. Sep 2016 11:59

AW: Taschenrechner (Anfänger) Problem mit Minuszahlen
 
Gut kopiert, hast Du es denn auch verstanden?

;)

Sherlock

Prakti16 30. Sep 2016 12:00

AW: Taschenrechner (Anfänger) Problem mit Minuszahlen
 
im Großen und Ganze ja


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 Uhr.
Seite 2 von 2     12   

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