Kehren Sie polnische Notation um

Polnische Rücknotation (RPN) ist eine mathematische Notation, worin jeder Maschinenbediener allen seinen operands im Gegensatz zur polnischen Notation folgt, die den Maschinenbediener in der Präfix-Position bringt. Es ist auch bekannt als Notation der Postüblen Lage und ist ohne Parenthesen, so lange Maschinenbediener arities bestochen wird. Die Beschreibung "Polnisch" bezieht sich auf die Staatsbürgerschaft des Logikers Jan Łukasiewicz, wer (Präfix) polnische Notation in den 1920er Jahren erfunden hat.

Das polnische Rückschema wurde 1954 von Burks, Warren und Wright vorgeschlagen und wurde von F. L. Bauer und E. W. Dijkstra am Anfang der 1960er Jahre unabhängig wiedererfunden, um Computerspeicherzugang zu reduzieren und den Stapel zu verwerten, um Ausdrücke zu bewerten. Die Algorithmen und Notation für dieses Schema wurden vom australischen Philosophen und Computerwissenschaftler Charles Hamblin Mitte der 1950er Jahre erweitert.

Während der 1970er Jahre und der 1980er Jahre war RPN sogar der breiten Öffentlichkeit bekannt, weil es in tragbaren Rechenmaschinen der Zeit - zum Beispiel, die Reihe des HP-10C und Sinclair Wissenschaftliche Rechenmaschinen weit verwendet wurde.

In der Informatik wird Notation der postüblen Lage häufig auf Stapel-basierten und concatenative Programmiersprachen verwendet. Es ist auch in dataflow und Rohrleitungsbasierten Systemen einschließlich Rohrleitungen von Unix üblich.

Der grösste Teil davon, wem folgt, ist über binäre Maschinenbediener. Ein unärer Maschinenbediener, für den die polnische Rücknotation die allgemeine Tagung ist, ist der factorial.

Erklärung

In der polnischen Rücknotation folgen die Maschinenbediener ihrem operands; zum Beispiel, um 3 und 4 beizutragen, würde man "3 4 +" aber nicht "3 + 4" schreiben. Wenn es vielfache Operationen gibt, wird dem Maschinenbediener sofort nach seinem zweiten operand gegeben; so würde der Ausdruck schriftlich "3  4 + 5" in der herkömmlichen klammerlosen Darstellung "3 4  5 +" in RPN geschrieben: Machen Sie zuerst 4 von 3 Abstriche, dann tragen Sie 5 dazu bei. Ein Vorteil von RPN besteht darin, dass er das Bedürfnis nach Parenthesen begegnet, die durch das Infix erforderlich sind. Während "3  4 * 5" auch "3  (4 * 5)" geschrieben werden können, der etwas ziemlich Verschiedenes von" (3  4) * 5 bedeutet". In der postüblen Lage konnte der erstere "3 4 5 * " geschrieben werden, der eindeutig "3 (4 5 *) " bedeutet, der zu "3 20  abnimmt "; die Letzteren konnten "3 4 - 5 *" geschrieben werden (oder 5 3 4 - *, wenn Sie ähnliche Formatierung behalten möchten), der eindeutig" (3 4-) 5 * bedeutet".

Trotz des Namens ist polnische Rücknotation nicht genau die Rückseite der polnischen Notation, für den operands von Nichtersatzoperationen werden noch in der herkömmlichen Ordnung geschrieben (z.B "/6 3" in der polnischen Notation und "6 3 /" in Rückpolnisch das beides Auswerten zu 2, wohingegen "3 6 /" in der polnischen Rücknotation zu ½ bewerten würde).

Praktische Implikationen

  • Berechnungen kommen vor, sobald ein Maschinenbediener angegeben wird. So wird in Ausdrücke Großhandel vom Recht bis linken nicht eingegangen, aber hat ein Stück auf einmal am effizientesten vom Zentrum nach außen berechnet.
  • Der automatische Stapel erlaubt die automatische Lagerung von Zwischenergebnissen für den Gebrauch später: Dieses Hauptmerkmal ist was Erlaubnisse RPN Rechenmaschinen, um Ausdrücke der willkürlichen Kompliziertheit leicht zu bewerten: Sie haben Grenzen auf der Kompliziertheit des Ausdrucks nicht, den sie bewerten können.
  • Klammern und Parenthesen sind unnötig: Der Benutzer führt einfach Berechnungen in der Ordnung durch, die erforderlich ist, den automatischen Stapel lassend, Zwischenergebnisse im Fluge für den späteren Gebrauch versorgen. Ebenfalls gibt es keine Voraussetzung für die in der klammerlosen Darstellung erforderlichen Prioritätsregeln.
  • In RPN Rechenmaschinen, ist nicht gleich Schlüssel ist erforderlich, Berechnung zu zwingen, vorzukommen.
  • RPN Rechenmaschinen verlangen wirklich jedoch einen eingehen Schlüssel, zwei angrenzende numerische operands zu trennen.
  • Benutzer müssen die Größe des Stapels wissen, weil praktische Durchführungen von RPN verschiedene Größen für den Stapel verwenden. Zum Beispiel würde der algebraische Ausdruck, wenn durchgeführt, mit einer Stapel-Größe 4 und durchgeführt vom linken bis Recht, den Stapel erschöpfen. Die Antwort könnte als eine falsche imaginäre Zahl statt etwa 0.5 als eine reelle Zahl gegeben werden.
Wenn
  • sie RPN über Papier (etwas schreiben, was einige Benutzer von RPN nicht tun können), brauchen angrenzende Zahlen einen Separator zwischen ihnen. Das Verwenden eines Raums verlangt, dass klare Handschrift Verwirrung verhindert. Zum Beispiel, konnte ähnlich sein, während etwas mag, ist aufrichtig.

Das Umwandeln aus der klammerlosen Darstellung

Edsger Dijkstra hat den Verschiebebahnhof-Algorithmus erfunden, um Infix-Ausdrücke umzuwandeln (um RPN), so genannt zu postbefestigen, weil seine Operation dem eines Gleise-Verschiebebahnhofs ähnelt.

Es gibt andere Weisen, Ausdrücke der postüblen Lage aus der klammerlosen Darstellung zu erzeugen. Der grösste Teil der Maschinenbediener-Priorität parsers kann modifiziert werden, um Ausdrücke der postüblen Lage zu erzeugen; insbesondere sobald ein abstrakter Syntax-Baum gebaut worden ist, der entsprechende Ausdruck der postüblen Lage wird durch ein einfaches Postordnungstraversal dieses Baums gegeben.

Durchführungen

Geschichte von Durchführungen

Die ersten Computer, um Architekturen durchzuführen, die RPN ermöglichen, waren die KDF9 Maschine von English Electric Company, die 1960 bekannt gegeben und geliefert (d. h. gewerblich bereitgestellt wurde) 1963, und der amerikanische Burroughs B5000, hat 1961 bekannt gegeben und hat auch 1963 geliefert. Einer der Entwerfer des B5000, Robert S. Bartons, hat später geschrieben, dass er RPN unabhängig von Hamblin einmal 1958 entwickelt hat, während er ein Lehrbuch durch Kopi auf der symbolischen Logik gelesen hat, und bevor er der Arbeit von Hamblin bewusst war.

Hewlett Packard

Friden hat RPN in den Tischrechenmaschine-Markt mit der EG 130 im Juni 1963 eingeführt. Ingenieure von Hewlett Packard haben 9100A Tischrechenmaschine 1968 mit RPN entwickelt. Diese Rechenmaschine hat RPN unter den wissenschaftlichen und Technikgemeinschaften verbreitet, wenn auch frühe Anzeigen für 9100A gescheitert haben, RPN zu erwähnen. Der HP 35, die erste tragbare wissenschaftliche Rechenmaschine in der Welt, verwendeter RPN 1972. HP hat RPN auf jeder tragbaren Rechenmaschine verwendet, die es verkauft hat, ob wissenschaftlich, finanziell, oder programmierbar, bis es den HP 10 Rechenmaschine-Rechenmaschine 1977 eingeführt hat. Zu diesem Zeitpunkt war HP der Haupthersteller von Rechenmaschinen für Fachleuten, einschließlich Ingenieure und Buchhalter.

HP hat eine Flüssigkristallanzeige-basierte Linie von Rechenmaschinen am Anfang der 1980er Jahre eingeführt, die RPN, wie der HP-10C, HP-11C, HP-15C, HP-16C, und die berühmte Finanzrechenmaschine, der HP-12C verwendet haben. Als Hewlett Packard eine spätere Geschäftsrechenmaschine, den HP-19B, ohne RPN, Feed-Back von Finanzmännern eingeführt hat und andere, die an 12C verwendet sind, sie dazu gezwungen haben, den HP-19BII zu veröffentlichen, der Benutzern die Auswahl gegeben hat, algebraisches System oder RPN zu verwenden. Von 1990 bis 2003 HP verfertigt der HP 48 Reihen, RPN Rechenmaschinen und 2006 eingeführt der HP-50g mit 131x80 FLÜSSIGKRISTALLANZEIGE und eine 75-MHz-ARM-Zentraleinheit grafisch darzustellen, die mit der Saturn-Zentraleinheit des HP 48 Reihen wetteifert.

Bezüglich 2011 erzeugt Hewlett Packard das Rechenmaschine-Platin der Modelle 12C, 12C, 17BII, 20B (finanziell), 30B (Geschäft), 33, 35, 48GII und 50G (wissenschaftlich), die RPN Notation unterstützen.

Die Sowjetunion

Sowjetische programmierbare Taschenrechner (MK-52, MK-61, B3-34 und früher B3-21 Modelle) haben RPN sowohl für die automatische Weise als auch für Programmierung verwendet. Moderne russische Rechenmaschinen MK-161 und MK-152, der entworfen und in Novosibirsk seit 2007 verfertigt ist und von Semico angeboten ist, sind mit ihnen rückwärts kompatibel. Ihre verlängerte Architektur basiert auch auf der polnischen Rücknotation.

Aktuelle Durchführungen

Vorhandene Durchführungen mit der polnischen Rücknotation schließen ein:

  • Jede Stapel-orientierte Programmiersprache, wie:
  • Hervor
  • Faktor
  • Seitenbeschreibungssprache von PostScript
  • Befunge
  • Heiterkeit
  • Hardware-Rechenmaschinen:
  • Etwas Wissenschaft/Technik von Hewlett Packard und Rechenmaschinen des Geschäfts/Finanz
  • Rechenmaschinen von Semico
  • Softwarerechenmaschinen:
  • Orpie
  • Rechenmaschine von Mac OS X
  • Mehrere Apfel-IPhone-Anwendungen
  • Mehrere Androide-Anwendungen (RealCalc)
  • Systemrechenmaschine-Programm von Unix dc
  • Lispeln-Bibliothekspaket von Emacs: calc
  • Rechenmaschine von Xorg (xcalc)
  • F-Korrelate in Wörterbuch-Sachen von MultiValue
  • RRDTool, ein weit verwendetes Tabellieren und Software grafisch darzustellen

Siehe auch

  • Rechenmaschine hat Methoden eingegeben
  • Faktor (Programmiersprache)
  • Formel-Rechenmaschine
  • Hervor (Programmiersprache)
  • HP-Rechenmaschinen
  • Heiterkeit (Programmiersprache)
  • LIFO, der (rechnet)
  • Unterworfenes Verb des Gegenstands
  • Orpie, eine RPN Rechenmaschine
  • PostScript
  • Stapel-Maschine
  • Unterworfenes Gegenstand-Verb (SOV)
  • Nachgedruckt durch die Girlande, die 1987 Veröffentlicht. Internationale Standardbuchnummer 0-8240-6924-2

Außenverbindungen


RPN / Roald Hoffmann
Impressum & Datenschutz