TDDC74 Programmering, abstraktion och modellering DUGGA 3
|
|
- Lena Fransson
- för 8 år sedan
- Visningar:
Transkript
1 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: Skriv även ditt namn på varje uppgiftssida. Uppgifterna löses direkt på denna uppgiftslapp, som lämnas in i sedvanligt tentamensomslag. Skriv tydligt så att inte dina lösningar missförstås. Använd väl valda namn på parametrar etc. Skriv lagom stort, en del skriver så smått så att vi har svårt att tolka texten och en del skriver så stort så at det inte ryms på raden. Börja raden så långt till vänster som möjligt. Även om det i uppgiften står att du skall skriva en funktion, så får du gärna skriva ytterliggare hjälpfunktioner, som kan vara nödvändiga. På uppgifterna kan halva poäng utdelas. Betygsgradering: Det är tre duggor. Varje dugga ger 12p, dvs totalt 36p. För att passera en dugga krävs minst 3p på duggan. Totalt skall du på de tre duggorna för betyget 3 ha minst 20p. För betyget 4 minst 25p och för betyget 5 minst 30p. Om du har tid: Denna dugga kan ge extrapoäng, som räknas in i totalpoängen. Se uppgift 3. Lycka till
2 2 Uppgift 1. Strukturändrande operationer på listor (3 poäng) 1a. (1,5p) Vad blir värdet av p och q efter att följande uttryck har beräknats. Rita även upp vilka cons-cellerna med boxar och pilar (box-and-pointer diagrams) som skapats och markera vilka ändringar som gjorts med pekarna. Gör ändringarna i samma cons-cells-struktur. (define p (mcons (mcons 1 ()) (mcons 2 ()))) p (define q (mcons 3 (mcdr p))) (set-mcar! (mcdr p) x) p = q = q (set-mcdr! (mcar p) (mcdr p)) p = q = 1b. (1,5p) Vi vill kunna ändra värdet i ett par i en associationslista genom att ändra pekare. al () a b 30 c Definiera en funktion (nytt-värde! alista nyckel nytt-värde). Vi kan antaga att ett par med den givna nyckeln finns i associationslistan. Du får ej använda Scheme-funktioner som arbetar med associationslistor (t ex assoc, assq). Pekarna i paren är ändringsbara, så dessa cons-celler definieras som muterbara. Den överordnade strukturen är vanliga cons-celler. (define al (list (mcons 'a 10) (mcons 'b 20) (mcons 'c 30))) (nytt-värde! al b 50) ; al har nu värdet ({a. 10} {b. 50} {c. 30}) (define (nytt-värde! alista nyckel nytt-värde)
3 3 Uppgift 2. Omgivningsdiagram (4 poäng) 2a. (2p) Förklara följande begrepp i samband med omgivningsdiagram: bindning (binding) ram (frame) omgivning (environment) Förklara sedan hur omgivningsdiagrammet används då man i Scheme ger följande uttryck: Definition:(define x ) i en omgivning En Tilldelning: (set! x ) i en omgivning En Lambda-uttryck:(lambda formella-parametrar kropp) i en omgivning En Proceduranrop/procedurapplikation: (procedur aktuella-parametrar) i en omgivning En
4 4 Uppgift 2. Omgivningsdiagram, forts 2b. (2p) Vi har följande definitioner: (define n 10) (define (f n) (define (h x) (g (+ x n))) (h (+ n 5))) (define (g x) (+ x n)) Sedan beräknar vi uttrycket (f (+ n 5)) Rita upp omgivningsdiagrammet efter att dessa 4 uttrycket beräknats, Visa i vilken ordning de olika ramarna och procedurobjekten har skapats.
5 5 Uppgift 3. Procedurobjekt med tillstånd (2p) Vi önskar en funktion (fib n), som beräknar fibonacci-talen enligt följande fib 0 = 0 fib 1 = 1 fib n = fib n-1 + fib n-2 Funktionen skall minnas tidigare beräknade fibonaccital för att inte behöva räkna om samma fibonaccital mer än en gång. Detta kan göras så att man har en associationslista, där man lagrar n, som nyckel och fib n, som värde. Komplettera nedanstående definition av fib. (define fib (let ((tidigare-värden '())) (lambda (n) (let ((n-värde-par (assq 1 (if (pair? n-värde-par) (cdr n-värde-par) ; komplettera med kod här n tidigare-värden))) ; tidigare beräknat ))))) Extrauppgift (1p): Gör ett omgivningsdiagram, som visar hur fib är definierad och vad som händer då du beräknar (fib 3). Använd sid 8 om inte platsen här räcker till. 1 Proceduren assq returnerar det par i en associationslista, som har en given nyckel. Annars returneras #f.
6 6 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-lisa")) ; Ge dockan-lisa! färgen gul, se uppgit 4a (define min-bil (skapa-sak "brandbil")) ; ge brandbil färgen röd, se uppgit 4a (define min-boll (skapa-sak "tennisboll")) ; ge tennisboll färgen gul, se uppgit 4a (define lilla-lisa (skapa-person "Lisa")) ; se uppgifter i 4b
7 7 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-lisa och tennisboll är gula.
8 8
TDDC74 Programmering, abstraktion och modellering. Tentamen
AID-nummer: Datum: 2011-08-17 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Onsdag 17 augusti
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. 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-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 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 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 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 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
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 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, 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
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 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 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 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.
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. 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å
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
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 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 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.
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
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.
Ä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!
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 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
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
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
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 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.
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 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
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
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
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
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,
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
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
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
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))
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
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
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
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
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
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
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
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: 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
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
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
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
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
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......................................
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
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
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)
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
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
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
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
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
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))
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
Sökning i ordnad lista. Sökning och sortering. Sökning med vaktpost i oordnad lista
Sökning och sortering Sökning i oordnad lista Att söka efter data man lagrat undan för senare användning är vanligt Egentligen har man ingen annan anledning för att lagra undan data Har man mycket data
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.
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
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
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
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
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
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 ->
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
DELPROV 1 I DATAVETENSKAP
Umeå Universitet Datavetenskap Marie Nordström 070502 DELPROV 1 I DATAVETENSKAP Uppgift (poäng) 1 () 2 () 3 () 4 () 5 () 6 () Summa (xx) Inlämnad Poäng Kurs : Datum : 070502 Namn (texta) : Personnummer
Några saker till och lite om snabbare sortering
Några saker till och lite om snabbare sortering Generellt om avbrott Generera avbrott Snabb sortering principer Snabb sortering i Scheme och Python QuickSort (dela städat slå ihop) Mergesort (dela slå
Datalogi, grundkurs 1. Lösningsförslag till tentamen
Datalogi, grundkurs 1 Lösningsförslag till tentamen 6 maj 2000 1. För att proceduren sortera ska fungera som tänkt kan den se ut på följande sätt: const min = 1; max = 3; type tal = integer; index = min..max;
Lära dig analysera större och mer komplicerade problem och formulera lösningar innan du implementerar.
Laboration 5 Mängder Syfte Lära dig analysera större och mer komplicerade problem och formulera lösningar innan du implementerar. Lära dig kombinera på ett lämpligt sätt de begrepp och metoder som du har
HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,
KTH STH TENTAMEN HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011, 8.15-13.15 Gamla kurskoder: HI1900, 6E2950, etc. Examinator: Johnny Panrike Rättande lärare: Nicklas Brandefelt, Johnny
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-08-30, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
Tentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Fredagen 13 januari 2012, 14.00 18.00. Jourhavande lärare: Björn von Sydow, tel 0722/391401. Inga hjälpmedel. Lösningar
Objektorienterad programmering, Java, 5p TDBA63
UMEÅ UNIVERSITET Datavetenskap 030219 PRAKTISKT DELPROV Objektorienterad programmering, Java, 5p TDBA63 Datum : 030205 Tid : 9 13 Hjälpmedel : Allt. Kommunikation med andra personer (direkt eller indirekt)
KOMPLETTERANDE HEMTENTAMEN TDDB53
Linköpings universitet Institutionen för datavetenskap, IDA Olle Willén mars 2003 Tentamen TDDB53 KOMPLETTERANDE HEMTENTAMEN TDDB53 Programmering i Ada för MI (MI-ADA) i mars 2003 Tentan lämnas ut 24/3
Programmering för Språkteknologer II. Innehåll. Associativa datastrukturer. Associativa datastrukturer. Binär sökning.
Programmering för Språkteknologer II Markus Saers markus.saers@lingfil.uu.se Rum -040 stp.lingfil.uu.se/~markuss/ht0/pst Innehåll Associativa datastrukturer Hashtabeller Sökträd Implementationsdetaljer
Typsystem. Typsystem... Typsystem... Typsystem... 2 *
Typsystem Typsystem finns i alla programmeringsspråk. Avsikten med typsystem är att kontrollera att uttryck är säkra i den bemärkelsen att innebörden i operanderna är klar och inte är motsägelsefull och
Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016
Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter
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
Typsystem. DA2001 (Föreläsning 23) Datalogi 1 Hösten / 19
Typsystem Typsystem finns i alla programmeringsspråk. Avsikten med typsystem är att kontrollera att uttryck är säkra i den bemärkelsen att innebörden i operanderna är klar och inte är motsägelsefull och
Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad
1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen
Programmering = modellering
Programmering = modellering Ett datorprogram är en modell av en verklig eller tänkt värld. Ofta är det komplexa system som skall modelleras I objektorienterad programmering består denna värld av ett antal
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
Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se
Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Mål Så enkelt som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga uppgifter som går
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
Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011
1 of 7 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen