Differences

This shows you the differences between two versions of the page.

Link to this comparison view

miniraeknare [2017-09-01 14:54]
miniraeknare [2022-07-18 13:20] (current)
Line 1: Line 1:
 +===== Miniräknare =====
 +Skriv en miniräknare som jobbar med omvänd polsk notation. Detta sätt att evaluera uttryck tycker jag är överlägset det traditionella sättet (HP:s räknedosor använder ofta detta sätt).
 +Det räcker att er räknare klarar de fyra räknesätten och att nollställa räknaren, dvs tömma stacken (+,-,*,/,c)
 +
 +ex.
 +
 +  Uttrycket (4+5)*(6-7) 
 +  slår man in på följande sätt 
 +  4 ¶ 5 ¶ + ¶ 6 ¶ 7 ¶ - ¶ * ¶ 
 +  Där ¶ betyder "ENTER",
 +
 +Stacken kommer att se ut som följande under inmatningen.
 +
 +Stackens utseende.
 +  7
 +  5 6 6 -1
 +  4 4 9 9 9 9 -9
 +  
 +
 +Ett körbart [[http://student.oedu.se/~jf/ex/rpn_calc.exe|program]] för att bättre förstå hur din räknare skall funka.
 +
 +En sida [[http://www.calculator.org/rpn.html|Reverse Polish Notation]] med lite mer info.
 +
 +<code cpp>
 +// Ni skall lagra era värden i en STL-stack av double
 +// Ni får läsa hur en stack funkar i boken och på www.cppreference.com
 +#include <stack>
 +
 +int main(){
 +  stack <double> s;
 +}
 +</code>