Projeksjoner av vektorer Analyse av værdata

Størrelse: px
Begynne med side:

Download "Projeksjoner av vektorer Analyse av værdata"

Transkript

1 Projeksjoner av vektorer Analyse av værdata Lars Sydnes 11. september Osloserien Ved værstasjoner rundt omkring i verden måler man temperaturen hver eneste dag. Vi har tilgang til målinger gjort på Blindern i tidsrommet 1.januar 1938 til 31.desember 2012, alstå over et tidsrom på 74 år. 1 Vi snakker altså om daglige målinger i 74 år, noe som gir omtrent målinger. Det er mange tall, og vi blir ikke særlig kloke av å stirre på en slik tabell. Her ser du et utdrag av dataene: Den første kolonnen angir naturligvis datoen. Den andre kolonnen angir middeltemperaturen 2, mens de to siste kolonnene er henholdsvis minimumsog maksimumstemperature. Dette datasettet kan vi kalle Osloserien. 1 Takk til Sigmund Hov Moen ved NITH som har skaffet dataene! 2 Det er ikke opplagt hva som skal regnes som middeltemperaturen. Hvordan skal man måle den? Det finnes dog standardiserte prosedyrer for å beregne middeltemperaturen utfra et sett målinger gjort i løpet av en dag. Når man bruker en slik standardprosedyre, sikrer man at man kan sammenligne resultater fra 1938 med resultater fra Dette betyr ikke at begrepet middeltemperatur er meningsfullt i seg selv. 1

2 Vi kan bli litt klokere av å plotte dataene. Her har vi plottet noen tilfeldige utvalgte segmenter av datasettet: Disse figurene gir oss et tydelig inntrykk av at vinteren 1942 var mye kaldere enn vinteren 1990! 2 Oslovektoren La oss hente ut en kolonne av Osloserien, f.eks middeltemperaturkolonnen. Dette gir oss en liste av tall som vil vi betrakte som en vektor med ca komponenter: x Oslo = [ 3.4, 4.5,, 8.8,..., 1.1, 3.2, 2.9] Denne vektoren kan vi kalle Oslovektoren 3 3 Noen hjelpevektorer. Vi skal nå definere en hel haug med vektorer som skal spille rollen som alternative koordinat-akser. Vi kan tenke på disse vektorene som en slags erstatning for enhetsvektorene ˆx, ŷ, ẑ som vi er vant med fra 3D-geometrien. 3 Den som er opptatt av å skille mellom punkter og vektorer, vil kunne hevde at det er mer meningsfullt å se på denne listen med tall som et punkt, blant annet fordi komponentene avhenger av valg av nullpunkt for temperaturmåling. 2

3 La N være antallet komponenter i x Oslo, og la [ ( ) ( ) ( ) ( )] 2πi 2πi 2πi 2πi u i = cos N 0, cos N 1,..., cos N k,..., cos N N og v i = [ ( ) ( ) ( ) ( )] 2πi 2πi 2πi 2πi sin N 0, sin N 1,..., sin N k,..., cos N N. Dette gir oss to sekvenser u 1,..., v 1, v 2,... av vektorer. Disse fletter vi sammen til én på følgende måte: Først definerer vi en vektor der alle komponentene er like: b 0 = [1/2 2, 1/2 2,..., 1/2 2]. Når i er jevn lar vi b i = u i/2 og når i er odde lar vi b i = v (i+1)/2 Nå har vi en laang liste med vektorer med N komponenter: b 0, b 1, b 2, b 3, b 4,... Det som er spesielt med disse vektorene er at de står vinkelrett på hverandre. Dette kan vi sjekke ved å regne ut skalarproduktene og se at b i b j = 0, når i j = 1, 2,..., N/2 (1) Disse beregningene er vanskelige å utføre, men det viser seg å stemme. Studentene kan selv sjekke dette numerisk, altså ved hjelp av datamaskinen, men da kun for et endelig utvalg av i, j-indekser. En forklaring på hvordan man kan angripe dette finnes i seksjon Bruk av hjelpevektorene Det vi ønsker å gjøre er å uttrykke Oslovektoren x Oslo ved hjelp av hjelpevektorene b 0, b 1,.... I praksis er vi tvunget til å ta for oss et endelig utvalg med K vektorer b 0, b 1,..., b K K kan f.eks være lik Vi ønsker så å finne en vektor x Oslo som tilfredsstiller følgende krav: 3

4 (i) x Oslo er en lineærkombinasjon av vektorene b 1,..., b K. Det skal altså finnes tall y 1,..., y K slik at K x Oslo = y i b i. (ii) Avstanden mellom x Oslo og x Oslo skal være så liten som mulig. Vi ønsker m.a.o at feilen x Oslo x Oslo skal være så liten som overhodet mulig. Vi har en veldig praktisk omformulering av punkt (ii): Feilen er minimal når x Oslo x Oslo står vinkelrett på b 1, b 2,..., b K, i.e. dersom i=0 (x Oslo x Oslo ) b i = 0 for i = 0, 1, 2,..., K (2) Vi kan forestille oss at b 1,..., b K danner et slags plan og at x Oslo er projeksjonen av x Oslo ned på dette planet. 4 Det å projisere på det nærmeste punktet i et plan er det samme som å projisere vinkelrett på planet. Hvordan skal vi så finne koeffesiente y 1, y 2,..., y K i (i)? Jo, vi kan finne dem ved hjelp av (1). Dette er litt magisk, men dersom vi kombinerer (2) med punkt (i) og (1), så får vi 0 = (x Oslo x Oslo ) b j ( ) K = x Oslo y i b i b j i=1 = x Oslo b j k y i b i b j i=1 = x Oslo b j y i b j b j, siden b i b j = 0 når i j. Det som står her er at x Oslo b j y i b j b j = 0. Denne ligningen kan vi løse for y i, og vi får da y i = x Oslo b j b j b j (3) Takket være det faktum at vektorene b 1,..., b K er parvis ortogonale finner vi en forholdsvis enkel formel for koeffesientene y 0, y 1, y 2,..., y K. 4 Dette kan forstås ved en analogi: La P være et punkt i planet, la b være en vektor i planet og la l være linjen gjennom origo. Punktet P på l som ligger nærmest P er kjennetegnet ved at vektoren P P står vinkelrett på b. 4

5 5 Numerisk analyse av Osloserien Når vi regner ut disse koeffesientene på datamaskinen får vi verdier som y , y , y , y Dersom vi gjennomfører approksimasjonen vår med K = 0, så får vi x Oslo x Oslo = y 0b [1/2 2,...] [6.13, 6.13,...] Dette betyr faktisk at gjennomsnittlig middeltemperatur på Blindern de siste 74 årene er på 6.1 C. 5 Vi kan plotte y i mot i for i = 0, 1,..., 300. Det gir følgende figur: Vi ser her at de fleste y i -verdiene ligger omkring 0, med unntak av y og y Dersom vi bare bryr oss om disse største koeffesientene, får vi følgende approksimasjon: x Oslo 8.67b b 150 Denne approksimasjonen gir følgende tilnærming til middeltemperaturen T i på dag i etter : ( ) 150π T i cos i 5 Sammenlign med standardformelen for gjennomsnitt: Gjennomsnittet av tallene T 1, T 2,..., T N er T 1 + T T N. N Komponentene i vektoren y 0b 0 er gitt av formelen x Oslo b x x xn 2 = x x N b 0b 1 2 = N

6 Hvis vi plotter denne approksimasjonen for årene , får vi følgende figur: Langs y-aksen måler vi antallet dager etter Her har vi plottet approksimasjonen sammen med de virkelige dataene: Dette gir oss en idé om at den viktige koeffesienten y 150 representerer den årlige variasjonen. Analysen vår har altså klart å presse ut to viktige observasjoner: Gjennomsnittlig middeltemperatur på Blindern siste 74 år er 6.13 grader. Temperaturen har en regelmessig variasjon med med periode på ca. 365 dager. Det siste burde ikke være noen overraskelse, siden de fleste av oss har hørt om årets syklus: Vår, sommer, høst og vinter. 6

7 6 Programmering: Nå skal vi se på hvordan vi kan arbeide med dette i java. 6.1 Data-vektorer Oslo-vektoren x Oslo vil bli representert av objekter av klassen matlib.vector. Denne klassen ser omtrent slik ut: package matlib; import matlib.util.vectors; public class Vector extends AbstractVector { public Vector(int n ) public Vector(double[] array) public Vector(AbstractVector other) public int size() public void add(vector other){// INPLACE public void subtract(vector other) // INPLACE public void multiply(double scalar)// INPLACE public static Vector add(vector u,vector v) public static Vector subtract(vector u,vector v) public static Vector multiply(vector u, double s) public void print() public void gpprint() // for use with gnuplot Legg merke til at det finnes to sett med vektoroperasjoner: Inplace-verianter som modifiserer objekter og statiske metoder som lager nye objekter. 6.2 Hvordan lage Oslovektoren? Dataene til Oslo-vektoren kommer fra filen data/osloseries.txt, og vi kan laste dataene inn i en vektor xoslo på følgende måte: 7

8 String FILE_NAME = "data/osloseries.txt"; double[] array = DataVectors.getData(FILE_NAME,0); Vector oslovector = new Vector(array); Klassen DataVectors ligger i pakken matlib.datavectors, og metoden getdata har følgende deklarasjon: public static Vector getdata(string filename, int column); Parameteren column angir hvilken kolonne i filen vi henter dataene fra. Den aktuelle filen har bare én kolonne. Vi må altså hente datane fra kolonne nr. 0. 8

9 6.3 Basis-vektorene Basisvektorene b i vil være representert ved Fourier-objekter. Fourier-klassen ser omtrent slik ut: package matlib.fourier; import matlib.abstractvector; } public class Fourier extends AbstractVector { public Fourier(int n) public Fourier(int n, int index) public void setindex(int index){ if(index%2==0){ function = cos; function.setwavenumber(index/2); } else if (index%2==1) { function = sin; function.setwavenumber((index +1 )/ 2 ); } } public static Fourier multiply(fourier vector, double scalar) public static Fourier add(fourier A, Fourier B) public static Fourier subtract(fourier A, Fourier B) Fourier-objektene oppfører seg som vektorer: Både Fourier og Vector arver metoden public static double scalarproduct(abstractvector A, AbstractVector B) fra klassen AbstractVector. Av den grunn kan vi skrive kode som f.eks Fourier b3 = new Fourier(5,3); 9

10 double[] array = new double[]{2,3,2,1,2}; Vector x = new Vector(array); double s = AbstractVector.scalarProduct(b3,x); Konstruktør-kallet Fourier(27418) produserer basisvektoren vi kjenner som b 0, mens kallet Fourier(27418,98) produserer basisvektoren vi kjenner som b 98. Vi kan endre indeksen til Fourier-ojekter ved hjelp av setindexmetoden. Dermed kan vi ofte klare oss med noen ganske få Fourierobjekt som vi endrer indeksen på etter behov. 7 Oppgaver 7.1 Studér basisvektorene: Lag et visst antall Fourier-objekter, og undersøk om de står vinkelrett på hverandre ved å beregne skalarproduktene ved hjelp av scalarproduct -metoden. Poenget er altså å gå ligning (1) på side 3 etter i sømmene Beregn y i -koeffesientene Last inn Osloserien inn i Oslovektoren x Oslo ved å skrive f.eks String FILE_NAME = "data/osloseries.txt"; double[] array = DataVectors.getData(FILE_NAME,0); Vector oslovector = new Vector(array); Beregn så en del y i -koeffesientene ved hjelp av formel (3). Et godt tips er å fylle en array double[] coefficients = new double[300] med verdiene y 0, y 1,..., y Obs: Metoden AbstractVector.scalarProduct tar høyde for avrundingsfeil: Hvis det numerisk beregnede skalarproduktet mellom to vektorer har absoluttverdi mindre enn 10 11, så blir resultatet rundet ned til

11 Hva er de største verdiene? Finn fram til de 10 største verdiene. 7.3 Rekonstruksjon Dersom vi har funnet ut at koeffesientene y 0, y 148, y 150, y 152 virker interessante, kan vi lage vektoren x Oslo = y 0b 0 + y 148 b y 150 b y 152 b 152. Dette gir en approksimasjon for middeltemperaturen. 7.4 Visualisering I eksempelkoden i oppgaver.weatherdata skrives den ubearbeidede Oslovektoren til filen data/weatheroutput.txt i funksjonskallet double[] array = oslovector.toarray(); double[][] outputarrays = new double[][]{array}; Vectors.printGnuplotData(outputArrays); Dette gir oss en fil som inneholder ca linjer med ett tall på hver linje, noe som ikke gjør oss særlig kloke. Det kan være en utfordring å få visualisert dataene, men det finnes flere metoder: Man kan åpne filen i MS-excel eller LibreOffice-calc og forsøke å bruke den innebygde plottingsfunksjonaliteten. Det er dog en viss fare for disse programmene ikke tåler så store datamengder veldig godt. Man kan laste ned GNUplot her: Dette er et utmerket verktøy for plotting av data. Kommandoen > plot "data/weatheroutput.txt" w l u 1 plotter den første kolonnen i filen data/weatheroutput.txt. Andre metoder? 11

Projeksjoner av vektorer Analyse av værdata

Projeksjoner av vektorer Analyse av værdata Projeksjoner av vektorer Analyse av værdata Lars Sydnes NITH 12. september 2013 1 Osloserien Ved værstasjoner rundt omkring i verden måler man temperaturen hver eneste dag. Vi har tilgang til målinger

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

RF5100 Lineær algebra Leksjon 1

RF5100 Lineær algebra Leksjon 1 RF5100 Lineær algebra Leksjon 1 Lars Sydnes, NITH 20.august 2013 I. INFORMASJON FAGLÆRER Kontakt: Lars Sydnes lars.sydnes@nith.no 93035685 Bakgrunn: Doktorgrad i Matematikk fra NTNU (2012), Siv.ing. Industriell

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

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

Kanter, kanter, mange mangekanter

Kanter, kanter, mange mangekanter Kanter, kanter, mange mangekanter Nybegynner Processing PDF Introduksjon: Her skal vi se på litt mer avansert opptegning og bevegelse. Vi skal ta utgangspunkt i oppgaven om den sprettende ballen, men bytte

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

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; } Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =

Detaljer

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

: subs x = 2, f n x end do

: subs x = 2, f n x end do Oppgave 2..5 a) Vi starter med å finne de deriverte til funksjonen av orden opp til og med 5 i punktet x = 2. Det gjør vi ved å bruke kommandoen diff f x, x$n der f x er uttrykket som skal deriveres, x

Detaljer

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 INF1010 Arv Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 Motivasjon Arv bruker vi så vi skal slippe å skrive oss i hjel. Når vi programmerer, prøver vi gjerne å modellere en del av verden ved hjelp

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

Utførelse av programmer, metoder og synlighet av variabler i JSP

Utførelse av programmer, metoder og synlighet av variabler i JSP Utførelse av programmer, metoder og synlighet av variabler i JSP Av Alf Inge Wang 1. Utførelse av programmer Et dataprogram består oftest av en rekke programlinjer som gir instruksjoner til datamaskinen

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

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13.

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13. BOKMÅL Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTERINGSEKSAMEN

Detaljer

NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013

NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013 NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 20 ette løsningsforslaget er til tider mer detaljert enn det man vil forvente av en eksamensbesvarelse. et er altså ikke et eksempel

Detaljer

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad. EKSAMEN Emnekode: Emne: ITF10208 Webprogrammering 1 Dato: Eksamenstid: 09/12-2008 09.00-13.00 Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater (håndskrevne/maskinskrevne) Faglærer: Tom Heine

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

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Av Jo Skjermo (basert på Alf Inge Wang sin versjon om JSP). 1. Utførelse av kode i kommando/kalkulatormodus Et dataprogram består oftest

Detaljer

Den krever at vi henter ned Maples plottekommandoer fra arkivet. Det gjør vi ved kommandoen

Den krever at vi henter ned Maples plottekommandoer fra arkivet. Det gjør vi ved kommandoen For å tegne grafen til en likning, skal vi bruke kommandoen Den krever at vi henter ned Maples plottekommandoer fra arkivet. Det gjør vi ved kommandoen with plots Gjør det (altså: trykk linjeskift med

Detaljer

<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen.

<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen. Hver gang funksjonen printhallo kalles utføres instruksjonene spesifisert i den. [Kurssidene] [ ABI - fagsider bibin ] Webprogrammering høsten 2015 //funksjonskall printhallo(); //enda en gang printhallo();

Detaljer

Algoritmer og datastrukturer A.1 Filbehandling på bit-nivå

Algoritmer og datastrukturer A.1 Filbehandling på bit-nivå Vedlegg A.1 Filbehandling på bit-nivå Side 1 av 9 Algoritmer og datastrukturer A.1 Filbehandling på bit-nivå A.1 Filbehandling på bit-nivå A.1.1 Sammendrag Klassen BitInputStream gjør det mulig å lese

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

Programmeringsspråk for nybegynnere. Krav til språket. Krav til språket. Krav til språket

Programmeringsspråk for nybegynnere. Krav til språket. Krav til språket. Krav til språket Programmeringsspråk for nybegynnere Krav til språket Hva om vi laget vårt eget språk til INF1000? Programmeringsspråket må være så enkelt som mulig. (Programmering er vanskelig nok som det er.) Hvilke

Detaljer

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

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

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 10 Frist: 2014-04-11 Mål for denne øvinga:

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

Klasser. Webprogrammering høsten 2015. Objekter. Eksempelklasser og -objekter. 2 of 11 14.10.2015 07:56. 1 of 11 14.10.2015 07:56

Klasser. Webprogrammering høsten 2015. Objekter. Eksempelklasser og -objekter. 2 of 11 14.10.2015 07:56. 1 of 11 14.10.2015 07:56 [Kurssidene] [ ABI - fagsider bibin ] Objekter Webprogrammering høsten 2015 Et objekt er en "ting" som representeres i et program. Representasjonen tar for seg attributter og oppførsel Attributter (egenskaper)

Detaljer

UNIVERSITETET I OSLO

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

Detaljer

Oblig4 - forklaringer. Arne og Ole Christian

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

Detaljer

Oppgaver som illustrerer alle teknikkene i 1.4 og 1.5

Oppgaver som illustrerer alle teknikkene i 1.4 og 1.5 Oppgaver som illustrerer alle teknikkene i 1.4 og 1.5 Gitt 3 punkter A 1,1,1,B 2,1,3,C 3,4,5 I Finne ligning for plan gjennom 3 punkt Lager to vektorer i planet: AB 1, 0,2 og AC 2,3, 4 Lager normalvektor

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

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

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006 Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006 Advarsel Etter forelesningen 6. mars har vi gjennomgått alt stoffet som trengs for å løse oppgaven. Du kan imidlertid godt starte arbeidet allerede

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

Prosjektoppgave, FYS-MEK1110 V06 ROBERT JACOBSEN

Prosjektoppgave, FYS-MEK1110 V06 ROBERT JACOBSEN Prosjektoppgave, FYS-MEK1110 V06 ROBERT JACOBSEN Innledning Prosjektet i FYS-MEK1110 v06 handler om å forske litt på hvordan Jupiters bane er, og hvordan denne kan sammenliknes ved andre baner i solsystemet.

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

Algoritmer og Datastrukturer

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

Detaljer

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

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

PG4200 Algoritmer og datastrukturer Lab 1. 8.januar 2014. I dag skal vi undersøke en rekke velkjente databeholdere i Java:

PG4200 Algoritmer og datastrukturer Lab 1. 8.januar 2014. I dag skal vi undersøke en rekke velkjente databeholdere i Java: PG4200 Algoritmer og datastrukturer Lab 1 8.januar 2014 Innledning I dag skal vi undersøke en rekke velkjente databeholdere i Java: java.util.arraylist java.util.linkedlist java.util.hashset java.util.treeset

Detaljer

Programmering i Java med eksempler

Programmering i Java med eksempler Differenslikn. p.124 Simulering av differenslikninger Programmering i Java med eksempler Forelesning uke 39, 2005 MAT-INF1100 Differenslikn. p.224 Differenslikning av orden 2 (1) Vi kjenner formler for

Detaljer

INF109 - Uke 1b 20.01.2016

INF109 - Uke 1b 20.01.2016 INF109 - Uke 1b 20.01.2016 1 Variabler Et program er ikke til stor hjelp hvis det er statisk. Statisk betyr at programmet bare bearbeider faste data som er lagt inn i programkoden. For å gjøre programmer

Detaljer

Norges Informasjonstekonlogiske Høgskole

Norges Informasjonstekonlogiske Høgskole Oppgavesettet består av 10 (ti) sider. Norges Informasjonstekonlogiske Høgskole RF3100 Matematikk og fysikk Side 1 av 10 Tillatte hjelpemidler: Kalkulator, vedlagt formelark Varighet: 3 timer Dato: 11.desember

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

LO191D/LC191D Videregående programmering

LO191D/LC191D Videregående programmering LO191D/LC191D Videregående programmering Eksamen mai 2012 Løsningsforslag Oppgave 1 Klassen Destinasjon: // Oppgaven er uklar på hva som skal inn i klassen Destinasjon. // Her følger en minimumsutgave

Detaljer

Eksamen Objektorientert Programmering 2013

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

Detaljer

Socket og ServerSocket

Socket og ServerSocket Side 1 av 5, socket og klient-tjener, V. Holmstedt, HiO 2006 Dette dokumentet er revidert den 29.8.2006, kl:12:30. Det er foretatt rettelser i begge versjoner av klassen A_Server. Socket og ServerSocket

Detaljer

MAT 100a - LAB 3. Vi skal først illustrerere hvordan Newtons metode kan brukes til å approksimere n-te roten av et positivt tall.

MAT 100a - LAB 3. Vi skal først illustrerere hvordan Newtons metode kan brukes til å approksimere n-te roten av et positivt tall. MAT 100a - LAB 3 I denne øvelsen skal vi bruke Maple til å illustrere noen anvendelser av derivasjon, først og fremst Newtons metode til å løse likninger og lokalisering av min. og max. punkter. Vi skal

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

Argumenter fra kommandolinjen

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

Detaljer

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 - AITeL Kandidatnr: Eksamensdato: 4.mai 2011 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D Campus: LC191D Videregående

Detaljer

Løsningsforslag B = 1 3 A + B, AB, BA, AB BA, B 2, B 3 C + D, CD, DC, AC, CB. det(a), det(b)

Løsningsforslag B = 1 3 A + B, AB, BA, AB BA, B 2, B 3 C + D, CD, DC, AC, CB. det(a), det(b) Innlevering BYFE DAFE Matematikk 1000 HIOA Obligatorisk innlevering 2 Innleveringsfrist Fredag 05. februar 2016 kl 14:00 Antall oppgaver: 5 Løsningsforslag 1 Vi denerer noen matriser A [ 1 5 2 0 B [ 1

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

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn BOKMÅL EKSAMENSFORSIDE Skriftlig eksamen med tilsyn Emnekode: 108 + 108N Dato: 19.12.201 Ansv. faglærer: Roy M. Istad Campus: Bø Antall oppgaver: 5 Tillatte hjelpemidler (jfr. emnebeskrivelse): Alt trykt

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 onsdag 15. november kl 16.00. Viktig: se side 4 for detaljerte leveringskrav. Formål Formålet med denne oppgaven

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

81,9(56,7(7(7,26/2 'HWPDWHPDWLVNQDWXUYLWHQVNDSHOLJHIDNXOWHW

81,9(56,7(7(7,26/2 'HWPDWHPDWLVNQDWXUYLWHQVNDSHOLJHIDNXOWHW 81,9(56,7(7(7,26/2 'HWPDWHPDWLVNQDWXUYLWHQVNDSHOLJHIDNXOWHW (NVDPHQL,1)²*UXQQNXUVLREMHNWRULHQWHUWSURJUDPPHULQJ (NVDPHQVGDJ )UHGDJGHVHPEHU 7LGIRUHNVDPHQ ² 2SSJDYHVHWWHWHUSnVLGHU%RNPnO 9HGOHJJ VWN 7LOODWWHKMHOSHPLGOHU$OOHWU\NWHRJVNUHYQH

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

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu. 1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 11. Sept. Noen oppstartsproblemer

Detaljer

EKSAMEN. Objektorientert programmering

EKSAMEN. Objektorientert programmering EKSAMEN Emnekode: ITF 10609 Dato: 13.mai 2009 Emne: Objektorientert programmering Eksamenstid: kl 09.00 til kl 12.00 Hjelpemidler: 2 A4-ark med valgfritt innhold på begge sider. Faglærere: Tom Heine Nätt

Detaljer

Beregning av med svært mange desimaler

Beregning av med svært mange desimaler Oblig 3 i INF000 Høsten 2005 Beregning av med svært mange desimaler Veiledning gitt 5. oktober 2005 Arnt Inge Vistnes a.i.vistnes@fys.uio.no Utgangspunkt:. John Machin s formel fra 706: = 6 arctan - 4

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

Om plotting. Knut Mørken. 31. oktober 2003

Om plotting. Knut Mørken. 31. oktober 2003 Om plotting Knut Mørken 31. oktober 2003 1 Innledning Dette lille notatet tar for seg primitiv plotting av funksjoner og visualisering av Newtons metode ved hjelp av Java-klassen PlotDisplayer. Merk at

Detaljer

Om oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre egne presiseringer. Formulér i så fall disse tydelig i oppgavebesvarelsen din.

Om oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre egne presiseringer. Formulér i så fall disse tydelig i oppgavebesvarelsen din. UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 211 Programmeringsspråk Eksamensdag: 6. desember 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 9 sider. Vedlegg: Ingen

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

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

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen Forkurs INF1010 Dag 1 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Tuva Kristine Thoresen (tuvakt@ifi.uio.no) Institutt for Informatikk, 6. januar 2014 Forkurs INF1010 - dag 1 Hello, World! Typer Input/output

Detaljer

RF5100 Lineær algebra Leksjon 1

RF5100 Lineær algebra Leksjon 1 RF5100 Lineær algebra Leksjon 1 Lars Sydnes, NITH 20.august 2013 I. INFORMASJON FAGLÆRER Kontakt: Lars Sydnes lars.sydnes@nith.no 93035685 Bakgrunn: Doktorgrad i Matematikk fra NTNU (2012), Siv.ing. Industriell

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

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

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

Enkel plotting i LibreOffice/OpenOffice og Excel

Enkel plotting i LibreOffice/OpenOffice og Excel Enkel plotting i LibreOffice/OpenOffice og Excel MUS2006 - Musikk og bevegelse Innhold Dette dokumentet viser skjermbilder av steg-for-steg plotting i LibreOffice og Excel på Mac, og Excel på Windows.

Detaljer

Hvordan forklare datamaskinen hva en vektor er

Hvordan forklare datamaskinen hva en vektor er Hvordan forklare datamaskinen hva en vektor er Lars Sydnes 20. mars 2013 1 Introduksjon Det finnes mange måter å presentere vektorbegrepet. Ulike stikkord kan være (i) En vektor er en pil AB som går fra

Detaljer

Del 1. Generelle tips

Del 1. Generelle tips Innhold Del 1. Generelle tips... 2 Bruk en "offline installer"... 2 Øk skriftstørrelsen... 3 Sett navn på koordinataksene... 3 Vis koordinater til skjæringspunkt, ekstremalpunkt m.m.... 4 Svar på spørsmålene

Detaljer

Programmering i Java med eksempler

Programmering i Java med eksempler Simulering av differenslikninger Programmering i Java med eksempler Forelesning uke 39, 2006 MAT-INF1100 Differenslikn. p. 1 Løsning av differenslikninger i formel Mulig for lineære likninger med konst.

Detaljer

INF1000 (Uke 15) Eksamen V 04

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

Detaljer

INF1000 (Uke 15) Eksamen V 04

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

Detaljer

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

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

Oblig 4 (av 4) INF1000, høsten 2009 Værdata, leveres innen 6. nov. kl

Oblig 4 (av 4) INF1000, høsten 2009 Værdata, leveres innen 6. nov. kl Oblig 4 (av 4) INF1000, høsten 2009 Værdata, leveres innen 6. nov. kl. 16.00 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

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

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

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

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i. Skilpaddeskolen Steg 1: Flere firkanter Nybegynner Python Åpne IDLE-editoren, og åpne en ny fil ved å trykke File > New File, og la oss begynne. Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell'

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

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

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

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

Detaljer

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

RF5100 Lineær algebra Leksjon 2

RF5100 Lineær algebra Leksjon 2 RF5100 Lineær algebra Leksjon 2 Lars Sydnes, NITH 27.august 2013 I. LINEÆRE SYSTEM SKJÆRINGSPUNKTET FOR TO LINJER l 1 : x + y = 1 P l 2 : x + y = 3 Geometri: (i) P ligger på linjen l 1 (ii) P ligger på

Detaljer

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. Hei JavaScript! Introduksjon Web Introduksjon I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. Steg 1: Bruke JS Bin

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

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

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

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

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

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

Detaljer

Jentetreff INF1000 Debugging i Java

Jentetreff INF1000 Debugging i Java Jentetreff INF1000 Debugging i Java Ingrid Grønlie Guren ingridgg@student.matnat.uio.no 11. november 2013 Kort om feilmeldinger i Java Java har to ulike type feilmeldinger som man kan få når man skriver

Detaljer

Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2

Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2 Delkapittel 9.2 Rød-svarte og 2-3-4 trær Side 1 av 16 Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2 9.2 Rød-svarte og 2-3-4 trær 9.2.1 B-tre av orden 4 eller 2-3-4 tre Et rød-svart tre og et

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