Комплетан водич за обрнуту пољску нотацију

Последње ажурирање: КСНУМКС августа КСНУМКС
  • Обрнута пољска нотација, или постфиксна нотација, поставља операторе после операнда, елиминишући потребу за коришћењем заграда.
  • Изведена је из пољске префиксне нотације коју је створио Јан Лукасјевич да би поједноставио исказну логику.
  • Хјулет-Пакард га је масовно популаризовао у култним калкулаторима као што су HP-9100A и HP-35.
  • У рачунарству се имплементира употребом стекова, што је фундаментално у системима као што су Јуникс и језици оријентисани на стекове.

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

Вероватно сте се питали како су ти стари научни калкулатори радили унутра или зашто неки програмски језици изгледа пишу математику обрнуто. Иако нас од школе уче да симболи за сабирање и одузимање увек иду у средину бројева, постоји фасцинантан свет под називом Обрнута пољска нотација који прекида све што знамо.

Овај систем није модеран изум; његови корени се налазе у чистој логици и жељи да се алгебарски изрази учине ефикаснијим. За разлику од онога што обично радимо, овде редослед фактора мења начин на који су написани, што нам омогућава да потпуно занемаримо заграде и поједноставимо унос података у рачунарске системе.

Порекло: од Јана Лукасјевича до рачунарства

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

Све је почело давне 1924. године захваљујући бриљантном пољском математичару, логичару и филозофу по имену Јан Лукасјевич . Он је кренуо да поједностави исказну логику и створио је оно што је познато као префиксна нотација (или пољска нотација), где се оператор ставља испред операнда. На пример, ако желимо да саберемо 3 и 4, уместо да напишемо 3 + 4, написали бисмо + 3 4.

  Цодеберг: бесплатна алтернатива у заједници за ГитХуб и ГитЛаб

Иако је у почетку деловала као куриозитет за логичаре и филозофе, па ју је чак поменуо и Алонзо Черч у својим текстовима о математичкој логици, идеја је на крају нашла пут у свет рачунарства. У ствари, програмски језик LISP заснива своју синтаксу управо на овом префиксном моделу, показујући да је оно што је настало у логици на крају постало моћан алат за кодирање.

Шта је тачно обрнута пољска нотација?

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

Док префиксна нотација ставља оператор испред операнда, обрнута пољска нотација (позната и као RPN или постфиксна нотација) ради супротно: она ставља операторе после операнда. Тако, наш уобичајени збир 2 и 5 постаје 2 * 5 +.

Најмоћнији аспект овог система је то што, све док оператори имају фиксни број операнда, заграде се могу елиминисати . Узмимо операцију 5 * (12 + 4) као пример. У традиционалном систему, потребне су нам заграде да бисмо прво извршили сабирање; међутим, у RPN-у се ово једноставно пише као 5 12 4 + * . Ово је много чистије и једноставније за машину.

Златно доба Хјулет-Пакарда и калкулатора

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

Средином 60-их, аустралијски научник Чарлс Леонард Хамблин усавршио је алгоритме за имплементацију овог система у електронским уређајима. Тада је компанија Hewlett-Packard одлучила да инвестира у њега, лансирајући HP-9100A 1968. године, десктоп калкулатор који је променио правила игре. Убрзо након тога, стигао је легендарни HP-35 , први научни калкулатор џепне величине, који је RPN ставио у руке хиљада инжењера и студената између 1972. и 1975. године.

  Бесплатна референца за језик Пасцал - Комплетан водич

Коришћење ових машина захтевало је мало додатног менталног напора за интерпретацију резултата, али је било много ефикасније у смислу броја откуцаја тастера . Уместо куцања дугачке једначине и притискања једнакости, уносили сте бројеве и операторе који су се обрађивали тренутно, што је чинило ток рада много ефикаснијим.

Техничка имплементација: Димњаци и цеви

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

Са програмерске перспективе, RPN је одличан јер га је изузетно лако имплементирати коришћењем структуре података која се зове стек . Систем чува бројеве на стеку и, чим се појави оператор, издваја последње унете вредности, врши израчунавање и враћа резултат на стек.

Ова ефикасност је разлог зашто, иако више не видимо толико физичких калкулатора који користе овај систем, RPN остаје жив у унутрашњем функционисању модерне технологије. Широко се користи у језицима оријентисаним на стекове и у оперативним системима заснованим на цевоводима или протоку података, а класичан пример је његово присуство у Unix окружењу.

Занимљивости о Лукасјевичу и логици

Јан Лукасјевич нам није оставио само овај начин писања математике. Био је пионир у вишезначној логици и модалној логици. Чак се бавио и интелектуалним изазовима попут парадокса лажова (израз „ово је нетачно“). Његово решење је било бриљантно: тврдио је да се логички принципи примењују само на објекте који могу бити вредности променљивих, а пошто та контрадикторна фраза не може бити вредност променљиве, она је једноставно ван логике и не може се анализирати коришћењем традиционалних логичких метода.

  Клод против Клода Код против Клода Коворк: Комплетан водич

Ово фасцинантно путовање од ума пољског логичара до кола HP калкулатора и Unix језгра показује нам како алтернативни начин организовања информација може оптимизовати обраду података. Елиминисањем потребе за заградама и ослањањем на употребу стекова, обрнута пољска нотација остаје невидљиви, али фундаментални стуб у архитектури многих модерних рачунарских система.