Differences
This shows you the differences between two versions of the page.
stack_rpn [2017-09-01 14:54] |
stack_rpn [2022-07-18 13:20] (current) |
||
---|---|---|---|
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-> | ||
+ | $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:// | ||
+ | |||