Обрнута пољска нотација
Из пројекта Википедија
![]() |
Префиксна нотација |
Инфиксна нотација |
Постфиксна нотација |
Обрнуту пољску нотацију, такође познату и као постфиксну нотацију, је изумео аустралијски филозоф и информатичар Чарлс Хамблин средином 1950-их, како би омогућио нула-адресна меморијска складиштења. Ова нотација је изведена из пољске нотације, коју је 1920. увео пољски математичар, Јан Лукашијевич (Jan Łukasiewicz) (отуда предложено име Zciweisakul нотација.) Хамблин је представио свој рад у јуну 1957 на конференцији, а објавио га је 1957. и 1962.
Први рачунари који су имплементирали архитектуру која је омогућавала обрнуту пољску нотацију су били британски KDF9, који је најављен 1960, а пуштен у продају 1963, и амерички Burroughs B5000, најављен 1961, а пуштен у продају такође 1963. Један од дизајнера који је радио на рачунару Burroughs B5000, Р. С. Бартон, је касније писао како је он развио обрнуту пољску нотацију независно од Хамблина, током 1958, док је читао књигу о симболичкој логици, а још није био упознат са Хамблиновим радом.
Фриден ју је увео у стоне калкулаторе, са EC-130, јуна 1963. Хјулит-Пакардови (ХП) инжењери су 1968. дизајнирали 9100A стони рачунар са обрнутом пољском нотацијом. Овај калкулатор је популарисао обрнуту пољску нотацију у научним и инжењерским круговима, упркос чињеници да се у реклами за овај калкулатор она није спомињала. HP-35 ручни научни калкулатор је био први научни џепни калкулатор који је користио ову нотацију 1972.
Код Обрнуте пољске нотације, операнди претходе оператору, што уклања потребу за заградама. На пример, израз 3 * ( 4 + 7) би могао да буде написан као 3 4 7 + *, а помоћу калкулатора са обрнутом пољском нотацијом би се уносио на следећи начин "3", "Enter", "4", "Enter", "7", "+", "*". (Други, компактнији начин писања би био 4 7 + 3 *, а на калкулатору би унос изгледао овако "4", "Enter", "7", "+", "3", "*".)
Имплементације обрнуте пољске нотације користе стекове; то јест, операнди се скидају са стека, а резултат израчунавање се враћа назад на стек. Мада овај концепт може изгледати чудно на почетку, предност ове нотације је у томе што рачунар може врло лако (и стога брзо) да анализира израз.
[уреди] Практичне импликације
- Израчунавања се извршавају са лева на десно.
- Не користе се заграде, јер нису потребне.
- Не постоји дугме "једнако", већ се користи дугме "Enter".
- Операнди претходе свом оператору. Они се уклањају при израчунавању операције.
- Када се операција изврши, њен резултат постаје операнд (за следеће операторе).
- Не постоји скривено стање: нема дилеме да ли је оператор унет, или није.
- На калкулатору са обрнутом пољском нотацијом је за већину израчунавања потребно притиснути мање тастера него код оног са алгебарском нотацијом.
- Рачунару је лакше и брже да израчуна математичке изразе написане овом, него математичке изразе написане инфиксном нотацијом.
[уреди] Пример
Израз ((1 + 2) * 4) + 3 се у обрнутој пољској нотацији може записати као:
1 2 + 4 * 3 +
Овај израз се извршава на следећи начин (стек се приказује након што је операција извршена):
улаз | операција | стек |
---|---|---|
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 |
Коначни резултат, 15, се налази на врху стека на крају израчунавања.
Другачији начин да се прикаже стек током пређашњег израза је приказан испод (као на HP48S калкулатору).
+---------------+ | | | | | 1 | 1 [enter] +---------------+ +---------------+ | | | 1 | | 2 | 2 [enter] +---------------+ +---------------+ | | | | | 3 | + +---------------+ +---------------+ | | | 3 | | 4 | 4 [enter] +---------------+ +---------------+ | | | | | 12 | * +---------------+ +---------------+ | | | 12 | | 3 | 3 [enter] +---------------+ +---------------+ | | | | | 15 | + +---------------+
Ентери су у заградама, јер нису неопходни ако иза њих следе оператори. Стога обрнута пољска нотација омогућава да се израз унесе у осам, уместо у једанаест или дванаест корака.
[уреди] Спољашње везе
- Онлајн HP-35 RPN калкулатор
- Кратка упоредна анализа обрнуте пољске нотације и директне алгебарске логике – Џејмс Редин
- Кратко предавање из постфиксне нотације – Боб Браун
- Онлајн калкулатор са обрнутом пољском нотацијом – Тим Стал
- XCALC: Бесплатан калкулатор са обрнутом пољском нотацијом за Виндоуз – Бернт Рибум