INF1010 Eksamenstips. Løsningsforslag prøveeksamen del 1.

Like dokumenter
UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF1010 Rekursive metoder, binære søketrær. Algoritmer: Mer om rekursive kall mellom objekter Ny datastruktur: binært tre

Lenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen.

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

INF1010 Binære søketrær ++

Gjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur

INF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

Eks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk

UNIVERSITETET I OSLO

Stein Gjessing, Institutt for informatikk, Universitetet i Oslo

INF1010 våren Arv og subklasser del 1

INF1010 våren Arv og subklasser del 1

INF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java

Avdeling for ingeniørutdanning Institutt for teknologi

INF Notater. Veronika Heimsbakk 10. juni 2012

INF1010. Grensesnittet Comparable<T>

IN1010 våren 2018 Tirsdag 15. mai. Repetisjon av subklasser og tråder. Stein Gjessing Institutt for informatikk Universitetet i Oslo

Konstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:

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; }

< T extends Comparable<T> > Indre klasser mm. «Det du bør ha hørt om før oblig 4»

INF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først)

INF1010 våren Arv og subklasser - del 2

TDT4100 Objektorientert programmering

LO191D/LC191D Videregående programmering

Rekursjon. Binærsøk. Hanois tårn.

Seminaroppgaver IN1010, uke 2

INF1010 våren Arv og subklasser - del 2

INF1010 våren 2018 tirsdag 23. januar

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

Løsningsforslag til eksamen i INF1000 våren 2006

INF Løsning på seminaropppgaver til uke 8

TDT4100 Objektorientert programmering

ADT og OO programmering

Sortering med tråder - Quicksort

Repetisjon. INF gruppe 13

HØGSKOLEN I SØR-TRØNDELAG

Post-it spørsmål fra timen (Arv og subklasser)

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

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

Uke 5, 27. januar Arv og subklasser del I. Stein Gjessing Institutt for informatikk

INF106 Objektorientert programmering

INF januar 2015 Stein Michael Storleer (michael) Lenkelister

UNIVERSITETET I OSLO

Oppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre

UNIVERSITETET I OSLO

En implementasjon av binærtre. Dagens tema. Klassestruktur hovedstruktur abstract class BTnode {}

Repitisjonskurs. Arv, Subklasser og Grensesnitt

Del 3: Evaluere uttrykk

Eksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 %

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

Inf1010 Våren Feilsituasjoner og unntak i Java. Stein Gjessing, Institutt for informatikk, Universitetet i Oslo

INF1010 siste begreper før oblig 2

UNIVERSITETET I OSLO

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister

INF1000: noen avsluttende ord

EKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 10 sider inklusiv vedlegg og denne forsiden.

INF1010, 15. januar time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

UNIVERSITETET I OSLO

IN1010 våren Repetisjon av tråder. 15. mai 2018

INF1010 våren Arv og subklasser - del 2

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

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre

UNIVERSITETET I OSLO

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

Eksamensoppgave i TDT4100 Objektorientert programmering med Java

Løsningsforslag Test 2

Algoritmer og datastrukturer Eksamen

UNIVERSITETET I OSLO

INF1010 Arv. Marit Nybakken 2. februar 2004

LC191D/LO191D Videregående programmering mai 2010

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

INF Seminaroppgaver til uke 3

UNIVERSITETET I OSLO

Inf1010 Våren Feilsituasjoner og unntak i Java. Stein Gjessing, Institutt for informatikk, Universitetet i Oslo

INF1010 LISTER. Listeelementer og listeoperasjoner. Foran. Bak

INF1010. Stein Michael Storleer (michael) Lenkelister

Dagens tema Kapittel 8: Objekter og klasser

INF1010, 21. januar Klasser med parametre = Parametriserte klasser = Generiske klasser

klassen Vin må få en ny variabel Vin neste alle personvariable (personpekere) i listeklassen må byttes til Vin

Endret litt som ukeoppgave i INF1010 våren 2004

Dagens tema INF1010 INF1010 INF1010 INF1010

INF1010 våren Generalisering -spesialisering Gjenbruk av klasser. Ved arv. Klasse-hierarkier. Stein Gjessing.

Rekursjon. Hanois tårn. Milepeler for å løse problemet

UNIVERSITETET I OSLO

Oppgave 1. Løsningsforslag til eksamensoppgave. ITF20006 Algoritmer og datastrukturer Postorden traversering:

UNIVERSITETET I OSLO

IN 211 Programmeringsspråk. Java. på 20 enkle ark. spesielt for de som kan. Simula. (og gjerne litt C) Ark 1 av 20

INF1010 våren januar. Objektorientering i Java

INF2440 Prøveeksamen, løsningsforslag, 20 mai Arne Maus PSE, Inst. for informatikk

INF1010 våren 2008 Uke 4, 22. januar Arv og subklasser

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

Algoritmer og datastrukturer Eksamen

(MVC - Model, View, Control)

INF1000 oppgaver til uke 38 (17 sep 23 sep)

UNIVERSITETET I OSLO

2 Om statiske variable/konstanter og statiske metoder.

Transkript:

INF1010 Eksamenstips Løsningsforslag prøveeksamen del 1.

michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 2

Les igjennom hele oppgaven. Les igjennom hele oppgaven en gang til, marker i teksten ting som er uklart eller du ikke forstår, så du er klar til å spørre når faglærer kommer. Bruk faglærer når han kommer. Du får ikke trekk for dumme spørsmål. Spør bare om ting i oppgaveteksten. Ikke pek på hva du har gjort, det kan ikke faglærer kommentere. michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 3

Bestem en omtrentlig rekkefølge av deloppgavene ved å ta hensyn til hvilke programdeler som bygger på hverandre. Tenk «top-down». Ta de enkleste deloppgavene først. «Bottom up». Tegn figurer! Før dem gjerne inn, selv om det ikke er spurt etter dem. Blir du stående fast, gå over til en deloppgave som kanskje bør løses først. Begynn på nytt ark for hver deloppgave og programmer gjerne i parallell. Når detaljene blir vanskelige, tenk og besvar top-down. Det er bedre med en fornuftig programskisse enn ingenting. michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 4

Prøveeksamen Først alene Alle kollokvierom (med greske bokstaver) er reservert 14.30-16.15. Diskuter forståelse av oppgaven Spør lærer som kommer rundt særlig om dette Gjennomgang løsningsforslag her starter 16.15 michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 5

class Bat { private int batnr ; public Bat ( int nr ) { batnr = nr ; public int hentbatnr ( ) { return batnr ; class Kjoretoy { private String kjnr ; public Kjoretoy ( String nr ) { kjnr = nr ; public String hentkjnr ( ) { return kjnr ; michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 6

class SeilBat extends Bat { private double seilareal ; SeilBat ( int nr, double areal ) { super ( nr ) ; seilareal = areal ; public double hentseilareal ( ) { return seilareal ; michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 7

interface Motorisert { int anthk ( ) ; // Antall Hestekrefter ; michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 8

class MotorBat extends Bat implements Motorisert { private int hestekrefter ; MotorBat ( int nr, int hk) { super ( nr ) ; hestekrefter = hk; public int anthk ( ) { return hestekrefter ; // antall Hestekrefeter ; class MotorKjoretoy extends Kjoretoy implements Motorisert { private int hestekrefter ; MotorKjoretoy ( String nr, int hk) { super ( nr ) ; hestekrefter = hk; public int anthk ( ) { return hestekrefter ; // antall HesteKrefeter ; michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 9

interface Element { /* * *Returnerer peker t i l neste element i listen, null hvis ingen flere * */ Element hentneste ( ) ; /* * * Setter ny verdi på nestepekeren. * */ void settneste ( Element nyneste ) ; michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 10

class FIFO { // protected gir tilgang i subklasser protected Element forste = null, siste = null ; public void settinn ( Element ny) { if ( siste == null ) forste = siste = ny; else { siste. settneste (ny ) ; siste = ny; public Element taut ( ) { if ( forste == null ) return null ; else { Element denne ; denne = forste ; forste = forste. hentneste ( ) ; // Tester t i l f e l l e t der det var bare ett element i l i s t a if ( forste == null ) siste = null ; return denne ; michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 11

class ListbarMK extends MotorKjoretoy implements Element { private Element neste ; public ListbarMK ( String nr, int hk) { super ( nr,hk ) ; // l i t t trekk uten konstruktør public Element hentneste ( ) { return neste ; public void settneste ( Element nyneste ) { neste = nyneste ; class ListbarMB extends MotorBat implements Element { private Element neste ; public ListbarMB ( int nr, int hk) { super ( nr,hk ) ; // l i t t trekk uten konstruktør public Element hentneste ( ) { return neste ; public void settneste ( Element nyneste ) { neste = nyneste ; michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 12

class MotorFIFO extends FIFO { public void settinn ( Element ny) { i f (ny instanceof Motorisert ) super. settinn (ny ) ; public Motorisert finnstorst ( ) { int max = 0; int verdi ; Element storst = null ; Element denne = forste ; while (denne!= null ) { verdi = ( ( Motorisert )denne ). anthk ( ) ; i f ( verdi > max) { max = verdi ; storst = denne; denne = denne. hentneste ( ) ; return ( ( Motorisert ) storst ) ; michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 13

class MotorFIFOUnntak extends Exception { class GodMotorFIFO extends MotorFIFO { public void settinnmotorisert ( Motorisert ny) throws MotorFIFOUnntak { i f (ny instanceof Element ) settinn ( ( ( Element )ny ) ) ; else throw new MotorFIFOUnntak ( ) ; michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 14

class INF1010V06A { public static void main ( String [ ] args ) { ListbarMK lbil1 = new ListbarMK ( "DE12345", 150); ListbarMB lbat1 = new ListbarMB(654321, 100); Element el1 ; Motorisert m1; GodMotorFIFO ko = new GodMotorFIFO ( ) ; try { ko. settinnmotorisert ( lbil1 ) ; ko. settinnmotorisert ( lbat1 ) ; catch ( MotorFIFOUnntak e ) { System. out. println ( " Ikke element " ) ; m1 = ko. finnstorst ( ) ; if (m1!= null ) { // mikro trekk for ikke å teste på null int mtr = m1. anthk ( ) ; System. out. println ( " HK " + mtr ) ; el1 = ko. taut ( ) ; i f ( el1 instanceof Bat ) System. out. println ( " nummer " + ( ( Bat ) el1 ). hentbatnr ( ) ) ; else System. out. println ( " nummer " + ( ( Kjoretoy ) el1 ). hentkjnr ( ) ) ; michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 15

michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 16

michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 17