You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

rpncalc-eksemplet er et kode-eksempel i fire deler, som illustrerer vesentlige teknikker i prosedyreorientert programmering.

Dette kode-eksemplet handler om en såkalt RPN-kalkulator. RPN står for Reverse Polish Notation (se http://en.wikipedia.org/wiki/Reverse_Polish_notation) og brukes om kalkulatorer der operander (verdier) angis først og så operatoren (operasjoner), i motsetning til den vanlige infix-notasjonen med operatorer i mellom operandene. For å regne ut 1 + 2 så angis altså 1 og 2 først og så +, som gir resultatet 3. For å bygge videre på resultatet, angir en nye operander og operatorer, f.eks. regnes (1 + 2) * 3 ut ved å angi sekvensen 1 2 + 3 *. Implementasjonen er svært enkelt, en legger bare operandene på en stack ettersom de angis, og operatorene fjerner og bruker disse og legger resultatet tilbake.

Dette kode-eksemplet utvikles i fire trinn, som følger:

  1. rpncalc1.py illustrerer enkle kontrollstrukturer og bruk av variabler for å referere til enkle verdier og datastrukturer.
  2. rpncalc2.py innfører funksjoner, for å gjøre koden ryddigere.
  3. rpncalc3.py utforsker alternative funksjoner som utnytter spesielle Python-teknikker, samt forbereder oppdeling av kalkulatoren i to deler.
  4. rpncalc4core.py og rpncalc4ui.py viser hvordan programmer kan deles i flere moduler, ved å dele kalkulatoren i én som håndterer stack-logikken og operasjonene og én del som håndterer kommunikasjonen med brukeren.
  • No labels