Till KTH:s startsida Till KTH:s startsida

Ändringar mellan två versioner

Här visas ändringar i "Laboration 8" mellan 2016-10-31 10:30 av Linda Kann och 2016-10-31 11:51 av Linda Kann.

Visa < föregående | nästa > ändring.

Laboration 8

cat

I denna labb ska du


* Skriva ett program för syntaxkontroll.
* Lära dig att skriva testprogram med unittest.
* Lära dig att använda domaren Kattis
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: H2Formeln är syntaktiskt korrekt Ge en molekyl: cr12Saknad stor bokstavGe en molekyl: Cr0För litet tal vid radslutetGe en molekyl: Pb1För litet tal vid radslutetGe en molekyl: Mn4Formeln ä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.


* 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. Se exempel från syntaxföreläsningen.
* Skriv själva funktionerna och provkör.
Lär dig använda 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
* Läs avsnittet Tutorials (1 och 2) i dokumentationen
* Lös problemet Hello
* Lös problemet A Different Problem
Redovisning Labben (syntaxprogrammet och unittest) lämnas in på kurswebbsidan (se Inlämningsuppgifter i vänstermenyn) och redovisas muntligt av bägge gruppmedlemmarna.

Vid redovisningen ska du kunna


* Visa upp din spec med beskrivningar av funktionerna.
* Visa hur unittest används för testning av dina funktioner
* Förklara hur ditt program avspeglar den givna syntaxen.
* Demonstrera hur Kattis används.
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.