Nada

Kurs 2D1343 [NADA, KTH]                                               1999-01-24
Henrik Eriksson

Datalogilaboration 5 - Swahili

Laborationens tema är användning av objekt, dels som poster i en glosdatabas, dels för implementering av en abstrakt kö. Uppgiften är att genomföra ett glosförhör i swahili. Programmet frågar på alla glosor i filen /info/kurser/datalogi_e99/swahili och rättar felaktiga svar. Glosor som inte klarats i första omgången tas sedan om i en andra genomgång. För varje genomgång blir det färre frågor och programmet avslutas när gloskön är tom.

Skapa en abstrakt kö

I filen Queue.java ska du göra två klasser, class ListNode och public class Queue. Det ska bli en slimmad version av kön i lärobokens avsnitt 15.2, på så sätt att
  1. konstruktorerna tas bort ur ListNode,
  2. Queue bara har tre metoder: put(x) (motsvarar enqueue), get() (motsvarar dequeue) och isEmpty(),
  3. alla throw-satser tas bort.
Ett litet testprogram kan också få vara med i Queueklassen, till exempel
  public static void main(String[] args)                           {
    System.out.print("Skriv några ord: ")                          ;
    while(!Mio.Eoln()) put(Mio.GetWord())                          ;
    while(!isEmpty()) System.out.print(get())                      ;}

Läs glosor från fil, skapa glosobjekt och lägg in i kön

I filen Glosor.java ska du först skriva klassen Glosa som bara innehåller minnesutrymmena svenska och swahili. Så följer klassen Glosor med ett huvudprogram som först deklarerar ett nytt köobjekt Queue q=new Queue(); och som sedan läser glosfilen och för varje ordpar skapar ett glosobjekt med dom båda orden och puttar in det i kön.

När inläsningsslingan är klar vidtar förhörsslingan. I den får man användning av alla tre anropen q.isEmpty(), q.put(glosan) och glosan = (Glosa) q.get(). Förklara varför (Glosa) behövs i sista satsen!

java Glosor
Ordlistan inläst!
Översätt till swahili:
jag = vi
Rätt svar är ni
du = ku
tala = 
- - -
När du är bombsäker på swahili kan du försöka få underskrift av en lärare.

Storslagen insats av ..................................... intygar.............................. den .................


Sidansvarig: <henrik@nada.kth.se>
Senast ändrad 4 februari 1999
Tekniskt stöd: <webmaster@nada.kth.se>