Differences
This shows you the differences between two versions of the page.
|
stack_rpn [2017-09-01 12:54] |
stack_rpn [2022-07-18 11: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:// | ||
| + | |||