Använda programmet

Arkivmenyn

Öppna fil

Används för att läsa in en fil med antingen städer, vägar, eller både och. Både och är inga problem eftersom det är lätt att inse om en rad i en fil motsvarar en nod eller en stad. Filnamnet väljs med en standarddialogruta.

Om man vill kan man vid starten av programmet ge filnamnen som argument, t.ex:

travelers_guide -file nodes -file edges

Det är lämpligt att läsa in städerna först, annars går programmet ned då en okänd stad skall förses med väg.

Spara fil

Man kan välja att antingen spara städer, vägar eller både och. Jag har valt att spara i det format som exempelfilerna hade, trots det stora antalet blanktecken i dem.

Utskrift

Eftersom det var meningen att datorerna skulle införa det papperslösa samhället finns det ingen utskriftsrutin i programmet. Alternativ förklaring är att jag inte orkade.

Töm

Används med försiktighet eftersom all information går förlorad. Programmet är ej utrustat med en fråga om användaren vill spara osparade ändringar.

Avsluta

Gör precis vad den skall, utan att ställa några frågor.

Det grafiska gränssnittet och modemenyn

Den aktuella kartan visas i fönstret, med olika grå färg på vägarna beroende på högsta tillåtna hastighet, desto mörkare, desto fortare. Om man har bett att få information om kortaste/snabbaste väg visas den vägen i gul färg. Om kortaste och snabbaste vägen ej sammanfaller markeras den kortaste sträckan med grönt och den snabbaste med rött.

Kartan kan förflyttas med rullningslisterna till höger och nertill. Dessa antar helt fräckt att kartan sträcker sig över området (0,0) - (1000,1000). Längst ned finns en zoomväljare.

Datorns mus är det enda sättet att komma åt grafen på, och dess agerande beror på i vilken mode programmet står:

Redigera noder

Redigera bågar

Finn kortaste väg

Alternativmenyn

Visa alla rutter

Med detta val aktivt visas alla bästa vägar från den ort där Du befinner dig (om du meddelat programmet att Du befinner dig) till alla de orter som kan nås\footnote{Programmet är testat för och klarar av att hantera situationer då delar av ett land är isolerat}.

Visa Dijkstra i arbete

Med detta val kommer kartan att ritas om varje gång som Dijkstra funnet den kortaste/snabbaste vägen till en ort. Den orten som Djikstra senast med säkerhet bestämde kortaste/snabbaste vägen till kommer att ritas extra tjock. Däremot kommer, eftersom färgvalsrutinen (\verb/RecolorEdges/ i graph.cc) är som den är, färgerna på vägarna att motsvara de hittils bästa vägvalen. Men detta är inget problem eftersom Dijkstra är en ordentlig typ och till slut med säkerhet har bestämt bästa vägvalet till alla orter som kan nås.

För att göra Dijkstras arbete synligt har jag lagt en en paus efter varje utskrift. Dessvärre låser den i sin nuvarande utformning hela programmet så att man har att välja mellan att se färdigt och avbryta programmet. Egentligen borde man konstruerat denna paus med en timer och en något modifierad, avbrytbar (eventuellt flyttad) Dijkstra-rutin.

Visa Dijkstra i arbete, snabb

Samma som ovan fast utan pausen. Det gick emellertid inte så fort som jag hoppats, men det beror på kartritningsrutinen, eftersom det till 99 % är den och inte Dijkstras algoritm som exekverar när detta val är aktivt.

?-menyn

Systemets effektivitet

Talar om hur många städer som finns och hur bra de har hashats i CGraph.

Sverigekarta

För lite mer realism har jag lagt in en Sverigekarta med 200 städer och vägar mellan dem. Vägarna är tagna från en lite äldre vägkartbok (20-30 år), varför de måhända är lite fel. Jag satte ganska slaviskt maxhastigheterna efter vilken bredd vägen hade i kartboken, gröna vägar fick 110, breda röda 90 och de vägar som var smalare men ändå kom med fick hastigheten 70. I Norrland gäller nog allmänt högre maxhastigheter, eftersom vägarna ofta är långa och raka. Till Gotland kan man resa med färja i 30 km/h, både över Oskarshamn-Visby och Nynäshamn-Visby. Med denna hastighetsbegränsning väljer programmet inte vägen över Gotland som snabbaste väg, men väl som kortaste ibland.

Eftersom de koordinater jag använt då jag la in Sverigekartan inte är programrelaterade utan just longitud och latitud, ser kartan skum ut om man inte läser in den med specialparametern -file_sw_map istället för -file. Detta gäller endast städerna (vägarna hur ju bara implicita koordinater). Detta val kan endast göras vid kommandoprompten, och om städerna sparas används programmets interna format.

Sverigefilerna finns som cities och roadshemsidan. Observera att dessa filer redan konverterats, så parametern -file_sw_map skall ej användas!