Nivå och poängvärde: | A 240 |
---|---|
Kort beskrivning: | Vi kompletterar en klass som tar hand om studerandens exkursioner. |
Vad vi lär oss: | Användning av slingor som byggnadsstenar för algoritmer, kombinering av strängar, användning av listor. |
Frihet i implementationen: | Medel. Programstrukturens stora drag är nog definierad, men man kan och bör hitta på en helt egen lösning. |
Realism: | Hög. Här försöker man en klass enligt en viss specifikation, vilket är en typisk uppgift också i riktiga livet. |
Utmaning: | Svår. Här skapar man algoritmer som är mer komplicerade än tidigare. Det lönar sig att ha förkunskaperna (listor och slingor) i skick. |
Arbetsmängd: | En tämligen arbetsdryg uppgift. Även om det inte är så mycket kod att skriva, tar det tid att planera, skriva och testa metoderna. De flesta klarar sig på under fem timmar, men det kan löna sig att reservera mera tid. |
Det givna projektet är bristfälligt. En stor del av Excursion
-klassens kod fattas. Komplettera klassen så att den motsvarar Epydoc-dokumentationen. Komplettera på samma gång huvudmodul som är avsedd för att testa klassen.
Lämna in din kod i Goblin.
excursion_test
för att utforska hur klassen Excursion
fungerar. Notera att fast Excursion
inte är helt komplett, så har den "dummy-implementationer" för alla metoder, så den givna startmodulen kan köras fast direkt.
excursion_test
-modulens main-funktion helt fritt -- den givna versionen testar inte allting!
sign_up
-metodens slutliga implementation är ganska komplicerad för att vara i en nybörjarkurs, eftersom man ska föredra yngre studeranden i excu-anmälningen. Ni behöver någon slags slinga som hittar rätt plats i kön att placera den som anmäler sig. Det lönar sig att koncentrera sig extra mycket på hur er sign_up
-metod fungerar i specialfall (t.ex. om den som anmäler sig är yngre eller äldre än alla andra i kön, eller om han/hon redan finns i kön). if
- och break
-satserna kan vara bra att använda. Glöm inte att använda debuggern om ni har fastnat.