Intrare poloneză

Notația poloneză ( înregistrare ), cunoscută și ca notație de prefix (înregistrare), este o formă de scriere a expresiilor logice , aritmetice și algebrice . O trăsătură caracteristică a unei astfel de notații este că operatorul este situat în stânga operanzilor . Dacă operatorul are o aritate fixă , atunci o astfel de notație nu va avea paranteze și poate fi interpretată fără ambiguitate. Logicianul polonez Jan Lukasiewicz a inventat această notație în jurul anului 1920 pentru a simplifica logica propozițională .

Alonzo Church a menționat această notație în cartea sa clasică despre logica matematică ca un sistem de notare demn de remarcat și chiar a contrastat expunerile lui Alfred Whitehead și Bertrand Russell despre notațiile logice din Principia Mathematica . [unu]

Chiar dacă notația poloneză nu este folosită în matematică, este utilizată pe scară largă în informatică .

Aritmetică

În notația cu prefix , adăugarea numerelor 1 și 2 se va scrie „+ 1 2” în loc să scrie „1 + 2”. În expresiile mai complexe, operatorii preced operanzii, dar operanzii înșiși pot fi expresii non-triviale care conțin propriii operatori. De exemplu, o expresie care este scrisă în notație infixă tradițională

(5 − 6) * 7

în prefix se poate scrie ca

*(− 5 6) 7

sau pur și simplu

* − 5 6 7

Deoarece orice operație aritmetică simplă este binară, reprezentarea ei cu prefix nu poate fi interpretată în două moduri, deci nu este nevoie să folosiți paranteze. În exemplul anterior, erau necesare paranteze în notația tradițională, infixă, iar acum le vom muta

5 − (6 * 7)

sau pur și simplu șterge

5 − 6 * 7

aceasta va schimba sensul și rezultatul evaluării întregii expresii. Notația de prefix corespunzătoare pentru o astfel de expresie ar arăta astfel:

− 5 * 6 7

Calculul de scădere este întârziat până când ambii operanzi (5 și rezultatul înmulțirii cu 6 și 7) au fost citite. Ca și în cazul oricărei alte notații, expresiile cele mai profunde sunt evaluate mai întâi, dar în notația poloneză adâncimea unei expresii este determinată de ordine, nu de paranteze.

Notația de prefix în aritmetică simplă este de interes în mare parte academic. La fel ca notația postfix , notația prefix a fost folosită pentru unele computere comerciale (HP-11C). Învățarea despre notația de prefix este adesea primul pas în proiectarea compilatorului.

Programare

Notația de prefix este utilizată pe scară largă în expresiile s din limbajul de programare Lisp , unde parantezele sunt necesare deoarece operatorii aritmetici au diferite arități. Limbajul de programare Ambi folosește notația poloneză pentru operații aritmetice și structura programului. Notația Postfix este utilizată în multe limbaje de stivă , cum ar fi PostScript , și este baza pentru multe mașini de calcul (calculatoare), în special pentru mașini de calcul Hewlett-Packard .

De asemenea, este important de reținut că numărul de operanzi dintr-o expresie trebuie să fie cu unul mai mult decât numărul de operații, altfel expresia nu are sens (având în vedere că în expresia se folosesc doar operații binare ). Acest lucru poate fi ușor trecut cu vederea atunci când lucrați cu expresii lungi și complexe, ceea ce va duce la erori. Prin urmare, este necesar să acordați atenție numărului de operații și operanzi atunci când utilizați notația de prefix.

Ordinea operațiunilor

Ordinea operațiilor este determinată de structura notației prefixului și poate fi determinată cu ușurință. Principalul lucru de reținut este că atunci când se evaluează o expresie, ordinea operanzilor trebuie păstrată. Acest lucru nu este important pentru operațiile care sunt comutative , dar pentru operațiile necomutative, cum ar fi scăderea și împărțirea , acest fapt este cheia pentru analizarea expresiei. De exemplu, următoarea expresie:

/ 10 5 = 2 (notație cu prefix)

ar trebui citit ca „împărțirea a 10 la 5”. Prin urmare, rezultatul calculului va fi 2, nu ½, ceea ce ar fi rezultatul unei analize incorecte a expresiei.

Notația de prefix este deosebit de populară în limbile stive, datorită capacității lor de a distinge cu ușurință între ordinea operațiilor fără a utiliza paranteze. Pentru a determina ordinea de evaluare a operatorilor în notația prefixă, nici măcar nu este necesară memorarea întregii ierarhii operaționale, ca și în notația infixă . În loc să analizați expresia pentru a găsi operatorul care trebuie evaluat mai întâi, ar trebui să citiți expresia de la stânga la dreapta, uitându-vă la operator și cei mai apropiați doi operanzi ai săi. Dacă există un alt operator printre acești operanzi, atunci evaluarea primului operator este întârziată până la evaluarea noului operator. Iterațiile acestui proces sunt repetate până când operatorul este evaluat, ceea ce trebuie să se întâmple în cele din urmă dacă numărul de operanzi din expresie este cu unul mai mare decât numărul de operații (în cazul operațiilor binare). Odată ce un operator a fost evaluat, acesta și cei doi operanzi ai săi sunt înlocuiți cu valoarea rezultată (operandul). Deoarece operatorul și doi operanzi sunt înlocuiți cu operandul calculat, există un operator și un operand mai puțin. După aceea, în expresie rămân, de asemenea, N operatori și N + 1 operanzi, ceea ce vă permite să continuați procesul iterativ .

În exemplul de mai jos, puteți vedea că o expresie aparent complicată în notație prefixă, de fapt, nu este atât de greu de înțeles (în dreapta semnului egal, expresia corespunzătoare în notație infixă):

- * / 15 - 7 + 1 1 3 + 2 + 1 1 = 15 / (7 - (1 + 1) ) * 3 - (2 + (1 + 1)) - * / 15 - 7 2 3 + 2 + 1 1 = 15 / (7 - 2) * 3 - (2 + (1 + 1)) - * / 15 5 3 + 2 + 1 1 = 15 / 5 * 3 - (2 + (1 + 1)) - * 3 3 + 2 + 1 1 = 3 * 3 - (2 + (1 + 1)) - 9 + 2 + 1 1 = 9 - (2 + (1 + 1) ) - 9 + 2 2 = 9 - (2 + 2) - 9 4 = 9 - 4 5 = 5

Notație poloneză în logică

Tabelul de mai jos prezintă notația de bază propusă de Jan Lukasiewicz pentru logica propozițională . Unele litere ale notației poloneze reprezintă cuvinte specifice în poloneză :

concept
Notație condiționată

Notație poloneză

cuvânt polonez
Negare φ negacja
Conjuncție φ ψ Kφψ koniunkcja
Disjuncție φ ψ Aφψ alternativă
implicare φ ψ Cφψ
Echivalenţă φ ψ Eφψ ekwiwalencja
Accident vascular cerebral Schaeffer Dφψ dysjunkcja
Posibilitate φ możliwość
Nevoie φ
Cuantificator universal φ Πφ
Cuantificator de existență φ Σφ

Rețineți că în lucrarea lui Lukasiewicz despre logica cu mai multe valori, cuantificatorii sunt ordonați după valoarea propozițională.

Vezi și

Note

  1. Biserica, Alonso. Introducere în logica matematică  . — Princeton, New Jersey: Princeton University Press , 1944.  — p.38: „Demnă de remarcat este notația fără paranteze a lui Jan Łukasiewicz. În aceasta literele N, A, C, E, K sunt folosite în rolurile de negație, disjuncție, implicare, echivalență, respectiv conjuncție. ..."

Literatură

Link -uri