bild
Skolan för
elektroteknik
och datavetenskap

Programutvecklingsteknik

Övning 6

  • Ev. rest från tidigare övningar.

  • Fetkoll: Skriv programmet Fetkoll som går igenom valfri webbsida och skriver ut alla ord och fraser som står med fetstil. HTML-taggen för detta heter B.
    Tror inte att denna uppgift hanns med på övningen men här är en lösning ändå: De som inte gjort labb6 kan ha nytta av denna. Fetkoll.java.

  • I Äventyrsspelet ska vi ha ett Hus med många rum. Rummen är vanliga rum, magiska rum eller skattrum. Alla rum har ett namn och ett nummer. Alla rum har förbindelse med minst ett och högst sex andra rum. Man kan gå mellan rummen genom att ange en riktning som är norr, söder, öster, väster, upp eller ned. Från ett magiskt rum kan man gå direkt till vilket rum som helst i huset om man vet destinationens namn. Ett skattrum är ett rum med många skatter. En spelare har ett namn och vet vilket rum har är i just nu samt vilket rum han senast var i.

    1. Gör en enkel ObjektOrienterad Analys på ovanstående text och skapa en "Data Dictionary" med substantiv, verb och relationer. Rita ett UML- klassdiagram. Alla data och operationer från texten ska vara med.
    2. Hur kan man representera riktningarna? Det duger inte att bara säga att "0 är norr", "1 är söder", o.s.v.
    3. Föreslå en datastruktur för att representera förbindelsen mellan ett rum och grannrummen.
    4. Skriv metoder i klassen Rum som
      • förbinder rummet med ett grannrum. Parametrar är riktning och rum.
      • givet en riktning, returnerar ett rum. Används för att gå mellan rummen.
    5. Skriv några rader i en testmetod som skapar rum och förbinder dem.

    Här är ett UML-diagram samt kod från övningen. UML-diagrammet.
    Riktningar.java
    Rum.java
    MagisktRum.java
    SkattRum.java
    Hus.java
    Skatt.java
    Spelare.java
    OBS! Alla svenska bokstäver (å,ä,ö,Å,Ä,Ö) är utbytta mot a(A) och o(O).

  • Om det finns mer tid: Uppgifter från gamla tentor. Uppgiften nedan är från en tenta som är äldre än de som finns på kurshemsidan nu.

  • Rita ett UML-klassdiagram för en kö. Köklassen implementerar följande gränssnitt:
    interface AbstractQueue {
        public boolean isEmpty();
        public void put(Object x);
        public Object get();
    }	
    
    Ett köobjekt har referenser till köns första och sista elementet. Varje nod i kön har en next-referens och en referens till den lagrade informationen som här ska vara personer med förnamn och efternamn som separata String-objekt. Uppgiften är hämtad från en gammal tenta i program­utvecklings­teknik.

Copyright © Sidansvarig: Ann Bengtsson <ann@nada.kth.se>
Uppdaterad 2015-05-19