Denna övning är det tänkt att du skall försöka göra färdigt inlämningsuppgift 2 (deadline är inte förrän i slutet av nästa vecka, men det är bra att ha den klar så snart som möjligt) - dessutom har vi några andra uppgifter som du kan öva på.
Det är inte omöjligt att det tar mer än de schemalagda två timmarna
att lösa de rekommenderade uppgifterna och inlämningsuppgiften, 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
.
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
Vi vill ha ett program som visar en gubbe som försöker hoppa på
stenar över en flod -- i kurspaketet finns en klass
Path
som kan visa gubben och stenarna (se bild längre ner).
Gubben skall ta ett antal steg, och i varje steg kan endera av tre saker inträffa:
Meningen är att programmet skall börja med att fråga efter antalet stenar, och sannolikheterna att i ett givet steg hoppa framåt eller falla i vattnet (det är alltså två sannolikheter som skall läsas in) -- om gubben i ett steg varken hoppar framåt eller faller i vattnet så skall han hoppa bakåt.
Antal stenar: 10 Sannolikhet att hoppa framåt (i %): 80 Sannolikhet att falla (i %): 4
Därefter skall programmet rita ut stenarna och låta gubben börja hoppa fram och tillbaka slumpmässigt enligt de sannolikheter som vi läst in:
Vandringen håller på tills gubben antingen når den sista stenen, eller faller i vattnet.
När vandringen är över skall programmet skriva:
Klarade det på 13 hopp!eller:
Hoppade 7 gånger, men misslyckades...beroende på hur det gick. Klassen
Clock
beskrivs här,
och ett lösningsförslag
finns här.