Oppgave01.java class Bongo { 2 public static void main(string[] args){ 3 int[][][]bongo = new int[2][3][4]; 4 5 // SVAR: 24 6 } 7 } 8

Like dokumenter
Løsningsforslag INF desember 2007

Løsningsforslag til eksamen i INF1000 våren 2006

INF1000: Forelesning 11. Oppgave 2. Oppgave 1. Husk å melde deg på prøveeksamen i INF1000! Ole Christian Lingjærde 7.november 2006

Oppgave 1. Oppgave 2. Oppgave 3. Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Oppgave 1. INF1000 Uke 13. Oppgave 2. Oppgave 3. Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI

INF 1000 Prøveeksamen. 23. november Ole Christian og Arne. Oppgave 1 (10 poeng) Er disse programsetningene lovlige i Java? Oppgave 2 (10 poeng)

De neste ukene. INF1000 Uke 12. Prøveeksamen. Nå - Prøveeksamen. Forelesning om IT og samfunn neste uke (13/11).

Forelesning inf Java 4

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

Litt mer om uttrykk: ++ og -- INF1000 : Forelesning 4. Oppgave. Blokker. 0 udefinert udefinert. Alternativ 2 Postfiks-operator

Inf 1000 høst 2005 Løsningsforslag ordinær eksamen

Repetisjon. INF gruppe 13

UNIVERSITETET I OSLO

INF Uke 10. Ukesoppgaver oktober 2012

Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013

Løsningsforslag, inf101, våren 2001

Gjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7

UNIVERSITETET I OSLO

INF Uke 10. Løsningsforslag ukesoppgaver oktober 2012

Innlesning fra tastatur med easyio. INF1000 høst Vi må først skrive i toppen av programmet: import easyio.*;

Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder

INF1000 (Uke 4) Mer om forgreninger, While-løkker

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Repetisjon. Mer om forgrening While-løkker

(! )! #!! *#+,$&!! &#$

3 #$ *#+,$&!! &#$ (! )! #! 6 &#)%#. / 5$ #%#.67 / "## #&! %# # & #!!& %&$ # $!!!!# $#

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Løsningsforslag

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag

INF1010 Sortering. Marit Nybakken 1. mars 2004

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Ole Christian Lingjærde, 12. september 2013

Forelesning inf Java 4

UNIVERSITETET I OSLO

Eksempel: Body Mass Index (BMI) Forelesning inf Java 3. Ferdig program (første del) Ferdig program (siste del)

Blokker. Uke 4, INF 1000, 13 sept Løkker og arrayer. Eksempel. Deklarasjoner inne i blokker. Institutt for Informatikk Universitet i Oslo

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

OPPGAVE 5b og 8b Java Kode

for (int i=0; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j); System.out.println();

UNIVERSITETET I OSLO

Repetisjon: operatorene ++ og -- Java 5. Nøtt. Oppgave 1 (fra forrige gang) 0 udefinert udefinert. Alternativ 1 Prefiks-operator

Oppgave 1 - Kortsvarsoppgave. INF1000 eksamen V05. Oppgave 1 (c) Oppgave 1 (b) Svar: a = 9, b=10

UNIVERSITETET I OSLO

Gjennomgang av en tenkt eksamensoppgave

UNIVERSITETET I OSLO

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Tre måter å lese fra terminal.

Det matematisk-naturvitenskapelige fakultet LØSNINGSFORSLAG

Gjennomgang av en tenkt eksamensoppgave

Java 4. Mer om easyio Mer om forgreninger Løkker. 7. september 2004

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster

INF1000 (Uke 6) Mer om metoder, tekster

INF1000 Uke 14. Løsningsforslag - prøveeksamen. Institutt for Informatikk Fredrik Sørensen og Arne Maus

INF1000 : Forelesning 4

INF1000 oppgaver til uke 38 (17 sep 23 sep)

INF1000 : Forelesning 3

Oppgave 2 (20 poeng) float og long i oppgave 2:

INF1000 høst Forelesning 2: Innlesning fra terminal Boolean-variable if-setninger Løkker Litt mer om heltall: divisjon og modulo Arrayer

Rep: Metoder. INF1000 (Uke 6) Mer om metoder, tekster. Rep: Metoder. 3 typer variable: Klassevariable. Java-programmene så langt i kurset:

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

(MVC - Model, View, Control)

Body Mass Index (BMI) INF1000 : Forelesning 3. Ferdig program (forts.) Ferdig program

Forelesningsquiz. Forelesning inf Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min.

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

INF2100. Oppgaver 26. september til 1. oktober 2007

Ta inn og ut av 2D-array. Java 6. Liste over ulike verdier i 2D-array. Det ferdige programmet. Vi skal lage et program som illustrerer hvordan man

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder:

Forelesning inf Java 5

INF Løsning på seminaropppgaver til uke 8

Forelesning inf Java 5

Det matematisk-naturvitenskapelige fakultet

INF1000 Forelesning 9. Hashmap Eksempel: Flyreservasjon

HashMap. INF1000 Forelesning 9. Ulike versjoner i Java 1.4 (gammel) og Java 1.5/1.6 av HashMap. Objekter lagres med en søkenøkkel

En klasse er noe - en metode gjør noe (! / # <= (! * +!! ",-' %. "- -/ %.!#) )! " 0'%! * *$! "1-)) '' % '. 22!'( 7/ /! * 2 2! "*"% 8"%% 9 - -!

UNIVERSITETET I OSLO

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

import java.io.*; import java.util.*; import javagently.text;

INF1000 Uke 4. Innlesning fra terminal. Uttrykk og presedens. Oversikt

Eksempel: Body Mass Index (BMI)

UNIVERSITETET I OSLO

Løsningsforslag ukeoppg. 9: okt (INF Høst 2011)

UNIVERSITETET I OSLO

INF1000 (Uke 14) Resten av eksamen H03 + del av V05

UNIVERSITETET I OSLO

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

Forelesning inf Java 3

Oversikt. INF1000 Uke 3. Repetisjon Program. Repetisjon Program. Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Ukeoppgaver INF1000: 12. feb 16. feb

Oblig 4Hybelhus litt mer tips enn i oppgaven

Spørsmål fra forrige forelesning. INF1000 Forelesning 7. Oppførselen til inword()/inint()/etc. Operator-presedens i Java

Fra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

INF1000 (Uke 6) Mer om metoder, tekster

Transkript:

Oppgave0.java 07.0.2008 class Bongo { 2 public static void main(string[] args){ 3 int[][][]bongo = new int[2][3][4]; 4 5 // SVAR: 24 6 } 7 } 8

Oppgave02.java 07.0.2008 class Lovlige { 2 public static void main(string[] args){ 3 { 4 // ) SVAR: NEI 5 int x = 4.0 / (int) 2.0; 6 } 7 8 { 9 // 2) SVAR: JA 0 boolean t = ( > 2); } 2 3 { 4 // 3) SVAR: NEI 5 double[] f = new double[2.0]; 6 } 7 8 { 9 // 4) SVAR: JA 20 2 } int i=0, j=i, k, l, m=j+2*i; 22 23 { 24 // 5) SVAR: NEI 25 int [] heltall = 3; 26 } 27 28 { 29 // 6) SVAR: NEI 30 int[3] tre = new int {, 2, 3}; 3 } 32 33 { 34 // 7) SVAR: JA 35 String int2 = "" + true; 36 } 37 38 { 39 // 8) SVAR: NEI 40 while (i++ < 000); 4 } 42 43 44 { // 9) SVAR: NEI 45 46 } boolean [] a, b == true; 47 48 49 { // 0) SVAR: JA 50 5 } int[][] tusen = {{(int).25},{7}, {(int)3.75}}; 52 53 } } 54

Oppgave03.java 08.0.2008 class AntallGanger { 2 public static void main(string[] args){ 3 { 4 // ) SVAR: 3 ganger 5 for (int i=2; i<8; i+=2) { 6 System.out.println("INF000"); 7 } 8 } 9 System.out.println("***"); 0 { 2 3 // 2) SVAR: 0 ganger for (int j=; j < 0 ; j = j+ ) { 4 for (int i = j -; ++i < j++; j = i+) 5 System.out.println("INF000"); 6 } 7 8 } System.out.println("***"); 9 20 2 { // 3) SVAR: 8 ganger 22 for (int i=0; i < 2; i++){ 23 for (int j=; j < 3; j++){ 24 for(int k=2; k < 4; k++){ 25 System.out.println("INF000"); 26 }}} 27 } 28 System.out.println("***"); 29 30 { 3 // 4) SVAR: 3 ganger 32 int k = 5; 33 while (k > 5 - k--) { 34 System.out.println("INF000 "); 35 } 36 } 37 System.out.println("***"); 38 } 39 } 40

Oppgave04.java 07.0.2008 class VerdienTilT { 2 public static void main(string[] args){ 3 int i=,j=2, f, t=0; 4 f = (int) ((i*.0/j)*2.0); 5 while (f < 5) { 6 t = f; 7 f = j; 8 j = t+; 9 } 0 System.out.println("t=" + t); 2 3 } // SVAR: t = 4 4 } 5

Oppgave05.java 07.0.2008 class ProsentJenter { 2 double prosentjenter(int antalljenter, int antallgutter){ 3 return ((double)antalljenter)/(antalljenter + antallgutter); 4 } 5 public static void main(string[] args){ 6 ProsentJenter pj = new ProsentJenter(); 7 int jenter = 50; 8 int gutter = 50; 9 System.out.println("" + jenter + "j, " + gutter + "g => " + pj. prosentjenter(jenter, gutter) + "%"); 0 2 int jenter2 = 3; int gutter2 = ; 3 System.out.println("" + jenter2 + "j, " + gutter2 + "g => " + pj. prosentjenter(jenter2, gutter2) + "%"); 4 } 5 6 }

Oppgave06.java 08.0.2008 2 class ArealRektangel { int[] arealrektangel(int[] lengder, int[] bredder){ 3 if(lengder.length!= bredder.length){ 4 5 } return new int[0]; 6 7 int[] res = new int[lengder.length]; for(int i=0; i<lengder.length; i++){ 8 if(lengder[i] >=0 && bredder[i] >=0){ 9 res[i] = lengder[i] * bredder[i]; 0 } else { res[i] = 0; 2 } 3 4 } return res; 5 } 6 public static void main(string[] args){ 7 ArealRektangel ar = new ArealRektangel(); 8 int res[] = null; 9 res = ar.arealrektangel(new int[]{, 2, 3, -}, new int[]{-2, 4, 6, 8}); 20 //res = ar.arealrektangel({, 2, 3, -}, {-2, 4, 6, 8}); 2 22 23 System.out.print("["); for(int i=0; i<res.length; i++){ 24 System.out.print("" + res[i] + ", "); 25 } 26 System.out.print("]"); 27 System.out.println(); 28 } 29 } 30

Oppgave07.java 07.0.2008 class Flyttall{ 2 public static String rest(double teller, double nevner){ 3 double dele = teller/nevner; 4 String tekst = "" + dele; 5 int desimalpunkt = tekst.indexof("."); 6 return tekst.substring(desimalpunkt, tekst.length()); 7 } 8 public static void main(string[] args){ 9 // "/2" 0 System.out.println(rest(,2)); // "3/4" 2 3 System.out.println(rest(3,4)); 4 // SVAR:.5 5 //.75 6 } 7 8 }

Oppgave08.java 07.0.2008 class Faktorer { 2 String faktorer (int tall){ 3 String res = ""; 4 for (int i = 2; i <= tall / i; i++) { 5 while (tall % i == 0) { 6 res += i + " "; 7 tall = tall / i; 8 } 9 } 0 if (tall > ) res+= tall; 2 3 } return res; 4 public static void main(string[] args) { 5 Faktorer fak = new Faktorer(); 6 int test = 2; 7 8 int test2 = ; int svar = 20; 9 System.out.println(fak.faktorer(test)); 20 2 System.out.println(fak.faktorer(test2)); System.out.println("***"); 22 System.out.println(fak.faktorer(svar)); 23 24 // SVAR: 2 2 5 25 } 26 } 27

Oppgave0.java 08.0.2008 import easyio.*; 2 import java.util.*; 3 4 // Klassen Reisesystem 5 class Reisesystem { 6 public static void main(string [] args) { 7 Brukermodul b = new Brukermodul("Ruter.txt", "Kunder.txt", 8 "Bestilling.txt"); 9 b.bestillreise(); 0 } } 2 3 // Klassen Brukermodul 4 class Brukermodul { 5 HashMap<String, Rute> ruter = new HashMap<String, Rute>(); 6 HashMap<String, Kunde> kunder = new HashMap<String, Kunde>(); 7 8 String kunderfil = null; String bestillingfil = null; 9 String[] DAGER = {"mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag", "søndag"}; 20 2 // Konstruktøren til Brukermodul 22 Brukermodul (String ruter, String kunder, String bestilling) { 23 this.bestillingfil = bestilling; 24 this.kunderfil = kunder; 25 In rfil = new In(ruter); 26 while(rfil.hasnext()){ 27 Rute rute = new Rute( 28 rfil.inword(), 29 rfil.inword(), 30 rfil.inword(), 3 rfil.inword(), 32 rfil.inword(), 33 rfil.inint()); 34 this.ruter.put(rute.nr, rute); 35 } 36 rfil.close(); 37 In kfil = new In(kunder); 38 while(kfil.hasnext()){ 39 Kunde kunde = new Kunde( 40 kfil.inword(), 4 kfil.inint(), 42 43 kfil.inline()); this.kunder.put(kunde.epost, kunde); 44 45 } kfil.close(); 46 } 47 48 void bestillreise(){ Out skjerm = new Out(); 49 50 skjerm.out("kundens epostadresse: "); In tast = new In(); 5 52 String epost = tast.inline(); 53 Kunde kunde = this.kunder.get(epost); 54 if(kunde == null){ 55 skjerm.outln("ny kunde!"); 56 skjerm.out("kundens navn: "); 57 String navn = tast.inline(); 58 59 kunde = new Kunde(epost, 0, navn); this.kunder.put(epost, kunde); 60 } 6 62 skjerm.out("reise fra: "); String fra = tast.inline(); 63 64 skjerm.out("reise til: "); String til = tast.inline(); 65 skjerm.out("utreisedag: "); 66 String utreisedag = tast.inline();

Oppgave0.java 08.0.2008 67 skjerm.out("dager: "); 68 int dager = tast.inint(); 69 70 Rute utreise = null; 7 Iterator<Rute> it = this.ruter.values().iterator(); 72 while(it.hasnext()){ 73 Rute reise = it.next(); 74 if(reise.fraby.equals(fra) && reise.tilby.equals(til) && reise.dag.equals(utreisedag)){ 75 utreise = reise; 76 break; 77 78 } } 79 String hjemreisedag = finndag(utreisedag, dager); 80 Rute hjemreise = null; 8 it = this.ruter.values().iterator(); 82 83 while(it.hasnext()){ Rute reise = it.next(); 84 if(reise.fraby.equals(til) && reise.tilby.equals(fra) && reise.dag.equals(hjemreisedag)){ 85 hjemreise = reise; 86 break; 87 } 88 } 89 if(utreise == null hjemreise==null){ 90 skjerm.outln("ingen reise funnet!"); 9 return; 92 } 93 94 int pris = utreise.pris + hjemreise.pris; 95 96 Out best = new Out(this.bestillingFil, true); 97 best.outln(kunde.navn + ";" + 98 kunde.epost + ";" + 99 utreise.nr + ";" + 00 utreise.fraby + ";" + 0 utreise.tilby + ";" + 02 hjemreise.nr + ";" + 03 utreisedag + ";" + 04 dager + ";" + 05 pris); 06 best.close(); 07 08 skjerm.outln("reise fra " + utreise.fraby + " til " + utreise. tilby + " bestilt."); 09 0 int poeng = pris/3; 2 kunde.poeng += poeng; 3 4 Out nykfil = new Out(this.kunderFil); Iterator<Kunde> itkunder = this.kunder.values().iterator(); 5 6 while(itkunder.hasnext()){ Kunde k = itkunder.next(); 7 nykfil.outln(k.epost + " " + k.poeng + " " + k.navn); 8 } 9 nykfil.close(); 20 2 skjerm.outln("poengsum for " + kunde.navn + " er " + kunde.poeng + "."); 22 } 23 24 String finndag(string utreisedag, int dager){ int utd = 0; 25 26 for(int i=0; i<dager.length; i++){ if(dager[i].equals(utreisedag)){ 27 utd = i; 28 break; 2

Oppgave0.java 08.0.2008 29 } 30 } 3 int hjd = (utd + dager) % 7; 32 return DAGER[hjD]; 33 } 34 } 35 36 class Rute { 37 String nr; 38 String fraby; 39 String tilby; 40 4 String dag; String kl; 42 int pris; 43 Rute(String nr, String fraby, String tilby, String dag, String kl, int pris){ 44 45 this.nr = nr; this.fraby = fraby; 46 this.tilby = tilby; 47 48 this.dag = dag; this.kl = kl; 49 this.pris = pris; 50 } 5 } 52 class Kunde { 53 String epost; 54 int poeng; 55 String navn; 56 Kunde(String epost, int poeng, String navn){ 57 this.epost = epost; 58 this.poeng = poeng; 59 this.navn = navn; 60 } 6 } 62 3

Oppgave.java 08.0.2008 2 class Stabel { Element toppen; 3 Element toppen(){return this.toppen;} 4 5 Element løftav(){ Element tmp = this.toppen; 6 7 this.toppen = this.toppen.neste; return tmp; 8 } 9 void leggpå(element ny){ 0 ny.neste = this.toppen; this.toppen = ny; 2 } 3 4 public static void main(string[] args) { Stabel s = new Stabel(); 5 Element x = new Element("A"); 6 s.leggpå(x); 7 x = new Element("B"); 8 s.leggpå(x); 9 System.out.print(s.løftAv().verdi); 20 x = new Element("C"); 2 s.leggpå(x); 22 x = new Element("D"); 23 24 s.leggpå(x); System.out.print(s.toppen().verdi); 25 System.out.print(s.løftAv().verdi); 26 System.out.print(s.løftAv().verdi); 27 System.out.print(s.løftAv().verdi); 28 29 30 // SVAR: BDDCA 3 System.out.println(); 32 } 33 } 34 35 class Element { String verdi; 36 37 Element neste; Element(String verdi){ 38 this.verdi = verdi; 39 } 40 } 4

Oppgave2.java 07.0.2008 class Sortering { 2 int finnminste (int[] a, boolean[] brukt) { 3 // Skrive dette: 4 int min = Integer.MAX_VALUE; 5 int index = 0; 6 for(int i=0; i<a.length; i++){ 7 if(a[i] < min &&! brukt[i]){ 8 min = a[i]; 9 index = i; 0 } } 2 3 } return index; 4 int[] sorter (int[] a){ 5 int[] b = new int[a.length]; 6 boolean[] brukt = new boolean[a.length]; 7 8 // Skrive dette: 9 for(int i=0; i<a.length; i++){ 20 2 int ind = finnminste(a, brukt); b[i] = a[ind]; 22 brukt[ind] = true; 23 } 24 return b; 25 } 26 public static void main(string[] args) { 27 int[] test = new int[]{3,5,7,2,54,2,,,9,34,54,23,,68,92,3,5, 78,0,}; 28 for(int i=0;i<test.length;i++){ 29 System.out.print(test[i] + " "); 30 } 3 System.out.println(); 32 Sortering s = new Sortering(); 33 int[] res = s.sorter(test); 34 for(int i=0;i<res.length;i++){ 35 System.out.print(res[i] + " "); 36 } 37 System.out.println(); 38 } 39 } 40