Labbar

Den här sidan innehåller läsinstruktioner och labbar. Du är starkt rekommenderad att läsa de rekommenderade avsnitten innan du börjar med respektive labb.

 

Förberedelser

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

Läs sedan introduktionen till Java här, här Links to an external site. och 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.


Labbuppgifter

  1. Minsta omkrets Links to an external site.
    Läs först om in- och utmatning i Java, t.ex. här och här, men läs också Links to an external site.
     
  2. Räkna bokstäver Links to an external site.
    läs först om Strängar i Java Tutorial och i API:t Links to an external site., och även vad Kattismanualen har att säga om klassen Scanner. Links to an external site. Läs gärna även om Map Links to an external site.(API), map (tutorial) Links to an external site.. Notera att Kattis använder en lite konstig font i uppgiftsbeskrivningen - rätt svar om det inte finns några bokstäver ska vara en nolla, "0".

  3. Dekompression 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.,
  4. Fakultetstal Links to an external site.
    Läs om tal och matematiska operatorer. Links to an external site.

  5. Största ön Links to an external site.
    Läs om Collections i tutorial Links to an external site., särskilt Set. 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.. Skapa dessutom gärna egna stora indata att testa på om du får problem med time out. Du kan också ta inspiration från Forward Search Links to an external site..

  6. Snödjup 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 RekordData som representerar en datapunkt. Denna klass ska implementera interfacet Comparable<RekordData> med metoden compareTo för att smidigt kunna jämföra vilken av två rader 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 giltiga datarader i en array av RekordData. Klassen Arrays  tillhandahåller ett smidigt sätt att sortera arrayer med hjälp av metoden sort.