Eksamen. Objektorientert Programmering IGR 1372

Størrelse: px
Begynne med side:

Download "Eksamen. Objektorientert Programmering IGR 1372"

Transkript

1 + JVNROHQL1DUYLN $YGHOLQJIRU7HNQRORJL Eksamen i Objektorientert Programmering IGR LG'HVHPEHU± 7LOODWWHKMHOSHPLGOHU 6NULYHVDNHU2UGE NHU -DYD6RIWZDUH6ROXWLRQV)RXQGDWLRQVRI3URJUDP 'HVLJQVNUHYHWDY/HZLV /RIWKXV (NVDPHQVRSSJDYHQEHVWnUDYWRWDOWVLGHULQNOXVLYHGHQQHIRUVLGHQRJ YHGOHJJIRU80/QRWDVMRQ.RQWUROOHUDWRSSJDYHVHWWHWHUNRPSOHWWI UGXEHJ\QQHUnEHVYDUHVS UVPnOHQH 1RHQJHQHUHOOHUnGRJEHPHUNQLQJHUI UGXEHJ\QQHU Ikke la deg skremme av antallet sider i oppgaven. Den er ikke større/vanskeligere enn tidligere oppgaver i faget. Les hele oppgaven I U du begynner å løse deloppgavene Dersom oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre dine egne presiseringer/forutsetninger. Gjør i så fall tydelig rede for disse i din besvarelse. Du kan fritt bruke alle Java-biblioteker, for eksempel java.util.*, java.io.*, etc. Oppgaven kan besvares på norsk eller engelsk /\NNHWLO Eksamen i Objektorientert Programmering Side 1 av Desember 200

2 2SSJDYH 2SSJDYHD Innenfor koden knyttet til en klasse eller et klasse-hierarki kan man ha flere metoder med samme navn, men med forskjellige parametere. - Hva kalles dette i faglitteraturen? - Hva er det som skiller den ene metoden fra den andre metoden med samme navn? 2SSJDYHE I Java TM kan man arve egenskaper fra andre klasser. Arven omfatter da både metoder og attributter, og dermed også alle assosiasjoner og relasjoner. Dog finnes det et sett med begrensinger på hvilke attributter/metoder man har tilgang på i barn-klassen i forhold til hva som forefinnes i mor-klassen. Hva er det som begrenser denne tilgangen? 2SSJDYHF Java TM er som kjent et objekt-orientert programmeringsspråk hvor vi blant annet kan kalle metoder og sende parametere med metodene. Overføringen av parameterene til metoden skjer på en av to måter. Forklar hvilke to måter parameteroverføringen skjer på og hva som er konsekvensen av dette. Besvarelsen skal være kort og bør ikke overstige 5 setninger. 2SSJDYHG Følgende sett av datatyper skal sendes som parametere til en metode. Angi hvordan parameteroverføring for de forskjellige datatypene nedenfor skjer. int Integer Boolean int [] Vector String [] float Eksamen i Objektorientert Programmering Side 2 av Desember 200

3 2SSJDYHH Forklar forskjellen på while og do-while setningen med hensyn på sjekk av betingelsen knyttet til setningen, og hvilken betydning dette har for antall ganger kodeblokken i setningen utføres. 2SSJDYHI Variabler og metoder kan deklareres som static. Hvilken betydning har dette for bruken av dem i forhold til når static ikke er brukt? 2SSJDYH I denne deloppgaven skal dere implementere en metode på to forskjellige måter. Følgende sett med kode er gitt hvor dere skal implementere/skrive to alternative løsninger av metoden public static int henttegn(string S) innenfor denne klassen: 1: public class Oppgave3 { 2: public static char [] TELLETEGN={'a','e','i','o','u','y','æ','ø','å', 3: 'A','E','I','O','U','Y','Æ','Ø','Å', 4: '0','1','2','3','4','5','6','7','8', 5: '9',' ','.',',',':','\t'}; 6: 7: public static void main(string[] args) { 8: Oppgave3 x = new Oppgave3(); 9: 10: String S1 = "Dette er eksamen i OOP, høsten 2001." + 11: "Eksamen gjelder emnet IGR 1372 og " + 12: "avholdes onsdag 5.te desember."; 13: 14: System.out.println("\nStrengen \"" + S1 + "\"\n"); 15: System.out.println("Inneholder " + x.henttegn(s1) + " tegn " + 16: "som skulle telles opp, av totalt " + 17: S1.length() + " tegn"); 18: } 19: } Metoden dere skal skrive har som oppgave å telle opp antall TELLETEGN i en streng som sendes inn i metoden. Ut av metoden kommer det aktuelle antallet TELLETEGN som strengen som ble sendt som parameter inneholdt. De to implementasjonene skal henholdsvis benytte seg av IRU-løkker, og av ZKLOH-løkker. Begge metodene kan ha samme navn og parameterliste. Eksamen i Objektorientert Programmering Side 3 av Desember 200

4 2SSJDYH I denne oppgaven skal du jobbe med objektorientering og programmering. Biblioteket ved Gnytthøgda Lavskole skal innføre data ved biblioteket, og i denne sammenheng har de leid inn deg som konsulent for å planlegge og lage det nye systemet. Den videre teksten er beskrivelsen du har fått av ledelsen ved Gnytthøgda Lavskole s bibliotek. Vær oppmerksom på at denne teksten kan være uklar på enkelte punkter og at den ikke nødvendigvis vil gi deg all den informasjonen du trenger for å kunne lage systemet. Vær også oppmerksom på at noe av informasjonen som gis ikke er vesentlig for utformingen av systemet. %LEOLRWHNHWKDUIOHUHIRUVNMHOOLJHXWOnQVHQKHWHUKHQKROGVYLVE NHUYLGHRHURJ&'HU+HUHU QRHQHNVHPSOHUSnKYRUGDQQRHQNRQNUHWHXWOnQVIRUHNRPVWHUNDQVHXWRJKYRUGDQGLVVH IRUKROGHUVHJWLOXWOnQVHQKHW 8WOnQV)RUHNRPVW 8WOnQVHQKHW 8WOnQV,G (QKHWV,G /RNDVMRQV,G 1DYQ 5+K $VWHUL[L5RPD 5+K -DYDE\'LVVHFWLRQ 5+K 3LQN)OR\G±'DUN6LGH2I7KH0RRQ /RNDVMRQV,GHUGHOWRSSLWUHGHOHU'HI UVWHWUHWHJQHQHDQJLUORNDVMRQHQLIRUPDYHW UHROQXPPHU5DQJLU5HROQU(QUHROHUGHOWRSSLIOHUHK\OOHVHNVMRQHURJGHQHVWHWUH WHJQHQHDQJLUK\OOHVHNVMRQHQ+DQJLUK\OOHVHNVMRQPHQVGHVLVWHWUHWHJQHQHDQJLU K\OOHQXPPHUHWLUHROHQVK\OOHVHNVMRQKDQJLUK\OOHQXPPHU'HWWHEHW\UDWYLNDQOHVHHQ /RNDVMRQV,'GLUHNWH5+KEHW\U5HRO+\OOHVHNVMRQK\OOH5+KEHW\U5HRO +\OOHVHNVMRQK\OOHRVY1DYQDQJLUQDYQHWSnGHWVRPNDQOnQHVXW 8WOnQV,GHUHWQXPPHUVRPEHQ\WWHVIRUnLGHQWLILVHUHHQHQNHOWXWOnQVIRUHNRPVWDYHQ XWOnQVHQKHW'HWHUQHPOLJVOLNDWELEOLRWHNHWNDQKDIOHUHIRUHNRPVWHUDYVDPPHXWOnQVHQKHW )OHUHXWOnQVIRUHNRPVWHUNDQDOWVnKDVDPPH/RNDVMRQV,GPHQVDOOHXWOnQVIRUHNRPVWHQHYLOKD IRUVNMHOOLJ8WOnQV,G(QKHWV,GLGHQWLILVHUHUHQ8WOnQVHQKHW 9LKDUDOWVnHQVLWXDVMRQKYRUHQXWOnQVHQKHWIRUHNVHPSHO $VWHUL[L5RPD NDQILQQHVLIOHUH XWOnQVIRUHNRPVWHUXWOnQVLGRJPHQKYRUIRUHNRPVWHQHHUSODVVHUWSn VDPPHVWHGLVDPPHUHRO5+K,WLOOHJJHUGHWVOLNDWVNROHQ QVNHUnNXQQHOnQHXWXWOnQVIRUHNRPVWHUEnGHWLODQVDWWHRJ VWXGHQWHUYHG*Q\WWK JGD/DYVNROH'HWWHEHW\UDWELEOLRWHNHWKDUWRW\SHUDYOnQWDJHUH DQVDWWHRJVWXGHQWHU6NLOOHWPHOORPDQVDWWHRJVWXGHQWHUHUYLNWLJVLGHQDQVDWWHInUOnQH XWOnQVIRUHNRPVWHQHOHQJHUHHQQVWXGHQWHQH %LEOLRWHNHW QVNHUVHOYI OJHOLJRJVnHQRYHUVLNWRYHUKYLONHXWOnQVIRUHNRPVWHUVRPHUWLOXWOnQ DNNXUDWQnRJQnUGHHUIRUYHQWHWnEOLWLOEDNHOHYHUW,QNOXVLYHLGHQQHRYHUVLNWHQLQQJnURJVn OnQHUHQGHQDQVDWWHHOOHUVWXGHQWHQVOLNDWELEOLRWHNHWNDQSXUUHXWOnQHUHQKYLV XWOnQVIRUHNRPVWHQLNNHHUOHYHUWWLOEDNHLQQHQUHWWWLG Eksamen i Objektorientert Programmering Side 4 av Desember 200

5 2SSJDYHD Lag et objektorientert design for bibliotekssystemet. Besvarelsen skal inneholde en grov objektmodell med alle assosiasjoner/relasjoner og kardinalitet. I tillegg skal du kommentere modellen med fokus på arv og assosiasjoner. Kommenter spesielt eventuell bruk av Interfacer og abstrakte klasser. Du skal ikke modellere reoler, hyller og lignende siden du forutsetter at lokasjonskoden er tilstrekkelig i denne sammenheng. Du skal heller ikke modellere klasser/objekter som utgjør containere, som for eksempel Lånetagere (som inneholder et array over alle lånetagere og metoder for å finne/endre disse) eller lignende. Du skal også se bort fra eventuelle menysystemer, vindussystemer og lignende. 2SSJDYHE Lag kodeskjelletter for klassene du kom frem til i oppgave 3a som representerer UtlånsEnhet, CD, og Utlån. Kommenter hvorfor de forskjellige klassene inneholder de attributter og metoder som du angir, samt hvorfor attributtene du angir i klassene er korrekt. 2SSJDYHF Du skal nå lage en såkalt container-klasse; LåntagerOversikt. Denne klassen skal inneholde en oversikt over alle mulige låntagere i systemet, samt muligheten for nyregistrering av nye låntagere, gjenfinning av eksisterende låntagere, samt sletting av låntagere. Lag et skjellett for denne klassen og implementer metoden som legger til en ny låntager. Ta de forutsetninger som du synes er påkrevd. Eksamen i Objektorientert Programmering Side 5 av Desember 200

6 ,QQOHGQLQJWLORSSJDYHG Vi skal nå se litt nærmere på en ny klasse - Bibliotekssystem. Denne klassen utgjør klassen som bibliotekarene benytter seg av når de skal gjøre ting i systemet. Eksempler på dette er finnutlånsenhet, purrlånere, registrernylåner, registrerinnlevering, osv. Denne klassen er altså selve hovedprogrammet. Her kommer et lite utsnitt av klassen Bibliotekssystem. Klassen inneholder flere metoder og mer kode enn det som fremkommer i utsnittet (illustrert ved prikkene i koden). 1: import java.io.*; 2: import java.util.*; 3: 4: public class Bibliotekssystem { 5: 6: UtlånForekomster utlobj; // Oversikt over alle forekomster av 7: // utlånsenheter 8: Lånere laanere; // Oversikt over alle potensielle lånere 9: 10: // Konstruktør 11: public Bibliotekssystem() { 12: utlobj = new UtlånForekomster (); 13: laanere = new Lånere(); 14: } 15: 16: // Leser inn alle data fra fil, både UtlånsForekomster og Lånere 17: protected void lesdata(string innfil) throws IOException { 18: BufferedReader in = new BufferedReader(new FileReader(new File(innfil))); 19: 20: // Leser en og en linje fra fila inntil ikke mer kan leses fra fila (EOF) 21: while ( (String linje = in.readline())!= null) { 22: : 23: : 24: : 25: } 26: in.close(); 27: 28: } 29: 30: : 31: : 32: // Oppstarten av applikasjonen 33: public static void main(string [] args) throws Exception { 34: 35: Bibliotekssystem BibSys = new Bibliotekssystem(); 36: String filnavn = C:\Datafil.dta ; 37: BibSys.lesData(filnavn); 38: : 39: : 40: BibSys.skrivData(filnavn); 41: 42: } 43: } Det første som skjer når hovedprogrammet starter opp er at utlånsforekomster lastes inn i programmet fra fil ( lesdata(string innfil) ). Utlånsforekomstene legges inn i et objekt av Container-klassen UtlånsForekomster (som igjen inneholder en Vector hvor dataene som hentes fra fil legges inn som UtlånsForekomst). Innleggingen skjer i Container-klassen UtlånsForekomster ved at man kaller metoden void ny(utlånsforekomst o). UtlånsForekomst har følgende konstruktører: public UtlånsForekomst(String ForekomstId, int EnhetsId); public UtlånsForekomst(String ForekomstId, UtlånsEnhet enhet); Du velger selv hvilke av disse konstruktørene du ønsker å bruke. Eksamen i Objektorientert Programmering Side 6 av Desember 200

7 2SSJDYHG Din oppgave er å fullføre metoden lesdata(string innfil) i klassen Bibliotekssystem. Denne metoden skal lese dataene fra fil og legge dataene inn i et objekt av klassen UtlånsForekomster. Oppgaven skal besvares i form av den ferdige utgaven av metoden lesdata( ). Datafilen er en vanlig tekstfil, og dataene i filen ser ut som følger: R04H02h Asterix i Roma R04H02h Asterix i Roma R04H01h Java by Dissection R12H10h Pink Floyd Dark Side Of The Moon Kolonnene i filen gjenkjenner du fra innledningen av oppgaven. Du kan forutsette at UtlånsEnhet forefinnes i systemet fra før. 7LSV %UXN6WULQJ7RNHQL]HUIRUnKnQGWHUHIHOWHQHLKYHUOLQMHVRPGXOHVHUIUDILODRJEUXN,QWHJHUNODVVHQIRUnRYHUVHWWHIUD6WULQJWLOLQW6HIRU YULJ$SSHQGL[0LO UHERNDIRU PHULQIRUPDVMRQRPGLVVHNODVVHQH 2SSJDYHH GnyttHøgda Lavskoles Bibliotek er plaget med at mange låntagere ikke leverer tilbake det de har lånt innen den fristen som er satt på det aktuelle utlånet. Dette er problematisk fordi andre kanskje står på venteliste på den aktuelle utlånsforekomsten. For å løse dette har biblioteket bestemt seg for at låntagere som har utlånsforekomster som de ikke har levert tilbake innen fristen, ikke skal få låne nye før de har levert tilbake det de allerede har lånt. Dette skal sjekkes automatisk av systemet når en låntager forsøker å låne. Beskriv, med utgangspunkt i din egen objektmodell, hvordan du ville løse dette problemet. Eksamen i Objektorientert Programmering Side 7 av Desember 200

8 2SSJDYH Følgende sett med kode er gitt som utgangspunkt til denne oppgaven: 1: public class Sirkel { 2: // plassering og størrelse på sirkel 3: private int xpos, ypos, radius; 4: 5: // parameterløs konstruktør 6: public Sirkel () { 7: xpos = 0; ypos = 0; radius = 1; 8: } 9: 10: // konstruktør med parameter 11: public Sirkel (int x, int y, int r) { 12: xpos = x; ypos = y; radius = r; 13: } 14: 15: public void tegn () { 16: // kode som tegner omrisset av sirkelen 17: } 18: 19: public double areal () { 20: return (double)(radius * radius * ); 21: } 22: } 23: // >> Ny klasse: figurer << : 25: public class figurer 26: { 27: public static void main (String[] args) { 28: Sirkel[] flater = new Sirkel [10]; // Array for sirkler 29: 30: // kode som oppretter sirkler og legger dem inn i arrayen 31: : 32: : 33: for (int i = 0; i < 10; i++) 34: System.out.println("Arealet til flate " + i + 35: " er " + flater[i].areal(); 36: } 37: } 2SSJDYHD Vi tenker oss nå at det skal lages en ny klasse for Firkant og senere også for andre typer flater etter samme mønster som Sirkel. Videre vil man at arrayet flater skal kunne inneholde forekomster av både Sirkel, Firkant og av eventuelt andre flater. Dette forutsetter at de har et felles "opphav", som for eksempel en felles foreldreklasse/morklasse. Metodene areal (og tegn) vil være forskjellig i de forskjellige klassene og kan dermed ikke arves direkte fra en foreldreklasse. Likevel er det ønskelig at for-løkka i main kan benyttes som før. En foreldreklasse for Sirkel, Firkant med flere vil heller ikke ha nok opplysninger til å kunne bli tegnet opp. Det er derfor ikke aktuelt å lage forekomster av denne klassen. Hva kalles den type klasser som det ikke kan lages forekomster av? Lag (skriv) klassen Firkant og en foreldreklasse for Sirkel, Firkant (og eventuelt andre) slik at forutsetningene over holder. Det er ikke nødvendig å skrive kode for metoden tegn i klassen Firkant. Det er heller ikke nødvendig å skrive main eller klassen Sirkel på nytt, selv om det må gjøres endringer i disse. Eksamen i Objektorientert Programmering Side 8 av Desember 200

9 2SSJDYHE Metoden tegn() i Sirkel og Firkant er ment å tegne opp omrisset av flatene. Vi vil ha tilsvarende klasser som tegner fylte flater (vi skal altså fargelegge innholdet av flaten). Disse klassene kan være barnklasser av henholdsvis Sirkel og Firkant. De bør i tillegg til det de arver ha opplysning om farge. For vårt formål er det nok å bruke en int. Det finnes andre klasser, utenfor det aktuelle arvehierarkiet, som også definerer grafiske objekter med farger, og vi ønsker å ha en array i main som inneholder alle typer obekter som har farge i tillegg til den allerede eksisterende arrayen flater. Det skal også være en for-løkke som skriver ut fargen på alle objektene i denne arrayen (den nye arrayen kan for eksempel hete FargeFlater). Hvordan vil du løse dette? Skriv hele løsningen for en klasse FyltFirkant som arver fra Firkant. Eksamen i Objektorientert Programmering Side 9 av Desember 200

10 9HGOHJJ80/QRWDVMRQ.ODVVH Grov: Klassenavn $EVWUDNW.ODVVH DEVWUDFWklassenavn,QWHUIDFH <<interface>> Eller detaljert: Eksempel: Interfacenavn.ODVVHQDYQ Variabel:W\SH Metode(arg.list):UHWXUW\SH 3HUVRQ navn: 6WULQJ alder: LQW barn: Person[ ] getnavn():6wulqj setnavn(string navn): void Klasse1 $VVRVLDVMRQEUXNHUKDU $UYJMHOGHURJVnDUYPHOORPLQWHUIDFHU Superklasse Objekter i en klasse (NODVVH) bruker spesiali- generaliobjekter av en annen klasse (NODVVH). sering sering I praksis betyr dette at et objekt i NODVVH Kaller metoder på et objekt av NODVVH Sub Sub.RPSRVLVMRQEHVWnUDY $JJUHJHULQJLQQHKROGHU Objekter av en klasse (NODVVH) består av Eller inneholder objekter av en annen klasse (NODVVH). Objekter av den andre klassen (NODVVHvet nødvendigvis ikke om eksistensen av objektet av den første klassen. Som.RPSRVLVMRQ, men noe svakere. I denne relasjonen vet objektene av om eksistensen av objekt1.duglqdolwhwvdqjlyhovhu Kardinalitet kan angis på begge sider av en relasjon, men unntak av arv. Kardinalitetet angir hvordan ett objekt oppfatter situasjonen fra sin side. Nedenfor gis noen eksempler: 1 1 Ett objekt av bruker ett objekt av klasse 2, og Omvendt 1 n..m Ett objekt av består av Q til P objekter av, og ett objekt av bruker ett objekt av 1 * Ett objekt av bruker mange objekter av, Mens ett objekt av bruker kun ett objekt av 3,4 2,4,6 Ett objekt av bruker 2,4, eller 6 objekter av og ett objekt av bruker 3 eller 4 objekter av Eksamen i Objektorientert Programmering Side 10 av Desember 200

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

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

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

EKSAMEN I INF244: OBJEKTORIENTERT PROGRAMVAREUTVIKLING I BACHELORSTUDIET I IT OG INFORMASJONSSYSTEMER BACHELORSTUDIET I IT OG ENTREPRENØRSKAP

EKSAMEN I INF244: OBJEKTORIENTERT PROGRAMVAREUTVIKLING I BACHELORSTUDIET I IT OG INFORMASJONSSYSTEMER BACHELORSTUDIET I IT OG ENTREPRENØRSKAP Høgskolen i Buskerud Avdeling for økonomi og samfunnsvitenskap 3502 Hønefoss EKSAMEN I INF244: OBJEKTORIENTERT PROGRAMVAREUTVIKLING I BACHELORSTUDIET I IT OG INFORMASJONSSYSTEMER BACHELORSTUDIET I IT OG

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

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

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

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

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

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

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

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) og i emnet INF100-F Objektorientert programmering i Java I Løsningsforslag Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 7 Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert

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 Eksamen i Eksamensdag: 6. juni 2006 Tid for eksamen: 1430 1730 Oppgavesettet er på 6 sider. Vedlegg: INF1010 Objektorientert programmering

Detaljer

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

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og

Detaljer

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus // class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen

Detaljer

Løsningsforslag Test 2

Løsningsforslag Test 2 Løsningsforslag Test 2 Oppgave 1.1: Interface definerer et grensesnitt som kan implementeres av flere klasser. Dette gir en standardisert måte å kommunisere med objekter av en eller flere relaterte klasser.

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

. 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

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

Kapittel 8: Programutvikling

Kapittel 8: Programutvikling Kapittel 8: Programutvikling 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 Cappelen Akademisk

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

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 14.desember 2007 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasser: LO347D Web-applikasjoner med Java EE Nettstudenter

Detaljer

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

INF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java INF1010 våren 2017 Onsdag 25. januar Litt om unntak i Java Stein Gjessing Nytt tema: Feilhåndtering (IO: Innlesing/Utskrift) n En metode som kan komme til å gjøre en IO-feil på fil må enten behandle denne

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

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

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

Oppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre Oppsummering Kort gjennomgang av klasser etc ved å løse halvparten av eksamen 2012. Klasser Interface Subklasser Klasseparametre Datastrukturer Hva er problemet? Oppgaven Emballasjefabrikken Renpakk skal

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Kandidatnummer: BOKMÅL UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF1000 Grunnkurs i objektorientert programmering Eksamensdag : Fredag 1. desember 2006 Tid for eksamen

Detaljer

Argumenter fra kommandolinjen

Argumenter fra kommandolinjen Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage

Detaljer

UNIVERSITETET I OSLO

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

Detaljer

INF1000: Forelesning 7. Konstruktører Static

INF1000: Forelesning 7. Konstruktører Static INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter

Detaljer

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

INF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først) INF1010 våren 2019 Onsdag 30. januar Mer om unntak i Java (med litt repetisjon av I/O først) Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type:

Detaljer

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012 INF1000 - Uke 10 Ukesoppgaver 10 24. oktober 2012 Vanlige ukesoppgaver De første 4 oppgavene (Oppgave 1-4) handler om HashMap og bør absolutt gjøres før du starter på Oblig 4. Deretter er det en del repetisjonsoppgaver

Detaljer

INF1000: Forelesning 7

INF1000: Forelesning 7 INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en

Detaljer

ANTDAGER = 358; I Ifra nyttår 08 til 08 1ed julaften

ANTDAGER = 358; I Ifra nyttår 08 til 08 1ed julaften ~tte hjelpemiddel: Alle trykte og håndskrevne --- Kandidaten må selv kontrollere at oppgavesettet er fullstendig. nnføring skal være med blå eller svart penn. Les gjennom hele oppgavesettet før du begynner

Detaljer

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

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:

Detaljer

Hittil har programmene kommunisert med omverden via tastatur og skjerm Ønskelig at data kan leve fra en kjøring til neste

Hittil har programmene kommunisert med omverden via tastatur og skjerm Ønskelig at data kan leve fra en kjøring til neste Datafiler og serialisering Tekstfiler Scanner klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc191d.php

Detaljer

LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012.

LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012. Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012. Objektorientert modellering

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.

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Mandag 6. august 2012, kl. 15:00-19:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Rune Sætre. Kontaktperson under

Detaljer

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale. Høgskolen i Telemark Fakultet for allmennvitenskapelige fag EKSAMEN I 6108/6108N PROGRAMMERING I JAVA 21. 12. 2015 Tid: 4 timer Sidetall: Hjelpemiddel: Merknader: Framside + 5 sider Alt trykt og skriftlig

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

INF1010 våren 2018 tirsdag 23. januar

INF1010 våren 2018 tirsdag 23. januar INF1010 våren 2018 tirsdag 23. januar I/O og litt om bruk av unntak i Java Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type: Scanner boolean

Detaljer

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne Side 1 av 7 Bokmålstekst Emne: PROGRAMMERING (nytt pensum, 10 studiep.) Grupper: laa, lab, lac, lia, lib, lic Eksamensoppgaven best~r av: Tillatte hjelpemidler: Antall sider (inkl. forsiden): 7 Alle trykte

Detaljer

NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen..

NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen.. Løsningsforslag Eksamen V2007 Oppgave 1 NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen.. Oppgave 1.1 Klasse som pakke rinne n primitiv datatype, slik at vi kan

Detaljer

INF1010 - Seminaroppgaver til uke 3

INF1010 - Seminaroppgaver til uke 3 INF1010 - Seminaroppgaver til uke 3 Oppgave 1 I denne oppgaven skal vi lage et klassehiearki av drikker. Alle klassene i hiearkiet skal implementere følgende grensesnitt p u b l i c i n t e r f a c e Drikkbar

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Kandidatnummer: Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF1000 Grunnkurs i objektorientert programmering Prøveeksamensdag : Onsdag 12. november 2014 Tid

Detaljer

Eksamen Objektorientert Programmering 2011

Eksamen Objektorientert Programmering 2011 Eksamen Objektorientert Programmering 2011 Høgskolen i Østfold 2011-05-11 Emnekode ITF10611 Emne Objektorientert Programmering Dato 2011 05-11 Eksamenstid 09:00-13:00 Hjelpemidler To A4-ark (fire sider)

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO FASIT/LØSNINGSFORSLAG (kommentarene er for læringsformål og avspeiler ikke nødvendigvis hva som ble vektlagt ved sensuren denne gang). Forslaget er laget av Ole Christian Lingjærde. UNIVERSITETET I OSLO

Detaljer

Å lese tall fra en fil, klassen Scanner

Å lese tall fra en fil, klassen Scanner Å lese tall fra en fil, klassen Scanner 1. Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2. Kan skanne teksten etter data av ulike typer. 3. Kan kun skanne framover i teksten. Vis

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

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

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 10. juni 2005 Tid for eksamen: 14.30 17.30 Oppgavesettet er på

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

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

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Tuva Kristine Thoresen Forkurs INF1010 Dag 2 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Tuva Kristine Thoresen (tuvakt@ifi.uio.no) Institutt for Informatikk, 7. januar 2014 Forkurs INF1010 - dag 2 Klasser og pekere Klasser

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

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Abstrakte klasser og grensesnitt, redefinering av metoder Java-programmering Arv og bruk av abstrakte klasser Eclipse Undersøke instanser i Eclipse 1 Dagens

Detaljer

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning

Detaljer

Høgskoleni østfold NY/UTSATT EKSAMEN

Høgskoleni østfold NY/UTSATT EKSAMEN Ch) Høgskoleni østfold NY/UTSATT EKSAMEN Emnekode: Emne: ITF10611 Objektorientert Programmering Dato: 6. januar 2016 Eksamenstid: kl 09:00 til kl 13:00 Hjelpemidler: To A4-ark (fire sider) med egne notater

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Kandidatnummer: UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet eksamen Eksamen i : INF1000 Grunnkurs i objektorientert programmering Eksamensdag : Mandag 3. desember 2007 Tid for

Detaljer

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

Innhold. INF1000 Høst Klasser og objekter. Uke 7: Mer objektorientert programmering Siri Moe Jensen Innhold INF1000 Høst 2015 Uke 7: Mer objektorientert programmering Siri Moe Jensen Oo: Hva skjer egentlig i programmene våre? Hva var det vi gjorde annerledes i Uke 5? Klassemetoder (deklarert som static)

Detaljer

programeksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"

programeksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet TGA Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte En større problemstilling I uke 4 skrev vi et program for å sjekke om et gen (en tekstfil) inneholdt ordet "TGA"

Detaljer

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

Oppgave 1. INF1000 Uke 13. Oppgave 2. Oppgave 3. Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI Oppgave 1 INF1000 Uke 13 Gjennomgang av prøveeksamen fra høsten 2004 Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI int i; int k = i; int i, j = 4; int k = j; double[] x = new double[1];

Detaljer

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller. Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter

Detaljer

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 INF1000 Metoder Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere

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

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

Konstruktører. Bruk av konstruktører når vi opererer med enkle klasser er ganske ukomplisert. Når vi skriver. skjer følgende: Konstruktører Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver Punkt p = new Punkt(3,4); class Punkt { skjer følgende: int x, y; 1. Det settes av plass i

Detaljer

INF1000: noen avsluttende ord

INF1000: noen avsluttende ord Pensum Det som er gjennomgått på forelesningene INF1000: noen avsluttende ord Arne og Fredrik Stoff som er behandlet i oppgaver/obliger Notat om Informasjonsteknologi, vitenskap og samfunnsmessige virkninger

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

Fra problem til program

Fra problem til program Fra problem til program Gitt et problem, hvordan går man fram for å programmere en løsning? UML klassediagrammer Enhetstesting Dokumentasjon Som student ønsker vi oss et program som kan holde oversikt

Detaljer

Eksamen IN1010/INF1010 våren 2018

Eksamen IN1010/INF1010 våren 2018 Om eksamen Eksamen IN1010/INF1010 våren 2018 PRAKTISK INFORMASJON Hvis du synes noen deler av oppgaven er uklare, kan du legge dine egne forutsetninger til grunn og gjøre dine egne rimelige antagelser.

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

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet PRØVEEKSAMEN i INF1000 23. november 2004 kl. 14.00 17.00 Dine svar skal skrives på disse oppgavearkene, og ikke på separate ark. Dette gjelder

Detaljer

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

INF1000: Forelesning 11. Oppgave 2. Oppgave 1. Husk å melde deg på prøveeksamen i INF1000! Ole Christian Lingjærde 7.november 2006 Husk å melde deg på prøveeksamen i INF1000! INF1000: Forelesning 11 Ole Christian Lingjærde 7.november 2006 Frist påmelding: 16. november Arrangementet er torsdag 23. november kl 1420 og omfatter: Oppgaven

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

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier, innlesing fra fil og strenger INF1000, uke5 Ragnhild Kobro Runde MER OM LØKKER Repetisjon fra forrige uke: while Syntaks: while (condition)

Detaljer

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

Fra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et eksempel Klasser

Detaljer

Oblig 4Hybelhus litt mer tips enn i oppgaven

Oblig 4Hybelhus litt mer tips enn i oppgaven Oblig 4Hybelhus litt mer tips enn i oppgaven lørdag 19. okt 2013 Arne Maus Obligatorisk oppgave 4 Gulbrand Grås husleiesystem I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer,

Detaljer

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

Oppgave 1. Oppgave 2. Oppgave 3. Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004 Oppgave 1 Prøveeksamen i INF1000 Ole Christian og Arne 23. november 2004 Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI int i; int k = i; int i, j = 4; int k = j; double[] x = new

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO PRØVEEKSAMEN INF1 - H6 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF1 Grunnkurs i objektorientert programmering Dato: Torsdag 3. november 6 Tid for prøveeksamen

Detaljer

Java-kurs. Andreas Knudsen <andreakn@idi.ntnu.no> Nils Grimsmo <nilsgri@idi.ntnu.no> 9th October 2003

Java-kurs. Andreas Knudsen <andreakn@idi.ntnu.no> Nils Grimsmo <nilsgri@idi.ntnu.no> 9th October 2003 Java-kurs Andreas Knudsen Nils Grimsmo 9th October 2003 1 (Dette blir lagt ut på nett, du trenger ikke ta notater.) 1 Motivasjon For de som ikke går å data:

Detaljer

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2 Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2 11.2 Korteste vei i en graf 11.2.1 Dijkstras metode En graf er et system med noder og kanter mellom noder. Grafen kalles rettet Notasjon Verdien

Detaljer

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

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 8 Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag Fredag 10. desember

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

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

Oblig4 - forklaringer. Arne og Ole Christian

Oblig4 - forklaringer. Arne og Ole Christian Oblig4 - forklaringer Arne og Ole Christian Struktur og alle (?) klassene import easyio.*; import java.util.*; class Oblig4 { public static void main (String[] args) { String s1 = "Stasjoner-1.txt"; String

Detaljer

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 14.

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 14. Forkurs INF1010 Dag 2 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Gard Inge Rosvold (gardir@ifi.uio.no) Institutt for Informatikk, 14. januar 2016 Forkurs INF1010 - dag 2 Feilmeldinger 2 Forkurs INF1010

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Kandidatnummer: Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF1000 Grunnkurs i objektorientert programmering Prøveeksamensdag : Tirsdag 10. november 2015 Tid

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

TDT4102 - Prosedyre- og objektorientert programmering

TDT4102 - Prosedyre- og objektorientert programmering Konteringseksamen i TDT4102 - Prosedyre- og objektorientert programmering Lørdag 8. august 2009 Kontaktperson under eksamen: Hallvard Trætteberg Eksamensoppgaven er utarbeidet av Trond Aalberg Språkform:

Detaljer

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

Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004 Prøveeksamen i INF1000 Ole Christian og Arne 23. november 2004 Oppgave 1 Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI int i; int k = i; int i, j = 4; int k = j; double[] x = new

Detaljer

Leksjon 7. Filer og unntak

Leksjon 7. Filer og unntak 6108 Programmering i Java Leksjon 7 Filer og unntak Del1: 7.1 7.2 Roy M. Istad 2015 Fil permanent lagring Ønsker at program skal kunne ta vare på data over tid, fra en kjøring til den neste (kontra hurtigminnet

Detaljer

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007. Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører

Detaljer

INF1000 Behandling av tekster

INF1000 Behandling av tekster INF1000 Behandling av tekster Marit Nybakken marnybak@ifi.uio.no 23. februar 2004 Tekster Vi kommer nesten aldri utenom å bruke tekststrenger i programmene våre, ikke minst fordi det nesten alltid skal

Detaljer