Det är ganska många uppgifter på denna övning, och det är antagligen en av de övningar under hela kursen som kommer att ta längst tid -- det beror på att det är väldigt viktigt att snabbt komma igång med programmeringen, återstående övningar blir betydligt enklare om ni får lite större säkerhet i början av kursen (många av er slipper dessutom vara oroliga att ni inte skulle kunna lära er programmera, för ni kommer redan efter denna vecka att kunna skriva program som gör användbara saker).
Det är alltså troligt att det tar mer än de schemalagda två
timmarna att lösa alla uppgifter som rekommenderas nedan, men enligt
studiehandboken är det meningen att man skall lägga ner i genomsnitt
ca 3-4 timmars självstudietid för varje övningspass, utöver
övningstiden. Om det finns någon ledig plats i en övningssal under
något annat övningspas än ditt eget så får du gärna gå dit också (de
studenter vars grupp har schemalagd övningstid får dock förtur för
hjälp) -- du kan se vilken grupp du tillhör genom att i
kommandofönstret skriva ptgroup
.
Under övningen kommer du att träna på sådant som vi behandlade under den andra föreläsningen (både måndag och tisdag), det kan därför eventuellt hjälpa att i ett annat fönster ha anteckningarna från föreläsning 2.
Övningen behandlar framförallt:
Eftersom det är tidigt i kursen är du kanske fortfarande lite ovan vid att använda kommandofönstret, så ta gärna även denna övning som ett tillfälle att lära dig skriva linux-kommandon (en kort sammanställning finns här).
Uppgifterna är hämtade från kapitel 2 och 3 i kompendiet -- det är tänkt att du skall läsa igenom texten i kompendiet och sedan försöka lösa de uppgifter som rekommenderas nedan -- lösningsförslag till samtliga uppgifter markerade med (*) finns i slutet av kompendiet (alla de uppgifter som rekommenderas nedan har ett lösningsförslag). Om du kör fast på en uppgift kan du förhoppningsvis få hjälp genom att läsa texten i det aktuella avsnittet i kompendiet, eller genom att titta på anteckningarna från föreläsningen -- din övningsledare försöker gärna hjälpa dig om du kör fast.
Om du inte gjorde den första övningen bör du gå till övning 1 och skriva in det inledande initieringskommandot.
Gör därefter följande (även om du har gjort den första övningen):
~/pt/ovn/ovn2
, och hoppa dit
(symbolen ~
representerar din hemkatalog).~/pt/ovn/ovn2
.Du får själv välja om du vill lägga källkoden till alla program
under övningen i en fil (exempelvis ovn2.java
), eller om
du vill skriva varje program i en egen källkodsfil (exempelvis
ex272.java
, ex273.java
, ...).
emacs
Den som använder emacs
som texteditor kan använda ett
antal snabb-kommandon som underlättar en del av arbetet under
övningarna:
Alt-4
: frågar efter ett programnamn, och skapar
ett huvudprogram med det givna namnet.
Alt-2
: ger en import-sats -- du får själv fylla
i sista delen.
Alt-p
: ger System.out.print
Alt-k
: ger Keyboard.next
Kapitel 2 introducerar ett antal begrepp som vi kommer att behandla mer noggrannt i senare kapitel, det innebär att man i vissa uppgifter måste läsa texten ganska noga, för att inte missa någon detalj som kanske inte är självklar så här långt in i kursen.
Avsnitt 2.7 behandlar först while
-lopar, och vi har
två uppgifter på dem:
Därefter behandlas for
-loopen, som vi har ytterligare
några uppgifter på:
Sist i kapitlet finns kapiteluppgifterna, och där har vi två rekommenderade uppgifter -- observera att lösningarna till kapiteluppgifterna finns i ett särskilt kapitel (och alltså inte i samma kapitel som lösningarna till kontrolluppgifterna):
I kapitel 3 behandlas begreppen klass, objekt och referens, och de är centrala för hela kursen. Vi kommer under kursens första veckor att använda färdigskrivna klasser, för att sedan under pass 7 och framåt lära oss skriva egna klasser.
Vi avslutar med ett antal blandade kapiteluppgifter (de finns i slutet av kapitlet):
pt-quiz
(för pass 2).