IN1010 våren 2019 Onsdag 15. mai. Rask repetisjon av subklasser og tråder (pluss µ nytt)

Størrelse: px
Begynne med side:

Download "IN1010 våren 2019 Onsdag 15. mai. Rask repetisjon av subklasser og tråder (pluss µ nytt)"

Transkript

1 IN1010 våre 2019 Osdag 15. mai Rask repetisjo av subklasser og tråder (pluss µ ytt) Stei Gjessig Istitutt for iformatikk Uiversitetet i Oslo 1

2 Iledig Dette er 41 lysark som det ikke er mulig å gå gjeom på é time Disse lysarkee represeterer det jeg meer er det viktigste i pesum om subklasser og tråder Jeg kommer til å peke på oe få viktige poeg, og så er meige at dere ka bruke lysarkee år dere skal repetere stoffet på egehåd Lysarkee hadler om ivariater. Vi har ikke sakket mye om dette på forelesigee, me det er allikevel viktig, og de tre lysarkee om ivariater i løkker er helt ye 2

3 Klassehierarki: Persobil Bil Klasser - Subklasser class Bil { <lys beige egeskaper> class Persobil exteds Bil { <røde egeskaper> class Lastebil exteds Bil { <grøe egeskaper> class Drosje exteds Persobil { <gule egeskaper> Alle lastebiler Lastebil Drosje Alle biler Alle drosjer Alle persobiler 3

4 Private og public i subklasser Private i e klasse gjør at ige uteom dee klasse (og heller ikke subklasser) ka se dee egeskape Protected i e klasse gjør at alle subklasser ka se dee egeskape Me ige utefor klasse (bortsett fra i samme katalog/pakke) Public er som før class Perso { protected Strig av; protected it tlfr; public boolea gyldigtlfr() { retur tlfr >= && tlfr <= ; Nytt reservert ord i Java: protected 4

5 Hva slags objekt er dette? De boolske operatore istaceof hjelper oss å fie ut av hvilke klasse et gitt objekt er, oe som er yttig i mage tilfeller: class TestFrukt { public static void mai(strig[] args) { Eple e = ew Eple(); skrivut(e); static void skrivut(frukt f) { if (f istaceof Eple) System.out.pritl("Dette er et eple!"); else if (f istaceof Appelsi) System.out.pritl("Dette er e appelsi!"); Frukt class Frukt {.. class Eple exteds Frukt {.. class Appelsi exteds Frukt {.. Eple Appelsi 5

6 Koverterig mellom flere ivåer MasterStudet master = ew MasterStudet(); Perso Koverterig oppover: Studet stud = master; Perso pers Perso pers = master; Studet MasterStudet Koverterig edover: Studet stud stud = (Studet) pers master = (MasterStudet) pers (fordi dette krever kotroll uder kjørig) MasterStudet master Regel: Alle referaser har lov til å peke bortover og edover (me ikke oppover ) 6

7 Klassehierarki: Eksempel Object Object obj Bil Bil bl Persobil Persobil p Lastebil Drosje Drosje d 7

8 Abstrakte metoder og klasser abstract class Asatt { protected Strig av; protected double timelo; public abstract double beregbous(); Ikke lov å si ew Asatt()! Asatt av timelo beregbous(); class Deltidsasatt exteds Asatt { public double beregbous() { retur 0; Deltidsasatt Heltidsasatt av timelo Heltidsasatt objekt beregbous(); class Heltidsasatt exteds Asatt { protected it asieitetsfaktor; public double beregbous() { retur timelo* asieitetsfaktor; asieitetsfaktor beregbous() 8

9 Polymorfi: eksempel class Bil { protected it pris; public it skatt( ) {retur pris; class Persobil exteds Bil { protected it atallpassasjer; public it skatt( ) {retur pris * 2; Klassehierarki: Bil Persobil class Lastebil exteds Bil { protected double lastevekt; public it skatt ( ) {retur pris / 2; Lastebil class Drosje exteds Persobil { protected Strig loyveid; public it skatt ( ) {retur pris / 4; Se også lysark ummer 19 Drosje 9

10 Nøkkelordet super. Nøkkelordet super brukes til å aksessere metoder i objektets superklasse. Dette ka vi bruke til å la superklasse Perso ha e geerell skrivdata, som så kalles i subklassee: // I klasse Perso: public void skrivdata() { System.out.pritl("Nav: " + av); System.out.pritl("Telefo: " + tlfr); // I klasse Studet: public void skrivdata() { super.skrivdata(); System.out.pritl("Studieprogram: " + program); // Tilsvarede i klasse Asatt: public void skrivdata() { super.skrivdata(); System.out.pritl("Løstri: " + løstri); System.out.pritl("Timer: " + atalltimer); 10

11 Kall på super-kostruktøre Superklasses kostruktør ka kalles fra e subklasse ved å si: super(); - vil kalle på e kostruktør ute parametre super(5, test ); - om vi vil kalle på e kostruktør med to parametre (it og Strig) Et kall på super må legges helt i begyelse av kostruktøre. Kaller ma ikke super eksplisitt, vil Java selv legge i kall på super( ) helt først i kostruktøre år programmet kompileres. Hvis e klasse ikke har oe kostruktør, legger Java i e tom kostruktør med kallet super(); 11

12 Iterface Skattbar Bil Miljovelig Lastebil Persobil LastebilMedSkattogMiljo MiljoBil

13 Implemetere et iterface: implemets rolle Bil (i arv) fra klassehierarkiet class Persobil exteds Bil implemets Skattbar { it atpass; double momsgrulag = ; public double toll( ){retur momsgrulag*0.5; public it momssats( ){retur 25; rolle Skattbar class Bil { Strig regnr; Skattbar Bil iterface Skattbar { double toll(); it momssats() ; Persobil 13

14 Samlet import-skatt Skattbar[ ] alle = ew Skattbar [100]; alle[0] = ew Bil( DK12345, ); alle[1] = ew Ost(20,5000); it totalskatt = 0; Type: Skattbar [ ] Nav: alle for (Skattbar de: alle) { if (de!= ull) {totalskatt = totalskatt + de.skatt(); System.out.pritl( Total skatt: + totalskatt); Rolle Skattbar Rolle Bil (utatt Skattbar) Rolle Ost (utatt Skattbar) Veldig viktig og bra eksempel. Dages rosi. 14

15 Objektorieterig hadler om å tydeliggjøre objektees public-metoder. Iterface gjør det. public void setti(it tall) public it taut( ) Ukjet implemetasjo av metode Ukjet implemetasjo av metode Ukjete private data og ukjete private metoder

16 Iterface: Klassehierarki og Java-kode Heltallsbeholder iterface Heltallsbeholder { public void setti(it tall); public it taut( ); EkelHeltallsbeholder class EkelHeltallsbeholder implemets Heltallsbeholder { protected it [ ] tallee = ew it [100]; protected it atall; public void setti(it tall) {... public it taut( ) {... Når e klasse implemeterer et iterface teger vi det este på samme måte som e superklasse / subklasse. For å markere at superklasse ikke er det, me et iterface, ka vi ete skrive iterface i bokse, og/eller vi ka gjøre avet på iterfacet (og bokse?) kursiv. Egelsk: Iterface Norsk: Gresesitt 16

17 Karevalshud KaBjeffe ValigHud Utkledd Karevalshud Dee figure avspeiler iterface -ee og class -ee på este side

18 iterface KaBjeffe{ void bjeff(); iterface Utkledd { it atallfarger(); class ValigHud implemets KaBjeffe { public void bjeff() { System.out.pritl("Vov-vov"); Foto: AP class Karevalshud exteds ValigHud implemets Utkledd { private boolea farger; public Karevallshud (it frg) { farger = frg; public boolea atallfarger() { retur farger;

19 Geeriske iterface Iteface med parametre På samme måte som klasser, ka iterface lages med parametre. class GeeriskBeholderTilE <E> {... iterface Beholder <E> {... ew GeeriskBeholderTilE<Bil>( ); ew Beholder<Bil>( ); 19

20 iterface Beholder <T> { public void setti (T e); public T taut ( ); class GeeriskBeholderTilE <T> implemets Beholder <T> { T dee; public void setti (T e) { dee = e; public T taut ( ) {retur dee; 20

21 Oppsummerig Hva brukes iterface til? Vet hjelp av iterface ka forskjellige klasser og objekter ha det samme gresesittet. Dette er e fordel år vi skal beskrive objekter med felles egeskaper. Et iterface kalles gjere også e rolle (som e subklasse) Noe objekter ka spille flere forskjellig roller (sart: multippel arv) Forskjellige objekter ka implemetere samme rolle på forskjellige måter - ikapslig = skjulig av detaljer

22 Tråder Datamaskiarkitektur prosessor registre cache 1 cache 2 prosessor registre cache 1 Disk System-bus Mie (RAM) IO-bus prosessor registre cache 1 cache 2 prosessor registre cache 1 22

23 Tråder i Java class MiRu implemets Ruable { <datastruktur> public void ru( ) { while (<mer å gjøre>) { <gjør oe>;... E tråd lages og startes opp slik: Thread objekt (e tråd) start tråde mirup ru Ruable mirup = ew MiRu(); Thread tråde = ew Thread(miRuP); tråde.start( ); Her går de ye og de gamle tråde (dette programmet), videre hver for seg start( ) er e metode i Thread som må kalles opp for å få startet tråde. start-metode vil igje kalle metode ru (som vi selv programmerer).

24 Felles data: it peger = 2000; Ekelt eksempel på at to tråder ka ødelegge felles data void ta( ) it x; x = peger; Tråde Ta: Tråde Gi: x -= 500 ; peger = x; void gi( )... felles.ta( ) felles felles.gi( ) felles it x; x = felles.peger; x += 500 ; felles.peger = x;

25 Kritiske regioer / moitor Lock laas = ew ReetratLock(); It peger; 2000 public void gi ( it verdi ) throws IterrupedExceptio laas.lock(); try { peger = peger + verdi; fially { laas.ulock() Tråde Ta: felles felles.ta(500); Tråde Gi: felles felles.gi(500); public void ta ( it verdi ) throws IterrupedExceptio laas.lock(); try { peger = peger - verdi; fially { laas.ulock() E lås (laas) slik at bare e tråd kommer i i moitore om gage (import java.cocurret.locks.*) 25

26 Legg merke til bruke av fially void puti (it verdi) throws IterrupedExceptio { laas.lock(); try { : : fially { laas.ulock(); Da blir laas.ulock() alltid utført!!

27 2 7 µ ytt WIKIPEDIA: Ivariat (computer sciece) I computer sciece, a ivariat is a coditio that ca be relied upo to be true durig executio of a program, or durig some portio of it. It is a logical assertio that is held to always be true durig a certai phase of executio. For example, a loop ivariat is a coditio that is true at the begiig ad ed of every executio of a loop Programmers ofte use assertios i their code to make ivariats explicit. Some object orieted programmig laguages have a special sytax for specifyig class ivariats.

28 Ivariater i løkker Eksempel: Fie miste verdi i tabell misttilnaa 0 misttilnaa ieholder miste verdi i området fra og med tabell [0] til og med tabell[ideks] = Iv(ideks): ideks Iduksjos-basis: ideks = 0 Iduksjos-skritt: ideks = ideks + 1 Resultat: ideks = 999: misttilnaa ieholder miste verdi i området fra og med tabell [0] til og med tabell[999] 999

29 Ivariater i løkker Eksempel: Fie miste verdi i tabell // Vi vet igetig aet e at tabell [0] til og med // tabell[999] ieholder tall. Vi skal fie det miste it misttilnaa = tabell[0]; Iv(0) misttilnaa 0 // misttilnaa ieholder miste verdi i området // fra og med tabell [0] til og med tabell[0] Iduksjosskritt Iduksjosbasis for (ideks = 1; ideks < 1000; ideks ++) { // misttilnaa ieholder miste verdi i området // fra og med tabell [0] til og med tabell[ideks-1] if (misttilnaa > tabell [ideks] ) misttilnaa = tabell[ideks] Iv(ideks) Iv(ideks-1) // mist TilNaa ieholder miste verdi i området // fra og med tabell [0] til og med tabell[ideks] // Nå er ideks == 1000 // misttilnaa ieholder miste verdi i området // fra og med tabell [0] til og med tabell[ideks-1] // Da følger: // misttilnaa ieholder miste verdi i området // fra og med tabell[0] til og med tabell[999]!!!!!! resultat Hvis Iv(ideks) er sat og vi utfører: ideks ++ så er Iv(ideks-1) sat etterpå! 999

30 3 0 Ivariater i løkker Eksempel: Fie miste verdi i tabell misttilnaa // Vi vet igetig aet e at tabell [0] til og med // tabell[999] ieholder tall. Vi skal fie det miste 0 For-betigelse. Egelsk: Pre-coditio Bak-betigelse. Egelsk: Post-coditio (Post-assertio) // misttilnaa ieholder miste verdi i området // fra og med tabell[0] til og med tabell[999]!!!!!! 999

31 Dette har vi sakket om Ivariater i objekter (class ivariates) Ivariat: Alle dataee vi lagrer ligger i tabell[0] til og med tabell [atall 1] og 0 <= atall <= 1000 Ute tråder 0 setti(x) { if (atall == 1000) retur ; atall ++; tabell[atall-1] = x; atall Overbevis deg (og adre) om at metodee bevarer Ivariate!!!!!!!!! (og at de er sa ved oppstart)!!!!!! taut ( ) { if (atall == 0) retur ull; atall --; retur (tabell[atall]); 999

32 Tråder: Produseter og kosumeter produseter p while ( ) { <lag oe>; p.setti(...); void setti( it verdi) <lås> while (full) { ikkefull.await(); // å er bufferet ikke fult < legg i> <lås opp> kosumeter p while ( ) { p.taut <bruk dette>; p while ( ) { <lag oe>; p.setti(...); <lås> If (empty) retur ull; else <ta ut et elemet> // å er bufferet ikke fult ikkefull.sigalall(); retur elemet; <lås opp> it taut p while ( ) { p.taut <bruk dette>; E moitor (et objekt)

33 Lock laas = ew ReetratLock(); Coditio ikkefull = laas.ewcoditio(); Coditio ikketom = laas.ewcoditio(); void setti ( it verdi) throws IterrupedExceptio laas.lock(); try { while (full) ikkefull.await(); // å er det helst sikkert ikke fult : // det er lagt i oe, så det er helt sikkert ikke tomt: ikketom.sigalall(); fially { laas.ulock(); it taut ( ) throws IterrupedExceptio laas.lock(); try { while (tom) ikketom.await(); // å er det helst sikkert ikke tomt; : // det er det tatt ut oe, så det er helt sikkert ikke fult: ikkefull.sigalall(); fially { laas.ulock(); Ofte har vi flere gruer til å vete i e moitor

34 import java.util.cocurret.*; Barrierer i Java Barriere CoutDowLatch mibariere = ew CoutDowLatch(6) mibarriere.await(); mibarriere.coutdow(); tid

35 Amdahls lov E beregig delt opp i parallell går fortere jo mer uavhegig delee er Amdahls lov: Totaltide er tide i parallell + tide det tar å kommuisere / sykroisere/ gjøre felles oppgaver Tide det tar å sykroisere er ikke parallelliserbar (hjelper ikke med flere prosessorer) Me du ka være smart og lage sykroiserige så kort eller mellom så få tråder som mulig total tid Start opp Sykroiser Lag resultat Parallelle beregiger Parallelle beregiger

36 Vraglås (deadlock) Vraglås skjer år flere tråder veter på hveradre i e sykel: Eksempel Veikryss: alle bilee skal stoppe for biler fra høyre -> Alle stopper = VRANGLÅS

37 Vraglås betyr Flere tråder veter på hveradre Syklisk vetig Veter på Veter på Veter på Veter på 37

38 Ugå vraglås 1. Ta bare e ressurs 2. Ta alle eller ige 3. Alle tråder tar alle ressurser i samme rekkefølge Hvis vraglås har oppstått: Fri e og e ressurs til det ikke leger er vraglås 38

39 Ekleste eksempel på vraglås To tråder To ressurser som tas i forskjellig rekkefølge Ressurs 1 Tråd 1 Tråd 2 Ta 1 Ta 2 Ta 2 Ta 1 Fri 1 og 2 Fri 1 og 2 Ressurs

40 Ekleste eksempel på vraglås: To biler ka risikere å vete på hveradre Vestre del Høyre del Smalt veistykke, to biler ka ikke passere hveradre. Bilee ka bare se de første dele

41 Kjør bile Kjør bile Kjør bile Kjør bile Kjør bile Kjør bile Kjør bile Program To moitorer, e for vestre og e høyre Kjør bile Kjør bile Kjør bile Kjør bile Kjør bile Kjør bile Kjør bile Kjør bile Kjør bile Vestre del Høyre del Kjør bile Kjør bile Smalt veistykke 41

INF1010 våren 2017 Torsdag 26. januar. Arv og subklasser del 1. Stein Gjessing Institutt for informatikk Universitetet i Oslo

INF1010 våren 2017 Torsdag 26. januar. Arv og subklasser del 1. Stein Gjessing Institutt for informatikk Universitetet i Oslo INF1010 våre 2017 Torsdag 26. jauar Arv og subklasser del 1 Stei Gjessig Istitutt for iformatikk Uiversitetet i Oslo 1 Når du har lært om subklasser ka du programmere med: Første uke: Spesialiserig (og

Detaljer

INF1010 våren 2017 Torsdag 9. februar. Interface - Grensesnitt

INF1010 våren 2017 Torsdag 9. februar. Interface - Grensesnitt INF1010 våre 2017 Torsdag 9. februar Iterface - Gresesitt og litt om geeriske klasser og geeriske iterface hvis tid Stei Gjessig Dages hovedtema Egelsk: Iterface (også et Java-ord) Norsk: Gresesitt Les

Detaljer

IN1010 våren 2018 Tirsdag 13. februar. Interface - Grensesnitt

IN1010 våren 2018 Tirsdag 13. februar. Interface - Grensesnitt IN1010 våre 2018 Tirsdag 13. februar Iterface - Gresesitt Stei Gjessig Dages hovedtema Egelsk: Iterface (også et Java-ord) Norsk: Gresesitt Les otatet Gresesitt i Java av Stei Gjessig To motivasjoer for

Detaljer

IN1010 våren Repetisjon av tråder. 15. mai 2018

IN1010 våren Repetisjon av tråder. 15. mai 2018 IN1010 våren 2018 Repetisjon av tråder 15. mai 2018 Stein Gjessing,, Universitetet i Oslo 1 Tråder Datamaskinarkitektur prosessor registre cache 1 cache 2 prosessor registre cache 1 Disk System-bus Minne

Detaljer

IN1010 våren 2018 Tirsdag 15. mai. Repetisjon av subklasser og tråder. Stein Gjessing Institutt for informatikk Universitetet i Oslo

IN1010 våren 2018 Tirsdag 15. mai. Repetisjon av subklasser og tråder. Stein Gjessing Institutt for informatikk Universitetet i Oslo IN1010 våren 2018 Tirsdag 15. mai Repetisjon av subklasser og tråder Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 Klassehierarki: Personbil Bil Klasser - Subklasser class Bil {

Detaljer

INF1010 våren 2005 Uke 3, 25. januar Arv og subklasser del I

INF1010 våren 2005 Uke 3, 25. januar Arv og subklasser del I Emeoversikt subklasser INF1010 våre 2005 Uke 3, 25. jauar Arv og subklasser del I Stei Gjessig Istitutt for iformatikk 1 Geeraliserig - spesialiserig Gjebruk av klasser Ved sammesetig (komposisjo) Ved

Detaljer

IN1010 våren 2019 Onsdag 6. februar. Arv og subklasser - del 2

IN1010 våren 2019 Onsdag 6. februar. Arv og subklasser - del 2 IN1010 våre 2019 Osdag 6. februar Arv og subklasser - del 2 Stei Gjessig Dages tema Virtuelle metoder som er det samme som Polymorfi Når bruker vi arv / år bruker vi komposisjo Kostruktører i subklasser

Detaljer

INF1010 Tråder II 6. april 2016

INF1010 Tråder II 6. april 2016 INF1010 Tråder II 6. april 2016 Stein Gjessing Universitetet i Oslo 1 Tråder i Java tråden minrunp class MinRun implements Runable { MinRun(... ) {... } public void run( ) {...... } } //end

Detaljer

n / ($$ n 0$$/ $ " 1! <! ')! $ : ; $.+ $.5.+ .!)/!/ ) $.) 6$ 7$, $.5.,.9+- 5.+ 8$ 7$, + - 5.

n / ($$ n 0$$/ $  1! <! ')! $ : ; $.+ $.5.+ .!)/!/ ) $.) 6$ 7$, $.5.,.9+- 5.+ 8$ 7$, + - 5. "# %% & ' ()*,"""). / " %% &%% / ( 0/ " 1 /(232.,..5. 6 7,.5.,. / : ; 5.. )// ).) 8 < ') < 6 6 8 < 8 8 7,.5.,.9 5. 5. 5. 5. 5.. 5..9 /.> DB(?/ ( / (.?/. /?(5@"""6(?( 5@""6 &. A8 6 (."B 3 8 6 ) ("?/& =

Detaljer

INF1010 våren Arv og subklasser del 1

INF1010 våren Arv og subklasser del 1 INF1010 våren 2016 Torsdag 4. februar Arv og subklasser del 1 Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 Når du har lært om subklasser kan du programmere med: Første uke: Spesialisering

Detaljer

INF1010 våren Arv og subklasser del 1

INF1010 våren Arv og subklasser del 1 INF1010 våren 2015 Torsdag 12. februar Arv og subklasser del 1 Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 Når du har lært om subklasser kan du programmere med: Første uke: Spesialisering

Detaljer

INF3030 Uke 6, våren Eric Jul PSE Inst. for informatikk

INF3030 Uke 6, våren Eric Jul PSE Inst. for informatikk INF3030 Uke 6, våre 2019 Eric Jul PSE Ist. for iformatikk 1 Å dele opp algoritme Kode består e eller flere steg; som oftest i form av e eller flere samliger av løkker (som er ekle, doble, triple..) Vi

Detaljer

Invarianter, +lstander og li1 mer seman+kk

Invarianter, +lstander og li1 mer seman+kk Invarianter, +lstander og li1 mer seman+kk INF1010 14.april 2016 Stein Gjessing April 13, 2016 1 Invariant (= Invariant +lstandspåstand) Vi har se3 flere ganger at det er svært nyjg å formulere +lstandspåstander

Detaljer

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

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

Detaljer

INF3030 Uke 7, våren Eric Jul PSE Inst. for informatikk

INF3030 Uke 7, våren Eric Jul PSE Inst. for informatikk INF3030 Uke 7, våre 2019 Eric Jul PSE Ist. for iformatikk 1 Hva så vi på i uke 6 1. Eratosthees sil 2. Kokker og Kelere 3. Cocurrecy: De første to av tre måter å programmere moitorer i Java eksemplifisert

Detaljer

Tråder i Java Parallelle programmmer og programbiter

Tråder i Java Parallelle programmmer og programbiter Oversikt Tråder i Java Parallelle programmmer og programbiter Stei Gjessig, Ist. for iformatikk, Uiv. i Oslo Hva er parallelle programmer? Hvorfor parallelle programmer? Hvorda ka dette skje i e maski

Detaljer

Om Grafiske Bruker-Grensesnitt (GUI) Hvordan gjør vi det, to typer av vinduer? GUI (Graphical User Interface)-programmering

Om Grafiske Bruker-Grensesnitt (GUI) Hvordan gjør vi det, to typer av vinduer? GUI (Graphical User Interface)-programmering Uke9. mars 2005 rafisk brukergresesitt med Swig og awt Litt Modell Utsy - Kotroll Del I Stei jessig Ist for Iformatikk Uiv. i Oslo UI (raphical User Iterface)-programmerig I dag Hvorda få laget et vidu

Detaljer

INF1010 våren Arv og subklasser - del 2

INF1010 våren Arv og subklasser - del 2 INF1010 våren 2013 Torsdag 14. 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

INF1010 våren Arv, subklasser og grensesnitt - del 2

INF1010 våren Arv, subklasser og grensesnitt - del 2 INF1010 våren 2012 Torsdag 16. februar Arv, subklasser og grensesnitt - del 2 Stein Gjessing Institutt for informatikk Dagens tema nummer 1 Norsk: Grensesnitt Engelsk: Interface 2 Hva er objektorientert

Detaljer

INF2440 Uke 5, våren2018. Eric Jul PSE Inst. for informatikk

INF2440 Uke 5, våren2018. Eric Jul PSE Inst. for informatikk INF2440 Uke 5, våre2018 Eric Jul PSE Ist. for iformatikk 1 Hva så vi på i Uke4 1. Kommetarer om matrise-multiplikasjo 2. Hvorfor vi ikke bruker PRAM modelle for parallelle beregiger som skal gå fort. 3.

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

INF våren 2005 Uke 1, 11 jan - Praktisk, oversikt og forutsetninger

INF våren 2005 Uke 1, 11 jan - Praktisk, oversikt og forutsetninger INF1010 - våre 2005 Uke 1, 11 ja - Praktisk, oversikt og forutsetiger Stei Gjessig og Stei Michael Storleer Ist. for iformatikk Om INF1010 Forutsetter INF1000 (eller tilsvarede som Humit1700?) Lærebok

Detaljer

INF2440, Uke 3, våren 2018 Regler for parallelle programmer, mer om cache og Radix-algoritmen. Eric Jul PSE, Inst. for informatikk

INF2440, Uke 3, våren 2018 Regler for parallelle programmer, mer om cache og Radix-algoritmen. Eric Jul PSE, Inst. for informatikk INF2440, Uke 3, våre 2018 Regler for parallelle programmer, mer om cache og Radix-algoritme Eric Jul PSE, Ist. for iformatikk 1 Hva har vi sett på i Uke2 I) Tre måter å avslutte tråder vi har startet.

Detaljer

INF1010 - våren 2007 16. januar, uke 3 - Oversikt og forutsetninger Java datastruktur-tegninger

INF1010 - våren 2007 16. januar, uke 3 - Oversikt og forutsetninger Java datastruktur-tegninger INF1010 - våre 2007 16. jauar, uke 3 - Oversikt og forutsetiger Java datastruktur-tegiger Stei Gjessig Ist. for iformatikk Nye temaer i INF1010 Fra problem til program Software Egieerig light, fasee i

Detaljer

Vi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. Inf 1010-2007 GUI - del 2

Vi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. Inf 1010-2007 GUI - del 2 GUI (Graphical User Iterface)-programmerig If 1010-2007 GUI - del 2 Stei Gjessig Ist for Iformatikk Uiv. i Oslo Tidligere Hvorda få laget et vidu på skjerme Grafikk (tegig i viduet) Hvorda legge ulike

Detaljer

Hvordan gjør vi det, to typer av vinduer? Om Grafiske Bruker-Grensesnitt (GUI) GUI (Graphical User Interface)-programmering

Hvordan gjør vi det, to typer av vinduer? Om Grafiske Bruker-Grensesnitt (GUI) GUI (Graphical User Interface)-programmering GUI (Graphical User Iterface)-programmerig Uke 11 13. mars 2007 Grafisk brukergresesitt med Swig og awt Litt Modell Utsy - Kotroll Del I Stei Gjessig Ist for Iformatikk Uiv. i Oslo I dag (så lagt vi kommer)

Detaljer

Repitisjonskurs. Arv, Subklasser og Grensesnitt

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

Detaljer

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

INF2440 Uke 6, våren Eric Jul PSE Inst. for informatikk

INF2440 Uke 6, våren Eric Jul PSE Inst. for informatikk INF2440 Uke 6, våre 2018 Eric Jul PSE Ist. for iformatikk 1 Hva så vi på i uke 5 (ku første forelesigstime) 1. Eda bedre Matrise-multipliserig 2. Modell2-kode for sammeligig av kjøretider på (ekle) parallelle

Detaljer

Stabler, Køer og Lister. ADT er

Stabler, Køer og Lister. ADT er Stabler, er og Lister I. STEL OG QUEUE DT I.1 DT I.2 rray implemetasjo I.3 Liket-Liste implemetasjo II. DQUEUE DT III.IMPLEMENTSJON V EN DT MED EN NNEN DT Kap. 3 (kursorisk: 3.1.3, 3.2.3, 3.4; utatt: 3.2.4,

Detaljer

INF1010 oversikt med

INF1010 oversikt med INF1010 oversikt med Subklasser mm Unntaksbehandling GUI Tråder 12. mai 2009 Stein Gjessing Model View Control main navn: bnk type: BankKontroll bnk = new BankKontroll(); bnk.ordreløkke(); BankKontrollklassedatastruktur

Detaljer

INF2440 Uke 4, v2018 Om å samle parallelle svar, matrisemultiplikasjon og The Java Memory Model. Eric Jul PSE, Inst.

INF2440 Uke 4, v2018 Om å samle parallelle svar, matrisemultiplikasjon og The Java Memory Model. Eric Jul PSE, Inst. INF2440 Uke 4, v2018 Om å samle parallelle svar, matrisemultiplikasjo og The Java Memory Model Eric Jul PSE, Ist. for iformatikk 1 Hva så vi på i uke 3 1. Presiserig av hva som er pesum 2. Samtidig skrivig

Detaljer

INF1010 våren 2005 Uke 4, 1. februar Arv og subklasser, del 2

INF1010 våren 2005 Uke 4, 1. februar Arv og subklasser, del 2 INF1010 våre 2005 Uke 4, 1. februar Arv og subklasser, del 2 Stei Gjessig Istitutt for iformatikk Repetisjo Vi har sett to former for gjebruk av klasser: Ved sammesetig (komposisjo) Modellerer relasjoer

Detaljer

INF1010 våren Grensesnitt

INF1010 våren Grensesnitt INF1010 våren 2013 Torsdag 24. januar Grensesnitt Stein Gjessing Institutt for informatikk Dagens tema n n Norsk: Grensesnitt Engelsk: Interface n Les notatet Grensesnitt i Java av Stein Gjessing 2 Hva

Detaljer

Mer om utvalgsundersøkelser

Mer om utvalgsundersøkelser Mer om utvalgsudersøkelser I uderkapittel 3.6 i læreboka gir vi e kort iførig i takegage ved utvalgsudersøkelser. Vi gir her e grudigere framstillig av temaet. Populasjo og utvalg Ved e utvalgsudersøkelse

Detaljer

IN1010 våren 2018 Tirsdag 6. februar. Arv og subklasser - del 2

IN1010 våren 2018 Tirsdag 6. februar. Arv og subklasser - del 2 IN1010 våren 2018 Tirsdag 6. februar Arv og subklasser - del 2 Stein Gjessing og Dag Langmyhr Dagens tema Virtuelle metoder som er det samme som Polymorfi Når bruker vi arv / når bruker vi komposisjon

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

INF1010 våren 2017 Torsdag 2. februar. Arv og subklasser - del 2

INF1010 våren 2017 Torsdag 2. februar. Arv og subklasser - del 2 INF1010 våren 2017 Torsdag 2. februar Arv og subklasser - del 2 Stein Gjessing Dagens tema Virtuelle metoder som er det samme som Polymorfi Når bruker vi arv / når bruker vi komposisjon Konstruktører i

Detaljer

INF2440 Effektiv Parallellprogrammering Uke 2 våren tidtaking. Eric Jul PSE Inst. for informatikk

INF2440 Effektiv Parallellprogrammering Uke 2 våren tidtaking. Eric Jul PSE Inst. for informatikk INF2440 Effektiv Parallellprogrammerig Uke 2 våre 2018 - tidtakig Eric Jul PSE Ist. for iformatikk 1 Oppsummerig Uke1 Vi har gjeomgått hvorfor vi får flere-kjere CPUer Tråder er måte som et Javaprogram

Detaljer

INF1010 våren Grensesnitt

INF1010 våren Grensesnitt INF1010 våren 2014 Onsdag 22. januar Grensesnitt Stein Gjessing Institutt for informatikk Dagens tema n n Norsk: Grensesnitt Engelsk: Interface n Les notatet Grensesnitt i Java av Stein Gjessing n Det

Detaljer

INF1010 våren februar. Arv og subklasser, del 2

INF1010 våren februar. Arv og subklasser, del 2 INF1010 våren 2009 3. februar Arv og subklasser, del 2 En forsmak på interface (grensesnitt) Stein Gjessing Repetisjon Vi har sett to former for gjenbruk av klasser: Gammel: Ved sammensetning (komposisjon)

Detaljer

INF1010 våren Grensesnitt (interface)

INF1010 våren Grensesnitt (interface) INF1010 våren 2015 Torsdag 5. februar Grensesnitt (interface) Stein Gjessing Institutt for informatikk Dagens tema n n Norsk: Grensesnitt Engelsk: Interface n Les notatet Grensesnitt i Java av Stein Gjessing

Detaljer

INF1010 våren Arv og subklasser, del 2

INF1010 våren Arv og subklasser, del 2 INF1010 våren 2010 Torsdag 4. februar Arv og subklasser, del 2 Stein Gjessing Institutt for informatikk Repetisjon Vi har sett to former for gjenbruk av klasser: Gammel: Ved sammensetning (komposisjon)

Detaljer

INF1010 våren februar. Arv og subklasser, del 2. Repetisjon. Repetisjon - Biler. Repetisjon: Klasser - Subklasser

INF1010 våren februar. Arv og subklasser, del 2. Repetisjon. Repetisjon - Biler. Repetisjon: Klasser - Subklasser INF1010 våren 2009 3. februar Arv og subklasser, del 2 En forsmak på interface (grensesnitt) Stein Gjessing Repetisjon Vi har sett to former for gjenbruk av klasser: Gammel: Ved sammensetning (komposisjon)

Detaljer

IN3030 Uke 5, våren Eric Jul PSE Inst. for informatikk

IN3030 Uke 5, våren Eric Jul PSE Inst. for informatikk IN3030 Uke 5, våre 2019 Eric Jul PSE Ist. for iformatikk 1 Hva så vi på i Uke4 1. Kommetarer om matrise-multiplikasjo 2. Hvorfor vi ikke bruker PRAM modelle for parallelle beregiger som skal gå fort. 3.

Detaljer

EKSAMEN Løsningsforslag

EKSAMEN Løsningsforslag ..4 EKSAMEN Løsigsforslag Emekode: ITF75 Dato: 6. desember Eme: Matematikk for IT Eksamestid: kl 9. til kl. Hjelpemidler: To A4-ark med valgfritt ihold på begge sider. Kalkulator er ikke tillatt. Faglærer:

Detaljer

IN3030 Uke 12, v2019. Eric Jul PSE, Inst. for informatikk

IN3030 Uke 12, v2019. Eric Jul PSE, Inst. for informatikk IN3030 Uke 12, v2019 Eric Jul PSE, Ist. for iformatikk 1 Hva skal vi se på i Uke 12 Review Radix sort Oblig 4 Text Program Parallellizig 2 Oblig 4 Radix sort Parallelliser Radix-sorterig med fra 1 5 sifre

Detaljer

Tråder del 2 Våren Stein Gjessing Institutt for informatikk Universitetet i Oslo

Tråder del 2 Våren Stein Gjessing Institutt for informatikk Universitetet i Oslo Tråder del 2 Våren 2008 Stein Gjessing Institutt for informatikk Universitetet i Oslo Om parallellitet En beregning delt opp i parallell går fortere jo mer uavhengig delene er Amdahls lov: Totaltiden er

Detaljer

INF1010 oversikt med

INF1010 oversikt med INF1010 oversikt med Subklasser mm Unntaksbehandling GUI Tråder 20. mai 2010 Stein Gjessing Model View Control main navn: bnk type: BankKontroll bnk = new BankKontroll(); bnk.ordreløkke(); BankKontrollklassedatastruktur

Detaljer

UNIVERSITETET I OSLO

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

Detaljer

INF2440 Effektiv parallellprogrammering Uke 1, våren Eric Jul Professor PSE Institutt for Informatikk

INF2440 Effektiv parallellprogrammering Uke 1, våren Eric Jul Professor PSE Institutt for Informatikk INF2440 Effektiv parallellprogrammerig Uke 1, våre 2018 Eric Jul Professor PSE Istitutt for Iformatikk 1 Litt om Eric Ph.D. Uiversity of Washigto, 1989 Dask-amerikaer Bor i Damark pedler til Oslo ca 3-4

Detaljer

Post-it spørsmål fra timen (Arv og subklasser)

Post-it spørsmål fra timen (Arv og subklasser) Post-it spørsmål fra timen 30.01 (Arv og subklasser) Tegning Spørsmål: Skjønte ikke tegningene Hater tegningene. Lær meg å tegne. Mvh frustrert elev. Spørsmål: Datastruktur-tegning, og hvor mye detaljer

Detaljer

Uke 12 IN3030 v2019. Eric Jul PSE-gruppa Ifi, UiO

Uke 12 IN3030 v2019. Eric Jul PSE-gruppa Ifi, UiO Uke 12 IN3030 v2019 Eric Jul PSE-gruppa Ifi, UiO Oblig 5 Kovekse Ihylliga Itroduksjo De kovekse ihylliga til pukter Oblig 5 Hva er det, defiisjo Hvorda ser de ut Hva brukes de til? Hvorda fier vi de? 24

Detaljer

Start opp. Prosess 3 Meldingsutveksling Operativsystemet (styrer alt og sørger for kommunikasjon mellom prosesser)

Start opp. Prosess 3 Meldingsutveksling Operativsystemet (styrer alt og sørger for kommunikasjon mellom prosesser) Om parallellitet Tråder del 2 Våren 2008 Stein Gjessing Institutt for informatikk Universitetet i Oslo En beregning delt opp i parallell går fortere jo mer uavhengig delene er Amdahls lov Totaltiden er

Detaljer

INF1010 våren Generalisering -spesialisering Gjenbruk av klasser. Ved arv. Klasse-hierarkier. Stein Gjessing.

INF1010 våren Generalisering -spesialisering Gjenbruk av klasser. Ved arv. Klasse-hierarkier. Stein Gjessing. INF1010 våren 2009 Uke 5, 27. januar Arv og subklasser del I Stein Gjessing Institutt for informatikk 1 Emneoversikt subklasser Generalisering -spesialisering Gjenbruk av klasser Ved sammensetning (komposisjon)

Detaljer

Konfidensintervall. Notat til STK1110. Ørnulf Borgan, Ingrid K. Glad og Anders Rygh Swensen Matematisk institutt, Universitetet i Oslo.

Konfidensintervall. Notat til STK1110. Ørnulf Borgan, Ingrid K. Glad og Anders Rygh Swensen Matematisk institutt, Universitetet i Oslo. Kofidesitervall Notat til STK1110 Ørulf Borga, Igrid K. Glad og Aders Rygh Swese Matematisk istitutt, Uiversitetet i Oslo August 2007 Formål E valig metode for å agi usikkerhete til et estimat er å berege

Detaljer

Kommentarer til oppgaver;

Kommentarer til oppgaver; Kapittel - Algebra Versjo: 11.09.1 - Rettet feil i 0, 1 og 70 og lagt i litt om GeoGebra-bruk Kommetarer til oppgaver; 0, 05, 10, 13, 15, 5, 9, 37, 5,, 5, 59, 1, 70, 7, 78, 80,81 0 a) Trykkfeil i D-koloe

Detaljer

Obligatorisk oppgave nr. 3 i Diskret matematikk

Obligatorisk oppgave nr. 3 i Diskret matematikk 3. obligatoriske oppgave i Diskret matematikk høste 08. Obligatorisk oppgave r. 3 i Diskret matematikk Ileverigsfrist. ovember 08 Oppgave er frivillig og tregs ikke leveres, me hvis dere leverer de ie

Detaljer

Påliteligheten til en stikkprøve

Påliteligheten til en stikkprøve Pålitelighete til e stikkprøve Om origiale... 1 Beskrivelse... 2 Oppgaver... 4 Løsigsforslag... 4 Didaktisk bakgru... 5 Om origiale "Zuverlässigkeit eier Stichprobe" på http://www.mathe-olie.at/galerie/wstat2/stichprobe/dee

Detaljer

H 1 : µ 1 µ 2 > 0. t = ( x 1 x 2 ) (µ 1 µ 2 ) s p. s 2 p = s2 1 (n 1 1) + s 2 2 (n 2 1) n 1 + n 2 2

H 1 : µ 1 µ 2 > 0. t = ( x 1 x 2 ) (µ 1 µ 2 ) s p. s 2 p = s2 1 (n 1 1) + s 2 2 (n 2 1) n 1 + n 2 2 TMA4245 Statistikk Norges tekisk-aturviteskapelige uiversitet Istitutt for matematiske fag Øvig ummer b4 Løsigsskisse Oppgave 1 Vi øsker å fie ut om et ytt serum ka stase leukemi. 5 mus får serumet, 4

Detaljer

INF1010 våren Arv og subklasser, del 2

INF1010 våren Arv og subklasser, del 2 INF1010 våren 2011 Torsdag 10. februar Arv og subklasser, del 2 (og litt generiske typer) Stein Gjessing Institutt for informatikk Klassehierarki: Personbil Bil Repetisjon: Biler! class Bil {

Detaljer

INF1010 våren Interface (Grensesnitt)

INF1010 våren Interface (Grensesnitt) INF1010 våren 2016 Torsdag 28. januar Interface (Grensesnitt) og litt annet, bl.a. om enhetstesting Stein Gjessing Institutt for informatikk Dagens tema n n Norsk: Grensesnitt Engelsk: Interface n Les

Detaljer

INF1010 våren januar. Objektorientering i Java

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

Detaljer

Uke 5, 27. januar Arv og subklasser del I. Stein Gjessing Institutt for informatikk

Uke 5, 27. januar Arv og subklasser del I. Stein Gjessing Institutt for informatikk INF1010 våren 2009 Uke 5, 27. januar Arv og subklasser del I Stein Gjessing Institutt for informatikk 1 Emneoversikt subklasser Generalisering - spesialisering Gjenbruk av klasser Ved sammensetning (komposisjon)

Detaljer

Differensligninger Forelesningsnotat i Diskret matematikk Differensligninger

Differensligninger Forelesningsnotat i Diskret matematikk Differensligninger Differesligiger Forelesigsotat i Diskret matematikk 017 Differesligiger I kapittel lærte vi om følger og rekker. Vi studerte både aritmetiske og geometriske følger og rekker. Noe følger og rekker er imidlertid

Detaljer

) = P(Z > 0.555) = > ) = P(Z > 2.22) = 0.013

) = P(Z > 0.555) = > ) = P(Z > 2.22) = 0.013 TMA4240 Statistikk Vår 2008 Norges tekisk-aturviteskapelige uiversitet Istitutt for matematiske fag Øvig ummer b5 Løsigsskisse Oppgave 1 a) X 1,...,X 16 er u.i.f. N(80,18 2 ). Setter Y = X. i) P(X 1 >

Detaljer

Avsnitt 8.1 i læreboka Differensligninger

Avsnitt 8.1 i læreboka Differensligninger Diskret Matematikk Fredag 6. ovember 015 Avsitt 8.1 i læreboka Differesligiger I kapittel lærte vi om følger og rekker. Vi studerte både aritmetiske og geometriske følger og rekker. Noe følger og rekker

Detaljer

INF Notater. Veronika Heimsbakk 10. juni 2012

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

Detaljer

IN Våren 2019 Tråder del mars 2019

IN Våren 2019 Tråder del mars 2019 IN1010 - Våren 2019 Tråder del 1 27. mars 2019 Stein Gjessing,, Universitetet i Oslo Horstmann kap 20.1 20.3 1 Maskin med 8 kjerner 2 Oversikt Hva er parallelle programmer? Hvorfor parallelle programmer?

Detaljer

Econ 2130 uke 15 (HG) Poissonfordelingen og innføring i estimering

Econ 2130 uke 15 (HG) Poissonfordelingen og innføring i estimering Eco 130 uke 15 (HG) Poissofordelige og iførig i estimerig 1 Poissofordelige (i) Tilærmig til biomialfordelige. Regel. ( Poissotilærmelse ) Ata Y ~ bi(, p) E( Y ) = p og var( Y ) = p(1 p). Hvis er stor

Detaljer

INF1010 våren Arv og subklasser del 1 pluss (hvis vi har tid) litt om Unntak, IO og Scanner-klassen

INF1010 våren Arv og subklasser del 1 pluss (hvis vi har tid) litt om Unntak, IO og Scanner-klassen INF1010 våren 2014 Onsdag 5. februar Arv og subklasser del 1 pluss (hvis vi har tid) litt om Unntak, IO og Scanner-klassen Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 Når du har lært

Detaljer

INF Våren 2017 Tråder del 1

INF Våren 2017 Tråder del 1 INF1010 - Våren 2017 Tråder del 1 23. mars 2017 Stein Gjessing,, Universitetet i Oslo Horstmann kap 20.1 20.3 1 Maskin med 8 kjerner 2 Oversikt Hva er parallelle programmer? Hvorfor parallelle programmer?

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

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

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

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

Detaljer

Arkitektur mm. Forelesning

Arkitektur mm. Forelesning Istitutt for iformatikk Pesum litteratur : Arkitektur mm Forelesig 18.03.2003 - Mathiasse et al OOA&D, kap. 8-11 - Skagestei : Are use cases ecessarily the best start of a OO system developmet process

Detaljer

PrioritetsKøer. i-120 : H PrioritetsKøer: 1. Container. n-te/vilkårlig. PositionalContainer. PositionalSequence. Tree. Deque PriorityQueue

PrioritetsKøer. i-120 : H PrioritetsKøer: 1. Container. n-te/vilkårlig. PositionalContainer. PositionalSequence. Tree. Deque PriorityQueue PrioritetsKøer I. ADGANG TIL ELEMENTER I EN SAMLING gjeom Positio gjeom økkel II. TOTALE ORDNINGER OG NØKLER III.PRIORITETSKØ ADT PrioritetsKø-Sorterig IV. IMPLEMENTASJON MED SEQUENCE ADT V. IMPLEMENTASJON

Detaljer

UNIVERSITETET I OSLO

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

Detaljer

INF1010 - Seminaroppgaver til uke 3

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

Detaljer

Unntak og feilsituasjoner i Java (samt litt ekte Java I/O)

Unntak og feilsituasjoner i Java (samt litt ekte Java I/O) Utak og feilsituasjoer i Java (samt litt ekte Java I/O) Stei Gjessig, Istitutt for iformatikk, Uiversitetet i Oslo Oversikt Hva er e feil (er det ikke mulig å ugå feil?) Hva skjer år et program feiler

Detaljer

INF1010 våren 2007 Uke 6, 6. februar Arv og subklasser, del 2

INF1010 våren 2007 Uke 6, 6. februar Arv og subklasser, del 2 Repetisjon INF1010 våren 2007 Uke 6, 6. februar Arv og subklasser, del 2 Stein Gjessing Institutt for informatikk Vi har sett to former for gjenbruk av klasser: Gammel: Ved sammensetning (komposisjon)

Detaljer

2.1 Polynomdivisjon. Oppgave 2.10

2.1 Polynomdivisjon. Oppgave 2.10 . Polyomdivisjo Oppgave. ( 5 + ) : = + + ( + ):( ) 6 + 6 8 8 = + + c) ( + 5 ) : = + 6 6 d) + + + = + + = + + + 8+ ( ):( ) + + + Oppgave. ( + 5+ ):( ) 5 + + = + ( 5 ): 9 + + + = + + + 5 + 6 9 c) ( 8 66

Detaljer

INF våren 2004 Uke2, 18 jan - Fra problem til program. Utvikling av store datasystemer. 13 UML-diagrammer. Oversikt:

INF våren 2004 Uke2, 18 jan - Fra problem til program. Utvikling av store datasystemer. 13 UML-diagrammer. Oversikt: 13 UML-diagrammer INF1010 - våre 2004 Uke2, 18 ja - Fra problem til program Objektdiagram: Vi kommer til å tege Java datastrukturer istede. Stei Gjessig Ist. for iformatikk Klassediagram: Oversikt: Utviklig

Detaljer

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

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

Detaljer

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

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

Detaljer

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

Løsningsforslag: Deloppgave om heuristiske søkemetoder

Løsningsforslag: Deloppgave om heuristiske søkemetoder Løsigsforslag: Deloppgave om heuristiske søkemetoder 6. mai 00 Iledig Vi skal betrakte det såkalte grafdeligsproblemet (graph partitioig problem). Problemet ka ekelt formuleres som følger: Gitt e graf

Detaljer

INF1010 Eksamenstips. Løsningsforslag prøveeksamen del 1.

INF1010 Eksamenstips. Løsningsforslag prøveeksamen del 1. INF1010 Eksamenstips Løsningsforslag prøveeksamen del 1. michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 2 Les igjennom hele oppgaven. Les igjennom hele oppgaven en gang til, marker i teksten ting

Detaljer

Kapittel 10 fra læreboka Grafer

Kapittel 10 fra læreboka Grafer Forelesigsotat i Diskret matematikk torsdag 6. oktober 017 Kapittel 10 fra læreboka Grafer (utdrag) E graf er e samlig pukter (oder) og kater mellom puktee (eg. odes, vertex, edge). E graf kalles rettet

Detaljer

ÅMA110 Sannsynlighetsregning med statistikk, våren 2010 Kp. 6, del 5

ÅMA110 Sannsynlighetsregning med statistikk, våren 2010 Kp. 6, del 5 ÅMA110 Sasylighetsregig med statistikk, våre 2010 Kp. 6, del 5 Bjør H. Auestad Istitutt for matematikk og aturviteskap Uiversitetet i Stavager 12. april Bjør H. Auestad Kp. 6: Hypotesetestig del 4 1/ 59

Detaljer

INF1010 våren 2010 Torsdag 4. februar. Arv og subklasser del I. Emneoversikt subklasser (2 uker) Hva er en subklasse? Eksempel: Universitetsregister

INF1010 våren 2010 Torsdag 4. februar. Arv og subklasser del I. Emneoversikt subklasser (2 uker) Hva er en subklasse? Eksempel: Universitetsregister INF1010 våren 2010 Torsdag 4. februar Arv og subklasser del I Stein Gjessing Institutt for informatikk 1 Emneoversikt subklasser (2 uker) Generalisering - spesialisering Gjenbruk av klasser Ved sammensetning

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

Duo HOME Duo OFFICE. Programmerings manual NO 65.044.30-1

Duo HOME Duo OFFICE. Programmerings manual NO 65.044.30-1 Duo HOME Duo OFFICE Programmerigs maual NO 65.044.30-1 INNHOLD Tekisk data Side 2 Systemiformasjo, brukere Side 3-4 Legge til og slette brukere Side 5-7 Edrig av sikkerhetsivå Side 8 Programmere: Nødkode

Detaljer

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

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

Detaljer

Kap. 9: Inferens om én populasjon. Egenskaper ved t-fordelingen. ST0202 Statistikk for samfunnsvitere. I Kapittel 8 brukte vi observatoren

Kap. 9: Inferens om én populasjon. Egenskaper ved t-fordelingen. ST0202 Statistikk for samfunnsvitere. I Kapittel 8 brukte vi observatoren 2 Kap. 9: Iferes om é populasjo I Kapittel 8 brukte vi observatore z = x μ σ/ for å trekke koklusjoer om μ. Dette krever kjet σ (urealistisk). ST0202 Statistikk for samfusvitere Bo Lidqvist Istitutt for

Detaljer

Fakultet for teknologi, kunst og design Teknologiske fag Eksamen i: Diskret matematikk

Fakultet for teknologi, kunst og design Teknologiske fag Eksamen i: Diskret matematikk Fakultet for tekologi, kust og desig Tekologiske fag Eksame i: Diskret matematikk Målform: Bokmål Dato: 9. ovember 017 Tid: Atall sider (ikl. forside): 9 Atall oppgaver: 6 Tillatte hjelpemidler: Forhådsgodkjet

Detaljer

Matematikk for IT. Oblig 7 løsningsforslag. 16. oktober

Matematikk for IT. Oblig 7 løsningsforslag. 16. oktober Matematikk for IT Oblig 7 løsigsforslag. oktober 7..8 a) Vi skal dae kodeord som består av sifree,,,, 7. odeordet er gldig dersom det ieholder et like atall (partall) -ere. Dee løses på samme måte som..:

Detaljer