TDDC74 Programmering, abstraktion och modellering. Tentamen
|
|
- Ingrid Henriksson
- för 6 år sedan
- Visningar:
Transkript
1 AID-nummer: Datum: Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Onsdag 17 augusti Uppgifterna löses direkt på denna uppgiftslapp, som lämnas in i sedvanligt tentamensomslag. Räcker inte utrymmet kan du komplettera med lösa papper. Skriv tydligt så att inte dina lösningar missförstås. Använd väl valda namn på parametrar etc. Även om det i uppgiften står att du skall skriva en funktion, så får du gärna skriva ytterligare hjälpfunktioner, som kan vara nödvändiga. Enligt den nya standarden i Scheme/Racket använder man en ny uppsättning funktioner för cons-celler man vill ändra pekare i (dvs muterbara cons-celler), dvs mcons, mcar, mcdr, set-mcar!, set-mcdr! etc. Det går lika bra att använda cons, car, cdr, set-car!, set-cdr!. Betygsgradering: 12-16,5 betyg ,5 betyg betyg 5 Lycka till
2 AID-nummer: Datum: Uppgift 1. Beräkning av uttryck och quote (2 poäng) Vi ger följande uttryck för beräkning. Vilket värde skrivs ut eller om det blir fel, beskriv typen av fel. > (define a 10) > (define b a) > (define c a) > (define d (list a (quote b) b c)) > d = > (a b c) = > '(list a 1 5) = > (define (f a x) (+ a x)) > (f a a) = > (define (g x a) (define (h y) (+ y a)) (h (+ x b)))) > (g b b) = > (h 1) = > (define k (lambda (x y) (y (y x)))) > (k 10 (lambda (x) (+ x 2))) = > (k f list) = 0-1 rätt 0p 2-3 rätt 0,5p 4-5 rätt 1,0p 6-7 rätt 1,5p 8 rätt 2,0p
3 AID-nummer: Datum: Uppgift 2. Rekursiva funktioner (9 poäng) 2a. (3p) Skriv en rekursiv funktion (tabort-tal lst), som tar bort alla talen på toppnivån i en lista. > (tabort-tal '(a 2 3 b c 4 d)) => (a b c d) (define (tabort-tal lst) Beskriver din funktion en rekursiv eller iterativ (linear) processkösning? Använd din lösning och visa med substitutionsmodellen exemplet (tabort-tal '(a 2 c 3)). 2b. (3p) Skriv en funktion (taborta-alla-tal lst), som tar bort alla talen oavsett nivån i en lista. > (tabort-alla-tal '(a (2 (c 4) e) (5))) => (a ((c) e) ()) (define (tabort-alla-tal lst)
4 AID-nummer: Datum: Uppgift 2. Rekursiva funktioner, forts 2c. (2p) Skriv en rekursiv funktion (skriv-ut första nästa -fn slutvillkor-fn), som skriver ut ett antal värden, från första, sedan beräknas nästföljande med funktionen nästa-fn, och sedan nästa etc, tills värdet uppfyller funktionen slutvillkor-fn. Utskriften kan göras med display och newline. För att skriva ut de udda talen från 1 till 7 skriver vi: > (skriv-ut 1 (lambda (e) (+ e 2)) (lambda (e) (= e 9))) (define (skriv-ut första nästa-fn slutvillkor-fn) 2d. (1p) Använd funktionen skriv-ut för att skriva ut alla primtalen mellan 2 och 100. Vi antager vi har en funktion prime?, som avgör om ett tal är ett primtal eller ej. (skriv-ut 2 nästa?? slutvillkor??) etc Komplettera med kod för de två saknade argumenten nästa?? och sluvillkor?? nästa?? = slutvillkor?? =
5 AID-nummer: Datum: Uppgift 3. Par/cons-celler (3 poäng) 3a. (1p) Vad blir värdet i parentesformat av följande uttryck. Rita även upp värdet med den grafiska representationen med cons-celler och pekare (box and pointer notation). > (define start (cons (list 'x) (list 'a '(b)))) start => 3b. (2p) Skriv ett Scheme-uttryck som skapar följande struktur start (define start a b () Rita sedan en ny struktur efter det att följande har beräknats: (let ((c-cell (mcons 'c '()))) (set-mcar! start (mcdr (mcar start))) (set-mcdr! (mcdr start) c-cell) (set-mcdr! start c-cell))
6 AID-nummer: Datum: Uppgift 4. Objektorienterad modellering (3 poäng) Nedan följer en objektorienterad modellering av personer med sina leksaker. Varje sak har ett namn och kan ha en färg samt varje person har ett namn och en leksakslista. (define (skapa-sak namn) (let ((färg 'ingen-färg)) (lambda (medd. arg-lista) (cond ((eq? medd 'namn) namn) ((eq? medd 'färg?) färg) ((eq? medd 'ny-färg) (set! färg (car arg-lista))) (else "fel meddelande"))))) (define (skapa-person namn) (let ((leksaker '())) (define (lägg-till-leksak sak-obj) (set! leksaker (cons (cons (sak-obj 'namn) sak-obj) leksaker)) (void)) (define (skriv-ut-leksaker) (map (lambda (par) (display (car par)) (display " ")) leksaker) (newline)) (define (leksaker-färg färg) ; se uppgift 4c (define (dispatch msg) (cond ((eq? msg 'namn) (lambda () namn)) ((eq? msg 'lägg-till-leksak) lägg-till-leksak) ((eq? msg 'skriv-ut-leksaker) skriv-ut-leksaker) ((eq? msg 'alla-med-viss-färg) leksaker-färg) (else (error "fel meddelande")))) dispatch)) (define min-docka (skapa-sak "dockan-anna")) ; ge dockan-anna färgen gul, se uppgift 4a (define min-bil (skapa-sak "racerbil")) ; ge racerbil färgen röd, se uppgift 4a (define min-boll (skapa-sak "tennisboll")) ; ge tennisboll färgen gul, se uppgift 4a (define lilla-lisa (skapa-person "Lisa")) ; se uppgifter i 4b
7 AID-nummer: Datum: Uppgift 4. Objektorienterad modellering, forts 4a. (1p) Skriv Scheme-uttryck, som ger de tre sakerna en färg. 4b. (1p) Skriv Scheme-uttryck, som lägger in de tre sakerna i Lisa. 4c. (1p) Komplettera koden för leksaker-färg, som ger en lista med namnen på de leksaker som har en given färg. Vi kan då t. ex. få reda på att dockan-anna och tennisboll är gula.
8 AID-nummer: Datum: Uppgift 5. Högre ordningens funktioner (3 poäng) Skriv först en procedur (compose-2 f g), som tar två funktioner f och g och som returnerar den procedur, som utför kompositionen av dessa två funktioner. I matematiken brukar komposition betecknas med en ring o. Vi har sambandet f o g (x) = (f (g x)) > (define kadr (compose-2 car cdr)) ; skapa en funktion som tar fram andra elementet > (kadr '(a b c)) = b Skriv sedan en generell funktion compose, som tar ett godtyckligt antal funktioner (minst 1 st) och som returnerar en funktion som utför funktionskomposition på all dessa funktioner. > ((compose car) '(a b c d)) = a > (define längd-efter-kdddr (compose length cdr cdr cdr)) > (längd-efter-kdddr '(a b c d e)) = 2, dvs längden efter 3 cdr är en lista med 2 element
9 AID-nummer: Datum: Uppgift 6. Procedurobjekt, omgivningsdiagram (4 poäng) 6a. (2p) I samband med omgivningsdiagram förklara bindning (binding) ram (frame) omgivning (environment) procedurobjekt (procedure object) Förklara sedan hur omgivningsdiagrammet används då man i Scheme ger följande uttryck: definition: (define variabel uttryck) i en omgivning En tilldelning: (set! variabel uttryck) i en omgivning En lambda-uttryck: (lambda formella-parametrar kropp) i en omgivning En funktionsapplicering: (procedur-uttryck aktuella-parametrar ) i en omgivning En Förklara begreppen med hjälp av följande exempel genom att rita upp omgivningsdiagrammet, där ramarna märks ordentligt och ange i den ordning som deluttrycken beräknas och relativt vilken ram samt vad som händer i omgivningsdiagrammet: > (define x 10) > (define f (lambda (x y) (set! x (+ x 1)) (+ x y))) > (f x 5) =?
10 AID-nummer: Datum: Uppgift 6. Procedurobjekt, omgivningsdiagram, forts 6b. (2p) Vilka värden skrivs ut och rita omgivningsdiagrammet. > (define all '()) > (define (memory-generator start) (let ((sum start)) (lambda (val) (set! sum (+ sum val)) (set! all (cons val all)) sum))) > (define adder (memory-generator 10)) > (adder 20) = > (adder 10) = > all = Omgivningsdiagrammet:
TDDC74 Programmering, abstraktion och modellering. Tentamen
AID-nummer: Datum: 2011-06-10 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Fredag 10 juni
TDDC74 Programmering, abstraktion och modellering DUGGA 3
1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering DUGGA 3 Torsdag 4 mars 2010 kl 8-10 Namn: Personnummer:
TDDC74 Programmering, abstraktion och modellering. Tentamen
AID-nummer: Datum: 2012-01-10 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Tisdag 10 januari
TDDC74 Programmering, abstraktion och modellering. Tentamen
AID-nummer: Datum: 2011-01-11 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Tisdag 11 januari
TDDC74 Programmering, abstraktion och modellering DUGGA 2
AID-nummer: Datum: 2011-02-18 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering DUGGA 2 Fredag 18 feb 2011
TDDC74 Programmering, abstraktion och modellering DUGGA 1
AID-nummer: Datum: 2011-02-04 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering DUGGA 1 Fredag 4 feb 14-16
TDDC74 Programmering, abstraktion och modellering DUGGA 2
1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering DUGGA 2 Torsdag 19 feb 2009 8-10 Namn: Personnummer:
TDDC74 Programmering: Abstraktion och modellering Tenta, kl 14 18, 11 juni 2014
TDDC74 Programmering: Abstraktion och modellering Tenta, kl 14 18, 11 juni 2014 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt. Använd
TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016
TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte ordnade i någon
TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18
TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.
TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 19 oktober 2016, kl 14 18
TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 19 oktober 2016, kl 14 18 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.
TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 29 augusti 2015, kl 8 12
TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 29 augusti 215, kl 8 12 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.
TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18
TDDC74 Programmering: Abstraktion och modellering Datortenta - 2018-06-07, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis
TDDC74 Lab 04 Muterbara strukturer, omgivningar
TDDC74 Lab 04 Muterbara strukturer, omgivningar 1 Översikt I den här laborationen kommer ni att lära er mer om: Tillstånd, och skillnader mellan ren funktionell programmering och imperativ. Skillnaden
TDDC74 Programmering: Abstraktion och modellering. Provkod TEN1, Tid: kl 14-18, , Kåra
Tentamen Provkod TEN1, Tid: kl 14-18, 2013-06- 07, Kåra Läs alla frågorna först och bestäm dig för den ordning som passar dig bäst. Även om det i uppgi;en står a< du skall skriva en procedur/funk?on, så
Lösningsförslag. TDDC74 Programmering: Abstraktion och modellering. Dugga 3 (provkod TEN1), Tid: kl 14-16, Datum:
Dugga 3 (provkod TEN1), Tid: kl 14-16, Datum: 2013-03-12 Lösningsförslag Dugga 3 (provkod TEN1), Tid: kl 14-16, Datum: 2013-03- 12 Läs alla frågorna först och bestäm dig för den ordning som passar dig
TDDC74 - Lektionsmaterial C
TDDC74 - Lektionsmaterial C Lektioner innehåller uppgifter av varierande slag. En del är mer diskussionsartade, andra mer experimentella. Ni behöver inte lämna in eller visa upp lösningarna på dessa för
TDDC74 Programmering: Abstraktion och modellering Datortenta
TDDC74 Programmering: Abstraktion och modellering Datortenta - 2017-08-26 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i svårighetsordning.
TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12
TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.
Tentamen i. TDDC67 Funktionell programmering och Lisp
1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDC67 Funktionell programmering och Lisp och äldre kurser TDDC57 Programmering, Lisp och funktionell programmering
TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 08-12
TDDC74 Programmering: Abstraktion och modellering Datortenta - 2019-05-27, kl 08-12 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis
TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel
TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i svårighetsordning.
TDDC74 Programmering: Abstraktion och modellering Dugga 2, Tid: kl 08-10, Datum:
TDDC74 Programmering: Abstraktion och modellering Dugga 2, Tid: kl 08-10, Skriv tydligt så att inte dina lösningar missförstås. Använd väl valda namn på parametrar och indentera din kod. Även om det i
Två fall: q Tom sekvens: () q Sekvens av element: (a b c) ; (sum-rec '(2 4 6)) = 12. q Första elementet uppfyller vissa villkor: (2 a b c)
Programmönster: # Listan som sekvens, Rekursiv process Enkel genomgång av sekvens (element på toppnivån i en lista)) TDDC60 Programmering: abstraktion och modellering Föreläsning 5 Rekursiva och iterativa
TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015
TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt. Använd
TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16
TDDC74 Programmering: Abstraktion och modellering Dugga 2, 207-04-06, kl 4-6 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i svårighetsordning.
n Detta för att kunna koncentrera oss på n Tal: number? n Symboler: symbol? n Strängar: string? n Tecken: char? n Boolskt: boolean?
Tidigare TDDC74 Programming: Abstraktion och modellering Föreläsning 4 Symboler, Par, Listor Representation av par, Grafisk notation för par Representation av listor mha par Typiska listhanteringsprocedurer
TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19
TDDC74 Programmering: Abstraktion och modellering Dugga 2, 2017-04-06, kl 17-19 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i
Ändringsbar (mutable compound) data. TDDC74 Programmering: abstraktion och modellering. Sätta - samman listor kopiering. Hitta sista cons-cellen
TDDC74 Programmering: abstraktion och modellering Ändringsbar (mutable comound) data Att göra strukturförändringar i listor Ändra car- och cdr-ekare SICP 3 (del ) Föreläsning 8 Anders Haraldsson (set-car!
TDDC74 Programmering: Abstraktion och modellering Dugga 2, kl 8 10, 5 mars 2015
TDDC74 Programmering: Abstraktion och modellering Dugga 2, kl 8 10, 5 mars 2015 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt. Använd
Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning
1 Dagens föreläsning Programmering i Lisp - Block, räckvidd - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning - Felhantering (kap 17) icke-normala återhopp catch
TDDC74 Programmering: Abstraktion och modellering Dugga 1, kl 14-16
TDDC74 Programmering: Abstraktion och modellering Dugga 1, 2017-02-22 kl 14-16 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i
Signalflödesmodellen. Två (gamla) exempel: Kvadratera alla jämna löv.
Strömmar (streams) De sista dagarna objekt med tillstånd modellerades som beräkningsobjekt med tillstånd. Isådana modeller är tiden modelerad (implicit) som en sekvens av tillstånd. För att kunna modellera
Våra enkla funktioner eller procedurer
Föreläsning 3 Våra enkla funktioner eller procedurer Programmönster 1. Repetition 2. Högre-ordningens procedurer/programmönster - Procedurer som argument - Procedurer som returnerade värden 3. Scope och
Tentamen i. TDDA 69 Data och programstrukturer
1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDA 69 Data och programstrukturer Torsdag den 14 januari 2009, kl 14-18 Hjälpmedel: Inga. Poänggränser: Maximalt
TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18
TDDC74 Programmering: Abstraktion och modellering Datortenta - 017-10-7, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis
TDDC74 Lab 02 Listor, sammansatta strukturer
TDDC74 Lab 02 Listor, sammansatta strukturer 1 Översikt I denna laboration kommer ni att lära er mer om: Mer komplexa rekursiva mönster, procedurer och processer. Hur man kan hantera listor och andra enklare
TDDC74 Programmering: Abstraktion och modellering Dugga 2, kl 8 10, 3 mars 2016
TDDC74 Programmering: Abstraktion och modellering Dugga 2, kl 8 10, 3 mars 2016 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte ornade i någon
Dagens föreläsning Programmering i Lisp Fö 5
Anders Haraldsson 1 Dagens föreläsning Programmering i Lisp Fö 5 - Funktioner - lambda-uttryck (avs 7.1) - funcall och function (avs 7.2) - Högre ordningens funktioner (avs 7.3) - Iteratorer - Egenskaper
Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson
1 2 - Block, räckvidd Dagens föreläsning Programmering i Lisp - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning - Felhantering (kap 17) icke-normala återhopp catch
Dagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler
21-1-2 1 Dagens föreläsning Hur fungerar ett Lisp system intern struktur av symbolen, tal, listan pekare - delade strukturer - eq minneshantering fri lista - sophämtning/garbage collection stack Diverse
Symbolisk data. quote. (define a 1) (define b 2) (jacek johan david) (list a b)
Symbolisk data (1 2 3 4) (a b c d) (jacek johan david) ((jacek "jacek@cs.lth.se") (johan "johang@cs.lth.se") (david "dat99dpe@ludat.lth.se")) ((anna 13) (per 11) (klas 9) (eva 4)) (+ (* 23 4) (/ y x))
Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 2
Anders Haraldsson 1 Anders Haraldsson 2 Dagens föreläsning Programmering i Lisp Fö 5 - Funktioner - lambda-uttryck (avs 7.1) - funcall och function (avs 7.2) - Högre ordningens funktioner (avs 7.) - Iteratorer
Datalogi, grundkurs 1
Datalogi, grundkurs 1 Tentamen 10 december 2008 konverterad till Python Hjälpmedel: Kommer att finnas i skrivsalarna, bl.a. Revised 6 Report on the Algorithmic Language Scheme och två olika s.k. Cheat
Procedurer och villkor. Rekursiva procedurer. Exempel: n-fakultet
Procedurer och villkor Rekursiva procedurer (define lessorequal (lambda (x y) (or (< x y) (= x y)))) (define between (lambda (x y z) (and (lessorequal x y) (lessorequal y z)))) > (between 3 4 5) #t > (between
Procedurer och villkor
Procedurer och villkor (define lessorequal (lambda (x y) (or (< x y) (= x y)))) (define between (lambda (x y z) (and (lessorequal x y) (lessorequal y z)))) > (between 3 4 5) #t > (between 3 2 5) #f DA2001
Idag: Par och listor. Symboler. Symboler används för att uttrycka icke-numeriska data såsom namn, adress, bilregisternummer, boktitel, osv.
Idag: Par och listor Symboler Hur hanterar man icke-numeriska problem? Hur hanterar man en samling av data? Hur konstruerar man sammansatta datastrukturer? Bra om du har läst följande avsnitt i AS: Pair
TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017
FÖRELÄSNING 1 TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 Introduktion till kursen Schemespråkets grunder Enkla exempel Jalal Maleki Institutionen för datavetenskap Linköpings universitet
Förra gången: Primitiva data
Förra gången: Primitiva data > 30 30 > 45.56 45.56 Variabler: > (define telnr 6000) > telnr 6000 DA2001 (Föreläsning 3) Datalogi 1 Hösten 2013 1 / 24 Förra gången: Procedurapplikation: > (+ 7900000 telnr)
FÖRELÄSNING 2, TDDC74, VT2018 BEGREPP PROBLEMLÖSNING MED HJÄLP AV FALLANALYS PROBLEMLÖSNING MED HJÄLP AV REKURSION
FÖRELÄSNING 2, TDDC74, VT2018 Begrepp och definitioner (delvis från föreläsning 1) Fallanalys som problemlösningsmetod Rekursivt fallanalys Rekursiva beskrivningar och processer de kan skapa Rekursiva
Idag: Dataabstraktion
Idag: Dataabstraktion Hur använder vi det vi hittills kan om Scheme för att realisera (implementera) sammansatta data? DA2001 (Föreläsning 7) Datalogi 1 Hösten 2013 1 / 16 Idag: Dataabstraktion Hur använder
Idag: Par och listor. Scheme. DA2001 (Föreläsning 6) Datalogi 1 Hösten / 29
Idag: Par och listor DA2001 (Föreläsning 6) Datalogi 1 Hösten 2010 1 / 29 Idag: Par och listor Hur hanterar man icke-numeriska problem? DA2001 (Föreläsning 6) Datalogi 1 Hösten 2010 1 / 29 Idag: Par och
TDDC74 Programmering: Abstraktion och modellering Dugga 1, exempeldugga
TDDC74 Programmering: Abstraktion och modellering Dugga 1, exempeldugga Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i svårighetsordning.
I dag: Blockstruktur, omgivningar, problemlösning
Förra gången Förra gången: Rekursiva procedurer I dag I dag: Blockstruktur, omgivningar, problemlösning (define add-1 (define add-2 (lambda (a b) (lambda (a b) (if (= a 0) (if (= a 0) b b (+ 1 (add-1 (add-2
Rekursiva algoritmer sortering sökning mönstermatchning
Anders Haraldsson 1 Anders Haraldsson 2 Dagens föreläsning Programmering i Lisp Fö 6-7 Rekursiva strukturer rekursiva definitioner rekursiva funktioner rekursiva bevis: induktion - rekursion strukturell
BEGREPP HITTILLS FÖRELÄSNING 2 SAMMANSATTA UTTRYCK - SCHEME DATORSPRÅK
FÖRELÄSNING 2 Viss repetition av Fö1 Rekursivt fallanalys Rekursiva beskrivningar BEGREPP HITTILLS Konstant, Namn, Procedur/Funktion, LAMBDA, Parameter, Argument, Kropp, Villkor/Rekursion, Funktionsanrop,
Deklarationer/definitioner/specifikationer
Deklarationer/definitioner/specifikationer Konstantdefinitioner innebär att ett namn binds och sätts att referera till ett värde som beräknas vid kompileringen/interpreteringen och som under programmets
Språket Scheme. DAT 060: Introduktion till (funktions)programmering. DrScheme. uttryck. Jacek Malec m. fl. evaluering av uttryck.
DAT 060: Introduktion till (funktions)programmering. Jacek Malec m. fl. www.cs.lth.se/home/jacek Malec/dat060 Idag: 1. Kursens innehåll 2. Kursens organisation 3. Programmeringsspråket Scheme 4. Introduktion
Funktionell programmering DD1361
Funktionell programmering DD1361 Tupler Två eller fler (men ändligt) antal element. Elementen kan vara av olika typer. Ex: (1,2) :: (Integer, Integer) (( 2, hejsan ), True) ::? Tupel med två element ->
Föreläsning 9 Exempel
Föreläsning 9 Exempel Intervallhalveringsmetoden DA2001 (Föreläsning 9) Datalogi 1 Hösten 2013 1 / 24 Föreläsning 9 Exempel Intervallhalveringsmetoden Newton-Raphsons metod DA2001 (Föreläsning 9) Datalogi
Objektorienterad programmering i Racket
Objektorienterad programmering i Racket Rasmus Andersson lätt utökat av Anders M. L. Februari 2016 Innehåll 1 1 Inledning Detta kompendium är skrivet som en resurs för kursen TDDC74 Programmering - abstraktion
Datalogi, grundkurs 1. Lösningsförslag till tentamen
Datalogi, grundkurs 1 Lösningsförslag till tentamen 10 december 2008 1. a. Man testar med typiska värden, gränsvärden och värden utanför specificerad indatavärdemängd. Helst med alla permutationer av
Imperativ programmering. Imperativ programmering konstruktioner i Lisp. Datastrukturer (kap ) arraystruktur poststruktur
Imperativ programmering konstruktioner i Lisp Imperativ programmering I den imperativa programmeringen skriver vi program satsvist. Datastrukturer (kap.-.) aystruktur poststruktur Iterativa uttryck (avs.)
Datalogi, grundkurs 1
Datalogi, grundkurs 1 Fiktiv Tentamen Lösningsförslag och kommentarer 1. Lösningsförslaget nedan förutsätter ingenting om filens innehåll och är alltså mer generell än nödvändigt: alfa= ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ
Objektorienterad programmering i Racket
Objektorienterad programmering i Racket Rasmus Andersson och Anders M. L. Mars 2017 Ursprungligt utkast av R.A. inför kursen 2015. Innehåll 1 Inledning 2 1.1 Vad detta är, och inte är......................................
Föreläsning 9 Exempel. Intervallhalveringsmetoden. Intervallhalveringsmetoden... Intervallhalveringsmetoden...
Föreläsning 9 Intervallhalveringsmetoden Intervallhalveringsmetoden Newton-Raphsons metod Mer om rekursion Tidskomplexitet Procedurabstraktion Representation Bra om ni läst följande avsnitt i AS: Procedures
TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS
TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS 180226 Idag (ADT), OOP i Racket, labb 5 2 Allmän info Duggan. Laboration 4 deadline. Planering framöver Muddy cards (nästa timme) 3 Lite repetition ADT
Modularitet och tillstånd. Stora system kräver en uppdelning. En lösning: modularitet. Basera programmets struktur på den fysiska systemets struktur:
Modularitet och tillstånd Stora system kräver en uppdelning. En lösning: modularitet Basera programmets struktur på den fysiska systemets struktur: En fysisk objekt en beräkningsobjekt Ett agerande en
FÖRELÄSNING 1 PERSONAL TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 SYFTE EXAMINATION ORGANISATION
TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 Jalal Maleki Institutionen för datavetenskap Linköpings universitet jalal.maleki@liu.se FÖRELÄSNING 1 Introduktion till kursen Schemespråkets grunder
Institutionen för datavetenskap, DAT060, Laboration 2 2 För denna enkla simulerings skull kommer handen att representeras som ett par tal μ värdet på
DAT 060 Laboration 2 I Malmös kasino Institutionen för datavetenskap 17 juni 2002 Per tänkte dryga ut sitt magra studielån genom att jobba som labbassistent på sommarkursen. Tyvärr fanns det redan tillräckligt
Uppgift 6A - Frekvenstabell
Uppgift 6A - Frekvenstabell (defstruct par element antal) (defun unika-element (lista) (reduce #'(lambda (x y) (if (listp x) (if (find y x) x (cons y x)) (if (eq x y) x (list x y)))) lista)) (defun sortera-tabell
Datalogi, grundkurs 1 Övningsuppgifter i Scheme. Serafim Dahl, Carina Edlund, m.fl.
Datalogi, grundkurs 1 Övningsuppgifter i Scheme Serafim Dahl, Carina Edlund, m.fl. Hösten 2004 Datalogi, grundkurs 1, hösten 2002 1 1. Vad blir det för resultat vid beräkningen av följande Scheme-uttryck.
TENTAMEN I. OBJEKTORIENTERAD PROGRAMMERING för Z1. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng
Institutionen för Datavetenskap JSk TENTAMEN TDA540 TENTAMEN I OBJEKTORIENTERAD PROGRAMMERING för Z1 TID 14.15-18.15 Ansvarig: Betygsgränser: Hjälpmedel: Jan Skansholm Sammanlagt maximalt 60 poäng. På
Abstraktion. Abstraktion... Abstraktion... Abstraktion...
Abstraktion Inom programmeringstekniken används två former av abstraktion dataabstraktion och programabstraktion. Dataabstraktion handlar om aggregat för att gruppera samhörande data. Programabstraktion
Abstraktion. procedurabstraktion. DA2001 (Föreläsning 26) Datalogi 1 Hösten / 27
Abstraktion Inom programmeringstekniken används två former av abstraktion dataabstraktion och programabstraktion. Dataabstraktion handlar om aggregat för att gruppera samhörande data. Programabstraktion
Tentamen Grundläggande programmering
Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:
TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P
UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr
allt.cl Page 1 of 17 Date: torsdag 7 december 2006
allt.cl Page 1 of 17 Slumpspelaren Väljer slumpvis en flytt ur möjliga flyttar. (defun skapa-slump-spelare (namn bricktyp) "lisp-sträng x bricka -> spelare" (skapa-spelare #'slump-gör-flytt namn bricktyp))
Idag: Dataabstraktion
Idag: Dataabstraktion Hur använder vi det vi hittills kan om Scheme för att realisera (implementera) sammansatta data? Hur separerar man datastrukturen från resten av ett program så att ändringar i datastrukturen
Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33
Programmering i C++ EDA623 Objektorienterad programutveckling EDA623 (Föreläsning 5) HT 2013 1 / 33 Objektorienterad programutveckling Innehåll Grundläggande begrepp Relationer mellan objekt Grafisk representation
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2 Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok,
Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
if (n==null) { return null; } else { return new Node(n.data, copy(n.next));
Inledning I bilagor finns ett antal mer eller mindre ofullständiga klasser. Klassen List innehåller några grundläggande komponenter för att skapa och hantera enkellänkade listor av heltal. Listorna hålls
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,
Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python)
Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python) Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken
Programmering II (ID1019) :00-17:00
ID1019 Johan Montelius Programmering II (ID1019) 2014-03-10 14:00-17:00 Förnamn: Efternamn: Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.
Datalogi, grundkurs 1
Datalogi, grundkurs 1 Tentamen 9 dec 2014 Tillåtna hjälpmedel: Revised 6 Report on the Algorithmic Language Scheme och Tre olika s.k. Cheat Sheets för Scheme Sex olika s.k. Cheat Sheets för Python Tänk
TENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13:15
TENTAMEN I PROGRAMSPRÅK -- DVG C01 140605 kl. 08:15-13:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition Betygsgräns: Kurs: Max 60p, Med beröm godkänd 50p, Icke utan beröm godkänd
Föreläsning 6: Metoder och fält (arrays)
TDA 545: Objektorienterad programmering Föreläsning 6: Metoder och fält (arrays) Magnus Myréen Chalmers, läsperiod 1, 2015-2016 I (föregående och) denna föreläsning Läsanvisning: kap 2 & 13 meddelanden
Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.
Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills
TDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om
Tillämpad Programmering (ID1218) :00-13:00
ID1218 Johan Montelius Tillämpad Programmering (ID1218) 2014-03-13 09:00-13:00 Förnamn: Efternamn: Regler Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.
Typkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
Tentamen i. Programmering i språket C
1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering i språket C för D1 m fl, även distanskursen lördag 25 februari
Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:
Tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-01-13, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar: Alex
Dagens föreläsning Programmering i Lisp Fö 7. Sammanfattning funktionell programmering Exempel på funktionella programspråk
1 Dagens föreläsning Programmering i Lisp Fö 7 Kopplingen funktionella programmering och diskret matematik. Jämför vad ni hittills gjort i denna kurs och i den diskreta matematiken, med referenser in i
Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.
5(16) Tentamen på kurserna Programmeringsteknik med C och Matlab Programmering i C Tid: 2/11-11, kl. 9-13 Lärare: Jonny Pettersson Totalt: 60 poäng Betyg 3: 30 poäng Betyg 4: 39 poäng Betyg 5: 48 poäng
Sista delen av kursen
Sista delen av kursen handlar om hur program, delprogram och datatyper deklareras och vad det man åstadkommit egentligen betyder. Innehåll Syntaktisk (hur ser det ut) och semantisk (vad betyder det) beskrivning
Programspråkslingvistik. Sista delen av kursen. Ett programspråk
Sista delen av kursen Programspråkslingvistik handlar om hur program, delprogram och datatyper deklareras och vad det man åstadkommit egentligen betyder. Innehåll Syntaktisk (hur ser det ut) och semantisk