Eksamen i INF160, høsten (OBS! svarforslag) 6 timer skriftlig, alle hjelpemidler Faglærer: Ketil Danielsen

Størrelse: px
Begynne med side:

Download "Eksamen i INF160, høsten 2006. 8.12.06 (OBS! svarforslag) 6 timer skriftlig, alle hjelpemidler Faglærer: Ketil Danielsen"

Transkript

1 Eksamen i INF160, høsten (OBS! svarforslag) 6 timer skriftlig, alle hjelpemidler Faglærer: Ketil Danielsen Oppgaven har re spørsmål som teller like mye (1/4). Spørsmål 2 gir lite programmering; de resterende ber deg programmere. Ikke la spørsmål stå ubesvart, med mindre du er helt blank. Gi en tolking av spørsmålet der du er i tvil. 1 Ekvivalensgrupper I denne oppgaven skal du denere en klasse med attributt og metoder. Gi Javakoden for hver metode. En ekvivalensgruppe inneholder objekt som er relaterte til hverandre. Et objekt er i utgangspunktet kun relatert til seg selv (i sin egen gruppe), men kan relateres til andre og derved innlemmes i større grupper. Et objekt kan ikke være uten gruppe, men heller ikke være med i mere enn en gruppe. Du skal lage en klasse ekvivalensgrupper som forvalter dette. Den datastruktur som er påtenkt er en tabell med heltall, der objekt med (unikt) nummer i, skal representeres i posisjon i. Anta at objektene har nummer som starter med 0 og er tildelt i stigende rekkefølge etter hvert som de registreres. For hver gruppe skal det bygges et omvendt tre, der hvert objekt kjenner sitt umiddelbare opphav, og der roten har verdi -1 (ingen opphav). Alle objekt i samme gruppe har samme rot. Initielt er objektet alene i sin gruppe og verdien av a(i) er -1 (objektet er da roten). Hvis objekt i skal relateres med med objekt j, settes roten i i's tre lik roten i j's tre. Det medfører (a) at j også blir implisitt relatert til i og (b) at de to gruppene de er med i er slått sammen. I eksemplet under ser en utviklingen av a(i) for 8 objekt. Se også siste ark i oppgavesettet. steg a(0) a(1) a(2) a(3) a(4) a(5) a(6) a(7) 1 initielt relateres til relateres til relateres til relateres til relateres til relateres til Initielt har eksemplet åtte grupper med ett medlem. Etter steg 6 er det tre grupper: (0, 1, 2) (3) (4, 5, 6, 7). Etter steg 7 er det to: (0, 1, 2, 4, 5, 6, 7) (3). prinsippet om full innkapsling (encapsulation) skal følges 1

2 lag klassen ekvivalensgrupper med konstruktør lag rekursiv metode int root(a) som returnerer roten i den gruppe der a ligger. lag metoden union(a,b) som relaterer to objekt a og b. Denne vil implisitt slå sammen de to grupper der a og b er med, forutsatt at de er ulike grupper. lag metode boolean isrelated(a,b) som returnerer true kun hvis de er relaterte. lag metoden int nbrgroups() som viser antall grupper Svarforslag 1 package eksopp ; 2 public class ekvivalensgrupper { 3 private int [ ] a ; 4 public ekvivalensgrupper ( int n ) { 5 a = new int [ n ] ; 6 for ( int i =0; i < a. length ; i++) 7 a [ i ] = 1; 8 } 9 public void union ( int i, int j ) { 10 i f ( j == 1) a [ i ] = 1; 11 else { 12 int gruppe_i = root ( i ), gruppe_j = root ( j ) ; 13 i f ( gruppe_i! = gruppe_j ) 14 a [ gruppe_i ] = gruppe_j ; 15 } 16 } 17 private int root ( int i ) { // r e k u r s i v i t e r a t i v er bedre! 18 i f ( a [ i ] == 1) return i ; 19 else return root ( a [ i ] ) ; 20 } 21 public boolean i s R e l a t e d ( int i, int j ) { 22 return root ( i ) == root ( j ) ; 23 } 24 public int nbrgroups ( ) { 25 int i =0, c =0; 26 for ( ; i <a. length ; i ++) i f ( a [ i ] == 1) c++; 27 return c ; 28 } 29 } Nesten alle besvarelsene feilet i union og satte 1 public void union ( int i, int j ) { 2

3 2 a [ i ] = b ; // XXX f e i l XXX 3 } Dette virker bare hvis i er sin egen rot. 2 Kunderegister I denne oppgaven skal du vise at du kan planlegge et enkelt programsystem og anvende objekt-orientert tenking. Du skal skissere, lage oversikt og tenke overordnet, ikke detaljert. Du skal angi klasser, aktuelle attributt og metode (eventuelt metode-signaturer ved overlasting), lformat og til sist gi et klassehierarki. Skissene skal angi forhold av typen is-a såvel som has-a. Metodene skal ikke skrives med pseudo/javakode, med mindre du synes det er nødvendig for forståelsen. Firmaet D-dag (dusje-dag) har kapret det lukurative dusjemarkedet og trenger et programsystem (S) som passer til følgende krav: Firmaet har agenter som daglig besøker kunder som trenger en dusj. Noen kunder dusjer alene, andre sammen. Dusjegruppene lagres ved hjelp av ekvivalensgrupper (se spørsmål 1). Agenter vil vite hvem som skal besøkes i dag, hvem de dusjer med, og hvor de bor. Programmet avsluttes kl 1600 og lagrer kundedata til en tekstl. En kunde bestemmer sitt eget dusjeintervall (antall dager). Det skal kunne lages lister over de som dusjer sammen, men som har ulike intervall. Programmet skal benytte full innkapsling. All massebehandling utnytter polymor. Etter fem år som kunde skal en klassisere som Velkjent kunde. Som i bilforsikring skal disse motta en rabatt som avhenger av antall år uten uhell. For hvert år uten uhell vil Velkjente Kunder få rabatten økt med 5 prosentpoeng. Et uhell vil derimot sette en tilbake to år, miste 5 prosentpoeng i rabatt per år. Velkjente kunder med negativ rabatt skal miste sin status som Velkjent, og utestenges for re år. Ingen kan ha mer enn 50 prosent rabatt. Studenter får 10 prosent rabatt. Politimyndighetene vil ha innsyn i hvem som dusjer sammen. 3

4 Helsemyndighetene vil ha en liste over de som dusjer, sortert etter dusje-intervall. For sortering skal comparable implementeres. Svarforslag Det deneres en rekke klasser som hver har private attributt (ingen public eller protected!). Massebehandling utføres polymorft, altså uten spesial behandling for særtyper. Typisk massebehandling vil være listing av alle av samme erketype. De færreste besvarelser diskuterte hvordan de hadde tenkt hva angår polymor, selv om det rett nok var hint til polymor i skissene. Ddag er en klasse. Ddag har private attributt: -dusjkunderegister (HAS-A) -agenter, ikke strengt tatt nødvendig dusjkunderegister er en klasse. Denne har private attributt: -Kunde: liste (HAS-A) -dusjer: ekvivalensgruppe (HAS-A) (denne viser hvilke kunder som dusjer sammen) og utledes ved å spørre hvem kundene vil dusje med). -lnavn: String (der data lagres mellom 16 og 8). Den tilbyr metoder: +besokliste() viser hvem som skal besøkes i dag Antar at den skal brukes utenfra (derfor public). +dusjersammenfeil() viser hvem som dusjer sammen til feil intervall (de må ha samme intervall for å kunne dusje sammen!). +dusjersammen() viser hvem som dusjer sammen, gruppevis +dusjersammensortert() sorterer listen basert på dusjeintervall. +oppstart() leser fra l og lager kundeliste. Kunder som har fem år siden oppstart skal endre status til Velkjent. Velkjente Kunder som er utelukket kan lukkes inn igjen og bli normale kunder. +avslutning() lagrer til l ved avslutning. Polymor utnyttes i alle metoder som skal skrive ut lister over kunder. ekvivalensgruppe er en klasse. den er denert i svarforslaget til spm. 1. Kunde er en klasse som implementerer Comparable. Den har private attributt: -navn: String (av gammel vane) -adresse: String (for lokalisering) -intervall: int (dusjeintervall i antall dager) 4

5 -sistdusjet: int (viktig for listen over dagens dusjer) -aarstartet: int -aarutelukket: int -rabatt: yttall (bare Studenter og Velkjent Kunde vil ha annet enn 0 i rabatt. Foretrekker dette over det å ha en slags mellom-klasse ala RabatterteKunder.) -sammen: Kunde (som en vil dusje med) (sammen blir da en HAS-A til seg selv). Metoder en kunde tilbyr vil være: +getrabatt() default returnerer denne 0. +compareto(): int nødvendig i comparable. +tostring() for polymor VelkjentKunde er en klasse, den arver Kunde (IS-A). Den har private attributt: -aarsisteuhell: int Metoder: +konstruktør: må huske hvilket år den ble opprettet. Klassen skal overstyre metoden +getrabatt() til å være maksimum av 0.5 (femti prosent) og 0.05 antall år siden forrige uhell. +registreruhell() vil øke attributtet aarsisteuhell med to. Hvis rabatt blir negativ må kundens aarutelukket settes. +tostring() kan overstyres, viktig for polymor Studentkunde er en klasse som arver Kunde (IS-A). (noen besvarelser hadde ikke dette som egen klasse, men markerte det som et boolsk attributt hos Kunden). StudentKunde overstyrer metoden: +getrabatt() til å returnere 0.1. Filformatet må lagre kundens attributt, og ha et typefelt som muliggjør rett tolking (Velkjent Kunde har noen ekstra felt). Få besvarelser diskuterte lformatet. En student's forslag om at database hadde vært mer fornuftig er forsåvidt greit. 3 Datastrukturer I oppgaven skal du vise din forståelse for datastrukturer og polymor, samt gi Javakode. Helsemyndighetene vil som nevnt, ha en liste over de som dusjer, sortert etter dusje-intervall. Firmaet har en million kunder. I løpet av dagen registreres omlag hundre nye kunder, og det fjernes om lag femti. Diskuter minst to måter for å organisere sorteringen. Fokuser på beregningstid. 5

6 Lag Javakode som implementerer en av disse to måtene. Du skal utnytte polymor og grensesnittet Comparable. Svarforslag Listen skal leveres sortert etter dusje-intervall, som er et heltall. Det sies ikke hvor ofte de skal ha listen, eller hvor oppdatert listen skal være. Det antas at listen skal inneholde alle i kunderegisteret (K) som nnes i det øyeblikk listen etterspørres. Det er også sagt at oppdateringer vil skje. Dette kan antas å skje fra andre (tråder) som tar imot henvendelser fra brukerne. Dette åpner opp for mulig race condition, at noen endrer mens andre leser/endrer, og derved skaper feil oppfatning av hva som virkelig har skjedd med objektet som manipuleres. Kundelisten (K) bør fryses under sortering, altså må en legge en lås på objektet K slik at (a) den som sorterer ikke starter før K er ledig, og at (b) ingen legger inn eller tar ut av K mens sortering pågår. Hvis sorteringen blir langvarig bør en se om det er muligheter for at oppdateringer kan gå tapt. For å sortere raskt (dette er store datamengder) bør en velge blant de eektive algoritmer. To kjente algoritmer (i boken av Loftus) er insertion-sort og selection-sort (INSERT og SELECT). Disse er ikke spesielt raske, men er likevel et forslag. INSERT utvider den sorterte del av K, ved å kile stadig ere usorterte fra K, inn på rett posisjon, samt forskyve resten av den sorterte delen ett steg ut. SELECT bygger ut en sortert liste ved å gradvis lete etter neste korrekte element og innlemme dette (med en swap, bytting) i den sorterte delen av K; her forskyves intet som i INSERT. Begge er like (u)eektive da de utfører n 2 sammenligninger, der n er antall kunder (en million) i praksis vil de neppe avslutte i tide for helsemyndighetene. Det er sagt at SELECT er lettere å forstå (viktig for leseren), og at SELECT utfører færre ombyttinger og derfor kan være raskere (enn INSERT). Uansett, sammenligningen krever at element (dusjkunde) som skal sorteres kan sammenlignes, at de implementerer Comparable. Derfor må dusjkunde-klassen implementere dette, samt tilby de metoder som foreskrives av dette interface, nemlig compareto(). En slik metode vil sammenligne kundens dusjeintervall (heltall) med en annen kunde's, og returnere dieransen. 1 public c l a s s dusjkunde extends Kunde implements Comparable { public int compareto ( Object k ) { 4 return this. g e t I n t e r v ( ) ( ( dusjkunde ) k ). g e t I n t e r v ( ) ; 5 } 6 } I sorteringen kan en (a) lage en kopi K, og sortere kopien, eller (b) sortere selveste originalen K. Koden under viser en intern støttemetode som gjør sistnevnte (SELECT). 1 public class dusjkunderegister { private Lock kunderlock ; 6

7 4 dusjkunde [ ] a ; public dusjkunderegister ( ) { 7 kunder = new dusjkunde [ n ] ; 8 kunderlock = new ReentrantLock ( ) ; 9 } private void s e l e c t S o r t ( Comparable [ ] K) { 12 int min ; // som i l i s t i n g 9. 9 i Lewis / L oftus 13 Comparable tmp ; 14 kunderlock. l o c k ( ) ; 15 try { 16 for ( int i =0; i<k. length 1; i ++) { 17 min=i ; 18 for ( int j=i +1; j<k. length ; j++) 19 i f (K[ j ]. compareto ( i ) < 0) 20 min=j ; 21 tmp = K[ min ] ; // b y t t om ( swap ) 22 K[ min ] = K[ i ] ; 23 K[ i ] = tmp ; 24 } 25 } f i n a l l y { 26 kunderlock. unlock ( ) ; 27 } 28 } 29 public S t r i n g dusjersammensortert ( ) { 30 // h v i s Helsemyndighetene ber om det 31 S t r i n g r e t="" ; 32 s e l e c t S o r t ( kunder ) ; 33 fo r ( dusjkunde k : kunder ) 34 r e t += k. t o S t r i n g ( ) ; 35 return r e t ; 36 } } Fordelen med å jobbe direkte på originalen er at en slipper den tidkrevende kopiering av K med sine million pekere (selve kundeobjektene kopieres dog ikke!). Ulempen er (som sagt) at en må låse av K under sorteringen. En student foreslo å sortere ved innlesing av kunder, og ha en tabell for hvert intervall, altså k(n) er de som dusjer hver n'te dag. Dette er ikke et dumt forslag, selv om det er uklart hvor mange rader tabellen vil få (noen dusjer kanskje en gang i året, og lagres i k(365). En annen student foreslo HashMap, da dette hadde metoder for sortering. 7

8 4 Dusjovervåking I denne oppgaven skal du gi Javakode. Du skal benytte tråder og graske hjelpemiddel. Myndighetene vil ha program som (med tekst) viser hvem som dusjer sammen, og oppdaterer oversikten hvert I'de sekund. Bildet kan se slik ut, der en egen tråd besørger oppdateringen: Brukeren oppgir I med en Slider som har min, max og default verdi denert i konstanter. Svarforslag 1 import java. awt. ; 2 import javax. swing. ; 3 public c l a s s DStatPanel extends JPanel { 4 private J S l i d e r i n t e r v a l l v e l g e r ; 5 private JLabel h i s t o r i e l a b e l ; 6 private f i n a l int DEFAULT_INTERVALL=2; 7 private f i n a l int MIN_INTERVALL=1; 8 private f i n a l int MAX_INTERVALL=60; 9 private int i n t e r v a l l ; private class H i s t o r i e V i s e r extends Thread { 12 public void run ( ) { 13 try { 14 while ( true ) { 15 s l e e p (1000 i n t e r v a l l ) ; 16 h i s t o r i e l a b e l. settext ( " Dusjer sammen : " + 17 new java. u t i l. Date ()) + 18 d usjkunderegister. dusjersammen ( ) ; 19 r e p a i n t ( ) ; 20 } 21 } catch ( InterruptedException ex ) 22 { ex. printstacktrace ( ) ; } 23 } 24 } 25 public DStatPanel ( ) { 8

9 26 i n t e r v a l l = DEFAULT_INTERVALL; 27 i n t e r v a l l v e l g e r = new J S l i d e r ( 28 MIN_INTERVALL, MAX_INTERVALL, i n t e r v a l l ) ; 29 i n t e r v a l l v e l g e r. s e t P a i n t T i c k s ( true ) ; 30 i n t e r v a l l v e l g e r. s e t P a i n t L a b e l s ( true ) ; 31 i n t e r v a l l v e l g e r. setmajortickspacing ( 5 ) ; 32 i n t e r v a l l v e l g e r. setminortickspacing ( 1 ) ; setlayout (new BoxLayout ( this, BoxLayout.Y_AXIS ) ) ; 35 add (new JLabel ( " I n t e r v a l l : " ) ) ; 36 add ( i n t e r v a l l v e l g e r ) ; 37 h i s t o r i e l a b e l = new JLabel ( ) ; 38 add ( h i s t o r i e l a b e l ) ; 39 H i s t o r i e V i s e r h i s t o r i e v i s e r = new H i s t o r i e V i s e r ( ) ; 40 h i s t o r i e v i s e r. s t a r t ( ) ; 41 } 42 } Denne kalles fra: 1 import javax. swing. JFrame ; 2 public class Dstat { 3 public static void main ( S t r i n g [ ] args ) { 4 JFrame f = new JFrame ( " Dusjovervaaging " ) ; 5 f. s e t D e f a u l t C l o s e O p e r a t i o n ( JFrame.EXIT_ON_CLOSE) ; 6 f. getcontentpane ( ). add (new DStatPanel ( ) ) ; 7 f. pack ( ) ; f. s e t V i s i b l e ( true ) ; 8 } 9 } Flere besvarelser hadde lagt oppdateringen av dusjere til den listener som kjøres hvis slider yttes. Oppdatering skjer altså bare når bruker rører slider. For å få en periodisk oppdatering, må oppdateringen gjøres av en egen tråd. 9

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider. Vedlegg:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 6. juni 2006 Tid for eksamen: 1430 1730 Oppgavesettet er på 6 sider. Vedlegg: INF1010 Objektorientert programmering

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen : 09.00

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler

Detaljer

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00 EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 9. mai 2016 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet består

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 4. juni 2015 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 6 sider. Vedlegg:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på

Detaljer

Gjennomgang av eksamen H99

Gjennomgang av eksamen H99 Gjennomgang av eksamen H99 Administrasjon av kurser, studenter og påmeldinger Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for Informatikk Universitetet i Oslo Oppgave 1 (15 %) (Besvares

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO FASIT UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen :

Detaljer

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF 101 - Grunnkurs i objektorientert programmering Eksamensdag : Tirsdag 4. juni 2002 Tid for eksamen : 09.00-15.00 Oppgavesettet

Detaljer

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

INF1010 Rekursive metoder, binære søketrær. Algoritmer: Mer om rekursive kall mellom objekter Ny datastruktur: binært tre INF1010 Rekursive metoder, binære søketrær Algoritmer: Mer om rekursive kall mellom objekter Ny datastruktur: binært tre public void skrivutmeg ( ) { System. out. println (navn + " er venn med " + minbestevennheter

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Tirsdag 12. juni 2012 Tid for eksamen: 9:00 15:00 Oppgavesettet er

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i: INF2440 Effektiv parallellprogrammering Prøveeksamensdag: 1. juni 2016 Tidspunkter: 09.00 16.00 Oppgavesettet er på: 4 sider

Detaljer

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

INF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo INF, 22. mai 23 Prøveeksamen 23 (Eksamen 2. juni 22) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Oppgave a Tegn klassehierarkiet for de 9 produkttypene som er beskrevet over. Inkluder også

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 4. juni 2005 Tid for eksamen: 0900 1500 Oppgavesettet er på 5 sider. Vedlegg: Tillatte hjelpemidler: INF1010 Objektorientert

Detaljer

Kapittel 9: Sortering og søking Kort versjon

Kapittel 9: Sortering og søking Kort versjon Kapittel 9: Sortering og søking Kort versjon Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 13. juni 2006 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 5

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 11. juni 2004 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 8

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF2440 Praktisk parallell programmering Prøveeksamensdag : 26. mai 2014 Tidspunkter: 11.00 Utdeling av prøveeksamen 15:15

Detaljer

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java

Detaljer

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

< T extends Comparable<T> > Indre klasser mm. «Det du bør ha hørt om før oblig 4» < T extends Comparable > Indre klasser mm. «Det du bør ha hørt om før oblig 4» Strukturen i oblig 3 null null null null Personbeholder pl null null Person p "Adnan" michael@ifi.uio.no INF1010 21. februar

Detaljer

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen? OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.

Detaljer

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Torsdag 3. november 2, kl. 9. - 14. Hjelpemidler: Alle trykte og skrevne hjelpemidler. Kalkulator.

Detaljer

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene.

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene. Høgskoleni Østfold EKSAMEN Emnekode: Emnenavn: ITF20006 Algoritmer og datastrukturer Dato: Eksamenstid: 9. mai 2016 9.00 13.00 Hjelpemidler: Faglærer: Alle trykte og skrevne Jan Høiberg Om eksamensoppgaven

Detaljer

. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye.

. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye. ~KSAMENSOPPGA VE Les gjennom hele oppgavesettet før du begynner A besvare deloppgavene.. Hold deg til de identifikator-navnene som er brukt i oppgaveteksten, dog med unntak av metodenes parametemavn som

Detaljer

Obligatorisk oppgave 4: Lege/Resept

Obligatorisk oppgave 4: Lege/Resept Obligatorisk oppgave 4: Lege/Resept INF1010 Frist: mandag 27. mars 2017 kl. 12:00 Versjon 1.0 (111c894 ) Innhold 1 Innledning 1 1.1 Begreper................................ 2 2 Pasienter 2 3 Leger og lister

Detaljer

Objektorientert Programmering Ekstraordinær eksamen 2014

Objektorientert Programmering Ekstraordinær eksamen 2014 Objektorientert Programmering Ekstraordinær eksamen 2014 Høgskolen i Østfold 2014-01-13 Emnekode Emne ITF10611 Dato 13.01.2014 Eksamenstid 09:00-13:00 Hjelpemidler Faglærer Objektorientert Programmering

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00

Detaljer

EKSAMEN. Emne: Algoritmer og datastrukturer

EKSAMEN. Emne: Algoritmer og datastrukturer 1 EKSAMEN Emnekode: ITF20006 000 Dato: 18. mai 2012 Emne: Algoritmer og datastrukturer Eksamenstid: 09:00 til 13:00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Faglærer: Gunnar Misund Oppgavesettet

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 10. juni 2009 Tid for eksamen: 9.00 12.00 Oppgavesettet

Detaljer

INF1010 Binære søketrær ++

INF1010 Binære søketrær ++ INF1010 Binære søketrær ++ Programeksempler med insetting, gjenfinning av noder i et binært søketre samt eksempler på hvordan lage en liste av et binærtre. Hva må du kunne om binære søketrær i INF1010

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Fredag 4. desember 2015 Tid for eksamen: 14.30 (4 timer)

Detaljer

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java

Detaljer

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 9. juni 2011 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

Detaljer

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

Eks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på

Detaljer

INF Notater. Veronika Heimsbakk 10. juni 2012

INF Notater. Veronika Heimsbakk 10. juni 2012 INF1010 - Notater Veronika Heimsbakk veronahe@student.matnat.uio.no 10. juni 2012 1 Tilgangsnivåer 2 CompareTo Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 12. desember 2008 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 7 sider. Vedlegg: Tillatte hjelpemidler: INF2220

Detaljer

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være

Detaljer

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs BOKMÅL Side 1 av 7 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTINUASJONSEKSAMEN

Detaljer

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

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; } 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; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =

Detaljer

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00 Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

INF1010 Sortering. Marit Nybakken 1. mars 2004

INF1010 Sortering. Marit Nybakken 1. mars 2004 INF1010 Sortering Marit Nybakken marnybak@ifi.uio.no 1. mars 2004 Dette dokumentet skal tas med en klype salt og forfatter sier fra seg alt ansvar. Dere bør ikke bruke definisjonene i dette dokumentet

Detaljer

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

Gjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO 1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 115 Eksamensdag : Lørdag 20 mai, 2000 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider Vedlegg : Intet. Tillatte

Detaljer

København 20 Stockholm

København 20 Stockholm UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 Algoritmer og datastrukturer Eksamensdag: 26. mai 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 7 sider. Vedlegg:

Detaljer

Endret litt som ukeoppgave i INF1010 våren 2004

Endret litt som ukeoppgave i INF1010 våren 2004 Endret litt som ukeoppgave i INF1010 våren 2004!!!" # # $# ##!!%# # &##!'! Kontroller at oppgavesettet er komplett før du begynner å besvare det. Les gjerne gjennom hele oppgavesettet før du begynner med

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 og IN 110 Algoritmer og datastrukturer Eksamensdag: 14. mai 1996 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Prøveeksamen tirsdag 23. november 2010 Tid for eksamen:

Detaljer

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

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse

Detaljer

Kapittel 8: Sortering og søking

Kapittel 8: Sortering og søking Kapittel 8: Sortering og søking Forelesningsnotater for: Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk, 2003. ISBN 82-02-23274-0 http://www.ii.uib.no/~khalid/jfps/

Detaljer

INF1010. Grensesnittet Comparable<T>

INF1010. Grensesnittet Comparable<T> INF1010 21. februar 2013 Grensesnittet Comparable Stein Michael Storleer Institutt for Informatikk Universitetet i Oslo Interface med parametre interface Utkledd { // T er klassen jeg er utkledd

Detaljer

EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00

EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00 EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 18. mai 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Kalkulator Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet

Detaljer

INF1010 notat: Binærsøking og quicksort

INF1010 notat: Binærsøking og quicksort INF1010 notat: Binærsøking og quicksort Ragnhild Kobro Runde Februar 2004 I dette notatet skal vi ta for oss ytterligere to eksempler der rekursjon har en naturlig anvendelse, nemlig binærsøking og quicksort.

Detaljer

Sortering med tråder - Quicksort

Sortering med tråder - Quicksort Sortering med tråder - Quicksort Skisser til to programmer INF1010 våren 2016 Stein Gjessing Institutt for informatikk Universitetet i Oslo Sortering som tema, slikt som valg av sorteringsmetode, hastigheten

Detaljer

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Lørdag 15. desember 2001, kl. 09.00-14.00 Hjelpemidler: Alle trykte og skrevne hjelpemidler.

Detaljer

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

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)

Detaljer

Introduksjon til objektorientert programmering

Introduksjon til objektorientert programmering Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes

Detaljer

Oppgave 1. Sekvenser (20%)

Oppgave 1. Sekvenser (20%) Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I BERGEN Eksamen i emnet I 20 - Algoritmer, datastrukturer og programmering Mandag 2.Mai 200, kl. 09-5. Ingen hjelpemidler tillatt. Oppgavesettet

Detaljer

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

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)

Detaljer

Sortering med Comparable og Comparator

Sortering med Comparable og Comparator Sortering med Comparable og Comparator Denne siden forklarer hvordan grensesnittene java.util.comparable og java.util.comparator bidrar til sortering i Java. Comparable og Comparator er grensesnitt som

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveksamen i INF1010 Objektorientert programmering Dato: 26. mai 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 6 sider.

Detaljer

Eksamen Objektorientert Programmering 2013

Eksamen Objektorientert Programmering 2013 Eksamen Objektorientert Programmering 2013 Høgskolen i Østfold 2013-01-07 Emnekode Emne ITF10611 Dato 2013-01-07 Eksamenstid 09:00-13:00 Hjelpemidler Faglærer Objektorientert Programmering To A4-ark (fire

Detaljer

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

En implementasjon av binærtre. Dagens tema. Klassestruktur hovedstruktur abstract class BTnode {} En implementasjon av binærtre Dagens tema Eksempel på binærtreimplementasjon Rekursjon: Tårnet i Hanoi Søking Lineær søking Klassestruktur hovedstruktur abstract class { class Person extends { class Binaertre

Detaljer

I et Java-program må programmøren lage og starte hver tråd som programmet bruker. Er dette korrekt? Velg ett alternativ

I et Java-program må programmøren lage og starte hver tråd som programmet bruker. Er dette korrekt? Velg ett alternativ INF2440-V18 Information INF2440 Vår 2018 eksamen Dato og tid: 11. juni 2018 09:00. Varighet: 4 timer Hjelpemidler: Alt skriftlig materiale er tillatt. Ingen elektroniske hjelpemidler er tillatt. Powerpoint

Detaljer

LC191D/LO191D Videregående programmering mai 2010

LC191D/LO191D Videregående programmering mai 2010 LC191D/LO191D Videregående programmering mai 2010 Løsningsforslag Oppgave 1 Transporttype er en tekst som er felles for klassene AnnenEgenTransport og Kollektivtransport. Vi legger den derfor i klassen

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Torsdag 12. august 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikret av Svein Erik Bratsberg. Kontaktperson

Detaljer

Løsningsforslag til eksamen i INF1000 våren 2006

Løsningsforslag til eksamen i INF1000 våren 2006 Løsningsforslag til eksamen i INF1000 våren 2006 Oppgave 1 a) -1 false 7 b) 30 c) Verdien til j er: 4Verdien til k er: 3Verdien til n er: 7 d) Andre if-test er true Tredje if-test er true e) k = 4 k =

Detaljer

Faglærerne prøver å besøker eksamenslokalet mellom klokka 15 og 16 for å oppklare eventuelle uklarheter og feil i oppgaveteksten.

Faglærerne prøver å besøker eksamenslokalet mellom klokka 15 og 16 for å oppklare eventuelle uklarheter og feil i oppgaveteksten. IN1010/INF1010 v2019 Eksamensinfo Eksamen IN1010/INF1010 våren 2019 Tid: 7. juni kl. 14:30-18:30 (4 timer) PRAKTISK INFORMASJON Hvis du synes noen deler av oppgaven er uklare, kan du legge dine egne forutsetninger

Detaljer

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

Lenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen. Lenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen. "Taher" type: String : type: :... type: : inf1010student null michael@ifi.uio.no INF1010 26. januar 2012 (uke 4) 2 class Eks01 { public

Detaljer

EKSAMEN med løsningsforslag

EKSAMEN med løsningsforslag EKSAMEN med løsningsforslag Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2009 kl 09.00 til kl 13.00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Kalkulator Faglærer:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Torsdag 4. desember 2014 Tid for eksamen: 14.30 (4 timer)

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL Delprøve Kandidatnr: Prøvedato: 2. mars 2005 Varighet: 3 timer (9:00 12:00) Fagnummer: LO196D Fagnavn: Videregående programmering med

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Side 1 UNIVERSITETET I OSLO Kandidatnr Det matematisk-naturvitenskapelige fakultet Eksamen i: PRØVEEKSAMEN INF1000 Eksamensdag: Prøveeksamen 22.11.2011 Tid for eksamen: 12:15-16:15 Oppgavesettet er på

Detaljer

EKSAMEN. Algoritmer og datastrukturer

EKSAMEN. Algoritmer og datastrukturer EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2009 kl 09.00 til kl 13.00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Kalkulator Faglærer: Gunnar Misund

Detaljer

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

Rekursjon. Binærsøk. Hanois tårn. Rekursjon Binærsøk. Hanois tårn. Hvorfor sortering (og søking) er viktig i programmering «orden» i dataene vi blir fort lei av å lete poleksempel internett «alt» er søking og sortering alternativer til

Detaljer

Tillatte hjelpemidler: alle skrevne og trykte. Antall sider: 2 (+ 1 side vedlegg, bakerst). Oppgave 1 [25%]

Tillatte hjelpemidler: alle skrevne og trykte. Antall sider: 2 (+ 1 side vedlegg, bakerst). Oppgave 1 [25%] Bokmål Det Matematisk-naturvitenskapelege fakultet UNIVERSITETET I BERGEN Eksamen i emnet INF101/INF101F Programmering II Tirsdag 28. september 2010, kl. 09-12. Tillatte hjelpemidler: alle skrevne og trykte.

Detaljer

INF våren 2017

INF våren 2017 INF1010 - våren 2017 Om Java Objekter og klasser Både for deg som kan og for deg som ikke kan Java Stein Gjessing Universitetet i Oslo Ny versjon etter forlesningen der tre meningsløse private modifikatorer

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1020 Algoritmer og datastrukturer Eksamensdag: 15. desember 2004 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 6 sider.

Detaljer

INF1000 Prøveeksamen Oppgave 7 og 9

INF1000 Prøveeksamen Oppgave 7 og 9 INF1000 Prøveeksamen Oppgave 7 og 9 Høst 2015 Siri Moe Jensen 7a) Skriv en klasse Gave med to variabler som forteller hva som er i gaven, og hvor mye den har kostet. Klassen skal ha en konstruktør med

Detaljer

Kapittel 9: Sortering og søking Kort versjon

Kapittel 9: Sortering og søking Kort versjon Kapittel 9: Sortering og søking Kort versjon Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 15. desember 2010 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 8 sider. Vedlegg: Tillatte hjelpemidler: INF2220

Detaljer

Repitisjonskurs. Arv, Subklasser og Grensesnitt

Repitisjonskurs. Arv, Subklasser og Grensesnitt Repitisjonskurs Arv, Subklasser og Grensesnitt Subklasser Klasser i OO-programmering representerer typer av objekter som deler et sett med egenskaper. En subklasse har egenskapene til en klasse + ett sett

Detaljer

Norges Informasjonsteknologiske Høgskole

Norges Informasjonsteknologiske Høgskole Oppgavesettet består av 6 (seks) sider. Norges Informasjonsteknologiske Høgskole PG4200 Algoritmer og datastrukturer Side 1 av 6 Tillatte hjelpemidler: Ingen Varighet: 3 timer Dato: 6. august 2014 Fagansvarlig:

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Tirsdag 2. juni 2009, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Trond Aalberg. Kontaktperson under

Detaljer

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 Delkapittel 3.1 Grensesnittet Liste Side 1 av 11 Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 3.1 En beholder 3.1.1 En beholder En pappeske er en beholder En beholder er noe vi kan legge ting

Detaljer

Prøveeksamen INF2440 v Arne Maus PSE, Inst. for informatikk

Prøveeksamen INF2440 v Arne Maus PSE, Inst. for informatikk Prøveeksamen INF2440 v 2016 Arne Maus PSE, Inst. for informatikk 1 Oppgave 1 (10 poeng) Forklar hva som skjer ved en synkronisering: a) Når to tråder synkroniserer på samme synkroniseringsobjekt (f.eks

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 6. juni 2013 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

Detaljer

Enkle generiske klasser i Java

Enkle generiske klasser i Java Enkle generiske klasser i Java Oslo, 7/1-13 Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Del 1: Enkle pekere Før vi tar fatt på det som er nytt i dette notatet, skal vi repetere litt

Detaljer

EKSAMENSOPPGAVE. IAI20102 Algoritmer og datastrukturer

EKSAMENSOPPGAVE. IAI20102 Algoritmer og datastrukturer EKSAMENSOPPGAVE Fag: Lærer: IAI00 Algoritmer og datastrukturer André A. Hauge Dato:..005 Tid: 0900-00 Antall oppgavesider: 5 med forside Antall vedleggssider: 0 Hjelpemidler: Alle trykte og skrevne hjelpemidler,

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 17. august 2012 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

Detaljer

INF1010 siste begreper før oblig 2

INF1010 siste begreper før oblig 2 INF1010 siste begreper før oblig 2 Sammenligning. Mer lenkede lister. Forskjellige listeimplementasjoner. Binære trær. Bittelitt om grensesnitt (interface). Dagens forelesning Flere temaer på grunn av

Detaljer

Obligatorisk oppgave 5: Labyrint

Obligatorisk oppgave 5: Labyrint Obligatorisk oppgave 5: Labyrint INF1010 Frist: mandag 24. april 2017 kl. 12:00 Versjon 1.0 (1709ba6 ) Innhold 1 Innledning 2 2 Notasjon og terminologi 3 2.1 Formelle definisjoner.........................

Detaljer

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

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 6 Bokmål Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert

Detaljer

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04 INF1000 (Uke 15) Eksamen V 04 Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset 22-05-2006 2 22-05-2006 3 22-05-2006 4 Oppgave 1a

Detaljer

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04 INF1000 (Uke 15) Eksamen V 04 Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset 22-05-2006 2 22-05-2006 3 22-05-2006 4 Oppgave 1a

Detaljer

Kapittel 8: Sortering og søking INF100

Kapittel 8: Sortering og søking INF100 Forelesningsnotater for: Kapittel 8: Sortering og søking INF100 Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk, 2003. ISBN 82-02-23274-0 http://www.ii.uib.no/~khalid/jfps/

Detaljer