Tor-Eirik Bakke Lunde

Størrelse: px
Begynne med side:

Download "Tor-Eirik Bakke Lunde"

Transkript

1 Obligatorisk oppgave 1 INF-3201 < Parallellprogrammering> 13. oktober 2003 Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no

2 0: Analyse av sekvensiell kode: Identifiser og beskriv datastrukturer: Den sekvensielle nbody-koden benytter seg av to datastrukturer for å lagre data. Hvorav strukturen coords definerer to double verdier for å angi enheter fordelt i henholdsvis x og y retning, og strukturen body_s utgjør lagringstypen som blir bruk for å danne den enkeltlinkede listen som benyttes. I seg selv er disse fullt brukbare i sekvensiell kode, men for å parallellisere koden må bruken av disse elimineres eventuelt overføres til noe mer brukbart (fra mpi bibliotekets standpunkt). Dette rett og slett fordi lenkede lister per definisjon har hvert element spredd utover det fysiske minnet, og det ville vært betraktelig enklere dersom det lå sekvensielt og en kunne håndtere en enkelt blokk data, istedenfor x antall små. For å oppsummere hovedsaklige datastrukturer: coords datastruktur body_s datastruktur, sammensatt av coords og 2stk pointere. Enkeltlenket list, bestående av body_s for organisering av data. Størrelse varierende etter inndata. Identifiser dataavhengigheter: Ved å studere metoden calculate_forces er det lett å se at algoritmen ikke har noen hukommelse, dvs at hvert resultatene fra hvert tidssteg ikke er direkte avhengige av hverandre utover å danne grunnlaget for neste kalkulasjoner (F.eks Leapfrog algoritmen der enkelte verdier kalkuleres vekselvis). Utdrag: if (i == j) continue;... b[i]->f.x = b[i]->f.x + magnitude * direction.x / distance; b[j]->f.x = b[j]->f.x - magnitude * direction.x / distance; b[i]->f.y = b[i]->f.y + magnitude * direction.y / distance; b[j]->f.y = b[j]->f.y - magnitude * direction.y / distance; Ved å se på utdraget fra calculate_forces ovenfra kan en se at algoritmen for hver gjennomgang av påvirker verdiene til ikke bare element i, men også element j. Dette er en teknikk brukt for å øke ytelsen til denne sekvensielle algoritmen ved å utnytte at element i påvirker en kraft f ij på element j, og dermed også at element j påvirker i med en kraft f ji. Forholdet mellom disse to kreftene er ganske enkelt: f ij = - f ji Dette kunne blitt utnyttet bedre og spart ytterligere kalkulasjoner. If setningen inkludert øverst er tatt med ettersom at det ble antydet at denne var feil, men ved studie av kode kan man se at dersom en beregner avstanden mellom element i og j, når i==j vil en finne at de da er samme element og avstanden mellom dem blir følgelig null. De neste linjene i utdraget ville da endt opp som division by zero og resultatet lagret ville følgelig være nan (Not a number). Oppsummering: Resultater fra en gjennomgang av kode danner datagrunnlaget for neste. Utregninger utført påvirker både element j og i.

3 Finn Big-O for algoritmene: I den stand den sekvensielle algoritmen ble utlevert kan man observere følgende: for (i = 0; i < N; i++) { for (j = 0; j < N; j++) {... } } Utfra dette er det lett å konkludere med at algoritmen i O-notasjon tilsvarer O(n 2 + n), der + n vil være marginal ved stor N derfor står en igjen med den dominerende delen - O(n 2 ).

4 1: Parallellisering (Decomposition): Global synkronisering ved hver tidsperiode Data kun avhengig av data fra forrige tidsperiode (med litt modifikasjon som forklart i analysen av dataavhengigheter) Elementer kun avhengig av data fra forrige tidsperiode. Identifisering av parallelliserbare punkter: Hovedarbeidet som blir gjort i den sekvensielle koden utover rent initialisering og innlesing av data fra hard-disk blir foretatt i funksjonene calculate_forces og move_bodies, og det er her nøkkelen til en potensielt økt ytelse ligger. Funksjonene calculate_forces : O(n 2 ), dvs svært kostbar løkke og skal parallelliseres. Funksjonen move_bodies : O(n), enkel løkke som oppdaterer elementenes posisjon etter hver kalkulasjon. Selve parallelliseringen: Valgte en svært enkel løsning, med å benytte seg av en mindre effektiv, men fortsatt mye bedre parallellisert O(n 2 ) algoritme. Datastrukturer: Den sekvensielle koden benytter seg av en linket liste som er vanskelig og en stor feilkilde under utvikling av parallelle programmer, samt at vi trenger en datatype MPI forstår. Derfor definerer vi en ny datastruktur som er mer MPI-vennlig, og vises nedenfor. typedef struct { double px, py; double vx, vy; double fx, fy; double m; } Body; MPI_Datatype MPI_BODY; Ved å benytte oss av en slik struktur, bestående av homogene datatyper kan en definere en ny MPIdatatype basert på denne. Etter å ha gjort dette kan en med enkelhet utveksle data av denne typen uten frykt for feil. Fremgangsmåten for dette vises nedenfor, og er avhengig av dataen definert i forrige kodeutsnitt. MPI_Type_contiguous(7, MPI_DOUBLE, &MPI_BODY); MPI_Type_commit(&MPI_BODY); Ettersom vi allerede har funksjonalitet som leser data inn fra filer ville det vært bortkastet å prøve å spare noen få prosessorsykluser på å skrive om disse. Isteden defineres en ny pointer øverst i koden, og etter at data er lest inn fra disk allokeres en passende stor datablokk for å holde denne dataen og kopierer dem inn i det mer brukbare formatet, og måten dette blir gjort på kan observeres i siste delen av read_input funksjonene. Algoritmen: Som nevnt er dataen som brukes (lagret i minneområdet referert til av pekeren bodies ) avhengig kun av forrige tidsperiode. Dermed kan en sikkert dele opp elementene i grupper, der hver gruppe elementer

5 blir tildelt en prosess som skal foreta utregningene på dem. Ettersom denne implementasjonen er av en enkel type trenger en bare gjøre dette en gang, og blir da gjort under initialiseringen i starten av programmet. Den parallelle algoritmen fungerer nå slik: 1. Root prosessen broadcaster all informasjon ut til hver prosess. 2. Hver prosess foretar utregninger på sin utdelte gruppe elementer, inkludert regne ut krefter og endre posisjoner. 3. Root samler inn all data, slik at den har oppdatert informasjon om hvert element. 4. Gjenta steg 1-3 for hver tidsperiode Tildeling av arbeidsområde (Assignment): Statisk tildeling av grupper av elementer, p prosesser, rang 0 (p-1). Grupper blir dannet opprettet slik etter at root har lest inn data fra disk, og sendt ut antallet elementer (N) til resten av prosessene: mystart = (int *) malloc(size * sizeof(int)); myend = (int *) malloc(size * sizeof(int)); mystart[0] = 0; myend[0] = N / size; for (i = 1; i < size; i++) { mystart[i] = myend[i - 1]; myend[i] = mystart[i] + N / size; } myend[size - 1] = N; Prosess i blir tildelt element mystart[i] til myend[i]. God arbeidsfordeling ettersom hver prosess arbeider like mye (antallet elementer kan gi en prosess noen elementer mindre, men ingen som får en størstepart.). Dersom programmet kjøres i ett homogent miljø vil dette fungere utmerket, viss ikke vil den raskeste prosessen bli stående og vente på de tregere prosessene. Utveksling av data: Root foretar MPI_Bcast( ), og dermed kopierer all data om alle elementene ut til hver prosess. Etter å ha gjennomført sine kalkulasjoner sender hver prosess sitt resultat til root prosessen, som da setter det hele sammen til ett helhetlig resultat. Dette gjøres ved at MPI_Recv( ) kjøres i en løkke på root prosessen og tar imot data fra de andre prosessene.

6 2. Evaluering: Ettersom mye utveksling av data foregår innblandet i utregningene, så istedenfor da å tynge ned algoritmen med tidsutregninger har jeg valgt å ta en enkel løsning der initialisering plasseres utenfor målingen og slår sammen tid brukt på utregning og utveksling av data. Dette vil si at for å få ett bedre bilde av hva som foregår tas tiden ifra algoritmens run( ) starter og til den er ferdig. Selve tidsmekanismen som benyttes er MPI sin egen MPI_Wtime() funksjon. I den sekvensielle koden er ikke denne funksjonen tilgjengelig, så der er tiden differansen mellom to timeval strukturer som er fylt med data av ett kall til gettimeofday() funksjonen. Selve målingene foretas på økende antall bodies fordelt på forskjellige antall prosesser brukt til selve utregningene. Henholdsvis 100, 250, 500, 750 og 1000 bodies på 1 (sekvensiell kode), 2, 4 og 6 prosesser. Alle målingene er foretatt på Snowstorm clusteret, og nodene Compute-1-[0-5]. De kalkulerte tidene, vist på y aksen, viser hvor lang tid kalkulasjonene tok ved forskjellige mengder elementer, vist på y aksen. Den sekvensielle koden gjorde det rimelig akseptabelt med ett lavere antall elementer, men ved høyere antall elementer går med høy fart imot en praktisk uendelighet når det kommer til prosesseringstid. Ettersom den parallelle algoritmen er avhengig å overføre mye data blir fortjenesten med å øke antallet prosesser stadig mindre, men sammenlignet med den sekvensielle gjør selv bruken av to prosesser en betraktelig forskjell. En kan tydelig se ut fra grafen at ved å øke antallet prosesser fra 2 til 6 blir ikke prosesseringstiden redusert med 2/3, men kun litt over halvert dette illustrerer hvordan økt dataoverføring til slutt kommer til å overta som den begrensede ressursen, og ikke prosessering som var tilfellet tilfelle. Tendensen tyder på at ved bruk av mer enn ca 8-12 prosesser, vil fortjeneste bli negativ som følge av dette.

Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no

Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no Obligatorisk oppgave 1 INF-3200 12. oktober 2003 Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no Oppgavebeskrivelse: Designe og implementere en distribuert ray-tracing applikasjon, med basis i kontroller-

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF3380 Parallellprogrammering for naturvitenskapelige problemer Eksamensdag: 14. juni 2016 Tid for eksamen: 9.00 13.00 Oppgavesettet

Detaljer

Del 4 Noen spesielle C-elementer

Del 4 Noen spesielle C-elementer Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include

Detaljer

MPIntroduksjon Et eksempel

MPIntroduksjon Et eksempel MPIntroduksjon Et eksempel Jon Nilsen Kjerne- og energigruppen MPIntro p.1/17 Litt om parallisering Grunnleggende ideer: Vil ha raskere og større beregninger parallellisering. Flere prosessorer brukes

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

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri.6,.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/5 Repetisjon: Statiske språk uten rekursive

Detaljer

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/25 Forelesning 11 5.11.2003 Repetisjon:

Detaljer

Programmeringsspråket C Del 3. Hans Petter Taugbøl Kragset

Programmeringsspråket C Del 3. Hans Petter Taugbøl Kragset Programmeringsspråket C Del 3 Hans Petter Taugbøl Kragset Repetisjon I C er ikke array en egen type, men variabler kan være arrayer! Pekere C-strenger Veldig likt Java på mange måter Programmering er fortsatt

Detaljer

TDT4105 IT Grunnkurs Høst 2014

TDT4105 IT Grunnkurs Høst 2014 TDT4105 IT Grunnkurs Høst 2014 Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Øving 6 1 Teori a) Hva er 2-komplement? b) Hva er en sample innen digital

Detaljer

INF1020 Algoritmer og datastrukturer GRAFER

INF1020 Algoritmer og datastrukturer GRAFER GRAFER Dagens plan: Avsluttende om grådige algoritmer Huffman-koding (Kapittel 10.1.2) Dynamisk programmering Floyds algoritme for korteste vei alle-til-alle (Kapittel 10.3.4) Ark 1 av 16 Forelesning 22.11.2004

Detaljer

Eksamen i INF3380 våren 2017

Eksamen i INF3380 våren 2017 ! Information about the exam Eksamen i INF3380 våren 2017 Hjelpemidler: Ett to-sidig A4 ark med håndskrevne notater pluss en kalkulator. Ingen andre hjelpemiddel er tillatt. Alle oppgavene besvares med

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

TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12. 3 Sette

Detaljer

Læringsmål og pensum. En større case. Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12.

Læringsmål og pensum. En større case. Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12. 1 TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12. 3 Sette

Detaljer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 14. juni 2007 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 9 sider. Vedlegg: INF1070 og INF2270 Datamaskinarkitektur

Detaljer

Installere JBuilder Foundation i Mandrake Linux 10.0

Installere JBuilder Foundation i Mandrake Linux 10.0 Installere JBuilder Foundation i Mandrake Linux 10.0 Installasjon av JBuilder Foundation på Linux (dekker her spesifikt fremgangen ved bruk av Mandrake Linux 10.0, men distribusjon vil gjøre liten eller

Detaljer

Tor-Eirik Bakke Lunde

Tor-Eirik Bakke Lunde Obligatorisk oppgave 3 INF-2310 < Sikkerhet i distribuerte systemer > 18. november 2003 Obs! Denne rapporten forutsetter kjennskap til vedlagte JavaDoc informasjon samt oblig2. Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no

Detaljer

Eksamen i INF3380 våren 2018

Eksamen i INF3380 våren 2018 ! Nytt dokument Eksamen i INF3380 våren 2018 Hjelpemidler: Ett to-sidig A4 ark med håndskrevne notater pluss en kalkulator. Ingen andre hjelpemiddel er tillatt. Alle oppgavene besvares med hjelp av tastatur

Detaljer

PG 4200 Algoritmer og datastrukturer Innlevering 2

PG 4200 Algoritmer og datastrukturer Innlevering 2 PG 4200 Algoritmer og datastrukturer Innlevering 2 Frist: Mandag 21.april 2014 kl 23.55 Utdelt materiale: Se zip-filen innlevering2.zip. Innlevering: Lever en zip-fil som inneholder følgende: PG4200_innlevering_2.pdf:

Detaljer

Oversikt over flervalgstester på Ifi

Oversikt over flervalgstester på Ifi Oversikt over flervalgstester på Ifi Christian Kringstad Kielland christkk@ifi.uio.no 1. august 2003 Introduksjon Dette dokumentet beskriver hvordan systemet for flervalgstester på Ifi fungerer. Systemet

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

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Oblig2 - obligatorisk oppgave nr 2 (av 4) i INF1000 Leveringsfrist Oppgaven må leveres senest fredag 29 september kl 1600 Viktig: les slutten av oppgaven for detaljerte leveringskrav Formål Formålet med

Detaljer

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje.

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje. Trading-algoritme I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje. Vi skal gjøre dette ved å lage et Python-program (med noen for-løkker)

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på

Detaljer

Flerveis søketrær og B-trær

Flerveis søketrær og B-trær Flerveis søketrær og B-trær Flerveis (multi-way, n-ært) søketre Generalisering av binært søketre Binært søketre: Hver node har maksimalt 2 barn og 1 nøkkelverdi. Barna ligger sortert på verdi i forhold

Detaljer

Hukommelseshierarki. 16/3 cache 7.1 7.2. 23/3 virtuell hukommelse 7.3 7.5. in 147, våren 1999 hukommelseshierarki 1

Hukommelseshierarki. 16/3 cache 7.1 7.2. 23/3 virtuell hukommelse 7.3 7.5. in 147, våren 1999 hukommelseshierarki 1 Hukommelseshierarki når tema pensum 16/3 cache 7.1 7.2 23/3 virtuell hukommelse 7.3 7.5 in 147, våren 1999 hukommelseshierarki 1 Tema for denne forelesningen: en enkel hukommelsesmodell hukommelseshierarki

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 9. desember 2005 Tid for eksamen: 14.30 17.30 Oppgavesettet

Detaljer

INF2220: Gruppe me 2. Mathias Lohne Høsten 2017

INF2220: Gruppe me 2. Mathias Lohne Høsten 2017 INF0: Gruppe me Mathias Lohne Høsten 0 1 Rød-svarte trær Vanlige binære søketrær blir fort veldig ubalanserte. røv å sett inn 1,,, 4, 5,, 7,... (i den rekkefølgen) i et binært søketre. Da vil vi i praksis

Detaljer

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. PXT: Stein, saks, papir Skrevet av: Bjørn Hamre Kurs: Microbit Introduksjon Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. Steg 1: Velge tilfeldig

Detaljer

Dagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding

Dagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding Grafer Dagens plan INF2220 - Algoritmer og datastrukturer HØSTEN 2007 Institutt for informatikk, Universitetet i Oslo Avsluttende om grådige algoritmer (kap. 10.1.2) Dynamisk programmering Floyds algoritme

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 11: Huffman-koding & Dynamisk programmering (Ifi, UiO) INF2220 H2015, forelesning 11 1 / 32 Dagens

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 13: Dynamisk programmering (Ifi, UiO) INF2220 H2017, forelesning 13 1 / 30 Dagens plan Dynamisk

Detaljer

INF2220: Forelesning 2

INF2220: Forelesning 2 INF2220: Forelesning 2 Mer om analyse av algoritmer Analyse av binære søketrær Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) ANALYSE AV ALGORITMER 2 Analyse av tidsforbruk Hvor

Detaljer

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG EKSAMENSOPPGAVE Fag: Lærer: IAD20003 Algoritmer og datastrukturer André Hauge Grupper: D2A Dato: 21.12.2004 Tid: 0900-1300 Antall oppgavesider: 5 med forside Antall vedleggssider: 0 Hjelpemidler: Alle

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 8. desember 2004 Tid for eksamen: 14.30 17.30 Oppgavesettet

Detaljer

Lineære ligningssystemer og gausseliminasjon

Lineære ligningssystemer og gausseliminasjon Kapittel Lineære ligningssystemer og gausseliminasjon Vi skal lære en metode for å finne og beskrive alle løsninger av systemer av m lineære ligninger med n ukjente. Oppvarming Her er et eksempel på et

Detaljer

EKSAMENSFORSIDE SKRIFTLIG EKSAMEN

EKSAMENSFORSIDE SKRIFTLIG EKSAMEN EKSAMENSFORSIDE SKRIFTLIG EKSAMEN Fag-/kurskode OBJ110 Fag/kurs Objektorientert systemutvikling 1 Ansvarlig faglærer Viggo Holmstedt Ansvarlig fakultet ØS Klasse(r)/gruppe(r) IS2 Dato 13.12.2010 Eksamenstid,

Detaljer

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 40

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 40 BYFE/EMFE 1000, 2012/2013 Numerikkoppgaver uke 40 Løsningsforlsag Oppgave 1 Lagring og innlesing av data a) Dersom vi skriver save Filnavn, blir alle variable vi har lagra til ei l som heter 'Filnavn'.

Detaljer

Kapittel 5: Mengdelære

Kapittel 5: Mengdelære MAT1030 Diskret Matematikk Forelesning 9: Mengdelære Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 5: Mengdelære 17. februar 2009 (Sist oppdatert: 2009-02-17 15:56) MAT1030 Diskret

Detaljer

Programmeringsspråket C Del 2. Hans Petter Taugbøl Kragset

Programmeringsspråket C Del 2. Hans Petter Taugbøl Kragset Programmeringsspråket C Del 2 Hans Petter Taugbøl Kragset Repetisjon I C er ikke array en egen type, men variabler kan være arrayer! 28.08.17 Hans Petter Taugbøl Kragset 2 Arrays Java int[] arr1 = {1,

Detaljer

... Når internminnet blir for lite. Dagens plan: Løsning: Utvidbar hashing. hash(x) katalog. O modellen er ikke lenger gyldig ved

... Når internminnet blir for lite. Dagens plan: Løsning: Utvidbar hashing. hash(x) katalog. O modellen er ikke lenger gyldig ved Dagens plan: Utvidbar hashing (kapittel 5.6) B-trær (kap. 4.7) Abstrakte datatyper (kap. 3.1) Stakker (kap. 3.3) Når internminnet blir for lite En lese-/skriveoperasjon på en harddisk (aksesstid 7-12 millisekunder)

Detaljer

EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00

EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00 EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 18. mai 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Kalkulator Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet

Detaljer

Del 1 En oversikt over C-programmering

Del 1 En oversikt over C-programmering Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av

Detaljer

Definisjon. I et binært tre har hver node enten 0, 1 eller 2 barn

Definisjon. I et binært tre har hver node enten 0, 1 eller 2 barn Binære trær Definisjon I et binært tre har hver node enten 0, 1 eller 2 barn Rekursiv definisjon: Et binært tre er enten tomt, eller: Består av en rotnode og to binære trær som kalles venstre subtre og

Detaljer

Ny/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00

Ny/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00 Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 6. januar 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 22. februar 2008 kl 16.00 via Joly. Viktig: les slutten av oppgaven for

Detaljer

MAT Oblig 1. Halvard Sutterud. 22. september 2016

MAT Oblig 1. Halvard Sutterud. 22. september 2016 MAT1110 - Oblig 1 Halvard Sutterud 22. september 2016 Sammendrag I dette prosjektet skal vi se på anvendelsen av lineær algebra til å generere rangeringer av nettsider i et web basert på antall hyperlinker

Detaljer

Lineære ligningssystemer og gausseliminasjon

Lineære ligningssystemer og gausseliminasjon Kapittel Lineære ligningssystemer og gausseliminasjon Vi skal lære en metode for å finne og beskrive alle løsninger av systemer av m lineære ligninger med n ukjente Oppvarming Her er et eksempel på et

Detaljer

Tirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case

Tirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case Terje Rydland - IDI/NTNU 2 Fram mot eksamen Tirsdag 21/11 Repetisjon. Send inn behov/ønsker til : terjery@idi.ntnu.no

Detaljer

PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister

PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister Lars Sydnes, NITH 5. februar 2014 I. Implementasjoner Tabell-implementasjon av Stakk Tabellen er den lettest tilgjengelige datastrukturen

Detaljer

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: Dato: 20.02.2017 Klokkeslett: 09:00 13:00 INF-1100 Innføring i programmering og datamaskiners virkemåte Sted: Teorifagbygget, Hus 3,

Detaljer

Oppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf

Oppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf Oppgave 3 3 a IN1020 Algoritmer og datastrukturer orelesning 15: Gjennomgang av eksamen vår 2001 oppgave 3 Arild Waaler Institutt for informatikk, Universitetet i Oslo 11. desember 2006 Oppgave 3 a. Antagelser

Detaljer

Obligatorisk oppgave 1: Regneklynge

Obligatorisk oppgave 1: Regneklynge Obligatorisk oppgave 1: Regneklynge INF1010 Frist: mandag 6. februar 2017 kl. 12:00 Versjon 1.0 (62f8e31 ) Innhold 1 Innledning 1 2 Regneklyngens bestanddeler 2 3 Datastrukturtegning 3 4 Maksimal teoretisk

Detaljer

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen Kanter, kanter, mange mangekanter Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole

Detaljer

INF2220: Forelesning 2. Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7)

INF2220: Forelesning 2. Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) INF2220: Forelesning 2 Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) REPETISJON: BINÆRE SØKETRÆR 2 Binære søketrær 8 4 12 2 7 9 15 6 11 13 16 For enhver node i et binært søketre

Detaljer

Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007. Stein Krogdahl, Ifi UiO

Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007. Stein Krogdahl, Ifi UiO Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007 Stein Krogdahl, Ifi UiO ASU, kap 9.5: Vi generer kode for én og én basal blokk Da er det lett å holde orden

Detaljer

Et eksempel: Åtterspillet

Et eksempel: Åtterspillet Trær Et eksempel: Åtterspillet To spillere som «trekker» annenhver gang I hvert trekk velges et av tallene 1, 2, 3, men ikke tallet som motspiller valgte i forrige trekk Valgte tall summeres fortløpende

Detaljer

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 10/5-2011, Stein Krogdahl Oversikt over Javas class-filer og byte-kode Disse formatene ble planlagt fra start

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke

Detaljer

Hvilken BitBot går raskest gjennom labyrinten?

Hvilken BitBot går raskest gjennom labyrinten? Hvilken BitBot går raskest gjennom labyrinten? I fokusuka i IT skal vi jobbe praktisk, nærmere bestemt ved å bruke naturvitenskaplig metode for å løse en oppgave. Denne metoden er sentral i naturfag og

Detaljer

INF2220: Forelesning 2

INF2220: Forelesning 2 INF2220: Forelesning 2 Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) REPETISJON: BINÆRE SØKETRÆR 2 Binære søketrær 8 4 12 2 7 9 15 6 11 13 16 For enhver node i et binært søketre

Detaljer

Datatyper og typesjekking

Datatyper og typesjekking Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 h2006

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 h2006 Oblig2 - obligatorisk oppgave nr 2 (av 4) i INF1000 h2006 Leveringsfrist Oppgaven må leveres senest fredag 30 september kl 1600 Viktig: les slutten av oppgaven for detaljerte leveringskrav Formål Formålet

Detaljer

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

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

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 9/1/2005 inf1060 V05 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen

Detaljer

Operasjoner på lenkede lister (enkeltlenket) Eksempel på en lenket liste: personliste. INF januar 2010 (uke 3) 2

Operasjoner på lenkede lister (enkeltlenket) Eksempel på en lenket liste: personliste. INF januar 2010 (uke 3) 2 Velkommen til INF1010 Studieaktiviteter i INF1010 Programmering (oppgaveløsning) alene/kollokvier programmeringslab (plenums)øvelser forelesninger gruppe som repeterer stoff fra forelesning, og øvelser

Detaljer

Litt om Javas class-filer og byte-kode

Litt om Javas class-filer og byte-kode Litt om Javas class-filer og byte-kode INF 5110, 11/5-2010, Stein Krogdahl (Dessverre litt få figurer) Disse formatene ble planlagt fra start som en del av hele Java-ideen Bt Byte-koden gir portabilitet

Detaljer

Informasjon Prøveeksamen i IN1000 høsten 2018

Informasjon Prøveeksamen i IN1000 høsten 2018 Prøveeksamen IN1000-INF1001-H18 Informasjon Prøveeksamen i IN1000 høsten 2018 Tid Fra tirsdag 6.11 kl. 14:15 til tirsdag 13.11 kl. 12:00 (Normal eksamenstid er 4 timer) Oppgavene Oppgave 2b og 2c er flervalgsoppgaver.

Detaljer

Løsnings forslag i java In115, Våren 1996

Løsnings forslag i java In115, Våren 1996 Løsnings forslag i java In115, Våren 1996 Oppgave 1a For å kunne kjøre Warshall-algoritmen, må man ha grafen på nabomatriseform, altså en boolsk matrise B, slik at B[i][j]=true hvis det går en kant fra

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 29.08.13 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen

Detaljer

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2

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

Detaljer

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

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

Detaljer

Definisjon av binært søketre

Definisjon av binært søketre Binære søketrær Definisjon av binært søketre For alle nodene i et binært søketre gjelder: Alle verdiene i nodens venstre subtre er mindre enn verdien i noden Alle verdiene i nodens høyre subtre er større

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 20. februar kl 16.00 via Joly. Viktig: les slutten av oppgaven for detaljerte

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i: INF2440 Effektiv parallellprogrammering Prøveeksamensdag: 1. juni 2016 Tidspunkter: 09.00 16.00 Oppgavesettet er på: 4 sider

Detaljer

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen? OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen malloc

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Leveringsfrist Oppgaven må leveres senest fredag 30. september kl 16.00. Viktig: les slutten av oppgaven for detaljerte leveringskrav. Formål Formålet

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen

Detaljer

Stack. En enkel, lineær datastruktur

Stack. En enkel, lineær datastruktur Stack En enkel, lineær datastruktur Hva er en stack? En datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist Et nytt element legges alltid på toppen av stakken Skal vi

Detaljer

MAT1030 Forelesning 25

MAT1030 Forelesning 25 MAT1030 Forelesning 25 Trær Roger Antonsen - 29. april 2009 (Sist oppdatert: 2009-04-29 00:28) Forelesning 25 Litt repetisjon Vi har snakket om grafer og trær. Av begreper vi så på var følgende. Eulerstier

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Python: Repetisjon. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Python: Repetisjon. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Python: Repetisjon Professor Alf Inge Wang 2 Aktuelle tema i Python Todimensjonale lister og generering av lister Dictionaries Filbehanlding (tekstfiler og binærfiler)

Detaljer

Algoritmeanalyse. (og litt om datastrukturer)

Algoritmeanalyse. (og litt om datastrukturer) Algoritmeanalyse (og litt om datastrukturer) Datastrukturer definisjon En datastruktur er den måten en samling data er organisert på. Datastrukturen kan være ordnet (sortert på en eller annen måte) eller

Detaljer

INF Algoritmer og datastrukturer. Hva er INF2220? Algoritmer og datastrukturer

INF Algoritmer og datastrukturer. Hva er INF2220? Algoritmer og datastrukturer Praktiske opplysninger INF2220 - Algoritmer og datastrukturer HØSTEN 2007 Institutt for informatikk, Universitetet i Oslo Tid og sted: Mandag kl. 12:15-14:00 Store auditorium, Informatikkbygningen Kursansvarlige

Detaljer

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler Plan for dagen Vprg 4 LC191D Videregående programmering Høgskolen i Sør-Trøndelag Avdeling for informatikk og e-læring Anette Wrålsen Del: Intro til tekstfiler Del II: Mer om tekstfiler, Scanner-klassen

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

INF3030, Uke 3, våren 2019 Regler for parallelle programmer, mer om cache og Matrise-multiplikasjon. Arne Maus / Eric Jul PSE, Inst.

INF3030, Uke 3, våren 2019 Regler for parallelle programmer, mer om cache og Matrise-multiplikasjon. Arne Maus / Eric Jul PSE, Inst. INF3030, Uke 3, våren 2019 Regler for parallelle programmer, mer om cache og Matrise-multiplikasjon Arne Maus / Eric Jul PSE, Inst. for informatikk 1 Hva har vi sett på i Uke2 Én stygg feil vi kan gjøre:

Detaljer

Pekere og referanser.

Pekere og referanser. lesson.md Pekere og referanser. Leksjonen gir en innføring i pekere og referanser, samt argumentoverføring. Skrevet av Mildrid Ljosland, Else Lervik og Ole Christian Eidheim. Eksemplene for denne leksjonen

Detaljer

MAT1030 Diskret matematikk. Mengder. Mengder. Forelesning 9: Mengdelære. Dag Normann OVER TIL KAPITTEL februar 2008

MAT1030 Diskret matematikk. Mengder. Mengder. Forelesning 9: Mengdelære. Dag Normann OVER TIL KAPITTEL februar 2008 MAT1030 Diskret matematikk Forelesning 9: Mengdelære Dag Normann OVER TIL KAPITTEL 5 Matematisk Institutt, Universitetet i Oslo 11. februar 2008 MAT1030 Diskret matematikk 11. februar 2008 2 De fleste

Detaljer

Løpende strekmann Erfaren Videregående Python PDF

Løpende strekmann Erfaren Videregående Python PDF Løpende strekmann Erfaren Videregående Python PDF Introduksjon I denne oppgaven skal du lage et spill der du styrer en strekmann som hopper over hindringer. Steg 1: Ny fil Begynn med å lage en fil som

Detaljer

Datatyper og typesjekking

Datatyper og typesjekking Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 26: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo 28. april 2008 Oppsummering Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk

Detaljer

Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk bruk av slike. rot. barn

Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk bruk av slike. rot. barn Forelesning 26 Trær Dag Normann - 28. april 2008 Oppsummering Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk bruk av slike. rot barn barn barnebarn barnebarn barn blad Her er noen

Detaljer

Datatyper og typesjekking

Datatyper og typesjekking Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører

Detaljer

Kom i gang med micro:bit

Kom i gang med micro:bit Kom i gang med micro:bit Kenneth Fossland, Brundalen skole 2019 Bilde: flickr.com makecode.microbit.org https://docs.google.com/document/d/1rjglb2tczwjhzcrklfyxhhn6vguuj-1jdt9ivuvbpu0/edit#heading=h.7s5hifmcog5y

Detaljer

Lars Vidar Magnusson

Lars Vidar Magnusson B-Trær Lars Vidar Magnusson 5.3.2014 Kapittel 18 B-trær Standard operasjoner Sletting B-Trær B-trær er balanserte trær som er designet for å fungere bra på sekundære lagringsmedium e.g. harddisk. Ligner

Detaljer

Obligatorisk oppgave 1 INF1020 h2005

Obligatorisk oppgave 1 INF1020 h2005 Obligatorisk oppgave 1 INF1020 h2005 Frist: fredag 7. oktober Oppgaven skal løses individuelt, og må være godkjent for å kunne gå opp til eksamen. Før innlevering må retningslinjene Krav til innleverte

Detaljer

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på.

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på. Løsningsforslag for oppgavene i operativsystemer, uke 43 (18.10-22.10) På terminalstue: Oppgave 1: List alle filer og kataloger under XVUELQ som har filnavn som begynner på b. OVXVUELQE Oppgave 2: Gå til

Detaljer