Visa version
Visa
< föregående
|
nästa >
Jämför
< föregående
|
nästa >
Laboration 8
I denna labb ska du
- Lära dig att använda domaren Kattis.
- Lära dig att skriva testprogram med unittest.
Registrera dig på Kattis
Gör så här:
- Följ länken: tildah16 i Kattis
- Logga in (längst upp till höger) med ditt KTH-id
- Registrera dig på tildah16 i Kattis (I am a student taking this course and I want to register for it on Kattis.)
Lär dig använda Kattis
- Läs avsnittet Tutorials (1 och 2) i dokumentationen
- Lös problemet Hello
- Lös problemet A Different Problem
Molekyler
Du ska implementera en syntax (se Föreläsning 10) för enkla molekyler, till exempel H2 eller Cr12. Programmet ska fungera enligt följande exempel:
Ge en molekyl: H2
Formeln är syntaktiskt korrekt
Ge en molekyl: cr12
Saknad stor bokstav
Ge en molekyl: Cr0
För litet tal vid radslutet
Ge en molekyl: Pb1
För litet tal vid radslutet
Ge en molekyl: Mn4
Formeln är sytaktiskt korrekt
Syntaxen besår av dessa fem regler:
<molekyl> ::= <atom> | <atom><num>
<atom> ::= <LETTER> | <LETTER><letter>
<LETTER>::= A | B | C | ... | Z <letter>::= a | b | c | ... | z <num> ::= 2 | 3 | 4 | ...
Du ska inte kontrollera att bokstäverna bildar en verkligt atomnamn (det kommer i nästa labb), inte heller ska du undersöka om molekylen är rimlig kemiskt sett.
Läs igenom instruktionerna nedan och utför punkterna i ordning.
- Skriv en spec med namnen på de funktioner du behöver och en kommentar för varje funktion som beskriver vad funktionen ska göra.
- Gör en kopia av din LinkedQueue från labb 2, och lägg till metoden peek() som tittar på nästa värde i kön utan att plocka ut det.
- Gör ett eget särfall Syntaxfel som är subklass (ärver från) Exception.
- Skriv ett testprogram med unittest som ska kontrollera att funktionerna fungerar som avsett.
- Till sist - skriv själva funktionerna.
Redovisning
Labben lämnas in på kurswebbsidan (se Inlämningsuppgifter i vänstermenyn) och redovisas muntligt av bägge gruppmedlemmarna.
Vid redovisningen ska du kunna
- Demonstrera hur Kattis används.
- Visa upp din spec med beskrivningar av funktionerna.
- Visa hur unittest används för testning av dina funktioner
- Förklara hur ditt program fungerar.
Betyg
Denna labb kan endast ge betyg E. Du måste lämna in den och redovisa den i tid för att få göra labbarna för högre betyg i period 2.