Dagens föreläsning. - Vad skall vi kunna inför den skriftliga examinationen? - Vad skall vi ta med oss till andra kurser.
|
|
- Katarina Jonsson
- för 6 år sedan
- Visningar:
Transkript
1 1 Dagens föreläsning - Vad handlade kurserna (TDDC66 och TDDC67) egentligen om? - Vad skall vi kunna inför den skriftliga examinationen? - Vad skall vi ta med oss till andra kurser. - Vad kan vi förvänta oss mer i de fortsatta programmeringskurserna Imperativ programmering och Ada (vt1 C1/D1) Objektorienterad programmering och Java (ht1 C2/D2) Datastrukturer och algoritmer (ht1 C2/D2) Data- och programstrukturer (vt2 C2, Dh) - Vad finner vi i andra språk för konstruktioner vi lärt oss från Lisp-kursen.
2 2 Kurserna kan (vad gäller Lisp-momentet) delas upp i 6 huvusakliga områden: - Att skriva funktionella program - centrala begrepp var rekursion, funktion som dataobjekt, högre ordningens funktioner. Samt se likhet med induktion och andra rekursiva strukturer. - Att göra databstraktion - det centrala begreppet var abstrakta datatyper och kunna beskriva hur data är sammansatta,. genom att använda diskretmatematiska begrepp, mängder, kartesisk produkt, tupler, träd etc. - Att lösa problem - Att bryta ned problem till hanterbara programkomponenter. Top-down-modell. En funktion gör vanligen en sak. Ge bra namn på funktioner. - Att lära sig Lisp, hantera listor, arrayer, poster, grafiskt rita listor med boxar (consceller) och pilar (pekare), makrofunktioner. Att kunna använda repetitionsstrukturer i Lisp för att skriva imperativa program. - Att förstå programspråk - Mer kunskap och känsla vad programspråk är, grammatik, interpretator och kompilator. Dessutom fanns breddföreläsningen om datorspråk och prova-pålaborationer. - Att öva hanterverket att programmera. Laborationer och självständigt projekt. Design, kodning, testning, felsökning. Snygg programkod.
3 3 Du skall kunna skriva funktioner med olika beräkningsmodeller och kunna förklara vad som händer: - Rekursiv funktion med rekursiv processlösning med fördröjd beräkning och värdet beräknas på hemvägen - Rekursiv funktion med iterativ processlösning (svansrekursiv, tail recursion) med beräkning efter hand, ofta via en resultatparameter - Iterativ funktion med användning av explicit repetitionsstruktur och tilldelning Obs. Bland inte ihop rekursiv funktion med iterativ processlösning med iterativ funktion. Däremot. Se likheterna mellan dessa. I stort mekaniskt att överföra en rekursiv funktion med iterativ processlösning till en iterativ funktion. Lisp kan t ex vid kompilering transformera sådana funktioner program till iterativa program.
4 4 Du skall kunna använda rekursiva mallar för att göra: - Sekvens-traversering av lista (sekvens) på toppnivå - Skevens- traversering av en lista (sekvens) där elementen i sin tur är listor (sekvenser) - Binär träd-traversering av t ex punkterade par-strukturer, formelstrukter mm De två senare modellerna kallar vi dubbelrekursiva.
5 5 Du skall kunna identifiera olika typer av algoritmmönster: sökning efter givet element (finns-bokstav? i Övn 118, forwardfind i Uppg 2B) mappning, transformera varje elements värde till ett nytt och skapa en struktur av samma slag. (positiva i Uppg 1A, högre ordningens funktion mapcar) filtrering, skapa en ny struktur med alla elementen som uppfyller ett villkor (ta-bort-vokaler i Uppg 119, filtrera i Uppg 1A, filter Övn 213) reduktion (ackumulering), t ex summera alla talen i en sekvens (räkna i Uppg 1A, högre ordningens funktion reduce) back-tracking, sök först, bestäm sedan (eftersista i Uppg 205, backfind i Uppg 2C) generering, från ett värde skapa nästa (generate-list i Uppg 2E)
6 6 Träna mycket genom att lösa många uppgifter i de olika modellerna. Fundera på lösningarna, gör trace för att förstå bättre. Typisk tentauppgift: 1a. Skriv en rekursiv funktion som gör en rekursiv processlösning, max-element, som returnerar det största elementet ur en lista av tal. Vi kan antaga att listan har minst ett element. (max-element ( )) => 6 Vad skiljer en rekursiv processlösning från en iterativ processlösning? 1b. Som uppgift 1a. Skriv en iterativ funktion. 1c. Skriv en funktion med sekvenslösning, max-sekv, som returnerar största värdet i en godtycklig lista med tal. Vi får antaga att alla talen är positiva. Inga punkterade par finns, däremot kan en tom lista förekomma. (max-sekv ((2 3) 5 ((7) () 2))) => 7 1d. Skriv en funktion med binär trädlösning, max-bt, dvs listan representerar ett binärt träd, i vilken vi önskar det största lövet. Punkterade par ingår sålunda i listan. (max-bt ((2. -4). (7. (2. 3)))) => 7
7 7 Du skall kunna förstå listor i parentesformat och den grafiska representationen. Förstå när delade strukturer uppstår. Förstå skillnaden mellan eq (pekar/objekt-likhet) och equal (värde/innehållslikhet). Kunna ändra pekare med setf. Typisk tentauppgift: Rita upp grafiskt (med consceller och pilar) hur den liststruktur ser ut och vilket värde (i parentesformat) som skapas av (cons (list a b) (c)) (let ((p (list a b))) (cons p p)) (let ((p (cons (a) (b)))) (setf (rest (rest p)) (first p)) (setf (first p) nil) p) Skriv Lisp-uttryck som skapar a b
8 8 Du skall kunna förstå lambda-uttryck och skriva högre ordningens funktioner. Typiska tentauppgifter: Vad får vi för värde på följande uttryck: (mapcar # (lambda (e) (list e e)) (a b c d)) (mapcar # (lambda (a b) (list b a)) ( ) (a b c d)) Skriv en funktion remover som tar en godtycklig lista (ej innehållande punkterade par) och en predikatfunktion fn som skapar en ny lista där de element e, som uppfyller fn(e) är borttagna. (remover ((a 3) 4 (b c (5))) # numberp) => ((a) (b c ()) Skriv en funktion tabort-intervall, som tar en godtycklig lista (ej innehållande punkterade par) med tal och en under och övre gräns, med hjälp av funktionen remover. Element lika med gränserna skall även tas bort. (tabort-intervall ((1 16) 5 20 ((3 10) 25)) 10 20) => ((1) 5 ((3) 25)), dvs tar bort all elementen mellan 10 och 20.
9 9 Imperativa strukturer. Du skall kunna hantera poster (structures) och arraystrukturer. Skapa, ta ut delar och ändra element med tilldelning. Du skall kunna några repetitionsstrukturer. Typisk tentauppgifter. Du har en arraystruktur, där elementen är poster av typen person. En sådan post skall innehålla namn och ålder. Deklarera posttypen person. Skriv en funktion öka-ålder som i en sådan arraystruktur ökar åldern för varje person med ett givet antal år. Skriv en funktion sortera som sorterar posterna i åldersordning.
10 10 Makrofunktioner Du skall kunna skriva makrofunktioner, definiera sådana och förstå när de måste användas. Tänk igenom backquote-syntaxen. Makrofunktioner används bl a för: Egen skapad syntax. Då alla arguemten ej skall beräknas. Vissa argument skall beräknas upprepade gånger. Parametrar i anropet skall påverkas - utparametrar. Skapa egna styrstrukturer. Typisk tentauppgifter. I Scheme (en Lisp-dialekt) definierar man funktioner med annan syntax jämfört med Common Lisp enligt följande (define (fn-namn param1 param2... paramk) body1 body2... bodyn) Man vill kunna använda denna syntax i Common Lisp. Hur gör man? Varför måste define definieras som en makro?
11 11 Du skall förstå interpretatorfunktionerna eval, apply och funcall. Typisk tentauppgift: Vad blir värdet av (eval (list list (list quote list))) (funcall # (lambda (f g) (funcall g f f)) list # list) Övrigt: Du skall förstå vad lexical closure är och hur icke-normala återhopp med catch och throw fungerar. Du skall förstå skillnaden mellan statisk och dynamisk bindning. Du skall kunna lösa svårare strukturella problem med t ex back-tracking-modellen och med induktionsmodellen. Av typen: Skriv en funktion som hittar en väg i ett binärt träd. Skriv en funktion som tar fram alla permutationer av en lista...
12 12 Kunna förstå programkod. Abstraktion. Du skall kunna läsa och förstå program, kunna avgöra abstrakta nivån contra representationsnivån. Ofta finns det en uppgift där en del kod är givna i en bilaga. Uppgifter kan vara att komplettera funktioner i denna kod, ändra i denna, kod, byta representation etc.
13 13 På kursens hemsida finns en länk till Tentaarkiv där de senaste tentorna med lösningar finns. Inga hjälpmedel. Om ni inte riktigt kommer ihåg en funktion (namn och parameterordning) så är de ok att ange hur man skall tolka funktionen. Graderade betyg. Möjligheten fanns att via laborationerna och projekt att höja detta betyg. Skriftlig tentamen torsdag 15 dec Vi hinner rätta innan jul och förhoppningsvis hinna få det registrerat i LADOK.
14 14 Checklista på begrepp att kunna inför tentamen Hänvisning till uppgifter ni redovisat från laborationerna. Dessutom finns många fler relvanta övningar från laborationshäftet och exempelsamlingen. - grundläggande Lisp funktioner - skilj på cons, append och list (första duggan!) - funktionsbegreppet definition lambda-uttryck (uppg 2D - traverse, uppg 2E - Pascal s triangel) function - funcall parameterlistor (&rest, &optional, &key) special form makrofunktioner (uppg 6C - setlistq) - lösa repetitiva problem rekursion rekursiv processlösning (uppg 1A, uppg 2B och 2C Sökning i lista, Uppg 3A- potensmängd) iterativ processlösning (div övningar i lab 1) backtracking (uppg 2C - backfind, uppg 3B- Mönstermatchning) iteration (loop, dotimes, dolist...) (uppg 6A - frekvenstabell, uppg 6B - ändra representation) iteratorer (uppg 2D - traverse, almanackan) högre ordningens funktioner (uuppg 2D - traverse, uppg 2E - Pascal s triangel) map-funktioner
15 15 - algoritmer över datastrukturer sekvenslösningar (uppg 1B - personnummer, uppg 3C - gemensamma tider)) binära träd-lösningar (uppg 2A- logikvärde, uppg 2D - traverse, uppg 5A och 5B - kalkylatorn) - liststrukturen cons - punkterade par grafisk representation delade strukturer - eq strukturändrande funktioner - setf (uppg 6D - elektroniska minnet) kopierande och destruktiva algoritmer append - nconc datastrukturer (uppf 6D - elektroniska minnet) kö, cirkulär struktur - post och arraystruktur (uppg 6A - frekvenstabell, uppg 6B - ändra representation) generaliserade tilldelningen - setf - in- och utmatning - abstraktion (uppg 4 - Almanackan, uppg 5 - Kalkyl) abstrakta datatyper primitiva funktioner recognizer, constructor, selector, iterator sammansättningar - tupel, sekvens, ändlig avbildning representationsobereoende (uppg 6B - ändra representation)
16 16 - programstrukturer funktioner lokala funktioner - block - labels lokala variabler statiskt återhopp - return/return-from dynamiskt återhopp - catch - throw unwind-protect - beräkningsmodell / LISP-interpretator eval och apply minilisp interpretering - kompilering (lab 5- kalkyl) - omgivningar statisk och dynamisk lexical closure - makrodefinitioner (uppg 6C - setllistq) backquote
17 17 Vad kan vi förvänta oss framöver i programmeringskurser: Imperativ programmering och Ada (vt1 C1/D1) Mer en klassisk genomgång av programmering med ett kompilerat programmeringsspråk. Innehåller även en grund i C/C++. Begrepp: Stark typning, deklarationer. Hur typer kan skapas och problematik runt detta. Typkontroll av kompilatorn. Proceduren med in- och ut-parametrar. Call-by-reference. Explicit pekarhantering. Undantagshantering. Paket för att dölja representation, för att skapa abstrakt datatyper. Generiska underprogram och paket, för att skapa generellare datatyper. Strukturen av in- och utmatning. Lite om processhantering. Verktyg: Kompilator, länkare och testverktyg Projektuppgift. Examination vid dator.
18 18 Objektorienterad programmering och Java (ht1 C2/D2) Objektorienterad programmering och metodik. Programbibliotek. Gränssnittprogrammering Orientering om andra objektorienterade språk, speciellt C++. Begrepp: Primitiva typer, objekt Klass, klasshierarki, metoder, arv Abstrakta klasser, interface Typkonverteringar Iteratorer Klassbibliotek, API Större projekt. Parallellt med kursen använder ni Java i Datastrukturer och algoritmer.
19 19 Datastrukturer och algoritmer (ht1 C2/D2) Systematisk genomgång av olika datastrukturer och algoritmer. Många har ni redan träffat på i denna kurs. Abstrakta datatyper och datastrukturer. Lista, stack, kö, sökträd (finns många olika typer), hashtabell, graf och olika sätt att representera dessa. Algoritmer Sökning och sortering. Hantering av olika typer av träd. Sökning i grafer. Analys av minne och tid. Komplexitet. Paradigmer för design av algoritmer. Laborationer i Java.
20 20 Data- och programstrukturer (vt2 C2, Dh) Kan ses som en fortsättning på denna första kurs. Baseras på Scheme och följer Abelson-Sussman Structure and interpretation of computer programs. Innehåller: Olika paradigmer och beräkningsmodeller Utöver de som ni hitills gått igenom funktionell, imperativ och objektorienterad programmering tar man upp flera andra: - Strömmar, ickedeterministisk programmering, logikprogrammering - Lat evaluering,olika parameteröverföringsmodeller (call-by-value, call-by-need, call-by-name) - Implementering av språk, Scheme eval-modellen. Scheme i Scheme explicit registermaskin. Scheme i maskinspråk. förklarar hur rekursion, svansrekursion, parameterhantering går till. kompilering av Scheme till registermaskinen/ maskinspråk
21 21 Sedan finns fler programmeringsorienterade kurser: Processprogrammering och operativsystem WWW-programmeringskurser Avancerad programmering i C++ Programmering i C# och.net Framework Logikprogrammering Designmönster Komponentbaserad programmering Programvarutestning AI programmering Design och programmering av datorspel Programmering av paralelldatorer m fl Dessutom mer programutvecklingsmetodiska kurser: Programutvecklingsmetodik PUM-projektet Avancerad programutvecklingsmetodik Programvaruutveckling med internationella parter
22 22 Vad är Lisp mest likt idag av nya språk. Troligen Python. (Guido van Rossum) Interpreterat Interaktiv toploop Inbyggda listor Tupler och sekvenser Mängder Dictionaries (tabell med nyckel-värde-par) Lambda-funktioner - lexical closure Högre ordningens funktioner (filter, map, reduce) Iteratorer, generatorer Radindentering ersätter paraneteser, måsvingar Är däremot äkta objektorienterat.
23 23 Vad är Lisp mest likt idag av nya språk. Även Ruby. (Yukihiro Matsumoto) Interpreterat Dynamiskt typad Interaktiv toploop Inbyggda listor Symboler Tupler och sekvenser Reguljära uttryck Block - kod som kan ges till call (för beräkning) Lambda-funktioner - lexical closure Högre ordningens funktioner (filter, map, reduce) Iteratorer, generatorer Är däremot äkta objektorienterat. Utvidga klasser. Fånga ej definierade metoder.
24 24 Man arbetar med en ny version av C++ Man planerar att införa under 2011? en ny standard av C++, ny under namnet C++0x. C++ kommer då att innehålla lambda-uttryck [](int x, int y) { return x + y } någon typ av lexical closure Se te x wikipedia under C++0x
25 25 Microsofts nya språk F# F# är ett multiparadigmspråk för funktionell programmering samt imperativ och objekt-orienterad programmering. Anpassad för Microsofts.Net Framework Har syntaktiska likheter med Haskell. Starkt typat språk, som gör typhärledning, dvs härleder typsignaturen för en funktion. Funktioner är första ordningen dataobjekt, högre ordningens funktioner, lambda-uttryck och closures. Sequence expressions seq { for b in do if b < 15 then yield b*b } ger värden 0, 1, 4, 25, Syntaxutvidning för att skapa domänspecifika språk.
26 26 Microsofts nya språk F# Några exempel: (* factorial function *) let rec factorial n = match n with 0 -> 1 _ -> n * factorial (n - 1) Argumenten hanteras vanligen med mönster (pattern matching), som i Haskell, Erlang mfl språk (defun factorial (n) (cond ((eq n 0) 1) (t (* n (factorial (- n 1))))))
27 27 Microsofts nya språk F# (* Print even fibs *) [1.. 10] > List.map fib > List.filter (fun n -> (n % 2) = 0) > printlist Sekvensering av delarna i ett uttryck. Värder förs över till nästa, som i Unix (ls > out.txt) (printlist (filter (lambda (n) (= (% n 2) 0) (map fib (create-list 1 10)))) (* Same thing, using sequence expressions *) [ for i in do let r = fib i if r % 2 = 0 then yield r ] > printlist
28 28 Vad är fortfarande mest unikt för Lisp? Jag tycker: Programkod är representerat i en datstruktur som språket själv kan hantera. Ingen skillnad på program och data. Möjliggör att kod kan förändras under exekveringen, t ex makro-funktioner. Jfr maskinkod, allt är bitmönster. Ingen skillnad på program och data. S-notationen (= parentesnotationen), dvs den enheltliga sättet att beskriva hierarkiska strukturer. Enkelt att i textuellt format kommunicera program och data. Jfr XML.
29 29 I XML kan man beskriva data enligt följande: Vad innebär dessa <!DOCTYPE cdcollection [ deklarationer? <!ELEMENT cdcollection (cd*)> <!ELEMENT cd (artist, title, track*)> <!ELEMENT artist (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT track (number, title, length)> <!ELEMENT number (#PCDATA)> <!ELEMENT title (#PCDATA)> <!ELEMENT length (#PCDATA) ]> <cdcollection> <cd> <artist>lisa</artist> <title>julsånger</title> <track> <number>2</number> <title>god jul</title> <length>3:30</length> </track> <track> <number>5</number> <title>luciasången/title> <length>3:50</length> </track> </cd> </cdcollection>
30 30 Vad är det egentligen för skillnad på Lisps parentesuttryck (S-uttrycken). (cdcollection (cd (artist Lisa) (title Julsånger) (track (number 2) (title God jul) (length 3:30) ) (trac (number 5) (title Luciasången) (length 3:50) ) ) ) dvs en textuell notation för att beskriva hierarkiska strukturer. Vi använder helt enkelt första elementet som en tagg.
31 31 Nu kan vi även representera programkod i XML och skriva en XML-programinterpretator / XML abstract machine. Kan kanske se ut så här?? <define> fak <param> n </param> <body> <expression>if <arguments> <predicate>... n = 0... </predicate> <expression> <constant> 0 </constant> </expression> <expression>... n * fak (n - 1) </expression> </arguments> </expression> </body> </define> <calculate> <expression> <function> fak </function> <arguments> <constant> 0 </constant> </arguments> </expression> </calculate>
32 32 Tentamen: Torsdag 15/12 kl Glöm ej att anmäla dig. Inför tentan: Jag ger handledning inför tentamen tisdag 13 dec kl i John von Neuman, Hus B, 1 tr Ni frågar, jag förklarar. Ge gärna förslag på frågor i förväg via epost till mig. Slutför laborationsserien. Projektet med dokumentation. Extra labbhandeldning: Se schema och kursens www-sidor.
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
Läs merUniversitetet 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
Läs merTentamen 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
Läs merDagens 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
Läs merImperativ 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.)
Läs merDagens 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
Läs merUniversitetet 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
Läs merTDDC74 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
Läs merDagens 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
Läs merUniversitetet i Linköping Institutionen för datavetenskap Anders Haraldsson
1 2 TDDC66 Datorsystem och programmering TDDC67 Funktionell programmering Programmering i Lisp, examinator TDDC67 föreläsare i Lisp Peter Dalenius examinator TDDC66 kursassistent i Lisp + ett stort antal
Läs merTentamen 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
Läs merUniversitetet i Linköping Institutionen för datavetenskap Anders Haraldsson
1 2 Dagens föreläsning En konstruktion i Common Lisp som möjliggör att man kan skapa ny Lisp-kod, som i sin tur beräknas. - makrobegreppet - makrofunktioner - special form - makrodefintion - backquote
Läs merTvå 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
Läs merRekursiva 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
Läs merTDDC74 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
Läs merTDDC74 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
Läs merUniversitetet i Linköping Institutionen för datavetenskap Anders Haraldsson
1 2 Dagens föreläsning Modeller för programmeringsspråk Interpretator - att interpretera ett program - att beräkna ett program - Olika modeller programspråk Interpretator - kompilator program i S interpretator
Läs merDagens föreläsning. Modeller för programmeringsspråk. - Olika modeller programspråk Interpretator - kompilator. - Syntax - semantik.
1 Dagens föreläsning Modeller för programmeringsspråk - Olika modeller programspråk Interpretator - kompilator - Olika typer av språk Statiska och dynamiska programspråk - Syntax - semantik. Grammatik
Läs merTDDC74 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äs merTDDC74 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
Läs merTDDC74 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
Läs merLABORATION 1. Inledande Lisp - rekursion
AI - Lisp / Laboration 1 - Inledande Lisp - rekursion 1 LABORATION 1 Inledande Lisp - rekursion 1.0 LABFÖRORD Detta labbmaterial ger dig introduktion till Lisp för att kunna använda programmeringsspråket
Läs merTDDC74 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
Läs merTDDC74 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:
Läs merIntroduktionsmöte Innehåll
Introduktionsmöte Innehåll Introduktion till kursen Kursens mål och innehåll Undervisning Datavetenskap (LTH) Introduktionsmöte ST 2019 1 / 14 EDAA01 Programmeringsteknik - fördjupningskurs Ingen sommarkurs
Läs merTENTAMEN 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
Läs merSista 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
Läs merProgramsprå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
Läs merEDAA01 Programmeringsteknik - fördjupningskurs
EDAA01 Programmeringsteknik - fördjupningskurs Läsperiod lp 1+2 (Ges även lp 3) 7.5 hp anna.axelsson@cs.lth.se sandra.nilsson@cs.lth.se http://cs.lth.se/edaa01ht Förkunskapskrav: Godkänd på obligatoriska
Läs merTDDC74 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
Läs merProgrammeringsteknik II
Programmeringteknik II Kursintroduktion http://www.it.uu.se/edu/course/homepage/prog2/vt18/ 2018-03-19 Programmeringsteknik II 2018-03-19 1 / 9 Lärare Carl Nettelblad (kursansvarig) Anna Eckerdal Biträdande
Läs merInstruktioner - 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
Läs merTDDC74 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.
Läs merSista 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
Läs merTDDC74 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
Läs merExempel på typer av datorspråk EXCEL
1 2 TDDB82 Perspektiv på Datateknik Breddgivande föreläsning Datorspråk Programmeringsparadigmer Programmeringsspråk Konstruktioner i programmeringsspråk Litteratur: Brookshear, Computer Science - an overview,
Läs merDD1361 Programmeringsparadigm. Carina Edlund
DD1361 Programmeringsparadigm Carina Edlund carina@nada.kth.se Funktionell programmering Grundidéen med funktionell programmering är att härma matematiken och dess funktionsbegrepp. Matematiskt funktionsbegrepp
Läs merTDDC74 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
Läs merAbstrakta datatyper. Dagens föreläsning. Abstract data types (ADT)
1 2 Dagens föreläsning TDDC67 Funktionell programmering och Lisp Fö 8 och 9 Dataabstraktion - Abstrakta datatyper - datatypbeskrivning - datatyplikhet - sammansättningar av datatyper med sekvens, tupel,
Läs merDagens föreläsning. TDDC67 Funktionell programmering och Lisp Fö 8 och 9
1 Dagens föreläsning TDDC67 Funktionell programmering och Lisp Fö 8 och 9 Dataabstraktion - Abstrakta datatyper - datatypbeskrivning - datatyplikhet - sammansättningar av datatyper med sekvens, tupel,
Läs merProgram & programmering
Program & programmering Vad är program? Satser och instruktioner, toggla igenom exempel Program på olika nivåer, för olika maskiner, för olika saker Tolka program; kompilator, intepretator, binärbytekod,
Läs merExempel på typer av datorspråk EXCEL
1 2 TDDC10 Perspektiv på datateknik/datavetenskap TDDC79 Perspektiv på informationsteknologi TDP001 Handhavande av datormiljö (D, IT, C, IP) Breddgivande föreläsning Historik Datorspråk Programmeringsparadigmer
Läs merIntroduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 1 8 sept 2014 Kontaktuppgifter & Info: Kurskod: DD1339, 19hp Kursomgång: inda14 Kursansvarig: Christian Smith, ccs@kth.se Michael Minock, minock@kth.se Dilian
Läs merTDDC74 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.
Läs merObjektorienterad Programmering DAT043. Föreläsning 9 12/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)
Objektorienterad Programmering DAT043 Föreläsning 9 12/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Metoden clone() Skapa kopior av existerande objekt. Interface Cloneable Deep vs.
Läs mern 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
Läs merIdag: 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
Läs merTDDC74 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.
Läs merFöreläsning 14 Innehåll
Föreläsning 14 Innehåll Abstrakta datatyper, datastrukturer Att jämföra objekt övriga moment i kursen Om tentamen Skriftlig tentamen både programmeringsuppgifter och teoriuppgifter Hitta fel i fingerade
Läs merKursplanering Objektorienterad programmering
Kursplanering Objektorienterad programmering Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-OOP Klass Systemutvecklare.NET 2 Syfte och koppling till yrkesrollen Syftet är att få en stabil grund
Läs merLambdas. (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017
Lambdas (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017 Funktioner En funktion (i programmeringstermer) är en operation som tar ett eller flera argument,
Läs merImperativ programmering
Imperativ programmering 1DL126 3p Imperativ programmering Jesper Wilhelmsson ICQ: 20328079 Yahoo: amigajoppe MSN / epost: jesperw@it.uu.se Rum: 1335 Tel: 471 1046 Imperativ programmering Vilka programmeringsspråk
Läs merHitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet
Föreläsning 13 Innehåll Algoritm 1: Sortera Exempel på problem där materialet i kursen används Histogramproblemet Schemaläggning Abstrakta datatyper Datastrukturer Att jämföra objekt Om tentamen Skriftlig
Läs merFunktionell 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 ->
Läs merUppgift 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
Läs merIdag: 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
Läs merSignalflö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
Läs merProcedurer 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
Läs merProcedurer 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
Läs merProgrammering II (ID1019)
ID1019 Johan Montelius Instruktioner Betyg Programmering II (ID1019) 2019-03-08 Svaren skall lämnas på dessa sidor, använd det utrymme som nns under varje uppgift för att skriva ner ditt svar (inte på
Läs merTDDC74 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:
Läs merDataabstraktion. TDDD73 Funktionell och impterativ programmering i Python Föreläsning 12. Peter Dalenius Institutionen för datavetenskap
Dataabstraktion TDDD73 Funktionell och impterativ programmering i Python Föreläsning 12 Peter Dalenius Institutionen för datavetenskap 2013-11-12 Översikt Vad är abstraktion? Vad är en abstrakt datatyp?
Läs merOMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15-13:15
OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 170331 kl. 08:15-13:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Inga. Algoritmerna finns i de respektive uppgifterna eller i bilagarna. *** OBS ***
Läs merTDDC74 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
Läs merOMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15
OMTENTAMEN I PROGRAMSPRÅK -- DVG C01 130823 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
Läs merObjektorienterad programmering
Objektorienterad programmering Aletta Nylén http://user.it.uu.se/~aletta Epost: aletta.nylen@it.uu.se Rum: 1216 Kursinfo Lärare: Aletta Nylén Jesper Wilhelmsson Litteratur: Object-Oriented Software Development
Läs merIntroduktion till programmering. Programspråk och paradigmer
Introduktion till programmering Programspråk och paradigmer Vad är ett programspråk? Aprogramming languageis a formal constructedlanguagedesigned to communicate instructions to a machine, particularly
Läs merTDDE44 Programmering, grundkurs
TDDE44 Programmering, grundkurs Föreläsning 1 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Vad ingår i "Programmering, grundkurs"? Kursöversikt Datorer, program, programmeringsspråk Kort om nästa föreläsning
Läs merTypsystem. 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
Läs merTDDC74 - 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
Läs merTDDC74 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.
Läs merTypsystem. 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
Läs merDeklarationer/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
Läs merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Lärare: pl@cdt.luth.se A 3113 Tomas Klockar klockar@sm.luth.se A 3019 Mats Folke folke@sm.luth.se A 3019 Labhandledare: Natasja Saburova Fredrik Jonsson Lars Persson
Läs merTDP002 - Imperativ programmering
TDP002 - Imperativ programmering Algoritmer Pontus Haglund Institutionen för datavetenskap Anpassatt från material ursprungligen av: Eric Elfving 1 Datatyper Tal UTF-8 2 Procedurell abstraktion Repetition
Läs merLänkade strukturer, parametriserade typer och undantag
Länkade strukturer, parametriserade typer och undantag Programmering för språkteknologer 2 Sara Stymne 2013-09-18 Idag Parametriserade typer Listor och länkade strukturer Komplexitet i länkade strukturer
Läs merITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Läs merRepetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python
Repetition i Python 3 Exemplen fac Orginalet I Scheme använde vi rekursion för all slags repetition. Efterom Scheme är ett funktionellt språk återsänder alla språkkonstruktioner ett värde men i Python
Läs merallt.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))
Läs merÖversikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)
Översikt Programmering tillämpningar och datastrukturer 729G58 (HKGBB7) Kursinformation Objektorienterad programmering: Klasser och objekt Arv Polymorfism Metoder Programexempel Programmering tillämpningar
Läs merTDDC74 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
Läs merObjekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016
Objekt-orienterad Programmering och Design TDA551 Alex Gerdes, HT-2016 Kursteamet Dr. Alex Gerdes kursansvarig, föreläsare Dr. Niklas Broberg examinator, (föreläsare) Fredrik Sjöholm handledare Johan Andersson
Läs merTDDC74 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
Läs merObjekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018
Objekt-orienterad programmering och design DIT953 Niklas Broberg, 2018 Kursteamet Niklas Broberg kursansvarig, föreläsare, examinator Johannes Åman Pohjola föreläsare Assistenter: Karin Wibergh Sarosh
Läs merTentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34
Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger
Läs merFöreläsning 2 Datastrukturer (DAT037)
Föreläsning 2 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-02 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Tidskomplexitet
Läs merPROGRAMMERING. Ämnets syfte. Kurser i ämnet
PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration
Läs merTDDC74 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
Läs merImperativ och Funktionell Programmering i Python #TDDD73. Fredrik Heintz,
Imperativ och Funktionell Programmering i Python #TDDD73 Fredrik Heintz, IDA fredrik.heintz@liu.se @FredrikHeintz Översikt Repetition: Satser och uttryck Variabler, datatyper, synlighet och skuggning Upprepning,
Läs merTDDC74 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.
Läs merTDDC74 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.
Läs merVå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
Läs merSökning och sortering
Sökning och sortering Programmering för språkteknologer 2 Sara Stymne 2013-09-16 Idag Sökning Analys av algoritmer komplexitet Sortering Vad är sökning? Sökning innebär att hitta ett värde i en samling
Läs merFöreläsning 15: Repetition DVGA02
Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras
Läs merObjekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018
Objekt-orienterad Programmering och Design TDA552 Alex Gerdes, HT-2018 Kursteamet Dr. Alex Gerdes examinator och föreläsare (Dr. Niklas Broberg föreläsare) Handledare: Sólrún Halla Einarsdóttir Yazan Ghafir
Läs merInledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Läs merFöreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Läs merBEGREPP 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,
Läs merFö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
Läs mer6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print
Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Exempel på tentafrågor på boken Lunell: Datalogi-begreppen och tekniken Obs! Andra frågor än dessa kan komma på tentan! 1. Konvertera talet 186 till
Läs mer