Øvingsoppgaver - Java repetisjon: Løkker, tabeller og referanser
Oppgavesett 1
Her er noen oppgaver til å starte opp med. Dette oppgavesettet er å regne som oppvarming, og er ikke med blant settene som brukes til de obligatoriske innleveringene. De som leverer, vil likevel få tilbakemelding. Innleveringen skal bestå av en pdf-fil med korte kommentarer og dokumentasjon (utskrifter etc.). Legg også ved godt dokumenterte java filer. Alt pakkes i en zipfil, med navn assignment01-*.zip der * er etternavnene til gruppemedlemmene. Javafilene skal tilhøre en pakke med navn package assignment01. Oppgavene blir tema på øvingen fredag 20. januar. Fristen for innlevering er tirsdag 24.januar 09:00.
Oppgave 1
A)
Lag en funksjon void countDownFor(int from, int to) som teller ned ved å skrive ut til System.out tallene fra og med from til og med to, ved å bruke en for-løkke.
B)
Lag en tilsvarende funksjon void countDownWhile(int from, int to) ved å bruke en while-løkke.
C)
Lag en funksjon void countOdd(int from, int to) som skriver ut alle oddetall fra og med from til og med to.
* D)
Lag en tilsvarende funksjon countDownRecursive(int from, int to) ved hjelp av rekursjon (vi har ennå ikke begynt på rekursjon, dette er en stjernemerket oppgave :-).
Oppgave 2
Implementer funksjonen int pow(int a, int n) som returnerer verdien an , dvs. a opphøyd i n'te potens.
Oppgave 3
A)
Implementer funksjonen void reverseArrWithExtraArr(int[] arr) som revererser tabellen arr ved å bruke en ekstra hjelpetabell. Test funksjonen ved å lage en tabell med lengde 10 som er fylt opp med tilfeldige tall (Tips: Klassen java.util.Random har mange kjekke funksjoner, f.eks. int nextInt() og int nextInt(int n)).
B)
Implementer en tilsvarende funksjonen void reverseArrNoExtraArr(int[] arr) som
C)
Vi har gitt følgende klasse:
Lag funksjonen void reverseArrSwapValues(Node[] arr) som revererser tabellen arr ved å gjentatte ganger bytte
D)
Programmer funksjonen void reverseArrSwapReferences(Node[] arr) som revererser tabellen arr ved å gjentatte ganger bytte
* Oppgave 4
Lag et program som løser Tårnet i Hanoi for et vilkårlig antall ringer. Du behøver ikke lage noe fancy brukergrensesnitt, men tilstanden for hvert flytt må illustreres på en eller annen måte, f.eks. ved utskrift til System.out.