thumb|upright=0.9|Ordinea operanzilor și operatorului în notația postfixată Notația postfixatăIoan Ivan, Marius Popa, Paul Pocatilu, Structuri de date, București, Editura ASE, 2008, Cristian Masalagiu, Logica/calculul cu predicate de ordinul I , Universitatea Al. I. Cuza, Iași, 2019, accesat 2021-08-12 sau notația poloneză postfixată (în – RPN ) este o notație pentru o operație matematică și logică în care operatorii sunt plasați după operanzi, cum ar fi semnul plus în expresia .
Avantajul acestei notații este că nu are nevoie de paranteze cât timp fiecare operator are un număr de operanzi fix. Descrierea „poloneză” se referă la naționalitatea logicianului Jan Łukasiewicz, (Reprinted by Garland Publishing in 1987 .) care a inventat această notație în 1924. (4 pages) (12 pages)
Primul calculator care a folosit logica notației postfixate, deși a rămas mult timp necunoscut în afara Germaniei, a fost Z3 al lui Konrad Zuse, în 1941, (5 pages) (4 pages) ca și Z4 în 1945. Schema postfixată a fost propusă din nou în 1954 de Arthur Burks, Don Warren și Jesse Wright și a fost rescoperită independent de Friedrich L. Bauer și Edsger W. Dijkstra la începutul anilor 1960 pentru a reduce accesul la memoria calculatoarelor, folosind stiva pentru a evalua expresiile matematice. Algoritmii și notațiile pentru această schemă au fost extinse de către filozoful și informaticianul australian Charles Leonard Hamblin la mijlocul anilor 1950.
În anii 1970 și 1980, Hewlett-Packard a folosit logica postfixată în toate calculatoarele lor de birou și de buzunar și a continuat s-o folosească în unele modele până în anii 2020.
În informatică, notația postfixată este folosită în , cum ar fi Forth, STOIC, PostScript, RPL și Joy.
Explicarea funcționării În notația postfixată operatorii urmează operanzii. De exemplu, pentru a aduna 3 cu 4 s-ar scrie în loc de . Dacă există mai multe operații, operatorii sunt dați imediat după operanzii lor (deseori un operator acționează asupra a doi operanzi, caz în care operatorul este scris după al doilea operand); deci expresia scrisă în notație convențională (infixată) s-ar scrie în notația postfixată, unde mai întâi este scăzut 4 din 3, apoi este adunat 5.
Acest mod de lucru este adecvat pe o stivă, unde se aplică regula „ultimul intrat, primul ieșit”. În exemplul de mai sus, 3 este încărcat în partea de jos a stivei (nivelul vizibil) și o acțiune specială (de exemplu apăsarea tastei " pe un calculator) termină intrarea. Fără această acțiune 4 ar fi atașat la 3, dând 34, ceea ce nu este ce s-a dorit. Când este introdus 4, 3 este „promovat” pe al doilea nivel al stivei, fiind acum deasupra lui 4, vizibil în acest moment. Operatorul de scădere acționează imediat asupra primelor două niveluri ale conținutului stivei, scăzând valoarea de jos din cea de sus, obținând −1 la primul nivel. Acest lucru oprește și introducerea datelor, astfel încât 5 poate fi introdus imediat. Acest lucru ridică automat −1 la al doilea nivel. Atunci când utilizatorul apasă apoi (adunare), conținutul primelor două niveluri este adunat, iar rezultatul, 4, apare în partea de jos. Această promovare (și retrogradare) automată a datelor între nivelurile din stivă, pe măsură ce fiecare operație este efectuată, plasează automat operanzii succesivi așa cum sunt necesari.
În multe calculatoare HP stiva are patru niveluri. Deci, este posibil să se introducă 3, , să se tasteze 4, , să se tasteze 5, și să se tasteze 6. Acum stiva conține cele patru valori în cele patru niveluri ale sale. Apoi se poate apăsa butonul de trei ori, iar suma, 18, va apărea la nivelul unu. Orice introducere nouă de date îl promovează pe 18 la nivelul doi. Această activitate este limitată doar de „înălțimea” (mărimea) stivei.
Gestionarea atentă a stivei permite ca expresiile complexe, cu multe paranteze, să fie evaluate într-un mod liniar simplu. Rareori este necesar ca rezultatele intermediare să fie stocate și rechemate, așa cum este nevoie de obicei la sistemele care lucrează în stilul notațiilor algebrice obișnuite.
Prin urmare, avantajul notației postfixate este că elimină necesitatea parantezelor care sunt cerute de notația infixată, deoarece stiva deține toate argumentele într-o progresie ultimul intrat, primul ieșit. De exemplu, pentru a calcula expresia , ar trebui tastat 3, apăsat și tastat 4. La apăsarea (înmulțire), produsul intermediar 12 apare în partea de jos a stivei. Apoi se tastează 5, și 6. Rezultatul intermediar 12 a fost promovat la nivelul trei, cu 5 la nivelul doi și 6 la nivelul unu. Este necesar doar apăsarea succesivă a și apoi a . Produsul intermediar, 30, apare primul la nivelul unu, iar apoi rezultatul final, 42, apare tot la nivelul unu, deoarece acum s-a adunat 12 de la nivelul doi.
Implicații practice Prin comparație, la testarea notației postfixate cu notația algebrică, s-a constatat că postfixata duce la calcule mai rapide, din două motive. Primul motiv este că calculatoarele care lucrează după logica postfixată nu au nevoie de paranteze, așa că trebuie introduse mai puține operațiuni pentru a efectua calcule tipice. În plus, utilizatorii calculatoarelor postfixate au făcut mai puține greșeli decât în cazul altor tipuri de calculatoare, (5 pages) fapt care poate fi atribuit numărului mai mic de apăsări de taste necesare pentru a introduce această notație. Totuși, dovezi empirice sugerează că notația postfixată este mai dificil de învățat de către utilizatori decât notația algebrică.
Realizări Limbaje de programare orientate pe notația postfixată Forth STOIC Factor PostScript, limbaj de descriere a unei pagini BibTeX Befunge Joy IPTSCRAE Lotus 1-2-3 și Lotus Symphony RPL, limbaj de programare pentru Commodore PET în jur de 1979/1981 RPL limbaj de programare pentru calculatoare Hewlett-Packard între 1984–2015 Reverse Polish Notation Language – (RPNL)
Calculatoare Primul calculator în logică postfixată a fost Z3 al lui Konrad Zuse, construit în 1938 și prezentat publicului la 12 mai 1941. În mod interactiv, permitea introducerea a doi operanzi urmați de operatorul dorit. (12 pages) Acesta a fost distrus la 21 decembrie 1943 într-un raid de bombardament. Cu ajutorul lui Zuse, în 1961 a fost construită o replică a sa. La calculatorul Z4 din 1945 a fost adăugată o stivă. (178 pages)
La începutul anilor 1960 English Electric Company a lansat modelele KDF9 și Burroughs B5000 după ideile lui Hamblin.
Hewlett-Packard a realizat HP 9100A în 1968, HP-35 în 1972 și HP-10 în 1977. Apoi a produs calculatoarele cu afișaj cu cristale lichide HP-10C, HP-11C, HP-15C, HP-16C și HP-12C, iar în 1990 HP-19BII dispunea de opțiunea de a funcționa în notație infixată sau postfixată. Printre ultimele modele RPN ale HP au fost 12C, 12C Platinum, 17bii+.
În Marea Britanie modelele Sinclair Scientific și Sinclair Scientific Programmable foloseau logica postfixată.
În URSS s-au realizat calculatoarele MK-52, MK-61, Elektronika B3-34 și vechiul B3-21, Elektronika B3-21 page on RSkey.org și mai modernul MK-161, Elektronika MK-161 page on RSkey.org bazate și ele pe logica postfixată.
Simulatoare Mac OS X Calculator Aplicații pentru Apple iPhone Aplicații pentru Android "RPN9" pentru Windows 10 Mobile Aplicații pentru Unix Biblioteca Emacs xcalc pentru Xorg rpCalc, scris în Python pentru Linux și MS Windows și eliberat sub licența GNU GPLv2 TRURL, o bibliotecă pentru generarea calculatoarelor RPN în Object Pascal
și încă câteva.
Note
Vezi și Notație infixată Notație prefixată
Legături externe RPN or DAL? A brief analysis of Reverse Polish Notation against Direct Algebraic Logic Infix to postfix convertor[sic]
Categorie:Notații matematice Categorie:Programare Categorie:Calculatoare