Postfixnotation

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

Postfix-notation är en notation inom matematik och logik där man skriver operanderna först operatorn efteråt.

Betrakta

 {-\pi + 15 + 7} \over { \sqrt {10 - 3} }

I många fall är det enklare om man kan skriva på en rad och utan specialtecken:

(-pi + 15 + 7) / rot (10 - 3)

Uttrycket är nu en blandning, där operatorerna plus, minus och division står i infixnotation, och kvadratroten uttrycks som en funktion, med parenteser för argument(-en). På liknande sätt brukar uttryck skrivas i programspråk.

Vi kan skriva detta uttryck med postfix-notation; notera att additionen innehåller tre termer men operatorn endast behöver användas en gång:

((pi -) 15 7 +) ((10 3 -) rot) /

Om vi istället låter varje använd operator ha ett bestämt antal operander, kan parenteser helt överhoppas.

pi neg 15 + 7 + 10 3 - rot /

Operatorer

Symbol Betyder Operander
pi Värdet av π 0
neg Teckenbyte 1
rot Kvadratroten 1
+ Addition 2
- Subtraktion 2
/ Division 2

Det sista sättet kallas omvänd polsk notation, och lämpar sig mycket bra för en maskin ska kunna göra beräkningar på en aritmetikstack. I någon form brukar en kompilator omvandla uttryck till denna form för att programkörningen ska gå så fort som möjligt. Formen har också använts direkt av till exempel Hewlett Packards miniräknare, där man fått införa en särskild tangent "Enter" för att skilja tal åt vid inmatning; i exemplet ovan mellan 10 och 3.

Personliga verktyg