Obrnjen poljski zapis
Iz Wikipedije, proste enciklopedije
Obŕnjen póljski zapís (tudi póstfiksni zapís; pogosta je tudi angleška tričrkovna kratica RPN) je zapis aritmetičnih izrazov, izpeljan iz poljskega zapisa, ki ga je leta 1920 predlagal poljski filozof in matematik Jan Łukasiewicz. Obrnjen poljski zapis je sredi 1950. let razvil avstralski filozof in računalničar Charles Hamblin, saj je omogočal breznaslovni pomnilnik.
Kot uporabniški vmesnik za izračune in zapis je bil prvič uporabljen pri namiznih računalih Hewlett-Packard v poznih 1960., zatem pa v ročnem računalu HP-35, ki je prišel na trg leta 1972. V obrnjenem poljskem zapisu operator sledi operandom, s čimer je odpravljena potreba po oklepajih. Izraz »3 · (4 + 7)« tako zapišemo kot »3 4 7 + ·«, kar na računalih z obrnjenim poljskim zapisom opravimo z zaporedjem tipk »3«, »Enter«, »4«, »Enter«, »7«, »Enter«, »+«, »*« (nekaj tipkanja si prihranimo s prepisom v enakovreden zapis »4 7 + 3 ·«, ki mu ustreza zaporedje tipk »4«, »Enter«, »7«, »+«, »3«, »*«).
Izvedbe obrnjenega poljskega zapisa temeljijo na skladu – operandi so vzeti s sklada, rezultat izračuna pa je vrnjen na sklad. Čeprav se zdi načelo sprva obskurno, pa ima obrnjen poljski zapis prednost, da ga računalnik zelo preprosto in zategadelj hitro razčleni.
[uredi] Praktične posledice
- Izračuni si sledijo od leve proti desni.
- Aritmetični izrazi ne vsebujejo oklepajev, saj ti niso potrebni.
- Operator sledi operandom. Ti so odstranjeni s sklada, ko je izraz ovrednoten.
- Po izvedeni operaciji postane rezultat sam operand za naslednje operacije.
- Ni skritega stanja – ni vprašanje, ali ste zadeli operator ali ne.
[uredi] Zgled
Izračun: »((1 + 2) * 4) + 3« lahko zapišemo v obrnjenem poljskem zapisu kot
1 2 + 4 * 3 +
Izraz se ovrednoti na naslednji način (stolpec »Sklad« pomeni stanje po opravljeni »Operaciji«):
Vhod | Sklad | Operacija |
---|---|---|
1 | 1 | Dodaj operand na sklad |
2 | 1, 2 | Dodaj operand na sklad |
+ | 3 | Seštevanje |
4 | 3, 4 | Dodaj operand na sklad |
* | 12 | Množenje |
3 | 12, 3 | Dodaj operand na sklad |
+ | 15 | Seštevanje |
Končni rezultat, 15, leži po opravljenem izračunu na vrhu sklada.