Omgekeerde Poolse notatie Inleiding Met de omgekeerde Poolse notatie kun je berekening opschrijven zonder haakjes. De Poolse notatie werd in 1920 uitgevonden door de Poolse wiskundige Jan Lukasiewicz. Haakjes Als je een berekening opschrijft heb je soms haakjes nodig. Als je 2 3× 4 opschrijft moet je eerst vermenigvuldigen omdat vermenigvuldigen voor optellen gaat. Je herinnert je de volgorde vast nog uit de wiskunde-lessen: 1 () haakjes 2 - Negatief maken 3 ^ machtverheffen 4 */ Vermenigvuldigen en delen 5 +- Optellen en aftrekken Als je echter eerst 2 en 3 wilt optellen en daarna met 4 wilt vermenigvuldigen moet je haakjes gebruiken: 2 3 × 4 . RPN Met de omgekeerde Poolse notatie1 kun je zonder haakjes werken. De bovenstaande berekening schrijf je dan als volgt op: 2 3 4× Je leest de berekening van links naar rechts, zoals je gewend bent. De getallen die je tegenkomt leg je op een stapel, op z'n Engels stack. Als je een bewerking tegenkomt voer je die op de twee getallen boven op de stapel uit. Het resultaat leg je terug op de stapel. Er zijn ook operaties die maar op één getal werken. Negatief maken, worteltrekken, goniometrische functie (sinus, cosinus en tangens) en faculteit (!) zijn voorbeelden van bewerkingen die alleen op het bovenste getal. Bij de berekening 2 3 4× gaat het dus al volgt: ingelezen stack 2 2 3 3,2 + 5 4 4,5 × 20 Omdat we aftrekken en negatief maken allebei met een minteken schrijven zouden we geen verschil zien. We schrijven er bij de omgekeerde Poolse notatie in deze opdracht daarom een ~ (tilde) voor negatief maken. Bij normale berekeningen is dat niet nodig en gebruiken we het vertrouwde minteken voor beide rekenopdrachten. 1 Engels: Reverse Polish Notation; afgekort als RPN Opdrachten 1 Schrijf de volgende berekeningen in RPN: a) b) c) d) e) 6 7 2× 3× 4 f) 2!× 3! 2 −b b − 4ac 2a g) 3× − 2 2 3− 4 2× 3− 4 Voorbeeld 1 Laat in een tabel zien in welke volgorde de volgende berekening in Omgekeerde Poolse Notatie (RPN) op de stack terecht komt: 2 - -1: Allereerst schrijven we de berekening in RPN: 2 1 ~ ingelezen stack 2 2 1 1,2 ~ -1,2 - 3