Обрнута пољска нотација

Из Википедије, слободне енциклопедије
Postfix-dia.svg
Префиксна нотација
Инфиксна нотација
Постфиксна нотација

Обрнуту пољску нотацију, такође познату и као постфиксну нотацију, је изумео аустралијски филозоф и информатичар Чарлс Хамблин средином 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 |  + 
+---------------+

Ентери су у заградама, јер нису неопходни ако иза њих следе оператори. Стога обрнута пољска нотација омогућава да се израз унесе у осам, уместо у једанаест или дванаест корака.

Спољашње везе[уреди]