This is an old revision of the document!


Gör en webbsida med 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
  • förstå, skapa och kunna använda vanliga datastrukturer såsom fält, stack
  • kunna införa och använda array i datastrukturer
  • kunna analysera programmeringsuppgifter
  • lära sig hantera $_SESSION

1. Gör en stack enligt nedan

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.

Pop()         // returnerar det översta och tar samtidigt bort det
Top()         // returnerar det översta
Push($tal)    // lägger in tal överst i stacken
IsEmpty()     // returnerar true om stacken är tom
Size()        // returnerar stoleken på stacken
PrintStack()  // Skriver ut en stack, brukar inte finnas men ni kommer att behöva den.

2. Använd er stack för att göra en miniräknare, ni får inte ändra $_SESSION direkt utan endast via din stack.

  • Spara er stack i en $_SESSION variabel tex. $_SESSION['stack'][]
  • Ni måste starta en session med ett namn.
    <?php
    session_name('ert_login');
    session_start();
  • Gör först alla funktioner ovan (alla stack-funktioner) och testa att det fungerar som de ska.
  • Som vanligt kan man spara en hel del tid genom att kolla vilka färdiga funktioner som finns i php (php.net)
  • Gör sedan miniräknaren med hjälp av de funktioner ni har gjort.

Ett körbart program dos, linux eller web för att bättre förstå hur din räknare skall funka.