Algoritmer och datastrukturer TF3 Sy

samt
Algoritmer och datastrukturer med objektorienterad programmering, fristående kurs


Obligatorisk inlämningsuppgift nummer 4,
Projekt


Uppgifter

Välj en av uppgifterna eller föreslå en egen uppgift.

  1. Egen uppgift

    Föreslå själv ett projekt! Din egen fantasi sätter gränserna. Diskutera din uppgift med Johan. Skriv därefter en kortfattat spec av uppgiften och lämna in den, innan du påbörjar ditt arbete.

  2. Texthanteringssystem

    Skriv ett antal objekt som filtrerar text och vid denna filtrering gör givna ändringar av texten. Filter att implementera kan vara konvertering lower->upper, upper->lower, search, delete, change. Skriv en basklass filter och låt filtren ärva denna.

  3. Ordbehandlare

    Skriv en enkel radorienterad ordbehandlare.

  4. Fönster

    Skriv en klass som simulerar fönster med text. Fönster skall kunna vara överlappande, men kan vara helt alfanumeriska. Fönstren behöver ingen grafik och du behöver inte kunna X.

  5. Bignum

    Skriv en bignumklass, som kan hantera godtyckligt stora tal och utföra aritmetiska operationer på dessa.

  6. Spel

    Luffarschack, Othello, ...... Undvik spel med en flashig bildskärmshantering. Diskutera din uppgift med Johan. Skriv en kortfattat spec av uppgiften och lämna in den, innan du påbörjar ditt arbete.

  7. Kortspel

    Skriv ett kortspel, exempelvis Black Jack, poker, eller liknande.

  8. Simulering

    Simulera t ex en trafiksitutation, ett kösystem i en bank (prova vilket system, gemensam kö till alla kassor, eller olika köer, som blir effektivast under olika antaganden), djurpopulation. Du kan inte lämna in en "hottad kioskkö" och säga att det är ditt simlueringsprojekt. Naturligtvis kräver även denna uppgift en god självständighet. På denna uppgift måste innan du påbörjar programmeringen, skriva en detaljerad beskrivning av ditt projekt, lämna in det till Johan och få planen godkänd, innan du påbörjar ditt arbete.

    Exempel på bra simuleringsuppgifter kan vara

    Mindre bra projekt är en (rysk) kiosk, eller fyrvägskorsning (en uttjatad uppgift).

    Några goda råd

    När du arbetar med projektet, skissa ingående på klashierkier, väsentliga metoder etc. Diskutera gärna igenom din ambitionsnivå på uppgiften och din klasshierarki med handledaren innan du börjar koda.

    Frågor?
    Fråga!


    Redovisning

    Redovisningen består av
    1. Ifylld försättssida
    2. lämpligt kommenterad programlistning
    3. en beskrivning av och motiv för valda algoritmer, klasser klasshierkier och andra datastrukturer.
    4. ett körexempel, möjligtvis avskrivet
    5. uppgift om var filen finns tillgänglig för läsning. Se till att ge läsrättigheter åt gruppen övriga.
    Uppgiftslösningen ska i sin helhet spegla en god programmeringssed för C++ och tillämpa klassbegreppet på ett meningsfyllt sätt.

    Uppgiften får lösas individuellt eller i grupper om två. Om två personer arbetar tillsammans, ska båda aktivt delta i hela utvecklingsarbetet. En ren arbetsdelning, exvis programmering mot dokumentation är inte tillåtet.


    Johan Bengtsson
    Last modified: Mon Feb 5 23:20:48 1996