Velkommen til. INF våren 2016

Størrelse: px
Begynne med side:

Download "Velkommen til. INF våren 2016"

Transkript

1 Velkommen til INF våren 2016 Denne uken (onsdag og torsdag): Om INF1010 Java datastrukturer Klasser med parametre i Java Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 1

2 INF1010 Objektorientert programmering I INF1010 skal du lære: Å løse et (middels stort) problem ved å lage et program Å lage gode (middels store) programmer Vite hva et godt program er Forskjellige måter å lage gode programmer på Objektorientert programmering Ble funnet opp av Ole-Johan Dahl og Kristen Nygaard Det første objektorienterte språket het Simula 2

3 Læreboka Horstmann: Big Java, Late objects 2013 (Java 5, 6, 7) Kap 1 8 er forkunnskapskrav Kap 9 (arv) Kap 10 og 11 (GUI, men med Java FX (Java 8)) Kap 12 (design) Kap 13 ikke alt (rekursjon) Kap 14 (sortering og søking) bare som eksempelstoff Kap 15 og 16 ikke alt (datastrukturer) Kap 17 ikke pensum (INF2220) Kap 18 (klasser med parametre) Kap 19 streams - ikke alt Kap 20 på ne'et (tråder) Foreløpig pensum Gammel lærebok Rett på Java : Se pensum 2015??? 3

4 Objektorientert programmering Ble funnet opp i Oslo for over 50 år siden av Ole- Johan Dahl og Kristen Nygaard. Språket de fant opp: Simula Java, C++, Smalltalk,... bygger på Simula Foreleserene i INF1010 (Stein og Stein Michael) hadde Dahl og Nygaard som lærere Pensum er ikke bare læreboka (Horstmann), men også det som foreleses (lysarkene) og disse inneholder mye av det vi har lært av Dahl og Nygaard Oae en annen rekkefølge/ vinkling enn Horstmann 4

5 Problem Spesifikasjon Program 5

6 Problemene i INF1010 er små Mange av de konseptene vi behandler er vik$gst når programmene blir større Mange programmer i INF1010 er små Konseptene blir introdusert med små, enkle programmer Tenk på de'e når dere lærer noe ny' (vi forelesere skal også minne dere på det) I noen obligatoriske oppgaver prøver vi å løse li' større problemer 6

7 I INF1010 skal du også lære å tenke på hva som skjer inne i datamaskinen når javaprogrammet di' blir udørt å tenke deg hvordan oppgaven som programmet di' skal løse, løses ved hjalp av datastrukturer og algoritmer inne i datamaskinen å tegne datastrukturer for å forstå det selv for å kommunisere om programmet med andre 7

8 INF1010 Forkunnskapskrav Du kan løse små probemer i Java vha. Variable og konstanter Både av basale typer og pekere (referanser) Tilordninger Kontrollstrukturer (valg og løkker) Arrayer (av basale typer og pekere) Metoder (med parametre og returverdier) Klasser Objekter 8

9 Denne uken I dag: Java datastrukturer Les: Litt om datastrukturer i Java av Stein Gjessing Les foilene som ligger på hjemmesiden til kurset (disse) Det meste er repetisjon av INF1000 I morgen: Generiske klasser - dette er nytt Les Enkle generiske klasser i Java av Stein Gjessing Kap 18.1 og 18.2 i Horstmann 9

10 Om å tegne datastrukturer Et program oppre'er en datastruktur som programmets instruksjoner manipulerer Vi må ha et mentalt bilde av de'e Vi må kunne kommunisere de'e $l andre som vi programmerer sammen med Derfor TEGNER vi datastrukturen 10

11 Variable og konstanter (data) En variabel eller en konstant (av en primitiv type eller en peker) består av 3 ting: 1. Et navn 2. En (primitiv) type (eller klassenavn eller array-type) 3. Et innhold En boks med navn og type utenpå, og en verdi inni I programmet: int antall = 3; Når programmet utføres (inne i datamaskinen): type: int 3 navn: antall 11

12 Variable, tilordninger og uttrykk Vi gir variabler verdi ved en tilordningssetning, der likhetstegnet betyr settes lik: <venstreside> = <høyreside> 0. Hvis venstresiden deklarerer en variabel: Opprett denne 1. Regn ut høyresiden (som er et uttrykk) 2. Sett resultatet inn i variabelen på venstresiden type: int int antall = 3; antall = antall + 4; 37 navn: antall Variabelnavnet vil på venstre side av et likhetstegn bety lagerplassen som skal gis ny verdi. På høyre side av likhetstegnet betyr variabelnavnet den verdien som er lagret i boksen med dette navnet (som alltid i et uttrykk). 12

13 I Horstmann kap. 8 (s 366) class Counter { private int value; public void count( ) { value = value + 1; } public int getvalue( ) { return value; } } Counter concertcounter = new Counter( ); Counter boardingcounter = new Counter ( ); concertcounter. count( ); boardingcounter.count( ); int tall = concertcounter.getvalue( ); 13

14 Det samme i INF1010 navn: concertcounter type: Counter navn: value type: int navn: boardingcounter type: Counter navn: value type: int void count( ) value = value + 1; void count( ) value = value + 1; int getvalue( ) return value; int getvalue( ) return value; class Counter { private int value; public void count( ) { value = value + 1; } public int getvalue( ) { return value; } } Counter concertcounter = new Counter( ); Counter boardingcounter = new Counter ( ); concertcounter. count( ); boardingcounter.count( ); int tall = concertcounter.getvalue( ); 14

15 Hva er et objekt? Noe som oppstår inne i datamaskinen når vi sier new Counter(); (hvis vi har deklarert class Counter {... } ) Objekter inneholder Variable og konstanter - DATA av de primitive typene eller pekere som regel skjult for omverdenen (innkapsling) Metoder public (som regel) men også ikke public metoder til bruk inne i objektet Klasser er objektenes mønstre Et objekt av klassen Counter navn: value type: int void count( ) value = value + 1; int getvalue( ) return value;

16 Statiske data og metoder Hvordan tegner vi de statiske egenskapene til en klasse? De finnes jo bare én gang for hver klasse! Svar: Vi tegner dem opp på ett sted i noe vi kaller en klassedatastruktur Eksempel: Klassedatastrukturen til klassen Noe class Noe { public static void main (String [ ] args) {... } static int antall= 0; final static int MAX = 100; int besthittil; int finnbeste ( ) {... return ; } } Type: int Navn: antall Type: int Navn: MAX public static void main (String [ ] args)... 16

17 Java datastrukturer Hva skjer inne i en datamaskin når et Javaprogram blir utført? Masse elektroner farer rundt Umulig å skjønne Vi skal tegne det som foregår inne i datamaskinen når Javaprogrammet vårt blir utført Vi kaller det Java datastrukturtegninger Den som programmerer må ha fullstendig oversikt over det som foregår inne i maskinen (men ikke alt på en gang) Når jeg programmerer ser jeg for meg det som skal foregå inne i maskinen og skriver Java-instruksjoner for å få det til Noen ganger bare tenker jeg meg hvordan Java datastrukturen ser ut, andre ganger tegner jeg den (mer eller mindre fullstending) på papir 17

18 Hvor nøyak$g skal jeg tegne Java Svar: datastrukturer? Så nøyak$g som det er nødvendig for at du selv eller dem du samarbeider med skal skjønne hva som skjer når programmet udøres Du må gjerne tegne det på en annen måte enn slik vi gjør i INF1010, men da er det ikke sikkert vi andre skjønner deg 18

19 Et eksempel Du har en venn som er bruktbilselger, og du skal hjelpe ham med å lage et program for å holde orden på hvor mange som er interessert i de enkelte bilene han har $l salgs. Først lager du et program for to biler, de'e skal du senere utvide... E'er at du har programmert en stund kommer du fram $l programmet på neste side Men har du tenkt rik$g? Hvordan virker de'e programmet? 19

20 Program for salg av biler. public class BilSalg{ static BilSalg salgsobjekt; public static void main (String [ ] args) { salgsobjekt = new BilSalg ( ); } BilSalg ( ) { int antallsteinb; Bil steinst = new Bil ( ); Bil oleso = new Bil ( ) ; steinst.foresporsel ( ); oleso.foresporsel ( ); steinst.foresporsel ( ); antallsteinb = steinst.finnantforesp(); System.out.println("Antall forespørsler på + Steins Toyota er " + antallsteinb); System.out.println("Antall forespørsler totalt + er nå " + Bil.finnTotal( ) ); } //slutt konstruktør } // slutt BilSalg class Bil { static private int total = 0; private int antforesporsler = 0; public static int finntotal ( ) { return total; } public void foresporsel ( ) { antforesporsler ++; total ++; } public int finnantforesp ( ) { return antforesporsler; } } //slutt Bil 20

21 Vi skiller mellom Klasse-deklarasjonen i programteksten. Den er et mønster som brukes både når klassedatastrukturen lages (i det programmet starter opp) og senere når nye objekter lages. Klasse-datastrukturen, dvs. den (statiske) datastrukturen som lages i det programmet starter Objekt-datastrukturen (også bare kalt objekter eller klasse-objekter) som lages hver gang vi sier new. Utrolig Viktig! 21

22 BilSalg klassedatastruktur Navn: salgsobjekt null main Type: BilSalg salgsobjekt = new BilSalg ( ); Bil-objekt navn: antforesporsler 12 type: int 0 void foresporsel( ) Bil klassedatastruktur Navn: total finntotal return total; Type: int BilSalg( ) navn: steinst Type: Bil navn: oleso Type: Bil navn: antallsteinb 2 int int antallsteinb; Bil steinst = new Bil ( ); Bil oleso = new Bil ( ) ; steinst.foresporsel ( ); oleso.foresporsel ( ); steinst.foresporsel ( ); antallsteinb = steinst.finnantforesp(); System.out.println("Antall forespørsler på + Steins Toyota er " + antallsteinb); System.out.println("Antall forespørsler totalt + er nå " + Bil.finnTotal( ) ); BilSalg-objekt antforesporsler ++; total ++; int finnantforesp( ) return (antforesporsler); Antall forespørsler på Steins Toyota er 2 Antall forespørsler totalt er nå 3 Bil-objekt navn: antforesporsler 1 type: int void foresporsel( ) 0 antforesporsler ++; total ++; int finnantforesp( ) return (antforesporsler); 22

23 Mer tegning (bare for å demonstrere variable og objekter) Java datastrukturtegninger m/parametre Filen heter BrukSum.java class Sum { int tall = 11; static int statt = 12; public void skrivt (int tl) { int sum; sum = tall + statt + BrukSum.tall1 + tl; System.out.println("Summen er " + sum); } } // slutt Sum Oversettes og kjøres med >javac BrukSum.java >java BrukSum Oversetteren lager to filer: BrukSum.class og Sum.class Java fikling public class BrukSum { static int tall1 = 16; static int tall2 = 10; int ubrukt = 15; public static void main(string [ ] args) { Sum testpeker; tall1 = 13; testpeker = new Sum( ); testpeker.skrivt(tall2+4); } } // slutt BrukSum 23

24 Java datastruktur-tegning ved kjøring av BrukSum klassedatastruktur BrukSum main navn: args navn: tall type: int navn: tall2 10 type: int type: String[] navn: testpeker type: Sum tall1 = 13; testpeker = new Sum( ); testpeker.skrivt(tall2+4); navn: statt 12 type: int Objekt av klassen Sum skrivt(int tl) navn: tall 11 type: int navn: sum 50 type: int navn: tl 14 type: int Klassedatastruktur Sum int sum; sum = tall + statt + BrukSum.tall1 + tl; System.out.println( Summen er + sum); Summen er 50 24

25 Li' om $lgang $l egenskaper i objekter private betyr at den ikke er kjent utenom klassen public betyr at den sees av alle Ingen modifikator betyr at egenskapen er kjent innenfor filen/katalogen/pakken 25

26 Tes$ng (mer neste torsdag og i INF1050) Alle klasser og metoder testes først separat (enhetstes$ng), så samlet mer om enhetstes$ng neste torsdag Regresstes$ng kjør alle gamle tester + evt. nye hver gang noe endres (ikke bare test det nye med nye tester) Tes$ng kan aldri vise fravær av feil, bare at systemet virker for visse inndata. Bevis av programmer? Særs vanskelig og dyrt Lønner seg bare i helt spesielle $lfeller 26

27 Dokumentasjon, brukeropplæring, innføring Ikke del av de'e kurset, men meget vik$g. Dekkes av andre kurs, bl.a. INF1050 VIKTIG! 27

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

IN våren 2019 Onsdag 16. januar

IN våren 2019 Onsdag 16. januar IN1010 - våren 2019 Onsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel

Detaljer

IN våren 2018 Tirsdag 16. januar

IN våren 2018 Tirsdag 16. januar IN1010 - våren 2018 Tirsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel

Detaljer

Velkommen til. INF våren 2017

Velkommen til. INF våren 2017 Velkommen til INF1010 - våren 2017 Idag: 1. time: Om INF1010 2.time: Om Objekter i Java 1 Stein Gjessing og Stein Michael Storleer Universitetet i Oslo 1 INF1010 Objektorientert programmering I INF1010

Detaljer

Velkommen til. IN1010 Objektorientert programmering Våren 2018

Velkommen til. IN1010 Objektorientert programmering Våren 2018 Velkommen til IN1010 Objektorientert programmering Våren 2018 Idag: 1. time: Om IN1010 2. time (+ i morgen og neste uke): Om Java og objekter i Java 1 Stein Gjessing, Siri Jensen og Dag Langmyhr Universitetet

Detaljer

Velkommen til. INF våren 2012

Velkommen til. INF våren 2012 Velkommen til INF1010 - våren 2012 I dag: Java datastrukturer Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 1 I INF1010 skal du lære Å lage gode programmer Objektorientert programmering

Detaljer

Velkommen til INF våren 2011

Velkommen til INF våren 2011 Velkommen til INF1010 - våren 2011 Stein Gjessing & Stein Michael Storleer Institutt for informatikk Universitetet i Oslo 1 0( I INF1010 skal du lære! Å lage gode programmer! Objektorientert programmering!

Detaljer

IN1010 Objektorientert programmering Våren 2019

IN1010 Objektorientert programmering Våren 2019 IN1010 Objektorientert programmering IN1010 Objektorientert programmering Våren 2019 Stein Gjessing Hva skjer de første to ukene? Forelesninger de to første ukene i dag 1. time: Info om IN1010 i dag 2.

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

2 Om statiske variable/konstanter og statiske metoder.

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

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

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

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, 15. januar 2014 2. time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

INF1010, 15. januar 2014 2. time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo INF1010, 15. januar 2014 2. time Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Repetisjon fra gamle dager: Metoder med parametre En metode uten parameter:

Detaljer

Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo

Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Gaustadbekkdalen, januar 27 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår inne i primærlageret

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

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

INF1000 Eksamensforberedelser og -tips. Høst 2014 Siri Moe Jensen

INF1000 Eksamensforberedelser og -tips. Høst 2014 Siri Moe Jensen INF1000 Eksamensforberedelser og -tips Høst 2014 Siri Moe Jensen Hva skal evalueres? Fra kurssidene Etter å ha tatt INF1000 Overordnet pensum kan du skrive små til middels store programmer oppdelt i klasser.

Detaljer

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

INF1010, 21. januar 2016. Klasser med parametre = Parametriserte klasser = Generiske klasser INF1010, 21. januar 2016 Klasser med parametre = Parametriserte klasser = Generiske klasser Stein Gjessing Inst. for Informatikk Universitetet i Oslo Først litt repetisjon fra i går class LagBiler { public

Detaljer

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon Kort om meg INF1000 Uke 2 Variable, enkle datatyper og tilordning Fredrik Sørensen Kontor: Rom 4311-NR, Informatikkbygget Brukernavn/e-post: fredrso@ifi.uio.no Utdanning: Dataingeniør, 2000 Cand.Scient,

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

Forelesning inf Java 4

Forelesning inf Java 4 Forelesning inf1000 - Java 4 Tema: Løkker Arrayer Metoder Ole Christian Lingjærde, 12. september 2012 Ole Chr. Lingjærde Institutt for informatikk, 29. august 2012 1 Repetisjon: arrayer Deklarere og opprette

Detaljer

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

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4 Forelesning inf - Java 4 Repetisjon: arrayer Tema: Løkker Arrayer Metoder Ole Christian Lingjærde,. september Deklarere og opprette array - eksempler: int[] a = new int[]; String[] a = new String[]; I

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

INF 1000 høsten 2011 Uke september

INF 1000 høsten 2011 Uke september INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus 1 INF1000 undervisningen Forelesningene: Første

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

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

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

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

INF1000 undervisningen INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første

Detaljer

INF1000 : Forelesning 4

INF1000 : Forelesning 4 INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet

Detaljer

INF1010 - Objektorientert programmering. Datastrukturer i Java Klasser med parametre

INF1010 - Objektorientert programmering. Datastrukturer i Java Klasser med parametre INF1010 - Objektorientert programmering Datastrukturer i Java Klasser med parametre INF1010 våren 2015 Stein Gjessing (steing) Stein Michael Storleer (michael) 36 hjelpelærere Andreas Færøvig Olsen (andrefol)

Detaljer

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

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4 Repetisjon: nesting av løkker Kort repetisjon av doble (nestede) løkker Mer om D-arrayer Introduksjon til D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk

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

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

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

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr IN1010 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 par eksempler

Detaljer

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

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

Detaljer

Dagens tema Kapittel 8: Objekter og klasser

Dagens tema Kapittel 8: Objekter og klasser Dagens tema Kapittel 8: Objekter og klasser Hva er objekter og klasser? Programmering med objekter Klassedeklarasjoner Generering av objekter Tilgang til elementer i objektene Objekt- og klassevariable

Detaljer

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier 11. okt. 2011 Siri Moe Jensen Inst. for informatikk, UiO 1 Innhold Eksamen INF1000 Høst 2011: Oppgave 4-7 Tekstmanipulering Metoder med og uten

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

INF1010 våren januar. Objektorientering i Java

INF1010 våren januar. Objektorientering i Java INF1010 våren 2017 25. januar Objektorientering i Java Om enhetstesting (Repetisjon av INF1000 og lær deg Java for INF1001 og INF1100) Stein Gjessing Hva er objektorientert programmering? F.eks: En sort

Detaljer

INF Objektorientert programmering. Datastrukturer i Java Klasser med parametre

INF Objektorientert programmering. Datastrukturer i Java Klasser med parametre INF1010 - Objektorientert programmering Datastrukturer i Java Klasser med parametre INF1010 våren 2015 Stein Gjessing (steing) Stein Michael Storleer (michael) 36 hjelpelærere Andreas Færøvig Olsen (andrefol)

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

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

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr IN1010 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 par eksempler

Detaljer

(MVC - Model, View, Control)

(MVC - Model, View, Control) INF1010 - våren 2008 Modell - Utsyn - Kontroll (MVC - Model, View, Control) Stein Gjessing Inst. for informatikk Et bankprogram Vi skal lage et program som håndterer kontoene i en bank. En konto eies av

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

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

INF januar 2015 Stein Michael Storleer (michael) Lenkelister

INF januar 2015 Stein Michael Storleer (michael) Lenkelister INF1010 29. januar 2015 Stein Michael Storleer (michael) Lenkelister Lenke + lister = lenkelister Vi starter med lenkeobjektene Lager en kjede av objekter ved hjelp av pekere class { ; Legger Jl data innholdet

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

INF1000: noen avsluttende ord

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

Detaljer

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

INF1010 våren 2008 Uke 4, 22. januar Arv og subklasser Emneoversikt subklasser INF1010 våren 2008 Uke 4, 22. januar Arv og subklasser Stein Gjessing Institutt for informatikk Mange flere eksempler på fellesøvelsene og neste forelesning 1 Generalisering - spesialisering

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

IN1010 våren januar. Objektorientering i Java

IN1010 våren januar. Objektorientering i Java IN1010 våren 2018 23. januar Objektorientering i Java Om enhetstesting Om arrayer og noen klasser som kan ta vare på objekter Stein Gjessing Hva er objektorientert programmering? F.eks: En sort boks som

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

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

Innhold. INF1000 Høst Hva skal evalueres? Fra kurssidene. Hvorfor har vi en lærebok? Uke 11: Repetisjon og pensumgjennomgang

Innhold. INF1000 Høst Hva skal evalueres? Fra kurssidene. Hvorfor har vi en lærebok? Uke 11: Repetisjon og pensumgjennomgang Innhold INF1000 Høst 2015 Uke 11: Repetisjon og pensumgjennomgang 1. time: Guidet tur gjennom læreboken (og pensum): Sentrale konsepter og mekanismer i Java 2. time: Hva trenger vi utover å lese pensum?

Detaljer

Forelesning inf Java 5

Forelesning inf Java 5 Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen

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

Forelesning inf Java 5

Forelesning inf Java 5 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen til et Java-program

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

Innhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49

Innhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49 Innhold Forord...5 1 Det første programmet...15 1.1 Å kommunisere med en datamaskin 16 1.2 Programmeringsspråk 17 1.3 Et program som skriver på skjermen 18 1.4 Kompilering og kjøring 19 1.5 Kommentarer

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

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

Oversikt. Hva er programmering & Java forkurset til INF1000. Hva er en datamaskin. Arne Maus Inst for Informatikk Univ. i Oslo

Oversikt. Hva er programmering & Java forkurset til INF1000. Hva er en datamaskin. Arne Maus Inst for Informatikk Univ. i Oslo Oversikt Hva er programmering & Java forkurset til INF1000 Arne Maus Inst for Informatikk Univ i Oslo I) Hva er en datamaskin Hvordan får vi den til å gjøre det vi vil Et program er en oppskrift til maskinen

Detaljer

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

Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet

Detaljer

INF1010, 21. februar Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

INF1010, 21. februar Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo INF1010, 21. februar 2013 Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Ikke noe nytt her From the Java language specification (version 6): 14.14.2

Detaljer

Versjon (vil bli endret).

Versjon (vil bli endret). Versjon 24.01.2012 (vil bli endret). Dette dokumentet bør leses før forelesningen 26. januar 2012 og er en del av «pensum». De er også laget med tanke på repetisjon. (Lysarkene som blir brukt egner seg

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

Hva er en metode. Hva skjer når vi kaller en metode

Hva er en metode. Hva skjer når vi kaller en metode Hva er en metode Uke 9 - Repetisjon av metoder, klasser og objekter Innkapsling: private og public Statisk programmering vs. programmering med objeker 18 okt. 2005, Arild Waaler Inst. for informatikk,

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

Forelesning inf Java 1

Forelesning inf Java 1 Forelesning inf1000 - Java 1 Tema: Javas historie Bestanddelene i et Java-program Programvariabler Ole Christian Lingjærde, 22. august 2012 Litt Java-historikk The Green Team I 1991 opprettet Sun Microsystems

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

Stein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk

Stein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk INF1010 11. mai 2017 Monitorer med kritiske regioner og passive venting innbygget i Java - Kommunikasjon mellom prosesser i Java (Ikke pensum i INF1010) Stein Gjessing Universitetet i Oslo 1 Repetisjon:

Detaljer

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER .9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,

Detaljer

To måter å programmere på. Java 12. Programmering med objekter. Statisk programmering

To måter å programmere på. Java 12. Programmering med objekter. Statisk programmering INF 101-10. mars 2003 Mer om klasser og objekter Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 12 To måter å programmere på Statisk programmering:

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

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

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

INF Obligatorisk innlevering 5

INF Obligatorisk innlevering 5 INF1000 - Obligatorisk innlevering 5 Frist: 2. Oktober kl 22:00 Temaer denne uka: Klasser og objekter. I denne obligen skal du som nytt tema jobbe med klasser og objekter, i tillegg til å bruke det du

Detaljer

INF Oblig 2 semantikksjekk og kodegenerering

INF Oblig 2 semantikksjekk og kodegenerering INF5110 - Oblig 2 semantikksjekk og kodegenerering Magnus Haugom Christensen Instituttet for Informatikk Universitetet i Oslo 27. Mars - 2012 Oversikt Informasjon Oppgaven Semantikksjekk Kodegenerering

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

INF1010 UML. Marit Nybakken 26. januar 2004

INF1010 UML. Marit Nybakken 26. januar 2004 INF1010 UML Marit Nybakken marnybak@ifi.uio.no 26. januar 2004 Liten tolkning av UML-kapittelet i læreboka. 1 UML-diagrammer Det finnes mange forskjellige typer UML-diagrammer for å dokumentere og planlegge

Detaljer

Oversikt. Uke 2, INF 1000, 30 aug Variable, tilordninger og uttrykk. Repetisjon: Java programmering

Oversikt. Uke 2, INF 1000, 30 aug Variable, tilordninger og uttrykk. Repetisjon: Java programmering Oversikt Uke 2, INF 1000, 30 aug. 2005 - Variable, tilordninger og uttrykk. Institutt for Informatikk Universitet i Oslo Arne Maus 1 Litt repetisjon Hva er en variabel i et program Deklarasjoner og variabeltyper

Detaljer

Ark 1 av 18. programmeringsspråkenes. Velkommen til IN 211. verden. IN 211 Programmeringsspråk

Ark 1 av 18. programmeringsspråkenes. Velkommen til IN 211. verden. IN 211 Programmeringsspråk Ark 1 av 18 IN 211 Programmeringsspråk Velkommen til programmeringsspråkenes verden IN 211 Forelesning 20.8.2001 Foreleser Ragnhild Kobro Runde E-post: ragnhilk@ifi.uio.no Kontor: 3345 Treffetid: torsdager

Detaljer

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

INF1000 (Uke 5) Mer om løkker, arrayer og metoder INF1000 (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Praktisk informasjon Når disse

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 oppgaver til uke 38 (17 sep 23 sep)

INF1000 oppgaver til uke 38 (17 sep 23 sep) INF1000 oppgaver til uke 38 (17 sep 23 sep) Formål: Øve på programmering med forgreninger, løkker og arrayer. Teoritimer (plenumsøvinger): 1. Oppgave 4 og 6 i kapittel 4 i læreboka. 2. En blokk er en samling

Detaljer

Oversikt. Informatikk. INF1000: Grunnkurs i objektorientert programmering. Utenom INF1000 Informasjon & hjelp

Oversikt. Informatikk. INF1000: Grunnkurs i objektorientert programmering. Utenom INF1000 Informasjon & hjelp INF1000: Grunnkurs i objektorientert programmering Uke 0, høst 2014 Oversikt Informatikk - hva & hvorfor? Datasystemer, maskinvare, programmer Objektorientert programmering i INF1000 Programmeringsspråket

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

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

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

MAT-INF 1100: Obligatorisk oppgave 1

MAT-INF 1100: Obligatorisk oppgave 1 8. september, 2005 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 23/9-2005, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels

Detaljer

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

for (int i=0; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j); System.out.println(); Repetisjon: nesting av løkker Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk

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

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

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

MAT-INF 1100: Obligatorisk oppgave 1

MAT-INF 1100: Obligatorisk oppgave 1 3. september, 2004 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 17/9-2004, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels

Detaljer

OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK

OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK INF1000: Forelesning 6 Klasser og objekter del 1 OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK Motivasjon Anta at vi ønsker å lage et studentregister hvor vi for hver student lagrer, bruker og telefonnummer Med

Detaljer

Forelesning inf Java 1

Forelesning inf Java 1 Forelesning inf1000 - Java 1 Tema: Javas historie Bestanddelene i et Java-program Programvariabler Ole Christian Lingjærde, 22. august 2013 Ole Chr. Lingjærde Institutt for informatikk 22. august 2013

Detaljer