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

Like dokumenter
UNIVERSITETET I OSLO

Løsningsforslag til eksamen i INF1000 våren 2006

UNIVERSITETET I OSLO

INF Uke 10. Ukesoppgaver oktober 2012

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Oppgave 1. Oppgave 2. Oppgave 3. Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 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; }

Repetisjon. INF gruppe 13

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

UNIVERSITETET I OSLO

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

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

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

UNIVERSITETET I OSLO

Algoritmer og datastrukturer Løsningsforslag

UNIVERSITETET I OSLO

INF1000 Uke 5. Litt om objekter, filer med easyio, tekst

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF110 Algoritmer og datastrukturer TRÆR. Vi skal i denne forelesningen se litt på ulike typer trær:

INF 1010, vår 2005 Løsningsforslag uke 11

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

INF1000: noen avsluttende ord

Løsningsforslag ukeoppg. 7: okt (INF Høst 2010)

Forelesning inf Java 5

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

Forelesning inf Java 5

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

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

Forelesning inf Java 4

INF1000 : Forelesning 4

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

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

INF1000-h2012-løsningsforslag

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

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

Det matematisk-naturvitenskapelige fakultet LØSNINGSFORSLAG

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

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

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

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

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF Høst 2011)

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

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

Gjennomgang av en tenkt eksamensoppgave

Beregning av med svært mange desimaler

Gjennomgang av en tenkt eksamensoppgave

Ole Christian Lingjærde, 12. september 2013

Forelesning inf Java 4

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Løsningsforslag INF desember 2007

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

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

UNIVERSITETET I OSLO

INF1000: Forelesning 4. Mer om arrayer Metoder

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

UNIVERSITETET I OSLO

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

Java 6. Eksempel med to-dimensjonal array Filbehandling Tekster

OPPGAVE 5b og 8b Java Kode

Praktisk informasjon. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut

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

Inf1000 uke sept 2011

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

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 (Uke 6) Mer om metoder, tekster

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

Leksjon 6. Objekt. Evt. importsetninger. public class Klasse { Konstruktør. Objektmetoder. Innkapsling (private): set-og get-metoder

Løsningsforslag, inf101, våren 2001

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

Oversikt. Filer. Litt mer om tekster. INF1000 Uke 6. Lese og skrive fra/til fil. Eksempel. Vi importerer pakken easyio. Klassene In og Out i easyio

EKSAMEN. Algoritmer og datastrukturer

Blokker og metoder INF1000 (Uke 6) Metoder

Gjennomgang av eksamen H99

Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF Høst 2011)

Inf1000 uke sept 2011

UNIVERSITETET I OSLO

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

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder

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

Løsningsforslag eksamen in105, høsten 2000

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

INF Notat om I/O i Java

UNIVERSITETET I OSLO

"behrozm" Oppsummering - programskisse for traversering av en graf (dybde først) Forelesning i INF februar 2009

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

Innhold. INF1000 Høst Klasser og objekter. Uke 7: Mer objektorientert programmering Siri Moe Jensen

EKSAMEN med løsningsforslag

Transkript:

Inf 1000 høst 2005 Løsningsforslag ordinær eksamen Oppgave 1 (10 poeng) a) 11 x 3 = 33 b) 4 c) 4 d) 10 x 9 = 90 Oppgave 2 (16 poeng) Er disse programsetningene lovlige i Java? JA x NEI int i=1, j =i; x int[] x = new int[]; x int[] x = new int[0]; x int i = new int [7]; x double int = 14; x double[] x = new double x[5]; x long [] x = new int[33]; x Oppgave 3 (5 poeng) Forskjellige Oppgave 4 (15 poeng) long [] a, b = new long[4]; double matprismedmoms(double matprisutenmoms, boolean servert) { if( servert ) return matprisutenmoms*1.11; else return matprisutenmoms*1.25; Oppgave 5 ( 25 poeng) JA NEI x int k = 0; while (k < c.length ) { snitt = c[k]/(double)c.length;

x int k = 0; snitt = c[0]; while (k < c.length ) { c[k++] += snitt; snitt = snitt/c.length; x int k = 0; while (k++ < c.length ) { snitt = snitt + c[k-1]; snitt = snitt/(k-1); x int k = 0; while (k < c.length ) { snitt += c[k++]/c.length; // feil:int-divisjon x int k = 0; while (k++ < c.length ) { snitt += c[k-1]/(double)c.length; Oppgave 6 (15 poeng) lnx = 10. Oppgave 7 (15 poeng) int størst(int a, int b, int c) { int maxab = a; if( a<b ) maxab = b; if( c>maxab ) return c; else return maxab; Oppgave 8 (25 poeng) String [] lagnyenavn(string [] navn) { int fornavn=0, etternavn=1; String[] nye = new String[2]; String[] første = navn[0].split(" "); String[] andre = navn[1].split(" "); String famnavn = andre[etternavn] + "-" + første[etternavn]; nye[0] = første[fornavn] +" "+ famnavn; nye[1] = andre[fornavn] +" "+ famnavn; return nye;

Oppgave 9 (30 poeng) class Karakter { int []karakterantall = new int[6]; Karakter (String fil) { In innfil = new In(fil); for(int i=0; i<6; i++) karakterantall[i] = 0; while(!innfil.endoffile() ){ innfil.inint(" "); char kar = innfil.inchar(" "); innfil.readline(); karakterantall[(int)(kar-'a')]++; void prosentkarakterfordelig () { double total = 0; for(int i=0; i<6; i++) total += karakterantall[i]; System.out.println("Totalt sensurantall: "+ total); int stryk = karakterantall[5]; double bestått = total - stryk; System.out.println("Stryk: " + (stryk/total)*100 +" %"); for(int i=0; i<6; i++) System.out.println((char)('A'+i) + ": "+ (karakterantall[i]/bestått)*100 ); Oppgave 10 (30 poeng) void sorter (int[] a) { for(int i=0; i<a.length-1; i++){ int min = i+1; for(int j=min+1; j<a.length; j++) if( a[j] < a[min] ) min = j; if( a[min] < a[i] ){ int temp = a[i]; a[i] = a[min]; a[min] = temp; Oppgave 11 (25 poeng) class PyramideTest { public static void main ( String [] args) { // skriv kode her som lager to Pyramide-objekter og

// skriver ut deres høyde, lengde og volum Pyramide[] p = new Pyramide[2]; p[0] = new Pyramide(30.1,30.1,22.9); System.out.println("Pyramide "+ 30.1 +" x "+ 30.1+" x "+22.9+" har volum "+ p[0].volum()); p[1] = new Pyramide(30.1,30.1,2*22.9); System.out.println("Pyramide "+ 30.1 +" x "+ 30.1+" x "+2*22.9+" har volum "+ p[1].volum()); // end main // end class PyramideTest class Pyramide { double høyde, lengde, bredde; // skriv konstruktør her Pyramide( double lengde, double bredde, double høyde ){ this.lengde = lengde; this.bredde = bredde; this.høyde = høyde; // skriv objektmetode her som beregner og returnerer volumet double volum(){ return 0.333*høyde*bredde*lengde; // end class Pyramide Oppgave 12 (20 poeng) Oppgave 13 (25 poeng) Det genereres rekursivt en trestruktur med 7 objekter og dybde 4. Utskriften følger en standard postfiks traversering av treet som (uten linjeskiftene) gir: Antall:0 Antall:1 Antall:0 Antall:2 Antall:0 Antall:1 Antall:3 Oppgave 14 (50 poeng) import java.util.*; import easyio.*; class Salg{

String varenavn; int antall; double pris; Salg(String v, int a, double p){ varenavn=v; antall=a; pris=p; void oppdater(int n){ antall += n; double omsatt(){ return antall*pris; class SalgSummator { In innfil = new In("Salg.txt"); Out utfil = new Out("AntallSolgt.txt"); HashMap<String,Salg> arkiv = new HashMap<String,Salg>(); Salg mestsolgt = new Salg("DUMMY",0,0); Salg mestomsatt= mestsolgt; public static void main(string[] args) { SalgSummator ordensmann = new SalgSummator(); SalgSummator(){ lesfil(); beregn(); skrivfil(); void lesfil(){ while(!innfil.endoffile() ){ String varenavn = innfil.inword(" "); int antall = innfil.inint(" "); double pris = innfil.indouble(); innfil.readline(); Salg aktivpost = arkiv.get(varenavn); if( aktivpost == null ) arkiv.put( varenavn, new Salg(varenavn,antall,pris) ); else aktivpost.oppdater(antall); void beregn(){ double sum = 0; for( Salg s: arkiv.values() ){ double omsatt = s.omsatt(); sum += omsatt; if( s.antall > mestsolgt.antall ) mestsolgt = s; if( s.omsatt() > mestomsatt.omsatt() )

mestomsatt = s; System.out.println("Totalt salg: "+ sum +" kr."); System.out.println("Mest solgt: "+ mestsolgt.varenavn +" ("+ mestsolgt.antall +")" ); System.out.println("Mest omsatt: "+ mestomsatt.varenavn +" ("+ mestsolgt.omsatt() +" kr)" ); void skrivfil(){ for( Salg s: arkiv.values() ) utfil.outln(s.varenavn+" "+ s.antall); utfil.close();