rpn2009 - RPN Geschiedenis RPN Expressies zonder haakjes...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: RPN Geschiedenis RPN Expressies zonder haakjes Algebra¨ ısche expressie omzetten naar RPN 1/33 17 februari 2009 Geschiedenis RPN + In 1922 demonstreerde Jan Lukasiewicz dat haakjes niet nodig zijn om volgorde van operaties aan te geven in expressie + Als de operator achter de operands wordt gespecificeerd, dan scheidt deze de operaties + Midden jaren 50 vond Charles Hamblin de RPN notatie uit voor computers + Dit idee eind jaren 60 overgenomen door Hewlett-Packard voor rekenmachines 2/33 17 februari 2009 Met haakjes → zonder haakjes met haakjes zonder haakjes 2 + 5 2 5 + ( 2 + 5 ) / 3 2 5 + 3 / ( 2 + 5 ) / ( 3 + 1 ) 2 5 + 3 1 + / Elke operatie werkt op twee vorige getallen 3/33 17 februari 2009 Algebra¨ ısche expressie omzetten naar RPN Hoe zetten we nu een algebra¨ ısche expressie om naar RPN ? Daar gebruiken we het Dijkstra algoritme voor: + input : de invoer expressie + output : de uitvoer expressie + operator stack : de stack die operatoren opslaat 4/33 17 februari 2009 Algebra¨ ısche expressie omzetten naar RPN Vervolg: + Als er een getal gelezen wordt van de input , schrijf dit dan naar de output + Als er een operator gelezen wordt van de input , push deze dan op de stack + Als input leeg is, pop dan alle operatoren van de stack De stack wordt nu alleen voor de operatoren gebruikt! 5/33 17 februari 2009 Zolang er een teken te lezen is: 1. Als het teken een getal is voeg het toe aan de output 2. Als het teken een operator o new is dan: (a) Zolang er een operator o old boven aan de stack staat: als o new = +- * / met prioriteit lager of gelijk aan o old , dan pop o old van de stack af en zet deze in output (b) push o new op de stack 3. Als het teken een linkerhaak is, push het dan op de stack 4. Als het teken een rechterhaak is, pop dan operatoren ´ e´ en voor ´ e´ en naar de output tot bijbehorende linkerhaak. Deze moet weggegooid worden....
View Full Document

Page1 / 33

rpn2009 - RPN Geschiedenis RPN Expressies zonder haakjes...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online