Labbar

Börja med att registrera dig på kurssidan i Kattis, se instruktioner här.

Läs sedan introduktionen till Java här och/eller här. Hjälp med att installera och köra java hittar du här. Instruktioner för att använda Java i Kattis finns här.

För godkänt på kursen krävs godkänt på uppgift 1 − 6 nedan. För den som vill ha ytterligare utmaning finns även de två extrauppgifterna 7 och 8.

OBS! Inlämningsuppgifterna ska göras individuellt. Man kan diskutera uppgifterna med sina kurskompisar, men det är absolut förbjudet att titta på någon annan students programkod, eller att visa sin kod för någon annan student. Detta kommer att betraktas som fusk! Alla insända bidrag kommer att plagiatkontrolleras. Se även EECSs hederskodex.

Notera också att uppgifterna har en deadline.

Testa gärna Hello World, för att se hur Kattis fungerar.

  1. Lägg ihop ord
    Läs först om in- och utmatning i Java, t.ex. här och här.
     
  2. Primtalskoll Links to an external site.
    läs först om variabler, operatorer, uttryck och grundläggande kontrollstrukturer i Java..

  3. Formelparser Links to an external site.
    Läs om tal och strängar Links to an external site..

  4. Unika Ord Links to an external site.
    Läs om strängar i tutorial Links to an external site., och i API:t. Links to an external site.


  5. Räkna öar Links to an external site.
    Här kan det vara bra att läsa om arrayer Links to an external site.och Collections Links to an external site., t.ex Deque Links to an external site.. Om du vill testa din kod på större sjökort kan du göra egna filer med hjälp av MapBuilder.java.

  6. Bonuspoängen Links to an external site.
    Läs först om klasser och objekt t.ex. här . För att lösa uppgiften, definiera en hjälpklass Result som representerar en resultatrad. Denna klass ska implementera interfacet Comparable<Result> med metoden compareTo för att smidigt kunna jämföra vilken av två resultatrader som ska listas först. Man kan läsa mer om Comparable här  och här, och mer om interface i allmänhet här.
    Lägg gärna alla resultat i en array av Result. Klassen Arrays  tillhandahåller ett smidigt sätt att sortera arrayer med hjälp av metoden sort.

  7. Fönster
    (icke-obligatorisk extrauppgift)
    För den här uppgiften måste man tänka till lite för att få den att bli tillräckligt snabb. Hitta en algoritm som inte behöver behandla alla pixlar som ligger innanför redan behandlade fönster.

  8. Dekompression Links to an external site.
    (icke-obligatorisk extrauppgift)