UNIVERSITETET I OSLO

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "UNIVERSITETET I OSLO"

Transkript

1 Side 1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2810 Eksamensdag: 7. juni Tid for eksamen: Oppgavesettet er på 5 sider Vedlegg Relevante prosedyrer Tillatte hjelpemidler: Ingen Kontroller at oppgavesettet er komplett før du begynner å svare på spørsmålene. 1. Betingelseuttrykk Den grunnleggende betingelseformen i Scheme er if, og formene cond, and og or er avledninger av denne. Alle disse er spesialformer. I noen tester trenger vi også not, som er en prosedyre. Vi har følgende regel: 'x er et skuddår hvis x er delelig på 400 eller x er delelig på 4 og ikke på 100'. Regelen kan i Scheme bla. utformes med (a) if alene, (b) cond alene og (c) and, or og not. For å teste for delelighet bruker vi predikatet divisible? som tar to heltall og returnerer #t eller #f avhengig av om det første er delelig på det andre eller ikke. Dette skal du ta for gitt. Prosedyren leap-year? tar et tallargument og returnerer resultatet av anvendelsen av regelen på tallet. Prosedyren ser slik ut, når testen ar representert ved pseudokode. (define (leap-year? x) <skuddårstesten>) Oppgave 1.a. Skriv skuddårstesten bare ved hjelp av if. Oppgave 1.b. Skriv skuddårstesten bare ved hjelp av cond. Oppgave 1.c. Skriv skuddårstesten bare ved hjelp av and, or og not.

2 Side 2 2. Rekursjon Oppgave 2.a. Prosedyren year-days tar to årstall a og b a, som argumenter og returnerer antall dager fra og med 1. januar i a til og med 31. desember i b. Antall dager i et år er 365, eller 366, hvis det er et skuddår. Implementer year-days slik at den gir en rekursiv prosess. Oppgave 2.b. Prosedyren count-occurenses tar et tall n og et predikat p som argumenter og returnerer antall tall fra og med 1 til og med n som tilfredsstiller p. Implementer count-occurenses vha av en lokal prosedyre count, slik at denne gir en iterativ prosess. 3. Prosedyrer Oppgave 3.a. Skriv en prosedyre make-modulator som tar et heltall m og returnerer en prosedyre som tar et heltall x og returnerer x modulo m (resten etter at x er dividert på m se vedlegg). Prosedyren p tar tre tallargumenter og returnerer kvadratroten av produktet av det første argument og summen av de to andre. (define (p a b c) (sqrt (* a (+ b c)))) Vi kan skrive om p ved hjelp av to prosedyrer q og r som hver tar ett argument og returnerer en prosedyre som også tar ett argument. Prosedyren q utfører addisjonen og r utfører multiplikasjonen. Oppgave 3.b. Skriv q og r. Oppgave 3.c. Definer p ved hjelp av q og r. 4. Lister Vi har en liste A, med kronologisk ordnede tripler (år, måned, nedbør), der år har to sifre, og ønsker en liste D, med par, (måned, gjennomsnittlig-nedbør-i-måneden), basert på A. Vi gjør som følger, når w = antall hele år i A: (a) (b) (c) (d) chop (deler opp) A til en liste B, med w lister med 12 tripler i hver transponerer B til en liste C, med 12 lister med w tripler hver, dvs. der hver liste dekker én måned gjennom w år. mapper fra C til D der hver rad i C er en liste med radens månedsnavn og gjennomsnittet av radens nedbørsmengder.

3 Side 3 A ((01 jan 18) (01 feb 4) (01 mar 54) (01 apr 18) (01 may 0) (01 jun 18) (01 jul 4) (01 aug 6) (01 sep 32) (01 oct 12) (01 nov 80) (01 dec 50) (02 jan 27) (02 feb 12) (02 mar 15) (02 apr 14) (02 may 8) (02 jun 17)... ) B chop ((01 jan 57) (01 feb 52) (01 mar 21) (01 apr 12) (01 may 7) (01 jun 17) (01 jul 15) (01 aug 5) (01 sep 28) (01 oct 52) (01 nov 90) (01 dec 40) (02 jan 45) (02 feb 56) (02 mar 0) (02 apr 36) (02 may 18) (02 jun 15) (02 jul 4) (02 aug 8) (02 sep 36) (02 oct 0) (02 nov 20) (02 dec 60) (03 jan 6) (03 feb 76) (03 mar 18) (03 apr 20) (03 may 18) (03 jun 5) (03 jul 3) (03 aug 8) (03 sep 0) (03 oct 72) (03 nov 45) (03 dec 35)) transpose C D (((01 jan 57) (02 jan 45) (03 jan 6)) ((jan 26.0) ((01 feb 52) (02 feb 56) (03 feb 76)) (feb 29.3) ((01 mar 21) (02 mar 0) (03 mar 18)) (mar 33.0) ((01 apr 12) (02 apr 36) (03 apr 20)) (apr 15.3) ((01 may 7) (02 may 18) (03 may 18)) (may 7.0) ((01 jun 17) (02 jun 15) (03 jun 5)) map (jun 14.0) ((01 jul 15) (02 jul 4) (03 jul 3)) (jul 6.7) ((01 aug 5) (02 aug 8) (03 aug 8)) (aug 8.0) ((01 sep 28) (02 sep 36) (03 sep 0)) (sep 61.3) ((01 oct 52) (02 oct 0) (03 oct 72)) (oct 21.3) ((01 nov 90) (02 nov 20) (03 nov 45)) (nov 56.7) ((01 dec 40) (02 dec 60) (03 dec 35))) (dec 78.3)) Oppgave 4.a. Prosedyren take tar en liste L og et heltall k som argumenter og returnerer listen med de k første elementene i L. Eks. (take '( ) 2) ==> (1 2) Gå ut fra at k < lengden til L, og implementer take slik at den gir en rerkursiv prosess. Oppgave 4.b. Prosedyren drop tar en liste L og et heltall k som argumenter og returnerer listen fra og med element nummer k i L, eller den tomme listen, hvis k = lengden til L, når vi teller fra 0. Eks. (drop '( ) 2) ==> (3 4 5) Gå ut fra at k lengden til L, og implementer drop slik at den gir en iterativ prosess. Oppgave 4.c. Prosedyren chop tar en liste L og et tall m som argumenter og returnerer listen med de suksessive listene med lengde m i L. Eks. (chop '( ) 3) ==> ((1 2 3) (4 5 6) (7 8 9)). Legg merke til at, siden lengden til L ikke kan deles på 3, blir det et par tall til overs. Skriv prosedyren chop.

4 Side 4 Oppgave 4.d. Prosedyren transpose tar en matrise M, med r rader og c kolonner, og returnerer en matrise N med c rader og r kolonner, slik at M[i, j] = N[j, i]. Eks. (transpose '((1 2 3) ((1 4) (4 5 6))) ==> (2 5) (3 6)). Skriv prosedyren transpose. (Hint: map car og cdr.) Oppgave 4.e. Implementer punktene (a) til (d) beskrevet i innledningen til denne oppgaven vha. bl.a map, chop, transpose og average, uten å bruke formen let. Prosedyren average, som vi tar for gitt, tar en liste med tall som argument og returner gjennomsnittet av tallen i listen. Eks: (average '( )) ==> Strømmer NB! I hele denne oppgaven kan du gå ut fra at de strømmene vi behandler er uendelige, slik at vi ikke trenger å teste for om en input-strøm er tom. Oppgave 5.a. Prosedyren stream-map tar en unær prosedyre p og en strøm S som argumenter og returnerer strømmen med resultatene av anvendelsen av p på elementene i S. Skriv stream-map. Oppgave 5.b. La S og T være heltallsstrømmer og la m være et heltall, slik at det for hver s i i S, er en t i = s i modulo m i T. F.eks. med S = ( ) og m = 7 får vi T = ( ). La m = 7, og definer T på basis av S ved hjelp av stream-map og make-modulator fra oppgave 3. Oppgave 5.c. Prosedyren stream-filter tar et unært predikatet p og en strøm S som argumenter og returnerer strømmen med de elementene i S som tilfredsstiller p. Skriv stream-filter.

5 Side 5 C er en kalkulator som vi tar for gitt. Lovlig input til C er tall og symbolene e, +,, *, /, der e står for enter og de øvrige symbolene står for operatorene for addisjon, subtraksjon, multiplikasjon og divisjon. U er en strøm av tall og symboler fra bruker ment for C. Denne renser vi for ulovlige elementer før vi sender den til en prosedyre som lager en strøm R med de tilsvarende resultatene fra C. Oppgave 5.d. Definer strømmen A slik at den bare inneholder de lovlige elementene i U. Kalkulatoren C er et prosedyreobjekt med en lokal variabel m (for memory). Får C et tall som ikke følger etter et operatorsymbol, setter C m til det gitte tallet og returnerer m. Kalles C uten argument, returnerer den m. Når C får et operatorsymbol, returnerer den en prosedyre p som tar et tallargument eller intet argument. At p ikke får noe argument, er i U og A angitt ved symbolet e. La o være operatoren som tilsvarer operatorsymbolet. p anvender o på m som første og et eller annet tall som andre operand, setter m til resultatet av operasjonen og returnerer m. (Vi ser bort fra muligheten for null-divisjon). Får p et tall, sender den dette som andre operand til o. Får ikke p noe argument, sender den m som andre operand til o. Eks. A ( / 2 e 7 * e + 1 / 2 / 5 e + e...) Kall på C: (C 5) ((C +) 3) ((C /) 2) (C) (C 7) ((C *)) ((C +) 1) ((C /) 2) ((C /) 5) (C) ((c +))... R ( ) Oppgave 5.e. Prosedyren make-calc-stream tar en kalkulator à la C og en strøm à la A som argumenter. Kaller vi prosedyren med C og A som argumenter, vil den returnere R, dvs. strømmen av resultatene av at A sendes element for element til C. Merk at der et operatorsymbol følges av et tall eller e i A skal det bare være ett element i R. Skriv make-calc-stream.

6 Side 6 Vedlegg 1: Relevante prosedyrer (modulo x m) resten, etter at heltallet x er delt på heltallet m. (cons a b) paret med a som første og b som andre element. (car pair) første element i paret pair. (cdr pair) andre element i paret pair. (cxr L) X er kombinasjonen av to, tre eller fire a-er og d-er, tilsvarende sammensetninger av car og cdr. F.eks. evaluerer (caddr L) til det samme som (car (cdr (cdr L))). (list...) listen med elementene i..., som kan være tom. (null? x) #t eller #f avhengig av om x er den tomme listen. (length L) antall elementer i listen L. (list-ref L k) k'te element i listen L, talt fra 0. En k (length L)gir kjøreavbrudd. (member x L) listen fra og med første forekomst av x i L, eller #f, hvis x ikke finnes i L. (reverse L) listen med elementene i L i omvendt orden. (map p L) listen med resultatene av anvendelsen av den unære prosedyren p på elementene i listen L. 1 (number? x) #t eller #f avhengig av om x er et tall eller ikke. (cons-stream a b) paret av a og løftet om en fremtidig evaluering av b. (stream-car pair) første element i strøm-paret pair. (stream-cdr pair) andre element i strøm-paret pair, etter av løftet om evalueringen av dette har blitt tvunget frem. 1 Schemes biblioteksrutine map er mer generell enn denne, men det bryr vi oss ikke om her.

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Side 1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2810 Eksamensdag: 6. juni Tid for eksamen: 14.30 Oppgavesettet er på 4 sider pluss vedlegg Tillatte hjelpemiddel: Ingen

Detaljer

Eksamen i HUMIT 2710, Funksjonell programmering, våren Ingen hjelpemidler er tillatt. Side 1 av 7

Eksamen i HUMIT 2710, Funksjonell programmering, våren Ingen hjelpemidler er tillatt. <resten av forsiden> Side 1 av 7 Eksamen i HUMIT 2710, Funksjonell programmering, våren 2005 Ingen hjelpemidler er tillatt. Side 1 av 7 Oppgave 1 Rekursjon Fakultetsfunksjonen, her kalt Fak, kan defineres rekursivt

Detaljer

Side 1. Oppgave 1. Prosedyrer 1.1. Prosedyrene f og g skal begge returnere prosedyrer. a. Skriv f slik at ((f a) b) returnerer summen av a og b.

Side 1. Oppgave 1. Prosedyrer 1.1. Prosedyrene f og g skal begge returnere prosedyrer. a. Skriv f slik at ((f a) b) returnerer summen av a og b. Side 1 Oppgave 1. Prosedyrer 1.1. Prosedyrene f og g skal begge returnere prosedyrer. a. Skriv f slik at ((f a) b) returnerer summen av a og b. (define (f a) (lambda (b) (add a b ))) b. Skriv g, uten å

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2810 Eksamensdag: Fredag 5. juni 2015 Tid for eksamen: 14:30 (4 timer) Oppgavesettet er på 4 sider (ikke medregnet denne siden)

Detaljer

(define (naer-nok-kuberot? y x) (< (abs (- (kube y) x)) 0.001)) (define (naermere-kuberot y x) (/ (+ (* y 2) (/ x (kvadrat y))) 3))

(define (naer-nok-kuberot? y x) (< (abs (- (kube y) x)) 0.001)) (define (naermere-kuberot y x) (/ (+ (* y 2) (/ x (kvadrat y))) 3)) Oppgave 1 For å komme nærmere kuberoten (tredjeroten) til et tall x fra en foreløpig tilnærming y, kan vi bruke formelen (2y + x/y 2 )/3. Skriv prosedyrene (nær-nok-kuberot? y x), (nærmere-kuberot y x)

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2810 Eksamensdag: 5. juni, 2014 Tid for eksamen: 14:30 (4 timer) Oppgavesettet er på 4 sider. Vedlegg: Ingen Tillatte hjelpemidler:

Detaljer

Gjennomgåelse av eksamensoppgaven i HUMIT2710 fra våren 2004

Gjennomgåelse av eksamensoppgaven i HUMIT2710 fra våren 2004 Gjennomgåelse av eksamensoppgaven i HUMIT2710 fra våren 2004 Oppgave 1 For å komme nærmere kvadratroten til et tall fra en foreløpig tilnærming y, kan vi bruke formelen (y + /y)/2. Dette gir grunnlag for

Detaljer

Eksamen i SLI230, vår 2003.

Eksamen i SLI230, vår 2003. Eksamen i SLI230, vår 2003. Oppgavesettet har 8 sider medregnet denne forsiden. Ingen hjelpemidler er tillatt. Vedlegg: To sider som inneholder en liste over primitiver fra scheme (og simply.scm) samt

Detaljer

INF2810: Funksjonell Programmering. Kommentarer til prøveeksamen

INF2810: Funksjonell Programmering. Kommentarer til prøveeksamen INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Kommentarer til prøveeksamen Erik Velldal Universitetet i Oslo 1: Grunnleggende (6 poeng)? (define foo '(a b))? (define bar foo)? (set!

Detaljer

Rekursjon og lister. Stephan Oepen & Erik Velldal. 1. februar, Universitetet i Oslo

Rekursjon og lister. Stephan Oepen & Erik Velldal. 1. februar, Universitetet i Oslo INF2810: Funksjonell programmering Rekursjon og lister Stephan Oepen & Erik Velldal Universitetet i Oslo 1. februar, 2013 Agenda 2 Forrige uke Scheme Substitusjonsmodellen Blokkstruktur Predikater Kondisjonale

Detaljer

INF2810: Funksjonell Programmering. Strømmer

INF2810: Funksjonell Programmering. Strømmer INF2810: Funksjonell Programmering Strømmer Stephan Oepen & Erik Velldal Universitetet i Oslo 12. april 2013 Tema 2 Forrige uke Litt mer i dybden om køer Eksperiment: live-programmering Tabeller som hierarkiske

Detaljer

INF2810: Funksjonell Programmering. Strømmer

INF2810: Funksjonell Programmering. Strømmer INF2810: Funksjonell Programmering Strømmer Stephan Oepen & Erik Velldal Universitetet i Oslo 12. april 2013 Tema 2 Forrige uke Litt mer i dybden om køer Eksperiment: live-programmering Tabeller som hierarkiske

Detaljer

Høyere-ordens prosedyrer

Høyere-ordens prosedyrer INF2810: Funksjonell programmering Høyere-ordens prosedyrer Stephan Oepen & Erik Velldal Universitetet i Oslo 8. februar, 2013 Tema 2 Forrige uke Lister og listerekursjon Høyere-ordens prosedyrer Prosedyrer

Detaljer

INF2810: Funksjonell Programmering. Strømmer og utsatt evaluering

INF2810: Funksjonell Programmering. Strømmer og utsatt evaluering INF2810: Funksjonell Programmering Strømmer og utsatt evaluering Stephan Oepen Universitetet i Oslo 30. mars 2017 Forrige forelesning 2 Mer om (prosedyre)navn, bindinger, og verditilordning Nok en ny abstrakt

Detaljer

INF2810: Funksjonell Programmering. Lister og høyereordens prosedyrer

INF2810: Funksjonell Programmering. Lister og høyereordens prosedyrer INF2810: Funksjonell Programmering Lister og høyereordens prosedyrer Erik Velldal Universitetet i Oslo 2. februar 2017 Agenda 2 Forrige uke Substitusjonsmodellen og evalueringsstrategier. Blokkstruktur

Detaljer

INF2810: Funksjonell Programmering. Lister og høyereordens prosedyrer

INF2810: Funksjonell Programmering. Lister og høyereordens prosedyrer INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Lister og høyereordens prosedyrer Erik Velldal Universitetet i Oslo 5. februar 2015 Agenda Forrige uke Substitusjonsmodellen og evalueringsstrategier.

Detaljer

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2 INF2810: Funksjonell Programmering En metasirkulær evaluator, del 2 Stephan Oepen & Erik Velldal Universitetet i Oslo 03. mai 2013 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer

Detaljer

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2 INF2810: Funksjonell Programmering En metasirkulær evaluator, del 2 Stephan Oepen & Erik Velldal Universitetet i Oslo 03. mai 2013 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer

Detaljer

INF2810: Funksjonell Programmering. Dataabstraksjon og Trerekursjon

INF2810: Funksjonell Programmering. Dataabstraksjon og Trerekursjon INF2810: Funksjonell Programmering Dataabstraksjon og Trerekursjon Stephan Oepen & Erik Velldal Universitetet i Oslo 15. februar, 2013 Tema 2 Forrige uke Høyere-ordens prosedyrer: Prosedyrer som argumenter

Detaljer

INF2810: Funksjonell Programmering. Mer om strømmer

INF2810: Funksjonell Programmering. Mer om strømmer INF2810: Funksjonell Programmering Mer om strømmer Stephan Oepen & Erik Velldal Universitetet i Oslo 19. april 2013 Tema 2 Forrige uke Repetisjon: parallelitet Noe helt nytt: strømmer Noe quizzaktivitet

Detaljer

INF2810: Funksjonell Programmering. Mer om strømmer

INF2810: Funksjonell Programmering. Mer om strømmer INF2810: Funksjonell Programmering Mer om strømmer Stephan Oepen & Erik Velldal Universitetet i Oslo 19. april 2013 Tema 2 Forrige uke Repetisjon: parallelitet Noe helt nytt: strømmer Noe quizzaktivitet

Detaljer

Par og Lister (først et par sider fra forrige uke) Par er byggestener for lister og trær og sammensatte datatyper.

Par og Lister (først et par sider fra forrige uke) Par er byggestener for lister og trær og sammensatte datatyper. Par og Lister (først et par sider fra forrige uke) Par er byggestener for lister og trær og sammensatte datatyper. Par kan representeres grafiske slik: Som vi ser kan vi bruke cons til å lage par hvis

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 4. mai 2017 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer programs Metacircular

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell programmering INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 7. mai 2015 Tema Forrige uke SICP 4.1. Structure and interpretation

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Erik Velldal Universitetet i Oslo 9. februar 2017 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens prosedyrer

Detaljer

INF2810: Funksjonell Programmering. Trær og mengder

INF2810: Funksjonell Programmering. Trær og mengder INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Trær og mengder Erik Velldal Universitetet i Oslo 19. februar 2015 Tema Forrige uke Høyereordens prosedyrer lambda, let og lokale variabler

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Stephan Oepen Universitetet i Oslo 9. februar 2015 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 4. mai 2017 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer programs Metacircular

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Stephan Oepen Universitetet i Oslo 9. februar 2015 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens

Detaljer

INF2810: Funksjonell Programmering. Strømmer og utsatt evaluering

INF2810: Funksjonell Programmering. Strømmer og utsatt evaluering INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Strømmer og utsatt evaluering Erik Velldal Universitetet i Oslo 5. april 2016 Forrige forelesning Mer om (prosedyre)navn, bindinger,

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Erik Velldal Universitetet i Oslo 9. februar 2017 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens prosedyrer

Detaljer

Memoisering, utsatt evaluering og strømmer

Memoisering, utsatt evaluering og strømmer Memoisering, utsatt evaluering og strømmer Først litt repetisjon: Utsatt evaluering Gitt (define (p x) (if test (x) something-else)) la E være et Scheme-uttrykk, og la L = (lambda () E). Da vil, ved kallet

Detaljer

Memoisering, utsatt evaluering og strømmer

Memoisering, utsatt evaluering og strømmer Memoisering, utsatt evaluering og strømmer Først litt repetisjon: Utsatt evaluering Gitt (define (p x) (if test (x) something-else)) la E være et Scheme-uttrykk, og la L = (lambda () E). Da vil, ved kallet

Detaljer

INF2810: Funksjonell Programmering. Trær og mengder

INF2810: Funksjonell Programmering. Trær og mengder INF2810: Funksjonell Programmering Trær og mengder Stephan Oepen Universitetet i Oslo 16. februar 2016 Tema 2 Forrige uke Høyereordens prosedyrer lambda, let og lokale variabler Dataabstraksjon I dag Lister

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Omgivelsesmodeller og destruktive listeoperasjoner Stephan Oepen & Erik Velldal Universitetet i Oslo 15. mars 2013 Tema 2 Forrige uke Representasjon av mengder Sorterte

Detaljer

INF2810: Funksjonell Programmering. Trær og mengder

INF2810: Funksjonell Programmering. Trær og mengder INF2810: Funksjonell Programmering Trær og mengder Stephan Oepen Universitetet i Oslo 16. februar 2017 Tema 2 Forrige uke Høyereordens prosedyrer lambda, let og lokale variabler Dataabstraksjon I dag Lister

Detaljer

Oppgave 1 Minimum edit distance

Oppgave 1 Minimum edit distance INF-2810 V 2012 Oppgavesett 10, kalenderuke 12. Oppgave 1 Minimum edit distance Vi vil finne det minste antall redigeringsoperasjoner som kreves for å komme fra strengen A til strengen B. Strengene oppgis

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Omgivelsesmodeller og destruktive listeoperasjoner Stephan Oepen & Erik Velldal Universitetet i Oslo 15. mars 2013 Tema 2 Forrige uke Representasjon av mengder Sorterte

Detaljer

INF2810: Funksjonell Programmering. Mer om verditilordning. Tabeller. Og strømmer.

INF2810: Funksjonell Programmering. Mer om verditilordning. Tabeller. Og strømmer. INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Mer om verditilordning. Tabeller. Og strømmer. Erik Velldal Universitetet i Oslo 29. mars 2016 De siste ukene: destruktive operasjoner

Detaljer

INF2810: Funksjonell Programmering. Mer om verditilordning. Tabeller. Og strømmer.

INF2810: Funksjonell Programmering. Mer om verditilordning. Tabeller. Og strømmer. INF2810: Funksjonell Programmering Mer om verditilordning. Tabeller. Og strømmer. Erik Velldal Universitetet i Oslo 29. mars 2016 De siste ukene: destruktive operasjoner 2 set! endrer verditilordningen

Detaljer

INF2810: Funksjonell Programmering. Mer om verditilordning og muterbare data.

INF2810: Funksjonell Programmering. Mer om verditilordning og muterbare data. INF2810: Funksjonell Programmering Mer om verditilordning og muterbare data. Erik Velldal Universitetet i Oslo 16. mars 2017 De siste ukene: destruktive operasjoner 2 set! endrer verditilordningen til

Detaljer

INF2810: Funksjonell Programmering. Mer om verditilordning og muterbare data.

INF2810: Funksjonell Programmering. Mer om verditilordning og muterbare data. INF2810: Funksjonell Programmering Mer om verditilordning og muterbare data. Erik Velldal Universitetet i Oslo 16. mars 2017 De siste ukene: destruktive operasjoner 2 set! endrer verditilordningen til

Detaljer

Vi skal se på lambda-uttrykk. Følgende er definerte og vil bli brukt gjennom oppgaven

Vi skal se på lambda-uttrykk. Følgende er definerte og vil bli brukt gjennom oppgaven SLI 230 - side 2 av 8 EKSAMENSOPPGAVE - SLI 230 - VÅR 2000 Nedenfor følger eksamensoppgaver i SLI 230. Først om oppgavene Bakerst følger to sider med hjelp slik det er avtalt - liste over primitiver fra

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Deleksamen i: MAT-INF 1100 Modellering og beregninger. Eksamensdag: Onsdag 12. oktober 2016. Tid for eksamen: 15:00 17:00. Oppgavesettet

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2810, Funksjonell Programmering Eksamensdag: Fredag 10. juni 2016 Tid for eksamen: 14.30 Oppgavesettet er på 5 sider (ekskl.

Detaljer

INF2810: Funksjonell Programmering. Utsatt evaluering og strømmer

INF2810: Funksjonell Programmering. Utsatt evaluering og strømmer INF2810: Funksjonell Programmering Utsatt evaluering og strømmer Stephan oepen Universitetet i Oslo 6. april 2017 Tema 2 Forrige gang Ny datastruktur, ny teknikk: Strømmer Utsatt evaluering I dag Uendelige

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme Erik Velldal Universitetet i Oslo 19. april 2016 Tema 2 Forrige uke Strømmer og utsatt evaluering Kort om makroer I dag Kap. 4 Metasirkulær

Detaljer

Innlevering 2a i INF2810, vår 2017

Innlevering 2a i INF2810, vår 2017 Innlevering 2a i INF2810, vår 2017 Hovedtematikken denne gang er Huffman-koding, som ble dekket i 6. forelesning (23. februar) og i seksjon 2.3.4 i SICP. Det er viktig å ha lest denne seksjonen før dere

Detaljer

Appendiks A Kontinuasjoner

Appendiks A Kontinuasjoner Appendiks A Kontinuasjoner Fra R5RS: "Whenever a Scheme expression is evaluated there is a continuation wanting the result of the expression." Eller med andre ord: En kontinuasjon i et program under utførelse

Detaljer

INF2810: Funksjonell Programmering. En metasirkulær evaluator

INF2810: Funksjonell Programmering. En metasirkulær evaluator INF2810: Funksjonell Programmering En metasirkulær evaluator Stephan Oepen & Erik Velldal Universitetet i Oslo 26. april 2013 Tema 2 Forrige uke Strømmer og utsatt evaluering Memoisering Kort om makroer

Detaljer

EKSAMENSOPPGAVE I INF-1100

EKSAMENSOPPGAVE I INF-1100 Side 1 av 6 sider EKSAMENSOPPGAVE I INF-1100 Eksamen i: INF-1100 Innføring i programmering og datamaskiners virkemåte Eksamensdato: Onsdag 27. Februar 2013 Tid: Kl. 09:00 13:00 Sted: Aud.max. Tillatte

Detaljer

INF2810: Funksjonell programmering: Mer om Scheme. Rekursjon og iterasjon.

INF2810: Funksjonell programmering: Mer om Scheme. Rekursjon og iterasjon. INF2810: Funksjonell programmering: Mer om Scheme. Rekursjon og iterasjon. Stephan Oepen & Erik Velldal Universitetet i Oslo 25. januar, 2013 På blokka 2 Forrige uke Introduksjon og oversikt Funksjonell

Detaljer

INF2810: Funksjonell Programmering. En metasirkulær evaluator

INF2810: Funksjonell Programmering. En metasirkulær evaluator INF2810: Funksjonell Programmering En metasirkulær evaluator Stephan Oepen & Erik Velldal Universitetet i Oslo 26. april 2013 Tema 2 Forrige uke Strømmer og utsatt evaluering Memoisering Kort om makroer

Detaljer

INF2810: Funksjonell Programmering. Utsatt evaluering og strømmer

INF2810: Funksjonell Programmering. Utsatt evaluering og strømmer INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Utsatt evaluering og strømmer Erik Velldal Universitetet i Oslo 12. april 2016 Tema Forrige gang Ny datastruktur, ny teknikk: Strømmer

Detaljer

Det er ikke tillatt med andre hjelpemidler enn de to sidene som er vedlagt oppgavesettet. Følgende funksjoner er definert og brukes i oppgaven:

Det er ikke tillatt med andre hjelpemidler enn de to sidene som er vedlagt oppgavesettet. Følgende funksjoner er definert og brukes i oppgaven: Eksamen SLI 230 Bakerst ligger to sider med oversikt over standardprosedyrer og spesialformer i Scheme, samt oversikt over prosedyrer fra Simply Scheme og en enkel oversikt over konvertering mellom datatyper

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MoD200 Eksamensdag: 15. desember 2003 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 5 sider. Vedlegg: Tillatte hjelpemidler:

Detaljer

Eksamen i SLI 5 høsten 1993

Eksamen i SLI 5 høsten 1993 1 Eksamen i SLI 5 høsten 1993 Tid: Mandag 29.november 1993 kl. 9-15 (6 timer). Det er ikke tillatt med trykte eller skrevne hjelpemidler. Som siste ark i dette eksamenssettet er det lagt ved en liste over

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 14. desember 2015 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 6 sider. Vedlegg: Tillatte hjelpemidler: INF2220

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1020 Algoritmer og datastrukturer Eksamensdag: 15. desember 2004 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 6 sider.

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme Erik Velldal Universitetet i Oslo 27. april 2017 Tema 2 Forrige forelesning Strømmer og utsatt evaluering Kort om makroer I dag Kap. 4 Metasirkulær

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Deleksamen i: MAT-INF 1100 Modellering og beregninger. Eksamensdag: Onsdag 7. oktober 2015. Tid for eksamen: 15:00 17:00. Oppgavesettet

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 211 Programmeringsspråk Eksamensdag: 4. desember 2002 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 10 sider. Vedlegg: Tillatte

Detaljer

EKSAMENSOPPGAVE. Kontaktperson under eksamen: Steffen Viken Valvåg Telefon:

EKSAMENSOPPGAVE. Kontaktperson under eksamen: Steffen Viken Valvåg Telefon: EKSAMENSOPPGAVE Eksamen i: INF-1100 Innføring i programmering og datamaskiners virkemåte Dato: Tirsdag 8. desember 2015 Tid: Kl 09:00 13:00 Sted: Teorifagbygget, Hus 1 Tillatte hjelpemidler: Ingen Oppgavesettet

Detaljer

INF2810: Funksjonell Programmering. Muterbare data

INF2810: Funksjonell Programmering. Muterbare data INF2810: Funksjonell Programmering Muterbare data Stephan Oepen Universitetet i Oslo 15. mars 2016 Agenda Forrige uke Prosedyrebasert objektorientering Lokale tilstandsvariabler Innkapsling + set! Eksempel:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler

Detaljer

Par og Lister (først et par sider fra forrige uke) Par er byggestener for lister og trær og sammensatte datatyper.

Par og Lister (først et par sider fra forrige uke) Par er byggestener for lister og trær og sammensatte datatyper. Par og Lister (først et par sider fra forrige uke) Par er byggestener for lister og trær og sammensatte datatyper. Par kan representeres grafiske slik: Som vi ser kan vi bruke cons til å lage par hvis

Detaljer

UNIVERSITETET I OSLO

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

Detaljer

UNIVERSITETET I OSLO

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

Detaljer

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

INF2810: Funksjonell Programmering. Oppsummering og eksamensforberedelser

INF2810: Funksjonell Programmering. Oppsummering og eksamensforberedelser INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Oppsummering og eksamensforberedelser Erik Velldal Universitetet i Oslo 28. mai 2015 I dag Kort oppsummering Praktisk om eksamen Hvem

Detaljer

FP vs OOP, del 1. Funksjonell programmering. closure lambda ( ) calculus. local state first class objekts. lazy evaluation currying

FP vs OOP, del 1. Funksjonell programmering. closure lambda ( ) calculus. local state first class objekts. lazy evaluation currying Asbjørn Brændeland hos Logica 1. mrs 2012 et beardbeidet utdrag FP vs OOP, del 1 Funksjonell programmering recursion closure lambda ( ) calculus local state first class objekts lazy evaluation currying

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 2. juni 2006 Tid for eksamen: 09.00 12.00 Oppgavesettet er på 5 sider. Vedlegg: INF-MAT 3370/INF-MAT 4370 Lineær

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 13. desember 2011 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 7 sider. Vedlegg: INF2220 lgoritmer og datastrukturer

Detaljer

INF2810: Funksjonell Programmering. Utsatt evaluering og strømmer

INF2810: Funksjonell Programmering. Utsatt evaluering og strømmer INF2810: Funksjonell Programmering Utsatt evaluering og strømmer Stephan oepen Universitetet i Oslo 6. april 2017 Tema 2 Forrige gang Ny datastruktur, ny teknikk: Strømmer Utsatt evaluering I dag Uendelige

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1400 Digital teknologi Eksamensdag: 3. desember 2008 Tid for eksamen: 14:30 17:30 Oppgavesettet er på 5 sider Vedlegg: 1 Tillatte

Detaljer

INF2810: Funksjonell Programmering. Huffman-koding

INF2810: Funksjonell Programmering. Huffman-koding INF2810: Funksjonell Programmering Huffman-koding Stephan Oepen & Erik Velldal Universitetet i Oslo 22. februar, 2013 Tema 2 Forrige uke Data-abstraksjon Lister av lister Tre-rekursjon Prosedyrer som datastruktur

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF-MAT 3370 Lineær optimering Eksamensdag: 3. juni 2008 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 5 sider. Vedlegg: Ingen

Detaljer

INF2810: Funksjonell Programmering. Lister og høyereordens prosedyrer

INF2810: Funksjonell Programmering. Lister og høyereordens prosedyrer INF2810: Funksjonell Programmering Lister og høyereordens prosedyrer Stephan Oepen Universitetet i Oslo 2. februar 2016 Agenda 2 Forrige uke Substitusjonsmodellen og evalueringsstrategier Blokkstruktur

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF3110/4110 Programmeringsspråk Eksamensdag: 2. desember 2003 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 7 sider. Vedlegg:

Detaljer

INF2810: Funksjonell Programmering. Oppsummering og eksamensforberedelser

INF2810: Funksjonell Programmering. Oppsummering og eksamensforberedelser INF2810: Funksjonell Programmering Oppsummering og eksamensforberedelser Erik Velldal & Stephan Oepen Universitetet i Oslo 18. mai 2017 I dag 2 Kort oppsummering Praktisk om eksamen Hvem vant konkurransen

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 219 Store programsystemer Eksamensdag : Lørdag 13. desember 1997 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 3 sider

Detaljer

INF2810: Funksjonell Programmering. Oppsummering og eksamensforberedelser

INF2810: Funksjonell Programmering. Oppsummering og eksamensforberedelser INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Oppsummering og eksamensforberedelser Erik Velldal & Stephan Oepen Universitetet i Oslo 31. mai 2016 I dag Kort oppsummering Praktisk

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

INF2810: Funksjonell Programmering. Oppsummering og eksamensforberedelser

INF2810: Funksjonell Programmering. Oppsummering og eksamensforberedelser INF2810: Funksjonell Programmering Oppsummering og eksamensforberedelser Erik Velldal & Stephan Oepen Universitetet i Oslo 18. mai 2017 I dag 2 Kort oppsummering Praktisk om eksamen Hvem vant konkurransen

Detaljer

FASIT/LF FOR EKSAMEN TMA4140, H07

FASIT/LF FOR EKSAMEN TMA4140, H07 Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side av 5 FASIT/LF FOR EKSAMEN TMA440, H07 Oppgave (0%) Benytt matematisk induksjon til å vise at for alle heltall n. n i i!

Detaljer

ALGORITMER OG DATASTRUKTURER

ALGORITMER OG DATASTRUKTURER Stud. nr: Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE

Detaljer

FP vs OOP, del 1. Funksjonell programmering. closure lambda ( ) calculus. local state first class objekts. lazy evaluation currying

FP vs OOP, del 1. Funksjonell programmering. closure lambda ( ) calculus. local state first class objekts. lazy evaluation currying Asbjørn Brændeland hos Logica 1. mrs 2012 FP vs OOP, del 1 Funksjonell programmering recursion closure lambda ( ) calculus local state first class objekts lazy evaluation currying delayed evaluation referential

Detaljer

Regelen er rekursiv. calculus. Et -uttrykk evaluerer til en prosedyre. la f = x. x + x. (define f (lambda (x) (+ x x)))

Regelen er rekursiv. calculus. Et -uttrykk evaluerer til en prosedyre. la f = x. x + x. (define f (lambda (x) (+ x x))) Asbjørn Brændeland hos Logica 1. mrs 2012 FP vs OOP, del 1 Funksjonell programmering recursion closure lambda ( ) calculus local state first class objekts lazy evaluation currying delayed evaluation referential

Detaljer

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Lørdag 15. desember 2001, kl. 09.00-14.00 Hjelpemidler: Alle trykte og skrevne hjelpemidler.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: MAT-INF 1100L Programmering, modellering, og beregninger. Prøveeksamen 2 Eksamensdag: Onsdag 14. November 2014. Tid for eksamen:

Detaljer

UNIVERSITETET I OSLO

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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 15. desember 2010 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 8 sider. Vedlegg: Tillatte hjelpemidler: INF2220

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 12. desember 2008 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 7 sider. Vedlegg: Tillatte hjelpemidler: INF2220

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 6. juni 2013 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 2220 Algoritmer og datastrukturer Eksamensdag: 8. desember 2016 Tid for eksamen: 09:00 13:00 (4 timer) Oppgavesettet er på:

Detaljer

INF2810: Funksjonell Programmering. Køer, tabeller, og (litt om) parallelitet

INF2810: Funksjonell Programmering. Køer, tabeller, og (litt om) parallelitet INF2810: Funksjonell Programmering Køer, tabeller, og (litt om) parallelitet Stephan Oepen & Erik Velldal Universitetet i Oslo 5. april 2013 Tema 2 Siste gang Kort om underveisevaluering Destruktive listeoperasjoner

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 4. april 2008 Tid for eksamen: 9.00 12.00 Oppgavesettet

Detaljer

INF2810: Funksjonell Programmering. Køer, tabeller, og (litt om) parallelitet

INF2810: Funksjonell Programmering. Køer, tabeller, og (litt om) parallelitet INF2810: Funksjonell Programmering Køer, tabeller, og (litt om) parallelitet Stephan Oepen & Erik Velldal Universitetet i Oslo 5. april 2013 Tema 2 Siste gang Kort om underveisevaluering Destruktive listeoperasjoner

Detaljer