TDDI16 Datastrukturer och algoritmer
Ht1 2024
Laborationer på Windows
Laborationerna går att kompilera och köra med Visual Studio 2019 - Community Edition på Windows. För att göra detta behöver du ha windowsversionen av laborationerna som finns länkade nedan. Arkiven nedan innehåller samma sak som Linux/UNIX-versionen av arkiven, men också lite filer som gör det enklare att kompilera på Windows. Laboration 4 kräver inte heller SFML för att underlätta.
Windowsversioner av laborationsuppgifterna
-
AVL-träd (
AVL
) -
Hitta dubbletter (
Pictures
) -
Ordkedjor (
Wordchains
) -
Mönsterigenkänning (
Patterns
)
Kom igång
Börja med att ladda ner och installera Visual Studio. Gå till nedlanningssidan, välj "Community Edition" i listan och följ instruktionerna.
I och med att laborationerna är gjortda för att köras från kommandoraden så ska vi se till att det går smidigt att få fram en terminal med rätt inställningar. Börja med att skapa en mapp där du har laborationerna (kanske till och med ett Git-repository):

Hitta sedan "Developer Command Prompt for Visual Studio 2019" i startmenyn under "Visual Studio 2019". Högerklicka på den, välj "Mer" och sedan "Öppna filsökväg".

Du ser nu följande fönster. Högerklicka på "Developer Command Prompt for Visual Studio 2019" och välj "Kopiera".

Högerklicka i mappen du skapade för laborationerna och välj "Klistra in".

Klicka på namnet till vänster om sökrutan i toppen av fönstret och kopiera sökvägen med Ctrl+C.

Högerklicka på filen du just kopierade och välj "Egenskaper".

Ta bort det som står i fältet "Starta i" och klistra in (Ctrl+V) det du just kopierade. Lägg till citationstecken (") före och efter namnet och klicka sedan på "OK".

Nu kan du dubbelklicka på genvägen så ska du se en terminal som ser ut som nedan. Terminalen ska starta i mappen med labbarna i så att det blir enkelt att komma igång sedan.

Ladda sedan hem källkoden för någon laboration och packa upp den i mappen du skapade,
lämpligtvis i en egen undermapp för att hålla koll på vilka filer som hör till vilken labb. Du
kan sedan använda cd
i terminalen för att navigera till den mappen och
använda dir
för att se vilka filer som finns.
Kompilera kod
När du har skapat en genväg enligt instruktionerna ovan kan du använda den för att öppna en
terminal där du kan kompilera kod. Navigera sedan till mappen med den labb du vill kompilera
med cd
som vanligt (exempelvis cd lab1
).
Väl i rätt mapp kan du använda kommandot msbuild <projektfil>
för att
kompilera koden:
- Labb 1:
msbuild avl-tree_test.vcxproj
- Labb 2:
msbuild slow.vcxproj
ellermsbuild fast.vcxproj
- Labb 3:
msbuild wordchain.vcxproj
- Labb 4:
msbuild brute.vcxproj
ellermsbuild fast.vcxproj
Likt i UNIX kan &&
användas för att göra saker i tur och
ordning. Exempelvis: msbuild wordchain.vcxproj && wordchain < input
kommer
kompilera labb 3 och köra den om allt gick bra.
Det kompilerade programmet kan sedan köras som vanligt med de kommandorader som anges i labbinstruktionerna. Det finns dock två skillnader:
- Kommandot
time
finns inte tillgängligt. - Kommandot
cat
ska ersättas med kommandottype
. Dock kommertype
att skriva ut lite extra skräp i terminalen, vilket i allmänhet inte är något problem. - Vissa kombinationer av
echo
ochcat
kanske inte fungerar. Exempelvis:echo "a" | cat test.txt - | program
kommer inte kunna ersättas avecho "a" | type test.txt - | program
eftersomtype
inte riktigt fungerar somcat
Textredigerare
Nedan följer några idéer på textredigerare för Windows:
-
Emacs
Emacs finns även för Windows. Hämta den härifrån. Packa upp filen på lämplig plats, och kör
emacs.exe
som finns i mappenbin
. -
Visual Studio
Genom att dubbelklicka på projektfilerna som finns i den givna koden öppnas projekten i Visual Studio. Härifrån kan du direkt kompilera koden. Dock är labbarna inte gjorda att köras ifrån Visual Studio (du behöver ofta ge dem indata via kommandoraden).
-
Visual Studio Code
Mer avskalad version av Visual Studio som har stöd för många språk och plugins. Ska kunna kompilera projekt via msbuild.
Regler för datorlaborationer
Regler för examinering av datorlaborationer vid IDA
Datorlaborationer görs i grupp eller individuellt, enligt de instruktioner som ges för en kurs. Examinationen är dock alltid individuell.
Det är inte tillåtet att lämna in lösningar som har kopierats från andra studenter, eller från annat håll, även om modifieringar har gjorts. Om otillåten kopiering eller annan form av fusk misstänks, är läraren skyldig att göra en anmälan till universitetets disciplinnämnd.
Du ska kunna redogöra för detaljer i koden för ett program. Det kan också tänkas att du får förklara varför du har valt en viss lösning. Detta gäller alla i en grupp.
Om du förutser att du inte hinner redovisa i tid, ska du kontakta din lärare. Då kan du få stöd och hjälp och eventuellt kan tidpunkten för redovisningen senareläggas. Det är alltid bättre att diskutera problem än att, t.ex., fuska.
Om du inte följer universitetets och en kurs' examinationsregler, utan försöker fuska (t.ex. plagiera, använda otillåtna hjälpmedel eller ej godkända AI-baserade assistenter) kan detta resultera i en anmälan till universitetets disciplinnämnd. Konsekvenserna av ett beslut om fusk kan bli varning eller avstängning från studierna.
Policy för redovisning av datorlaborationer vid IDA
För alla IDA-kurser som har datorlaborationer gäller generellt att det finns en bestämd sista tidpunkt, deadline, för inlämning av laborationer. Denna deadline kan vara under kursens gång eller vid dess slut. Om redovisning inte sker i tid måste, den eventuellt nya, laborationsserien göras om nästa gång kursen ges.
Om en kurs avviker från denna policy, ska information om detta ges på kursens webbsidor.
Sidansvarig: Filip Strömbäck
Senast uppdaterad: 2023-08-09