Göm meny

Temauppgift 1

I den första temauppgiften ska ni implementera två sorteringsalgoritmer som ska kunna användas för att sortera DataRow-instanser (se introuppgift 1. Data laddar ni in på samma sätt som i introuppgiften till tema 1.

Allmänt

Betyg

För att få betyget VG på momentet för Tema 1 (PRA1) behöver man göra VG-delen av temauppgiften. Kursbetyget baseras på betyget i tema 1-3.

Redovisning och komplettering

Uppgiften redovisas på schemalagt redovisningstillfälle. Vid redovisningen visar ni att er kod fungerar korrekt, att den går igenom kontroll för PEP 8 och PEP 257 samt att ni förstår den kod ni skrivit.

Missat redovisningstillfälle kompletteras genom att skicka in en screencast där ni demonstrerar ovanstående. Screencastkomplettering skickas in individuellt.

Komplettering upp till VG: Ett specifikt tillfälle för VG-kompletteringsredovisningar kommer att hållas i slutet av kursen. Datumet är preliminärt 10-12, 245 i SU14. Anmäl dig senast fre 19 maj till jody.foo@liu.se om du önskar utnyttja detta tillfälle.

Kodstandard

Er kod ska följa standarderna PEP 8 och PEP 257. Kontrollera detta genom att köra koden genom pep8 och pep257 programmen. pep8 finns installerad för alla, men ni behöver skapa en virtuell miljö (virtualenv) och installera pep257.

Uppgift 1

I uppgift 1 ska ni implemenetera en bubblesort som tar in en lista av DataRow-instanser och sorterar dem efter tid.

  1. Skriv en funktion som ni döper till load_data() som tar in namn på fil och returnerar en lista med DataRow-objekt.
  2. Skriv sedan en funktion som ni döper till bubblesort() som tar in listan med DataRow-objekt och returnerar en sorterad lista med DataRow-objekt.

För att få VG på uppgift 1 ska man via argument till bubblesort() kunna välja vilken av DataRows instansvariabler som listan av DataRow-objekt ska sorteras efter.

Uppgift 2

Beroende på vilket gruppnummer ni fått, har ni till uppgift att implementer en av följande sorterinsalgoritmer som ska användas för att sortera en lista av DataRow-objekt.

  1. Shell-sort
  2. Merge-sort
  3. Quick-sort

Är ni t.ex. grupp A1.1, B1.1 eller D1.1 implementerar ni Shell-sort.

För att få VG på uppgift 2 ska man via argument till shell/merge/quick-sort-funktionen kunna ange både vilket attribut som man ska sortera efter, men även om sorteringen ska ske stigande eller fallande.


Sidansvarig: Jody Foo
Senast uppdaterad: 2017-05-03