Forelesning inf Java 5

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "Forelesning inf Java 5"

Transkript

1 Forelesning inf 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

2 Strukturen til et Java-program Java-programmer består av en eller flere klasser (+ importsetninger) Klassene kan inneholde: Variabler Metoder Metodene kan inneholde: Variabler Programinstruksjoner Ole Chr. Lingjærde Institutt for informatikk, 26. september

3 Fra klasse til objekter gr class Gruppe static-variable static-metoder Gruppe gr = new Gruppe(); static-variable static-metoder objekt-variable objekt-metoder Ved å bruke new kan vi lage vilkårlig mange "kopier" (eller "instanser") av en klasse, hver med sitt eget sett av objekt-variable og metoder som bare "ser" objektets egne variable. Ole Chr. Lingjærde Institutt for informatikk, 26. september

4 Hvorfor bruke metoder? (Det fungerer jo fint uten...) Ole Chr. Lingjærde Institutt for informatikk, 26. september

5 Mer lettlest kode svar = beregnx(); svar2 = beregny(); int beregnx() { double beregny() { Bruk av metoder gjør at programmet blir delt opp i mindre kodebiter som kan forstås hver for seg. Ole Chr. Lingjærde Institutt for informatikk, 26. september

6 Gjenbruk av kode svar = beregnx(); svar2 = beregnx(); svar3 = beregnx(); int beregnx() { I stedet for å ha samme kodebit liggende mange steder, samler vi den i en metode og kaller på denne ved behov Ole Chr. Lingjærde Institutt for informatikk, 26. september

7 Lettere å endre programmet senere int beregnx() { Når en kodebit ligger mange steder, er det mye jobb å endre den senere. Med metoder blir vedlikehold enklere. Ole Chr. Lingjærde Institutt for informatikk, 26. september

8 Hvordan får vi brukt en metode? (dvs hvordan "kaller vi på den") Ole Chr. Lingjærde Institutt for informatikk, 26. september

9 Hvordan kalle på en metode Tenk deg at vi vil kalle på metoden beregnx() Det sentrale spørsmålet er hvor kallet på metoden skjer fra. Hvis kallet gjøres inne i samme objekt: beregnx() Eller this.beregnx() Hvis kallet gjøres fra et annet sted: p.beregnx(); Og da må vi først ha laget et objekt av klassen og sørget for at p peker på objektet Ole Chr. Lingjærde Institutt for informatikk, 26. september

10 Metodekall En metode kan kreve input og den kan returnere en verdi, men ingen av delene er nødvendig. I enkleste tilfelle er det ingen input og ingen output. Når vi benytter en metode sier vi at vi kaller på metoden. Kall på metode uten input (=parametre) - eksempel: minmetode(); Kall på metode med input (=parametre) - eksempel: minmetode(34.2, 53, 6); Kall på metode som returnerer en verdi - eksempel: int alder = minmetode(25.3, 52); Ole Chr. Lingjærde Institutt for informatikk, 12. september

11 Metodedeklarasjoner En metode er en navngitt blokk med instruksjoner som vi kan få utført hvor som helst i et program ved å angi metodens navn. Vi definerer (deklarerer) metoder etter følgende mønster: mer om denne senere beskrivelse av hva slags output metoden gir, f.eks. void, int, double, char,... modifikatorer returverditype minmetode (parametre) { instruksjon 1; instruksjon 2;... instruksjon n; et navn som vi velger beskrivelse av hva slags input metoden skal ha - gis i form av variabel-deklarasjoner separert av komma Ole Chr. Lingjærde Institutt for informatikk, 12. september

12 Plassering i programmet Vi plasserer metodene i en egen klasse (eller flere klasser): Filen MittProgram.java : class MittProgram { public static void main(string[] args) { Hjelpeklasse hj = new Hjelpeklasse(); hj.minmetode(); class Hjelpeklasse { void minmetode() {... innholdet i metoden... Ole Chr. Lingjærde Institutt for informatikk, 12. september

13 Metode uten parametre/returverdi Følgende metode skriver ut fire linjer på skjermen: void skrivstjerner () { String s = "****"; System.out.println(s); System.out.println(s+s); System.out.println(s+s+s); System.out.println(s+s+s+s); Forklaring: void forteller at metoden ikke gir noe output. skrivstjerner er det navnet vi har valgt å gi metoden Ole Chr. Lingjærde Institutt for informatikk, 12. september

14 Eksempel på bruk class Stjerner { public static void main (String[] args) { Hjelpeklasse hj = new Hjelpeklasse(); hj.skrivstjerner(); class Hjelpeklasse { void skrivstjerner() { String s = "****"; System.out.println(s); System.out.println(s+s); System.out.println(s+s+s); System.out.println(s+s+s+s); Ole Chr. Lingjærde Institutt for informatikk, 12. september

15 Kompilering og kjøring > javac Stjerner.java > java Stjerner **** ******** ************ **************** Ole Chr. Lingjærde Institutt for informatikk, 12. september

16 Metode med returverdi Følgende metode leser et positivt desimaltall fra terminal og returnerer det: double lespositivttall() { In tastatur = new In(); double x; do { System.out.println("Gi et positivt tall: "); x = tastatur.indouble(); while (x <= 0); return x; Forklaring: return x betyr at metoden slutter å eksekvere og at verdien til variabelen x returneres til kallstedet. Ole Chr. Lingjærde Institutt for informatikk, 12. september

17 Eksempel på bruk import easyio.*; class LesPositivtTall { public static void main (String[] args) { Hjelpeklasse hj = new Hjelpeklasse(); double tall = hj.lespositivttall(); System.out.println("Tallet var " + tall); class Hjelpeklasse { double lespositivttall () { In tastatur = new In(); double x; do { System.out.print("Gi et positivt tall: "); x = tastatur.indouble(); while (x <= 0); return x; Test programmet Ole Chr. Lingjærde Institutt for informatikk, 12. september

18 Todimensjonale arrayer int[][] tabell = new int[10][50] tabell Ole Chr. Lingjærde Institutt for informatikk, 12. september

19 Oppgave: Fyll en array med samme verdi int[][] a Ole Chr. Lingjærde Institutt for informatikk, 12. september

20 Løsning class FillArray { public static void main(string[] args) { int[][] a = new int[4][5]; for (int i=0; i<4; i++) { for (int j=0; j<5; j++) { a[i][j] = 2; Ole Chr. Lingjærde Institutt for informatikk, 12. september

21 Oppgave: Fyll diagonalen med verdier int[][] a Ole Chr. Lingjærde Institutt for informatikk, 12. september

22 Løsning 1 class FillDiagonal { public static void main(string[] args) { int[][] a = new int[4][4]; for (int i=0; i<4; i++) { for (int j=0; j<4; j++) { if (i == j) a[i][j] = 1; Ole Chr. Lingjærde Institutt for informatikk, 12. september

23 Løsning 2 class FillDiagonal2 { public static void main(string[] args) { int[][] a = new int[4][4]; for (int i=0; i<4; i++) { a[i][i] = 1; Ole Chr. Lingjærde Institutt for informatikk, 12. september

24 Oppgave: bytte rader og kolonner int[][] a int[][] b Ole Chr. Lingjærde Institutt for informatikk, 12. september

25 Innsikt b[0][1] a[1][0] Ole Chr. Lingjærde Institutt for informatikk, 12. september

26 Innsikt a[1][1] b[1][1] Ole Chr. Lingjærde Institutt for informatikk, 12. september

27 Innsikt a[1][2] b[2][1] Ole Chr. Lingjærde Institutt for informatikk, 12. september

28 Innsikt a[1][3] b[3][1] Ole Chr. Lingjærde Institutt for informatikk, 12. september

29 Løsning class Transponer { public static void main(string[] args) { int[][] a = new int[4][4]; int[][] b = new int[4][4]; <Fyll opp a med verdier>; for (int i=0; i<4; i++) { for (int j=0; j<4; j++) { b[i][j] = a[j][i]; Ole Chr. Lingjærde Institutt for informatikk, 12. september

30 class Image { public static void main (String[] args) { int[][] a = new int[21][21]; a[0][10] = 1; for (int i=1; i<21; i++) { for (int j=1; j<20; j++) { if (a[i-1][j-1] > 0) a[i][j] = 1; System.out.println(); for (int i=0; i<21; i++) { for (int j=0; j<21; j++) { if (a[i][j] > 0) System.out.print("o"); else System.out.print(" "); System.out.println(); Ole Chr. Lingjærde Institutt for informatikk, 12. september

31 Ole Chr. Lingjærde Institutt for informatikk, 12. september

32 a[0][10] = 1; 20 Ole Chr. Lingjærde Institutt for informatikk, 12. september

33 for (int i=1; i<20; i++) { for (int j=1; j<20; j++) { if (a[i-1][j-1] > 0) a[i][j] = 1; 20 Ole Chr. Lingjærde Institutt for informatikk, 12. september

34 for (int i=1; i<20; i++) { for (int j=1; j<20; j++) { if (a[i-1][j-1] > 0) a[i][j] = 1; 20 Ole Chr. Lingjærde Institutt for informatikk, 12. september

35 for (int i=1; i<20; i++) { for (int j=1; j<20; j++) { if (a[i-1][j-1] > 0) a[i][j] = 1; 20 Ole Chr. Lingjærde Institutt for informatikk, 12. september

36 Ole Chr. Lingjærde Institutt for informatikk, 12. september

37 class Image2 { public static void main (String[] args) { int[][] a = new int[21][21]; a[0][10] = 1; for (int i=1; i<21; i++) { for (int j=1; j<20; j++) { if (a[i-1][j-1] > 0) a[i][j] = 1; if (a[i-1][j+1] > 0) a[i][j] = 1; System.out.println(); for (int i=0; i<21; i++) { for (int j=0; j<21; j++) { if (a[i][j] > 0) System.out.print("o"); else System.out.print(" "); System.out.println(); Ole Chr. Lingjærde Institutt for informatikk, 12. september

38 Ole Chr. Lingjærde Institutt for informatikk, 12. september

39 class Image3 { public static void main (String[] args) { int[][] a = new int[21][21]; a[0][10] = 1; for (int i=1; i<21; i++) { for (int j=1; j<20; j++) { if (a[i-1][j-1] > 0) a[i][j] = 1; if (a[i-1][j+1] > 0) a[i][j] = 1; if (a[i-1][j-1] > 0 && a[i-1][j+1] > 0){ a[i][j] = 0; System.out.println(); for (int i=0; i<21; i++) { for (int j=0; j<21; j++) { if (a[i][j] > 0) System.out.print("o"); else System.out.print(" "); System.out.println(); Ole Chr. Lingjærde Institutt for informatikk, 12. september

40 Ole Chr. Lingjærde Institutt for informatikk, 12. september

41 Tekster og klassen String En tekststreng er en sekvens av tegn (null, en eller flere), f.eks. & Kaia er student Hver tekststreng vi lager er et objekt av typen String En String-variabel (f.eks. String s) er en referanse til et slikt objekt Resultatet av å utføre String s = kake : kake s For å finne lengden (dvs antall tegn i) en tekst: int lengde = s.length(); Ole Chr. Lingjærde Institutt for informatikk, 26. september

42 Bruk av spesialtegn Både i char-uttrykk og String-uttrykk kan vi ha mange ulike typer tegn Alle Unicode-tegn er tillatt Unicode er en standard som tillater tusenvis av tegn (ulike varianter fins; den som støttes av Java tillater ulike tegn) Alle tegnene kan angis som \uxxxx hvor hver x er en av 0, 1, 2,..., 9, A, B, C, D, E, F Eksempel: \u0041 er tegnet A Noen spesialtegn har egen forkortelse: \t tabulator \n linjeskift \ dobbelt anførselstegn \ enkelt anførselstegn \\ backslash Ole Chr. Lingjærde Institutt for informatikk, 26. september

43 Unicode ( Ole Chr. Lingjærde Institutt for informatikk, 26. september

44 Andre eksempler på Unicode-tegn Tibetanske tegn Musikksymboler Ole Chr. Lingjærde Institutt for informatikk, 26. september

45 Teste om to tekster er like For å teste om to tekststrenger er like, brukes equals: // Anta at s og t er tekstvariable (og at s ikke har verdien null) if (s.equals(t)) { System.out.println("Tekstene er like"); else { System.out.println("Teksten er forskjellige"); Bruk av == virker av og til, men ikke alltid: String s = "abc"; String t = "def"; String tekst1 = s + t; String tekst2 = s + t; Nå er tekst1.equals(tekst2) true, mens tekst1 == tekst2 er false. Ole Chr. Lingjærde Institutt for informatikk, 26. september

46 De enkelte tegnene i en tekststreng Tegnene i en tekststreng har posisjoner indeksert fra 0 og oppover k a k e Vi kan få tak i tegnet i en bestemt posisjon: String s = kake ; char c = s.charat(1); // Nå er c == a Vi kan erstatte alle forekomster av et tegn med et annet tegn: String s1 = kake ; String s2 = s1.replace( k, r ); // Nå er s2 en referanse til tekststrengen rare Ole Chr. Lingjærde Institutt for informatikk, 26. september

47 Deler av en tekststreng Vi kan trekke ut en del av en tekststreng: String s = Paris ; String s1 = s.substring(1,4); // Nå er s1 tekststrengen ari P a r i s Generelt: s.substring(1,4) s.substring(index1, index2) Første posisjon som skal være med Første posisjon som ikke skal være med Siste del av en tekststreng: String s = Paris er hovedstaden i Frankrike ; String s1 = s.substring(6); // Nå er s1 tekststrengen er hovedstaden i Frankrike Ole Chr. Lingjærde Institutt for informatikk, 26. september

48 Konvertere mellom små og store bokstaver Vi kan konvertere fra små til store bokstaver: String s = Jeg ER 18 år ; String s2 = s.touppercase(); // Nå er s2 tekststrengen JEG ER 18 ÅR Vi kan konvertere fra store til små bokstaver: String s = Jeg ER 18 år ; String s2 = s.tolowercase(); // Nå er s2 tekststrengen jeg er 18 år Det finnes tilsvarende metoder for å konvertere char-verdier: char c = x ; char c2 = Character.toUpperCase(c); char c3 = Character.toLowerCase(c); NB: merk skrivemåten! Ole Chr. Lingjærde Institutt for informatikk, 26. september

49 Alfabetisk ordning Anta at s og t er tekstvariable (og at s ikke har verdien null) Er s foran t i alfabetet? int k = s.compareto(t); if (k < 0) { System.out.println("s er alfabetisk foran t"); else if (k == 0) { System.out.println("s og t er like"); else { System.out.println("s er alfabetisk bak t"); Ole Chr. Lingjærde Institutt for informatikk, 26. september

50 Inneholder en tekst en annen? Anta at s og t er tekstvariable (og at s ikke har verdien null) Inneholder s teksten t? int k = s.indexof(t); if (k < 0) { System.out.println("s inneholder ikke t"); else { System.out.println("s inneholder t"); System.out.println("Posisjon i s: " + k); Ole Chr. Lingjærde Institutt for informatikk, 26. september

51 Starter en tekst med en annen? Anta at s og t er tekstvariable (og at s ikke har verdien null) Starter s med teksten t? boolean b = s.startswith(t); if (b) { System.out.println("s starter med t"); else { System.out.println("s starter ikke med t"); Ole Chr. Lingjærde Institutt for informatikk, 26. september

52 Slutter en tekst med en annen? Anta at s og t er tekstvariable (og at s ikke har verdien null) Slutter s med teksten t? boolean b = s.endswith(t); if (b) { System.out.println("s ender med t"); else { System.out.println("s ender ikke med t"); Ole Chr. Lingjærde Institutt for informatikk, 26. september

53 Fra tall til tekst og omvendt For å konvertere fra tall til tekst: String s1 = String.valueOf(3.14); String s2 = String.valueOf('a'); String s3 = String.valueOf(false); String s4 = "" String s5 = "" + 'a'; String s6 = "" + false; For å konvertere fra tekst til tall: int k = Integer.parseInt(s); double x = Double.parseDouble(s); (og tilsvarende for de andre numeriske datatypene) Ole Chr. Lingjærde Institutt for informatikk, 26. september

54 Oppgave Metode som returnerer summen av alle verdiene i arrayen x: double beregnsum (double[] x) { Ole Chr. Lingjærde Institutt for informatikk, 26. september

55 Løsningsforslag Metode som returnerer summen av alle verdiene i arrayen x: double beregnsum (double[] x) { double sum = 0; for (int i=0; i<x.length; i++) { sum += x[i]; return sum ; Ole Chr. Lingjærde Institutt for informatikk, 26. september

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

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder: Lese fra fil Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo INF1000 : Forelesning 5 Vi må først importere pakken easyio Vi åpner

Detaljer

Forelesningsquiz. Forelesning inf1000 - Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min.

Forelesningsquiz. Forelesning inf1000 - Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min. Forelesning inf1000 - Java 5 Forelesningsquiz Tema: En liten quiz (se utdelt ark) Filbehandling Tekster Ole Christian Lingjærde, 19. september 2012 Sett dere to (eller tre) sammen og besvar de fire spørsmålene

Detaljer

Ta inn og ut av 2D-array. Java 6. Liste over ulike verdier i 2D-array. Det ferdige programmet. Vi skal lage et program som illustrerer hvordan man

Ta inn og ut av 2D-array. Java 6. Liste over ulike verdier i 2D-array. Det ferdige programmet. Vi skal lage et program som illustrerer hvordan man Eksempel med to-dimensjonal array Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 6 Vi skal lage et program som illustrerer

Detaljer

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

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster 3 emner i dag! INF1000 Uke 5 Litt om objekter, pekere og null Filer og easyio Litt mer om tekster Litt om objekter, filer med easyio, tekst 1 2 Objekter og pekere Vi lager pekere og objekter når vi bruker

Detaljer

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster Oversikt INF1000 Uke 6 Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster Litt om objekter, filer med easyio, tekst Arne Maus 1 2 Objekter, pekere og null Vi lager pekere og objekter

Detaljer

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

22.02.2009. Spørsmål fra forrige forelesning. INF1000 Forelesning 7. Oppførselen til inword()/inint()/etc. Operator-presedens i Java Spørsmål fra forrige forelesning INF1000 Forelesning 7 Operator-presedens i Java? Hvordan virker metodene inword()/inint()/etc. i In-klassen i easyio når vi skriver inn flere verdier på tastaturet? Litt

Detaljer

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

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 4 1 Tre måter å lese fra terminal Først:

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

Eksempel: Body Mass Index (BMI) Forelesning inf1000 - Java 3. Ferdig program (første del) Ferdig program (siste del)

Eksempel: Body Mass Index (BMI) Forelesning inf1000 - Java 3. Ferdig program (første del) Ferdig program (siste del) Forelesning inf1000 - Java 3 Eksempel: Body Mass Index (BMI) Tema: Mer om forgreninger Løkker Arrayer Litt om easyio Ole Christian Lingjærde, 5. september 2012 Ole Chr. Lingjærde Institutt for informatikk,

Detaljer

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger I dag INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Litt repetisjon Mer om uttrykk Lesing og skriving til terminal Forgreninger

Detaljer

Innlesning fra tastatur med easyio. INF1000 høst 2010. Vi må først skrive i toppen av programmet: import easyio.*;

Innlesning fra tastatur med easyio. INF1000 høst 2010. Vi må først skrive i toppen av programmet: import easyio.*; Innlesning fra tastatur med easyio INF1000 høst 2010 Forelesning 2: Innlesning fra terminal Boolean-variable if-setninger Løkker Litt mer om heltall: divisjon og modulo Vi må først skrive i toppen av programmet:

Detaljer

INF1000 Uke 4. Innlesning fra terminal. Uttrykk og presedens. Oversikt

INF1000 Uke 4. Innlesning fra terminal. Uttrykk og presedens. Oversikt Oversikt INF1000 Uke 4 Forgreininger, løkker og arrayer Litt repetisjon Blokker og forgreininger if-setninger if-else-setninger switch-setninger Løkker while-løkker do-while-løkker for-løkker Arrayer Opprette,

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

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

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

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

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

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

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve Repetisjon fra forrige uke: while Syntaks: while (condition) do1; do2;... Eksempel:

Detaljer

Oversikt. INF1000 Uke 3. Repetisjon Program. Repetisjon Program. Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner

Oversikt. INF1000 Uke 3. Repetisjon Program. Repetisjon Program. Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner Oversikt INF1000 Uke 3 Innlesing fra terminal, formatert utskrift og forgreininger Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner Innlesing Formatert utskrift Repetisjon

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

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

Java. INF1000 : Forelesning 2. Ulike varianter for ulike behov. Java Standard Edition (Java SE) Java:

Java. INF1000 : Forelesning 2. Ulike varianter for ulike behov. Java Standard Edition (Java SE) Java: Variable og tilordninger Heltall, desimaltall og sannhetsverdier Kompilering og kjøring Utskrift på skjerm Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo

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 Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk Side 1 av 20 Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk Bokmål Eksamen i emnet INF100 Grunnkurs i programmering Torsdag 27. november 2014 Tid: 09:00 14:00

Detaljer

Objekter. Uke 8 - Objekter, klasser og pekere. Verden består av mange objekter, noen ganske like, noen ulike. Klasser og objekter i verden

Objekter. Uke 8 - Objekter, klasser og pekere. Verden består av mange objekter, noen ganske like, noen ulike. Klasser og objekter i verden Objekter Uke 8 - Objekter, klasser og pekere Hvorfor deler vi verden inn i enheter når vi snakker om den? En blomst, fjorten trær, ti mennesker, en bil, en vei, mange murstein, en bankkonti,... Svar :

Detaljer

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Dagens tema Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet

Detaljer

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

Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013 Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013 Oppgave 1) Her var det en manglende høyreparentes i 1 b) slik at de som svarer virker ikke eller lignende istedenfor det riktige svaret, skal

Detaljer

Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) HashMap, innstikksortering, javadoc (kap. 9.1-9.11, m.m. i "Rett på Java" 3. utg.) NB! Legg merke til at disse er løsningsforslag. Løsningene

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

Bruk av class Scanner, FileWriter og Formatter som alternativ til EasyIO i INF1000.

Bruk av class Scanner, FileWriter og Formatter som alternativ til EasyIO i INF1000. Arne Maus, ver.2.2, august, 2013 Bruk av class, FileWriter og Formatter som alternativ til EasyIO i INF1000. Noen ønsker å bruke noen av de klassene vi finner i pakken java.util og java.io isteden for

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

Repetisjon. INF1000 - gruppe 13

Repetisjon. INF1000 - gruppe 13 Repetisjon INF1000 - gruppe 13 Lese fra fil Scanner import java.util.*; void lesfrafil() { try { Scanner innfil = new Scanner(new File( fugleobservasjoner.txt )); while (innfil.hasnext()) { String linje

Detaljer

Generelt om oblig 3. Oppgaveteksten kort sammendrag. Deloppgaver/menyvalg 15/03/2010. INF1000 Forelesning 9

Generelt om oblig 3. Oppgaveteksten kort sammendrag. Deloppgaver/menyvalg 15/03/2010. INF1000 Forelesning 9 Generelt om oblig 3 INF1000 Forelesning 9 15. mars 2010 Tips til oblig 3, separatorer i easyio, Eliza (bruk av HashMap), mer om metoder og klasser Christian M. Hansen Institutt for informatikk, UiO Les

Detaljer

Grunnkurs i objektorientert programmering Hjelpehefte for studenter som tar INF101,

Grunnkurs i objektorientert programmering Hjelpehefte for studenter som tar INF101, Grunnkurs i objektorientert programmering Hjelpehefte for studenter som tar INF101, Institutt for informatikk, Universitetet i Oslo Oslo, 15. august 2001 2 Innhold Forord... 5 Kapittel 1 - Hva er programmering?...

Detaljer

Kapittel 5: Objektkommunikasjon

Kapittel 5: Objektkommunikasjon Kapittel 5: Objektkommunikasjon 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

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

In105 Programmering i Java de første skritt

In105 Programmering i Java de første skritt In105 Programmering i Java de første skritt IN105-javabasics-1 class Velkommen { Velkommen.java public static void main ( String [] args ) { new Velkommen ( ); Velkommen ( ) { System.out.println ( "Velkommen

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksempel på eksamen i : INF1000 Grunnkurs i objektorientert programmering Gjennomgås på forelesning: Torsdag 14. november 2013 Oppgavesettet

Detaljer

I dag skal vi se på. INF 1000 (uke 2) Variabler, tilordninger og uttrykk. Gruppene starter denne uken! Klart for første oblig

I dag skal vi se på. INF 1000 (uke 2) Variabler, tilordninger og uttrykk. Gruppene starter denne uken! Klart for første oblig INF 1000 (uke 2) Variabler, tilordninger og uttrykk Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo I dag skal vi se på Flere praktiske opplysninger Litt repetisjon Hva er en variabel

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

Innhold. INF1000 (Uke 11) Programmering. Rep: Metoder. Rep: Hva er en metode? Litt repetisjon. To måter å programmere på

Innhold. INF1000 (Uke 11) Programmering. Rep: Metoder. Rep: Hva er en metode? Litt repetisjon. To måter å programmere på Innhold Litt repetisjon INF1000 (Uke 11) Programmering To måter å programmere på Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B. Kristoffersen 2006-04-03

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

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

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

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

1. Separatorer (skilletegn) i easyio

1. Separatorer (skilletegn) i easyio Uke 9 INF1000 17. okt 2013 Om separatorer i easyio, Eliza (bruk av HashMap), + mer om metoder og klasser Arne Maus OMS, Ifi, UiO 1. Innlesning i easyio, bruk av skilletegn Alle filer betraktes som en strøm

Detaljer

Klassen javax.swing.joptionpane

Klassen javax.swing.joptionpane Klassen javax.swing.joptionpane Standardklassen JOptionPane er et alternativ til den hjemmelagede klassen JavabokGUI. API-referanser er samlet bakerst i dette notatet. Til forskjell fra JavabokGUI skal

Detaljer

Klasser, objekter, pekere og UML. INF1000 - gruppe 13

Klasser, objekter, pekere og UML. INF1000 - gruppe 13 Klasser, objekter, pekere og UML INF1000 - gruppe 13 Klasse Beskriver ofte ting fra den virkelige verden Veldig ofte et substantiv (Person, Bok, Bil osv.) class Person { String navn; int alder; } class

Detaljer

Kapittel 7: Mer om arv

Kapittel 7: Mer om arv Kapittel 7: Mer om arv 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 Forlag,

Detaljer

Inf1000 (Uke 10) HashMap og ArrayList

Inf1000 (Uke 10) HashMap og ArrayList Inf1000 (Uke 10) HashMap og ArrayList Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Bibliotekpakker i Java Det er laget mange

Detaljer

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det?

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det? Obligatorisk oppgave 3 Gulbrand Grås husleiesystem Oblig 3hus litt mer tips enn i oppgaven I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer, nummerert fra -3. I hver etasje

Detaljer

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I)

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Universitetet i Bergen Matematisk naturvitskapleg fakultet Institutt for informatikk Side 1 av 7 Nynorsk Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Fredag 10. desember 2004 Tid:

Detaljer

Litt om pakker og mest om data inn og ut

Litt om pakker og mest om data inn og ut Litt om pakker og mest om data inn og ut IN105-javainnogut-1 import java.io.*;. Data inn fra tastaturet lesemetode tastatur BufferedReader void lesemetode (String [ ] args) throws IOException {... /* sett

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

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

Eksamen. Objektorientert Programmering IGR 1372

Eksamen. Objektorientert Programmering IGR 1372 + JVNROHQL1DUYLN $YGHOLQJIRU7HNQRORJL Eksamen i Objektorientert Programmering IGR 1372 7LG'HVHPEHU± 7LOODWWHKMHOSHPLGOHU 6NULYHVDNHU2UGE NHU -DYD6RIWZDUH6ROXWLRQV)RXQGDWLRQVRI3URJUDP 'HVLJQVNUHYHWDY/HZLV

Detaljer

OPPGAVE 5b og 8b Java Kode

OPPGAVE 5b og 8b Java Kode OPPGAVE 5b og 8b Java Kode public class Kant boolean behandlereturavbil() BehandleReturAvBil behandler = new BehandleReturAvBil(this); String regnr; int kmstand, tanknivaa; boolean erskadet; // 1: Få verdiene

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

lfæ~~~~:::j~~:~l -.~=:~-t::-d I Alle trykte og håndskrevne EKSAMENSOPPGA VE Side l av 5 Eksamenstid:

lfæ~~~~:::j~~:~l -.~=:~-t::-d I Alle trykte og håndskrevne EKSAMENSOPPGA VE Side l av 5 Eksamenstid: EKSAMENSOPPGA VE Side l av 5 Bokmålstekst Emne: PROGRAMMERINGSSPRÅK i II Grupper: loa, ldb Emnekode LO 112 A Dato: 14.12.2005 Faglig veileder: Mark Burgess, Eva Vihovde, Frode Sandnes og Ulf uttersrud

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 : Torsdag 5. desember 2013 Tid for eksamen

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

INF1000 - Løsning på seminaropppgaver til uke 8

INF1000 - Løsning på seminaropppgaver til uke 8 INF1000 - Løsning på seminaropppgaver til uke 8 Oppgave 1 a) for(string nokkel : studenter.keyset){ System.out.println(nokkel); Studenten sitt navn blir skrevet ut. b) for(student dennestudenten : studenter.values()){

Detaljer

Kapittel 3: Bruk av objekter

Kapittel 3: Bruk av objekter Kapittel 3: Bruk av objekter 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

Dagens tema: Mer av det dere trenger til del 1

Dagens tema: Mer av det dere trenger til del 1 Dagens tema Dagens tema: Mer av det dere trenger til del 1 Hvilke klasser trenger vi? Uttrykk Typer Testutskrifter 12 gode råd Dagens tema Prosjektet Utifra dette AlboC-programmet: int pot2 (int x) { int

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

Kapittel 9: Sortering og søking Kort versjon

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

Detaljer

Forelesning inf1000 - Java 1

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

Detaljer

Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000

Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000 Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000 Leveringsfrist Innleveringsfristen er fredag 14. november kl 16.00. Viktig: se side 4 for detaljerte leveringskrav. Formål Formålet med denne oppgaven

Detaljer

INF1000 Variable. Marit Nybakken 27. januar 2004

INF1000 Variable. Marit Nybakken 27. januar 2004 INF1000 Variable Marit Nybakken marnybak@ifi.uio.no 27. januar 2004 Hva er en variabel Datamaskinens minne (eller hurtiglager) består av en masse celler som kan inneholde verdier. Hver av cellene har 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

Oppgave 1 a. INF1020 Algoritmer og datastrukturer. Oppgave 1 b

Oppgave 1 a. INF1020 Algoritmer og datastrukturer. Oppgave 1 b Oppgave 1 1 a INF1020 Algoritmer og datastrukturer Forelesning 14: Gjennomgang av eksamen vår 2001 oppgave 1,2,4 Arild Waaler Institutt for informatikk, Universitetet i Oslo Oppgave 1 a Programmer en ikke-rekursiv

Detaljer

Det matematisk-naturvitenskapelige fakultet

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

Detaljer

156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk

156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk IT1101 Informatikk basisfag I dag Programmeringsspråk Problemer med maskinspråk I dag: 5.1-5.3 Fra lavnivå til høynivå programmeringsspråk - utvikling Kompilator / tolker Programmeringsparadigmer Tradisjonelle

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

INF1000 Prøveeksamen Oppgave 7 og 9

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

Detaljer

"Nelsons kaffebutikk"

Nelsons kaffebutikk "Nelsons kaffebutikk" et eksempel på systemutvikling med objekter Originale lysark av Jens Kaasbøll - mindre endringer av G. Skagestein og Knut Hegna IN105-javaNelson-1 Nelsons kaffebutikk Området som

Detaljer

INF1010 våren 2016. Arv og subklasser - del 2

INF1010 våren 2016. Arv og subklasser - del 2 INF1010 våren 2016 Onsdag 10. februar Arv og subklasser - del 2 pluss litt om feil og unntak hvis tid Stein Gjessing Institutt for informatikk Dagens tema Virtuelle metoder som er det samme som Polymorfi

Detaljer

INF1000. Marit Nybakken 10. februar 2004

INF1000. Marit Nybakken 10. februar 2004 INF1000 Løkker Marit Nybakken marnybak@ifi.uio.no 10. februar 2004 Motivasjon En ting datamaskinen er veldig flink til er å gjøre den samme tingen mange mange ganger på rad. Oppgaver som skal utføres innebærer

Detaljer

Oppgave 1 (Programtolkning) INF1000 Eksamen V06. Oppgave 1 (Programtolkning) Oppgave 1 (Programtolkning)

Oppgave 1 (Programtolkning) INF1000 Eksamen V06. Oppgave 1 (Programtolkning) Oppgave 1 (Programtolkning) INF1000 Eksamen V06 1a: Hva blir skrevet ut når programmet nedenfor kjøres? class stringhåndtering{ public static void main (String[] args){ String s = "Lykke til på eksamen"; String t = "Eksamen"; System.out.println(s.indexOf(t));

Detaljer

Leksjon 3. Kontrollstrukturer

Leksjon 3. Kontrollstrukturer 6108 Programmering i Java Leksjon 3 Kontrollstrukturer Del 2 Løkker Roy M. Istad 2015 Utførelse av et program Programflyt så langt start setning setning setning setning Sekvensielt Alle setninger utføres,

Detaljer

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

import java.io.*; import java.util.*; import javagently.text; //-------------------------------------------------------- // // Fil: Oppg1.java - // løser oppgave 1 i eksamensettet for in105 - v99 // //-------------------------------------------------------- import

Detaljer

UNIVERSITETET I OSLO

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

Detaljer

UNIVERSITETET I OSLO

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

Detaljer

Oversikt. INF1000 Uke 4. Logisk uttrykk Beregne uttrykk. Eksempel (Feil sist) Logisk uttrykk. Litt repetisjon En feil i forrige forelesning

Oversikt. INF1000 Uke 4. Logisk uttrykk Beregne uttrykk. Eksempel (Feil sist) Logisk uttrykk. Litt repetisjon En feil i forrige forelesning Oversikt INF1000 Uke 4 Forgreininger, løkker og arrayer Litt repetisjon En feil i forrige forelesning Blokker og forgreininger if-setninger if-else-setninger switch-setninger Løkker while-løkker do-while-løkker

Detaljer

INF1010 våren 2014. Arv og subklasser - del 2

INF1010 våren 2014. Arv og subklasser - del 2 INF1010 våren 2014 Onsdag 19. februar Arv og subklasser - del 2 Stein Gjessing Institutt for informatikk Dagens tema Virtuelle metoder som er det samme som Polymorfi Mer om arv / interface Mer om pekertilordninger

Detaljer

Programmeringsspråket C

Programmeringsspråket C Programmeringsspråket C Programmeringsspråket C Laget til implementasjon av Unix ved AT&Ts Bell labs i Palo Alto 1969 73. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI-standard

Detaljer

Variabler, input og beslutninger

Variabler, input og beslutninger Variabler, input og beslutninger Hvordan få et program til å gjøre noe INF1000, uke1 Geir Kjetil Sandve Programmert fra før? Faget forutsetter ingen programmeringserfaring, og opplegget er tilpasset deretter

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

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

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

Detaljer

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 Målform: Eksamensdato: Bokmål 9.mai 202 Varighet/eksamenstid: 0900-300 Emnekode: Emnenavn: Klasse(r): Studiepoeng: LC9D/LO9D Videregående

Detaljer

PENSUM INF1000 H11. Joakim Myrvoll Johansen. Rett På Java,, 3. Utgave

PENSUM INF1000 H11. Joakim Myrvoll Johansen. Rett På Java,, 3. Utgave PENSUM INF1000 H11 Rett På Java,, 3. Utgave Joakim Myrvoll Johansen 1 STIKKORDREGISTER: Array s. 35 easyio s. 50 Feil-eksempler s. 77 HashMap s. 71 If-setninger s. 30 Javadoc s. 92 Klasser & objekter s.

Detaljer

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering Kapittel 1 Datamaskiner og programmeringsspråk Dette kapitlet er en kort introduksjon til programmering. Vi vil se på hvordan man skriver, bygger og kjører programmer, samt illustrere noen sentrale programmeringsbegrep

Detaljer

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1

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

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Fredag 19. august 2011, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Trond Aalberg. Kontaktperson under

Detaljer

INF1000 Klasser og objekter

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

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

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn? Dagens tema: 12 gode råd for en kompilatorskriver Hva skal gjøres med navn? Sjekking av navn Hvordan sjekke navn? Testutskrifter 12 gode råd En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer