Ukeoppgaver 1: 25.?28. aug (INF1000 - H?st 2008)
Et f?rste m?te med Java ? kapittel 1 og 2.1?2.3
M?l
I f?rste terminalstue-time skal du greie ? skrive f?lgende enkle programmer og
f? de til ? fungere. P? timene med tavleundervisning (teoritimene) gis det
mer informasjon, og gjennomgang av de samme oppgavene.
Oppgaver
Oppg. 1, 2, 3, 5 i kapittel 1, og oppg. 1?2 i kapittel 2.
- Oppgave 1 i kapittel 1 i l?reboka (side 23):
Lag et program som skriver f?lgende tekst p? skjermen:
Rachmaninovs 3. klaverkonsert har et vakkert ?pningstema
Velg selv hvilket navn du vil gi klassen.Tips: Fremgangsm?te for ? lage ditt f?rste program:
- F?rst skal du logge inn p? datamaskinen vha. brukernavn og passord.
(Hvis du trenger hjelp til dette se under "F?rste gang p? UiOs nettverk" p?
www.usit.uio.no/it/student/brukernavn.html,
eller se lysarkene fra f?rste forelesning.)
- Deretter starter du et tekstredigerings-program, f.eks. Emacs eller TextPad,
og skriver programmet ditt der. Lagre programmet i en fil, og bruk som filnavn
klassenavnet etterfulgt av .java, f.eks. f?rste
program i l?reboken lagres som Utskrift.java:
class Utskrift { public static void main(String[] args) { System.out.println("Beethoven komponerte Skjebnesymfonien"); } }
- Videre bruker du et kommandovindu ("Terminal" i Linux, eller
?pner det via Start > Run... > cmd p? Windows), og kompilerer
programmet ved ? skrive f?lgende p? kommandovinduet:
javac Utskrift.javaHvis kompilatoren oppdager feil i programmet, retter du disse i tekstredigerings-programmet, lagrer, og kompilerer igjen. Feilmeldingen fra kompilatoren sier ofte hvor i programmet feilen sannsynligvis ligger, bl.a. linjenummer. Bruk dette til ? finne feilen, og husk at store og sm? bokstaver har betydning, b?de i programmet og filnavnet. (Mer info p? s. 17-18 i l?reboka, og i lysarkene fra forelesningene.)
- Kj?r programmet ved ? skrive f?lgende p? kommandovinduet:
java Utskrift
- F?rst skal du logge inn p? datamaskinen vha. brukernavn og passord.
(Hvis du trenger hjelp til dette se under "F?rste gang p? UiOs nettverk" p?
www.usit.uio.no/it/student/brukernavn.html,
eller se lysarkene fra f?rste forelesning.)
- Oppgave 2 i kapittel 1 (side 23):
Med utgangspunkt i programmet nedenfor skal du utf?re de angitte endringene en for en. Pr?v f?rst ? kompilere programmet og studér eventuelle feilmeldinger. Dersom programmet lar seg kompilere, s? fors?k ? kj?re det. For hvert fors?k skal du rette programmet tilbake til utgangspunktet og kontrollere at det virker. Her er programmet (som skrives inn i en fil med navnet Studie.java):
class Studie { public static void main(String[] args) { System.out.println("Rett p? Java"); } }
b) Fjern ordet void.
c) Skriv studie i stedet for Studie.
d) Skriv Skr?tt i stedet for Rett.
e) Fjern den siste kr?llparentesen.
- Oppgave 3 i kapittel 1 (side 24):
Finn feilene i dette programmet:
class Utskrift { public stitac void main(String args) ( System.out.println("Beethoven skrev Skjebnesymfonien") System.out.println("og ?tte andre symfonier.); } }
- Oppgave 5 i kapittel 1 (side 24):
Vi ?nsker ? skrive ut f?lgende tekst p? skjermen (med samme pyramideformatering):
a a a a b a a c c a a d f d a
Tips:
Idéen her er ? finne hvordan man legger inn mellomroms-tegn i programmet for ? f? til pyramideformateringen. Senere i kurset, i kapittel 3, vil du l?re en annen m?te ? l?se denne oppgaven p?.
- Oppgave 1 i kapittel 2 (side 43):
Skriv et program som beregner arealet av rektanglene med disse sidest?rrelsene: 3 og 5, 7 og 3, samt 4 og 9, og som skriver ut resultatet med en passende fortekst. Kompier og kj?r programmet.
Tips:
Denne kan l?ses ved ? f?lge oppskriften fra programmet p? side 30 og skrive et lignende program, men med litt andre variabelnavn og beregninger.
- Oppgave 2 i kapittel 2 (side 43):
Finn feilene i dette programmet:
class Volum { public static void main (String[] args) { integer lengde, bredde, h?yde; lengde = 3; volum = lengde * bredde * h?yde; System.out.println("Volumet er: " + volum); } }
Fors?k ? l?se alle oppgavene p? egen h?nd f?rst. Deretter kan du sammenligne med l?sningsforslagene hvis du vil se eksempler p? hvordan oppgavene kunne l?ses, eller ikke fikk til en oppgave.