Professional Documents
Culture Documents
Ou 1
Ou 1
Institutionen fr datavetenskap
Programmeringsteknik med C och Matlab, 7,5 hp
Obligatorisk uppgift 1
Specifikation
2016-08-17
Sid 1 (4)
Obligatorisk uppgift 1
Shopping assistant
Introduktion
Nr man ker utomlands och handlar i en affr vill man ofta veta vad det man handlar dels kommer att kosta
i den lokala valutan och dels vad det kostar i svenska kronor. I denna uppgift ska en enkel shoppingassistent
implementeras. Uppgiften ska lsas enskilt.
Syfte
Syftet med uppgiften r att examinera delar av fljande frvntade studieresultat:
Vid det tillhrande kodgranskningstillfllet ges ven mjlighet att trna p delar av fljande frvntade
studieresultat:
Kunna tolka och beskriva programfldet hos program, inklusive sdana som innehller rekursiva
funktioner (FSR 1)
Visa att man frstr principerna fr felskning genom att kunna utfra felskningar (FSR 8)
Specifikation
2016-08-17
Sid 2 (4)
Uppgift
Din uppgift r att skriva ett program som lser in priser i aktuell utlndsk valuta och sedan presenterar
summan av priserna i aktuell valuta och i svenska kronor. Anvndaren ska kunna ange vxlingskurs.
Nedan visas hur interaktionen med anvndaren ska se ut. Inga vxlingsavgifter anvnds.
9.71
Not a valid choice!
1. Set exchange rate in SEK (current rate: 9.71)
2. Read prices in the foreign currency
3. End
Give your choice (1 - 3): 2
Give price (finish with < 0): 2.75
Give price (finish with < 0): 3.50
Give price (finish with < 0): -23
Sum in foreign currency: 6.25
Sum in SEK: 60.69
1. Set exchange rate in SEK (current rate: 9.71)
2. Read prices in the foreign currency
3. End
Give your choice (1 - 3): 3
End of program!
Specifikation
2016-08-17
Sid 3 (4)
Algoritm
Fljande algoritm ska anvndas i programmet:
1. S lnge anvndaren inte valt att avsluta programmet, upprepa fljande:
1.1. Skriv ut menyn och ls in val
1.2. Om valet r att stta valutakurs
1.2.1. Stt valutakurs
1.3. Om valet r att lsa in priser
1.3.1. S lnge anvndaren inte vill avsluta inmatningen
1.3.1.1.
Efterfrga pris eller klar med inmatning, samt om det r ett giltigt pris
1.3.1.2.
Uppdatera summan
1.3.2. Skriv ut summan i lokal valuta och i svenska kronor
1.4. Om ogiltigt val
1.4.1. Skriv ut att det var ett ogiltigt val
2 Avsluta programmet
Krav p lsningen
Hr nedan finns det ett antal krav som programmet ska uppfylla av praktiska skl:
Programmet behver bara hantera korrekt indata. Ingen validering av indata krvs, frutom att det ska g att
anvnda programmet p det stt som illustreras i ovanstende exempel frn krning av programmet. Om du
vljer att validera data ska valideringen vara korrekt.
Resurser
Till ert frfogande fr att lsa uppgiften finns det ett antal datorer och ett antal handledningstillfllen i
laborationssal (tider framgr i schema). Det r tilltet att lsa laborationen p annan plats, till exempel
hemma, men tnk p att programmet ska kompileras och vara krbart p institutionens linuxdatorer.
Redovisning
Uppgiften redovisas genom att lmna in kllkodsfilen via webbgrnssnittet, se adress p kursens hemsida,
senast onsdag den 5 oktober 17.00. Mjlighet till uppdaterad inlmning efter kodgranskningstillfllet ges till
senast fredag den 7 oktober 17.00. Kompletterings och uppsamlingsdatum framgr i Cambro.
Tips
Hr fljer ngra tips som kan hjlpa till:
Brja med att frst uppgiften, vad ska gras, vilka krav finns det, vad ska lmnas in, etc.
Skapa kllkodsfilen och skriv in algoritmer och beskrivande text.
Utveckla programmet stegvis, ett frslag r att skriva interaktionsdelen frst.
Frsk att testa varje steg utfrligt innan nsta steg tas och kom ihg att testa att tidigare steg
fortfarande fungerar nr nsta steg testas.
Nr du vill ha hjlp av handledare, var beredd p att frst frklara vad du vill uppn/gra och hur du
tnkt gra det i koden.
Specifikation
2016-08-17
Sid 4 (4)
Bedmningskriterier
Den inlmnade lsningen kommer att bedmas enligt fljande kriterier:
Kriterium
Kompilering
Testkrning/
Korrekthet
Kommentarer
Godknd
Utan varning
Utan fel
Informativa
Lagom omfattning
Konsekvent sprk
Algoritmen plus eventuella
ndvndiga utkningar
Korrekt
Variabeldeklaration
Konsekvent
Olika datatyper p olika
rader
Variabelnamn
Bra namn
Konsekvent namngivning
Bra struktur
Bra val av villkor
Indentering
Valstrukturer
Loopstrukturer
Programstruktur
Msvingar placeras
konsekvent
Msvingar anvnds till alla
val- och loop-konstruktioner
Algoritm
Ofullstndig
Allvarlig
Felaktig output
Rknar fel
Missvisande
Saknar ndvndig
information
Saknas
Mnga fel
Visar tecken p att ej frst
varfr och hur man
indenterar
Felaktig
Missvisande namn
Olmpliga namn
Felaktiga villkor
Felaktiga villkor
break och continue
anvnds i ondan
Msvingar placeras hur som
helst
Globala variabler
Kommandona goto
och/eller longjmp anvnds
Fljer ej algoritm