Obrnuta poljska notacija
Obrnutu poljsku notaciju, takođe poznatu i kao postfiksnu notaciju, je izumeo australijski filozof i informatičar Čarls Hamblin sredinom 1950-ih, kako bi omogućio nula-adresna memorijska skladištenja. Ova notacija je izvedena iz poljske notacije, koju je 1920. uveo poljski matematičar, Jan Lukašijevič (Jan Łukasiewicz) (otuda predloženo ime Zciweisakul notacija.) Hamblin je predstavio svoj rad u junu 1957. na konferenciji, a objavio ga je 1957. i 1962.
Prefiksna notacija |
Infiksna notacija |
Postfiksna notacija |
Prvi računari koji su implementirali arhitekturu koja je omogućavala obrnutu poljsku notaciju su bili britanski KDF9, koji je najavljen 1960, a pušten u prodaju 1963, i američki Burroughs B5000, najavljen 1961, a pušten u prodaju takođe 1963. Jedan od dizajnera koji je radio na računaru Burroughs B5000, R. S. Barton, je kasnije pisao kako je on razvio obrnutu poljsku notaciju nezavisno od Hamblina, tokom 1958, dok je čitao knjigu o simboličkoj logici, a još nije bio upoznat sa Hamblinovim radom.
Friden ju je uveo u stone kalkulatore, sa EC-130, juna 1963. Hjulet-Pakardovi (HP) inženjeri su 1968. dizajnirali 9100A stoni računar sa obrnutom poljskom notacijom. Ovaj kalkulator je popularisao obrnutu poljsku notaciju u naučnim i inženjerskim krugovima, uprkos činjenici da se u reklami za ovaj kalkulator ona nije spominjala. HP-35 ručni naučni kalkulator je bio prvi naučni džepni kalkulator koji je koristio ovu notaciju 1972.
Kod Obrnute poljske notacije, operandi prethode operatoru, što uklanja potrebu za zagradama. Na primer, izraz 3 * (4 + 7) bi mogao da bude napisan kao 3 4 7 + *, a pomoću kalkulatora sa obrnutom poljskom notacijom bi se unosio na sledeći način "3", "Enter", "4", "Enter", "7", "+", "* ". (Drugi, kompaktniji način pisanja bi bio 4 7 + 3 *, a na kalkulatoru bi unos izgledao ovako "4", "Enter", "7", "+", "3", "* ".)
Implementacije obrnute poljske notacije koriste stekove; to jest, operandi se skidaju sa steka, a rezultat izračunavanje se vraća nazad na stek. Mada ovaj koncept može izgledati čudno na početku, prednost ove notacije je u tome što računar može vrlo lako (i stoga brzo) da analizira izraz.
Praktične implikacije
uredi- Izračunavanja se izvršavaju sleva nadesno.
- Ne koriste se zagrade, jer nisu potrebne.
- Ne postoji dugme „jednako“, već se koristi dugme "Enter".
- Operandi prethode svom operatoru. Oni se uklanjaju pri izračunavanju operacije.
- Kada se operacija izvrši, njen rezultat postaje operand (za sledeće operatore).
- Ne postoji skriveno stanje: nema dileme da li je operator unet, ili nije.
- Na kalkulatoru sa obrnutom poljskom notacijom je za većinu izračunavanja potrebno pritisnuti manje tastera nego kod onog sa algebarskom notacijom.
- Računaru je lakše i brže da izračuna matematičke izraze napisane ovom, nego matematičke izraze napisane infiksnom notacijom.
Primer
urediIzraz ((1 + 2) * 4) + 3 se u obrnutoj poljskoj notaciji može zapisati kao:
1 2 + 4 * 3 +
Ovaj izraz se izvršava na sledeći način (stek se prikazuje nakon što je operacija izvršena):
ulaz | operacija | stek |
---|---|---|
1 | Push operand | 1 |
2 | Push operand | 1, 2 |
+ | Add | 3 |
4 | Push operand | 3, 4 |
* | Multiply | 12 |
3 | Push operand | 12, 3 |
+ | Add | 15 |
Konačni rezultat, 15, se nalazi na vrhu steka na kraju izračunavanja.
Drugačiji način da se prikaže stek tokom pređašnjeg izraza je prikazan ispod (kao na HP48S kalkulatoru).
+---------------+ | | | | | 1 | 1 [enter] +---------------+ +---------------+ | | | 1 | | 2 | 2 [enter] +---------------+ +---------------+ | | | | | 3 | + +---------------+ +---------------+ | | | 3 | | 4 | 4 [enter] +---------------+ +---------------+ | | | | | 12 | * +---------------+ +---------------+ | | | 12 | | 3 | 3 [enter] +---------------+ +---------------+ | | | | | 15 | + +---------------+
Enteri su u zagradama, jer nisu neophodni ako iza njih slede operatori. Stoga obrnuta poljska notacija omogućava da se izraz unese u osam, umesto u jedanaest ili dvanaest koraka.
Dodatna literatura
uredi- Kreifeldt, John G.; McCarthy, Mary E. (1995-11-13) [1981-10-15], Interruption as a test of the user-computer interface (PDF), Department of Engineering Design, Tufts University, Medford, MA, USA / 17th Annual Conference on Manual Control / NASA, str. 655—667, 02155, N82-13721, 82N13721, 19820005848, Pristupljeno 2018-09-22
- Wirth, Niklaus (2005-06-15) [2005-02-02]. „Good Ideas, Through the Looking Glass” (PDF). Zürich, Switzerland. Arhivirano iz originala (PDF) 24. 06. 2017. g. Pristupljeno 2015-09-12.
- „Everything you've always wanted to know about RPN but were afraid to pursue – Comprehensive manual for scientific calculators – Corvus 500 – APF Mark 55 – OMRON 12-SR and others” (PDF). T. K. Enterprises. 1976. Arhivirano iz originala (PDF) 24. 06. 2017. g. Pristupljeno 2017-06-24. (NB. The book's cover title contains a typographical error reading "APS Mark 55" instead of the correct "APF Mark 55".)
Spoljašnje veze
uredi- Onlajn HP-35 RPN kalkulator
- Kratka uporedna analiza obrnute poljske notacije i direktne algebarske logike – Džejms Redin
- Kratko predavanje iz postfiksne notacije – Bob Braun
- Onlajn kalkulator sa obrnutom poljskom notacijom – Tim Stal
- XCALC: Besplatan kalkulator sa obrnutom poljskom notacijom za Vindouz – Bernt Ribum