Differences
This shows you the differences between two versions of the page.
stack_rpn [2011-03-18 13:38] Joakim Forsgren |
stack_rpn [2017-09-01 14:54] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Uppgift Miniräknare ===== | ||
- | Gör en webbsida 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 " | ||
- | |||
- | Stacken kommer att se ut som följande under inmatningen. | ||
- | |||
- | Stackens utseende. | ||
- | 7 | ||
- | 5 6 6 -1 | ||
- | 4 4 9 9 9 9 -9 | ||
- | | ||
- | Krav:\\ | ||
- | 1. Ni skall göra en egen stack, det är med hjälp av denna stack som ni skall lösa uppgiften. Stacken skall ha följande funktioner. | ||
- | <code php> | ||
- | Pop() // tar bort det översta | ||
- | Top() // returnerar det översta | ||
- | Push($item) | ||
- | Size() | ||
- | IsEmpty() | ||
- | PrintStack() // Skriver ut en stack, brukar inte finnas men ni kommer att behöva den. | ||
- | </ | ||
- | 2. Man skall kunna se stacken efter varje inmatning på er sida. | ||
- | |||
- | Tips 1! | ||
- | Eftersom ni nu läser programmering C så skulle ni kunna göra stacken som en klass. Jag tror inte att det blir svårare och ni kommer då även få lite träning på ProgC | ||
- | <code php> | ||
- | $s-> | ||
- | $s-> | ||
- | $s-> | ||
- | $-> | ||
- | $s-> | ||
- | $s-> | ||
- | </ | ||
- | |||
- | Tips 2! | ||
- | Som vanligt kan man spara en hel del tid genom att kolla vilka färdiga funktioner som finns i php (php.net) | ||
- | |||
- | Tips 3! | ||
- | För att lösa denna uppgift så kan det vara klokt att lagra stacken i en $_SESSION variabel. tex $_SESSION[' | ||
- | Om ni vill är det helt OK att utgå från min service_session och lägga till funktionerna. | ||
- | <code php> | ||
- | $session-> | ||
- | $session-> | ||
- | $session-> | ||
- | $sessino-> | ||
- | $session-> | ||
- | $session-> | ||
- | </ | ||
- | |||
- | Ett körbart [[http:// | ||
- | |||
- | En sida [[http:// | ||
- | |||