Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH

Storlek: px
Starta visningen från sidan:

Download "Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH"

Transkript

1 Objektorienterad modellering och diskreta strukturer 13. Problem Sven Gestegård Robertz Datavetenskap, LTH 2014

2 Rekaputilation Vi har talat om satslogik och härledning predikatlogik och substitution mängder och språk reguljära uttryck och grammatiker relationer och funktioner Vi kommer att tala om enkla, svåra och omöjliga problem en datormodell Turingmaskinen 13. Problem 2/37

3 Kardinalitet för oändliga mängder Uppräknelig mängd Definition En mängd M är uppräknelig om det finns en funktion f N M sådan att ran (f) = M. Det vill säga man kan räkna upp elementen i M så att varje element får ett unikt nummer ur N. Omöjliga problem 13. Problem 3/37

4 Aktivitet Visa att mängden av de hela talen, Z, är uppräknelig genom att konstruera en funktion i N Z som har hela Z som kodomän. f(n) = { n/2 om n är jämnt (n + 1)/2 om n är udda D v s f avbildar de naturliga talen på följden (0, 1, 1, 2, 2,...) Notera att N = Z trots att N Z, vilket är möjligt då de är oändliga mängder Omöjliga problem 13. Problem 4/37

5 Icke-uppräkneliga mängder Sats Det finns oändliga mängder som inte är uppräkneliga Omöjliga problem 13. Problem 5/37

6 Cantors diagonalbevis (I) (Cantor, 1891) Sats Låt T vara mängden av alla oändliga binära följder För varje uppräkning s 1, s 2,..., s n,... ur T finns en följd s T som inte ingår i uppräkningen. Bevis. Givet en uppräkning s 1, s 2,..., s n,... ur T, konstruera en följd s så att symbol n är komplementet till symbol n i s n. Då är i. s s i eftersom s och s i skiljer sig i element i. Omöjliga problem 13. Problem 6/37

7 Exempel: s 0 = (0, 0, 0, 0, 0, 0, 0,...) s 1 = (1, 1, 1, 1, 1, 1, 1,...) s 2 = (0, 1, 0, 1, 0, 1, 0...) s 4 = (1, 0, 1, 0, 1, 0, 1...) s 4 = (1, 1, 0, 0, 1, 1, 0...) s 5 = (0, 0, 1, 1, 0, 0, 1...) s 6 = (0, 0, 1, 1, 0, 1, 1...)... s = (1, 0, 1, 1, 0, 1, 0,...) Omöjliga problem 13. Problem 7/37

8 Cantors diagonalbevis (II) Sats Det finns oändliga mängder som inte är uppräkneliga. Bevis. Låt T vara mängden av alla oändliga binära strängar Antag att T är uppräknelig. Då kan alla dess element räknas upp: s 1, s 2,..., s n,... Men, enligt föregående sats, finns en sträng s som inte ingår i uppräkningen. Motsägelse. Alltså är T inte uppräknelig. Omöjliga problem 13. Problem 8/37

9 Beräkningsbara funktioner Går det att implementera alla funktioner i N N i Java? Hur många Java-metoder av typen BigInteger m(biginteger) finns det? Kommer mängden metoder att innehålla alla funktioner N N? Sats {f : N N} > {Java metoder} Bevis-skiss (jfr Cantors diagonalbevis). Låt f i (x) vara resultatet av metod nr i och g(x) = f x (x) + 1 Då är g(x) N N Men ingen av metoderna i uppräkningen kommer att beräkna g(x) eftersom varje metod kommer att ge ett annat värde än g(x) (åtminstone) för parametern i. Omöjliga problem 13. Problem 9/37

10 Uppräknelighet Mängden av Java-metoder är uppräknelig. Mängden av funktioner i N N är inte uppräknelig. Omöjliga problem 13. Problem 10/37

11 Hur många funktioner N N finns det? En annan variant på diagonalbeviset {f : N {0, 1} } {f : N N} Definiera, för varje delmängd X av N funktionen f(x) = { 1 om x X 0 om x / X Mängden delmängder av N är P(N). Alltså är {f : N {0, 1}} = P(N) Men P(N) > N och därmed är mängden funktioner N N ej uppräknelig. Omöjliga problem 13. Problem 11/37

12 Uppräknelighet Mängden av Java-metoder är uppräknelig. Mängden av funktioner i N N är inte uppräknelig. Det går alltså att konstruera funktioner N N som det inte går att skriva ett program för Finns det några intressanta problem som inte går att lösa med ett program? Omöjliga problem 13. Problem 12/37

13 Terminerar metoden för alla värden på x? Collatz, 3x + 1 public int f(int x) { int count = 0; while (x>1) { count++; if (x%2==0) { x = x/2; } else { x = 3*x+1; } } return count; } Exempel: följden som börjar med x = 27 Man vet inte om metoden terminerar för alla x. Test har visat att den gör det för alla n Omöjliga problem 13. Problem 13/37

14 Haltproblemet Eng: The halting problem Givet en funktion och indata (parametrar) till denna, kommer funktionen att terminera? Omöjliga problem 13. Problem 14/37

15 Representation av en metod public class Method { private String name; private List<Parameter> parameters; private Type returntype; private Statement body; \\ omissions } Omöjliga problem 13. Problem 15/37

16 Haltproblemet Låt Method vara en klass som representerar en metod, och vars tostring-metod returnerar en källkoden till metoden. Antag att det går att implementera public boolean terminates(method method, String data) så att terminates returnerar true om method terminerar med data som parameter och false om den inte gör det. Omöjliga problem 13. Problem 16/37

17 Kommer följande metod att terminera? Låt Method testmethod vara representationen av följande program: public void loop(method method) { if (terminates(method, method.tostring()) { while(true) {}; } } Kommer anropet loop(testmethod) att terminera? Båda svaren leder till en motsägelse. Omöjliga problem 13. Problem 17/37

18 Två olösliga problem Det är inte möjligt, i det generella fallet, att skriva ett program som avgör om en kontextfri grammatik är entydig Exempel på (risk för) tvetydig grammatik: från tidigare föreläsning: aritmetiska uttryck från programspråk: if A then if B then X else Y bevisar att ett (godtyckligt) program är korrekt Omöjliga problem 13. Problem 18/37

19 Handelsresandepoblemet Antag att man vill planera resrutten för en handelsresande som skall besöka 30 företag så att resvägen blir så kort som möjligt. Som indata till problemet behöver man avstånden mellan alla par av företag, dvs en matris int distance[][] = new int[30][30]; Det enklaste sättet att lösa problemet är att testa alla möjliga rutter och välja den som är kortast. Antalet rutter är 30! = Så även om man kan testa en rutt på en nanosekund så kommer det att ta miljarder år. Datorn kommer säkert att sluta fungera långt tidigare. Svåra problem 13. Problem 19/37

20 Definition Ett beslutsproblem tillhör P om det finns ett polynom p(n) sådant att en Turingmaskin kan lösa problemet för givna indata på en tid som är mindre än p(n) där n är längden på indata. Svåra problem 13. Problem 20/37

21 Turing Alan Turing, matematik, logik, datavetenskap, kryptoanalys Turingmaskinen, datormodell Turingtest, avgör om ett program har intelligens Enigma, kryptoanalys Automatic Computing Engine, dator med program i minnet Svåra problem : Turingmaskiner 13. Problem 21/37

22 En Turing-maskin q i 1 q i q i+1 q i σ j (q, δ) state symbol next Alfabet Σ där L, R, $, / Σ Remsalfabet Σ T = {σ σ (Σ {$, })} Tillstånd Q = {s, h, q 0,..., q n } Operationer {δ δ {L, R} Σ T } $ σ Svåra problem : Turingmaskiner 13. Problem 22/37

23 Exempel En enkel Turingmaskin, E för erase, gör alla symboler till från markeringen $, där läs/skrivhuvudet startar, och fram till första. Vi antar att Σ = {0, 1}. Låt Q = {s, h, q 1, q 2 } och övergångsfunktionen T enligt tabellen: q σ T (q, σ) s $ (q 1, R) q 1 0 (q 2, ) q 1 1 (q 2, ) q 2 (q 1, R) q 1 (h, ) Tillståndsmaskin för turingmaskinen E: start s $/R q 1 / h /R 0/ 1/ q 2 Svåra problem : Turingmaskiner 13. Problem 23/37

24 Exempel En enkel Turingmaskin, med Σ = {x, y} och Q = {s, q 1, q 2, h}, som byter alla x mot y tills första, kan ha T q σ T (q, σ) s $ (q 1, R) q 1 x (q 2,y) q 1 y (q 2,y) q 2 y (q 1, R) q 1 (h, ) Svåra problem : Turingmaskiner 13. Problem 24/37

25 Ickedeterministisk Turingmaskin En ickedeterminstisk Turingmaskin kan i varje exekveringssteg välja mellan ett antal olika konfigurationer. Nästa tillstånd bestäms av en relation och inte en funktion. En sådan maskin säges lösa ett problem på tiden T om det finns någon exekvering som gör detta. Maskinen kan gissa rätt i varje val alternativt göra alla möjliga exekveringar parallellt. En kvantdator skulle vara bra att ha. Finns det sådana? Svåra problem : Turingmaskiner 13. Problem 25/37

26 NPC NP-kompletta problem är de svåraste problemen i NP. Om ett av dem kan lösas på polynomtid så är P=NP. Många kombinatoriska problem tillhör NPC. Givet en mängd av hela tal. Finns det någon icketom delmängd så att summan av alla element är 0. För mängden { 7, 3, 2, 5, 8} är svaret ja. Svåra problem : Klassen NP 13. Problem 26/37

27 Förslag till examensarbeten Skriv ett program som planerar leveranserna till varuhusen så att de totala transporterna blir så korta som möjligt. Skriv ett program som kontrollerar att programvaran i våra produkter är korrekt. Svåra problem : Klassen NP 13. Problem 27/37

28 Diskreta strukturer Förstå, konstruera och manipulera satslogiska uttryck predikatlogiska uttryck mängduttryck språk reguljära uttryck grammatiker relationer funktioner Sammanfattning och exempel från extentor 13. Problem 28/37

29 Diskreta strukturer Kunna utföra naturlig härledning substitution härledning med grammatik syntaxanalys Sammanfattning och exempel från extentor 13. Problem 29/37

30 Tentamen : 4a Det reguljära uttrycket 0 (10 + ) (1 ɛ) beskriver ett språk på alfabetet {0, 1}. Vilka av följande strängar tillhör språket? ɛ Svar: och ɛ Sammanfattning och exempel från extentor 13. Problem 30/37

31 Tentamen : 4b Ange alla strängar med längden 4 som tillhör det språk som generaras av grammatiken S ::= SS S ::= asa bsb ɛ Svar: aaaa aabb bbaa bbbb abba baab Sammanfattning och exempel från extentor 13. Problem 31/37

32 Tentamen : 5a Visa att {p q, q} p genom att komplettera följande härledning. p q q Svar: p q [p] [ E ] q q [ I ] p Sammanfattning och exempel från extentor 13. Problem 32/37

33 Tentamen : 5b Vi definierar två predikat på mängden av naturliga tal p(x, y) = q(x, y) = x = y 2 x är delbart med y Konstruera med hjälp av dessa ett predikatlogiskt uttryck som säger att ett godtyckligt tal är delbart med 4 om det är jämt och kvadraten på ett tal. Svar: x. p(x, 2) ( y. q(x, y)) p(x, 4) Sammanfattning och exempel från extentor 13. Problem 33/37

34 Tentamen : 5b f ρ = {(0, 1), (1, 1), (1, 2)} är en relation på {0, 1, 2}. Beräkna ρ 0, ρ 2 och ρ. Svar: ρ 0 = {(0, 0), (1, 1), (2, 2)} ρ 2 = {(0, 1), (0, 2), (1, 1), (1, 2)} ρ = {(0, 0), (1, 1), (2, 2), (0, 1), (0, 2), (1, 1), (1, 2)} Sammanfattning och exempel från extentor 13. Problem 34/37

35 Tentamen : 5a Låt F (x, y) betyda att x är far till y, M(x, y) att x är mor till y och E(x, y) att x och y är samma person. Konstruera ett predikat som är sant precis då x och y är syskon. Två personer är syskon om de har samma föräldrar men är olika personer. Syskon(x, y) = f. m. F (f, x) F (f, y) M(m, x) M(m, y) E(x, y) Sammanfattning och exempel från extentor 13. Problem 35/37

36 Tentamen : 5b Ge ett exempel på när e[x\e 1 ][y\e 2 ], där e, e 1 och e 2 är aritmetiska uttryck, inte är lika med e[y\e 2 ][x\e 1 ]. Till exempel: e = x = y e 1 e 2 = z Sammanfattning och exempel från extentor 13. Problem 36/37

37 Tack för mig Uppsamlingsheat för laborationer - Efter tentan (och omtentan), för godkända - Tid och former meddelas senare Lycka till på tentan. Frågor? Sammanfattning och exempel från extentor 13. Problem 37/37

9 Funktioner. Exempel. f(x) = x + 1 sqr(y) = y 2. x, om x < 0. abs(x) =

9 Funktioner. Exempel. f(x) = x + 1 sqr(y) = y 2. x, om x < 0. abs(x) = Lunds tekniska högskola Datavetenskap Lennart Andersson Föreläsningsanteckningar EDAF10 9 Funktioner I kursen i endimensionell analys definieras funktioner genom att man ger funktionen ett namn, talar

Läs mer

10. Mängder och språk

10. Mängder och språk Objektorienterad modellering och diskreta strukturer 10. Mängder och språk Sven Gestegård Robertz Institutionen för datavetenskap, LTH 2013 Rekaputilation Vi har talat om satslogik, predikatlogik och härledning

Läs mer

12. Relationer och funktioner

12. Relationer och funktioner Objektorienterad modellering och diskreta strukturer 12. Relationer och funktioner Sven Gestegård Robertz Institutionen för datavetenskap, LTH 2013 Laboration 4 Syntaxanalys Grammatik för (vår delmängd

Läs mer

12. Relationer och funktioner

12. Relationer och funktioner Objektorienterad modellering och diskreta strukturer 12. Relationer och funktioner Sven Gestegård Robertz Datavetenskap, LTH 2014 Laboration 4 Syntaxanalys Grammatik för (vår delmängd av) satslogiska uttryck

Läs mer

Computer projekttid. Objektorienterad modellering och diskreta strukturer / design. Rapporter från verkligheten. EDAF10 i HT2

Computer projekttid. Objektorienterad modellering och diskreta strukturer / design. Rapporter från verkligheten. EDAF10 i HT2 Computer projekttid Objektorienterad modellering och diskreta strukturer / design Inför tentamen Lennart Andersson Reviderad 2012 10 18 2012 2011 2012 timmar antal timmar 2 1 4 4 6 8 8 4 10 10 12 6 14

Läs mer

9. Predikatlogik och mängdlära

9. Predikatlogik och mängdlära Objektorienterad modellering och diskreta strukturer 9. Predikatlogik och mängdlära Sven Gestegård Robertz Datavetenskap, LTH 2014 Rekaputilation Vi har talat om satslogik naturlig härledning predikatlogik

Läs mer

7, Diskreta strukturer

7, Diskreta strukturer Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2013 1 Inledning 2 Satslogik Inledning Satslogiska uttryck Resonemang och härledningar

Läs mer

11. Reguljära uttryck och grammatiker

11. Reguljära uttryck och grammatiker Objektorienterad modellering och diskreta strukturer 11. Reguljära uttryck och grammatiker Sven Gestegård Robertz Datavetenskap, LTH 2015 Rekaputilation Vi har talat om satslogik och härledning predikatlogik

Läs mer

Alfabeten, strängar och språk. String

Alfabeten, strängar och språk. String Alfabeten, strängar och språk Objektorienterad modellering och diskreta strukturer / design Språk och reguljära uttryck Ett alfabet är en ändlig icketom mängd vars element kallas symboler. Lennart Andersson

Läs mer

7, Diskreta strukturer

7, Diskreta strukturer Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2015 Modeller Matematiska modeller Kontinuerliga modeller Kontinuerliga funktioner

Läs mer

Grammatik. BNF-grammatik

Grammatik. BNF-grammatik Grammatik Objektorienterad modellering och diskreta strukturer / design Grammatik Reguljära uttryck klarar inte av att beskriva mängden av aritmetiska uttryck. Lennart Andersson Reviderad 2010 10 07 2010

Läs mer

11. Reguljära uttryck och grammatiker

11. Reguljära uttryck och grammatiker Objektorienterad modellering och diskreta strukturer 11. Reguljära uttryck och grammatiker Sven Gestegård Robertz Datavetenskap, LTH 2014 Rekaputilation Vi har talat om satslogik och härledning predikatlogik

Läs mer

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >

Läs mer

Tentamen i Objektorienterad modellering och diskreta strukturer

Tentamen i Objektorienterad modellering och diskreta strukturer Lunds Tekniska Högskola Datavetenskap Tentamen EDAF10 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn att tas till lösningens kvalitet.

Läs mer

Tentamen i Objektorienterad modellering och diskreta strukturer

Tentamen i Objektorienterad modellering och diskreta strukturer Lunds Tekniska Högskola Datavetenskap Ulf Asklund, Sven Gestegård obertz Tentamen EDAF10 2013 10 24, 8.00 13.00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn

Läs mer

8. Naturlig härledning och predikatlogik

8. Naturlig härledning och predikatlogik Objektorienterad modellering och diskreta strukturer 8. Naturlig härledning och predikatlogik Sven Gestegård Robertz Datavetenskap, LTH 2013 Outline 1 Inledning 2 Inferensregler 3 Predikatlogik 8. Naturlig

Läs mer

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan. Lunds tekniska högskola Datavetenskap Lennart Andersson Föreläsningsanteckningar EDAF10 3 Predikatlogik 3.1 Motivering I satslogiken är de minsta beståndsdelarna satslogiska variabler som kan anta värdena

Läs mer

PROV I MATEMATIK Automatateori och formella språk DV1 4p

PROV I MATEMATIK Automatateori och formella språk DV1 4p UPPSALA UNIVERSITET Matematiska institutionen Salling (070-6527523) PROV I MATEMATIK Automatateori och formella språk DV1 4p 19 mars 2004 SKRIVTID: 15-20. POÄNGGRÄNSER: 18-27 G, 28-40 VG. MOTIVERA ALLA

Läs mer

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står skrivna: Oändligt

Läs mer

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada Mer källkod Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne Erik Forslin efo@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 1 Styrstrukturer i Java En styrstruktur är något som påverkar

Läs mer

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Föreläsning 9: Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står

Läs mer

Definition. Mängden av reguljära uttryck på alfabetet Σ definieras av. om α och β är reguljära uttryck så är (α β) ett reguljärt uttryck

Definition. Mängden av reguljära uttryck på alfabetet Σ definieras av. om α och β är reguljära uttryck så är (α β) ett reguljärt uttryck Lunds tekniska högskola Datavetenskap Lennart Andersson Föreläsningsanteckningar EDAF10 6 Reguljära uttryck I unix-skal finns ange enkla mönster för filnamn med * och?. En del program, t ex emacs, egrep

Läs mer

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer

Läs mer

Föreläsning 3-4 Innehåll

Föreläsning 3-4 Innehåll Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå

Läs mer

Föreläsning 5: Kardinalitet. Funktioners tillväxt

Föreläsning 5: Kardinalitet. Funktioners tillväxt Föreläsning 5: Kardinalitet. Funktioners tillväxt A = B om det finns en bijektion från A till B. Om A har samma kardinalitet som en delmängd av naturliga talen, N, så är A uppräknelig. Om A = N så är A

Läs mer

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik DD1350 Logik för dataloger Fö 7 Predikatlogikens semantik 1 Kryssprodukt av mängder Om A och B är två mängder så är deras kryssprodukt A B mängden av alla par (a,b), där a A och b B. Ex: A={1,2}, B={3,4},

Läs mer

Typkonvertering. Java versus C

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å

Läs mer

Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180)

Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Göteborgs Universitet och Chalmers Tekniska Högskola 25 oktober 2005 Datavetenskap TDA180/TDA181/INN110 Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Onsdagen

Läs mer

Tentamen i TDDC75 Diskreta strukturer

Tentamen i TDDC75 Diskreta strukturer Tentamen i TDDC75 Diskreta strukturer 2017-01-05, Lösningsförslag (med reservation för eventuella fel) 1. Betrakta följande satslogiska uttryck: (p q) (q p) (a) Visa genom naturlig deduktion att uttrycket

Läs mer

13. CHURCH S OCH GÖDELS SATSER. KORT ORIENTERING OM BERÄKNINGSBARHET, EFFEKTIV UPPRÄKNELIGHET OCH AVGÖRBARHET.

13. CHURCH S OCH GÖDELS SATSER. KORT ORIENTERING OM BERÄKNINGSBARHET, EFFEKTIV UPPRÄKNELIGHET OCH AVGÖRBARHET. 81 13 CHURCH S OCH GÖDELS SATSER KORT ORIENTERING OM BERÄKNINGSBARHET, EFFEKTIV UPPRÄKNELIGHET OCH AVGÖRBARHET Våra beräkningar skall utföras på symbolsträngar, där symbolerna tas från ett givet alfabet

Läs mer

TENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13:15

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

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

1.1. Fördjupning: Jämförelse av oändliga mängder

1.1. Fördjupning: Jämförelse av oändliga mängder Kapitel 1 Kardinalitet Den här texten är tagen från boken Diskret matematik av Asratian Björn Turesson (och delvis modifierad) Av den anledningen finns det visa hänvisningar på en del ställen som är ersatta

Läs mer

Information. Computer

Information. Computer Information Objektorienterad modellering och diskreta strukturer Lennart Andersson Reviderad 2009-10-14 2009 Tentamen torsdag 22 oktober 8-12/13. Hjälpmedel på tentamen. Martin: PPP Andersson: UML Holm:

Läs mer

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

Läs mer

Diskret matematik, lektion 2

Diskret matematik, lektion 2 Diskret matematik, lektion Uppgifter med (*) är överkurs, och potentiellt lite klurigare. Ni behöver inte kunna lösa dessa. 1 Uppgifter 1. Låt A = {1,, 3}, B = {a, b}. Vilka element finns med i... a) A

Läs mer

Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik

Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik Först några definitioner: Alfabet = en ändlig mängd av tecken. Ex. {0, 1}, {a,b}, {a, b,..., ö} Betecknas ofta med symbolen Σ Sträng =

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental.

I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental. Lunds tekniska högskola Datavetenskap Lennart ndersson Föreläsningsanteckningar EDF10 4 Mängder 4.1 Motivering Mängden är den mest grundläggande diskreta strukturen. Nästan alla matematiska begrepp går

Läs mer

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen KTH Matematik Bengt Ek Maj 2008 Kompletteringsmaterial till kursen SF1642, Logik för D1 och IT3: K2 Något om modeller, kompakthetssatsen Vi skall presentera ett enkelt (om man känner till sundhets- och

Läs mer

Turingmaskinen - en abstrakt datormodell

Turingmaskinen - en abstrakt datormodell Turingmaskinen - en abstrakt datormodell Modeller är viktiga hjälpmedel vid studiet av många fenomen. En bra modell fyller oftast följande krav: Den fångar upp det centrala i sin fysiska motsvarighet Den

Läs mer

Tentamen. 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, 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 mer

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

Tentamen, EDA501/EDAA20 Programmering M MD W BK L LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDA501/EDAA20 Programmering M MD W BK L 2017 05 31, 8.00 13.00 Anvisningar: Preliminärt ger uppgifterna 9 + 12 + 10 + 9 = 40 poäng.

Läs mer

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap. Institutionen för Datavetenskap Göteborgs universitet HT2008 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 4 Exempel på listor (klassen ArrayList). Ett exempel med fält.

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Algoritmanalys Tidskomplexitet, Rumskomplexitet

Läs mer

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet Programmering hh.se/db2004 Föreläsning 4: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite om reella tal Vad kan man göra med reella tal? Utöver de

Läs mer

Tentamen, EDAA20/EDA501 Programmering

Tentamen, EDAA20/EDA501 Programmering LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna

Läs mer

Reguljära uttryck Grammatiker Rekursiv nedåkning Allmänna kontextfria grammatiker. Syntaxanalys. Douglas Wikström KTH Stockholm

Reguljära uttryck Grammatiker Rekursiv nedåkning Allmänna kontextfria grammatiker. Syntaxanalys. Douglas Wikström KTH Stockholm Syntaxanalys Douglas Wikström KTH Stockholm popup-help@csc.kth.se Reguljära uttryck Reguljära uttryck förutsätter att en mängd bokstäver är givna, ett så kallat alfabet, som oftast betecknas med Σ. Uttryck

Läs mer

Tentamen Programmeringsteknik II Inledning. Anmälningskod:

Tentamen Programmeringsteknik II Inledning. Anmälningskod: Tentamen Programmeringsteknik II 2016-01-11 Inledning I bilagan finns ett antal mer eller mindre ofullständiga klasser. Några ingår i en hierarki: List, SortedList, SplayList och ListSet enligt vidstående

Läs mer

Tentamen i Objektorienterad modellering och diskreta strukturer

Tentamen i Objektorienterad modellering och diskreta strukturer Lunds Tekniska Högskola Datavetenskap Ulf Asklund, Sven Gestegård obertz Tentamen EDAF10 2014 10 31, 14.00 19.00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn

Läs mer

ÄNDLIGT OCH OÄNDLIGT AVSNITT 4

ÄNDLIGT OCH OÄNDLIGT AVSNITT 4 VSNITT ÄNDLIGT OCH OÄNDLIGT Är det möjligt att jämföra storleken av olika talmängder? Har det någon mening om man säger att det finns fler irrationella tal än rationella? Är det överhuvudtaget möjligt

Läs mer

Övningshäfte 3: Funktioner och relationer

Övningshäfte 3: Funktioner och relationer GÖTEBORGS UNIVERSITET MATEMATIK 1, MAM100, HT2014 INLEDANDE ALGEBRA Övningshäfte 3: Funktioner och relationer Övning H Syftet är att utforska ett av matematikens viktigaste begrepp: funktionen. Du har

Läs mer

Tentamen, EDAA10 Programmering i Java

Tentamen, EDAA10 Programmering i Java LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2019 08 21, 08.00 13.00 Anvisningar: Preliminärt ger uppgifterna 25 + 15 + 5 = 45 poäng. För godkänt betyg

Läs mer

Datastrukturer och algoritmer

Datastrukturer och algoritmer Datastrukturer och algoritmer Föreläsning 5 Algoritmer & Analys av Algoritmer Algoritmer Vad är det? Innehåll Mer formellt om algoritmer beräkningsbarhet Att beskriva algoritmer Analysera algoritmer Exekveringstid,

Läs mer

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)

Läs mer

Tentamen ID1004 Objektorienterad programmering April 7, 2015

Tentamen ID1004 Objektorienterad programmering April 7, 2015 Ordinarie tentamen för ID1004 Objektorienterad programmering, 7 april 2015 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av en obligatorisk del och

Läs mer

Föreläsning 7: Syntaxanalys

Föreläsning 7: Syntaxanalys DD2458, Problemlösning och programmering under press Föreläsning 7: Syntaxanalys Datum: 2007-10-30 Skribent(er): Erik Hammar, Jesper Särnesjö Föreläsare: Mikael Goldmann Denna föreläsning behandlade syntaxanalys.

Läs mer

Fält av referenser. Konstruktorerna används för att skapa Bilar och Trafikljus.

Fält av referenser. Konstruktorerna används för att skapa Bilar och Trafikljus. Fält av referenser Tanken med objekt är man kan bygga ihop olika sorts objekt till nya saker. Sålunda kan man exempelvis använda Bil och Trafikljus att konstruera ett Väg-objekt. Om Bil och Trafikljus

Läs mer

DAT043 Objektorienterad Programmering

DAT043 Objektorienterad Programmering DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är

Läs mer

DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU

DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU lösningsförslag till tentamen 2017-06-09 Tid: 8:30-12:30. Plats: SB. Ansvarig lärare: Fredrik Lindblad,

Läs mer

Tentamen i Programmering

Tentamen i Programmering LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen i Programmering EDAA65/EDA501/EDAA20 M MD W BK L 2018 05 30, 8.00 13.00 Preliminärt ger uppgifterna 7 + 14 + 6 + 9 + 4 = 40 poäng.

Läs mer

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning Matematik, KTH Bengt Ek november 207 Material till kursen SF679, Diskret matematik: Lite om kedjebråk 0 Inledning Talet π (kvoten mellan en cirkels omkrets och dess diameter) är inte ett rationellt tal

Läs mer

Tentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas.

Tentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Tentamen i EDAF60 29 oktober 2018 Skrivtid: 14-19 Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Skriv inte med färgpenna enda tillåtna färg är svart/blått/blyerts.

Läs mer

Tentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna!

Tentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna! Tentamen Programmeringsteknik II 2014-01-09 Skrivtid: 0800-1300 Hjälpmedel: Java-bok (vilken som helst) Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja

Läs mer

Kurskod D0010E Datum 2012-05-15 Skrivtid 5tim

Kurskod D0010E Datum 2012-05-15 Skrivtid 5tim LULEÅ TEKNISKA UNIVERSITET Tentamen i Objektorienterad programmering och design Totala antalet uppgifter: 5 Lärare: Håkan Jonsson, 491000, 073-820 1700 Resultatet o entliggörs senast: 2012-05-29. Tillåtna

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180)

Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Göteborgs Universitet och Chalmers Tekniska Högskola 19 januari 2005 Datavetenskap TDA180/TDA181/INN110 Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Onsdagen

Läs mer

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor Johan Thim 22 augusti 2018 1 Vanliga symboler Lite logik Implikation: P Q. Detta betyder att om P är sant så är Q sant. Utläses P medför Q

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program

Läs mer

K2 Något om modeller, kompakthetssatsen

K2 Något om modeller, kompakthetssatsen KTH Matematik Bengt Ek Maj 2005 Kompletteringsmaterial till kursen 5B1928 Logik för D1: K2 Något om modeller, kompakthetssatsen Vi skall presentera ett enkelt (om man känner till sundhets- och fullständighetssatsen

Läs mer

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det? Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?

Läs mer

Tentamen i Algoritmer & Datastrukturer i Java

Tentamen i Algoritmer & Datastrukturer i Java Tentamen i Algoritmer & Datastrukturer i Java Hjälpmedel: Skrivhjälpmedel, miniräknare. Ort / Datum: Halmstad / 2008-05-27 Skrivtid: 4 timmar Kontakt person: Nicolina Månsson, tel. 035-167487 Poäng / Betyg:

Läs mer

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar

Läs mer

Programmering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/

Programmering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller

Läs mer

Laboration 1: Figurer i hierarki

Laboration 1: Figurer i hierarki Laboration 1: Figurer i hierarki Bakgrund Två grundläggande tekniker i objektorienterad konstruktion är arv och komposition. Mål Laborationen har flera avsikter: 1. Ge kunskaper i hur program kan organiseras

Läs mer

Explorativ övning 4 ÄNDLIGT OCH OÄNDLIGT. Övning A

Explorativ övning 4 ÄNDLIGT OCH OÄNDLIGT. Övning A Explorativ övning 4 ÄNDLIGT OCH OÄNDLIGT Första delen av övningen handlar om begreppet funktion. Syftet är att bekanta sig med funktionsbegreppet som en parbildning. Vi koncentrerar oss på tre viktiga

Läs mer

Föreläsning 9 Innehåll

Föreläsning 9 Innehåll Föreläsning 9 Innehåll Träd, speciellt binära träd egenskaper användningsområden implementering Datavetenskap (LTH) Föreläsning 9 HT 2017 1 / 31 Inlämningsuppgiften De föreläsningar som inlämningsuppgiften

Läs mer

public boolean containskey(string key) { return search(key, head)!= null; }

public boolean containskey(string key) { return search(key, head)!= null; } Tentamen Programmeringsteknik II 2009-05-26 med lösningar Skrivtid: 0900-1200 Uppgifter 1. Programbilagan ListMap.java innehåller en klass som implementerar en avbildning mellan mängden strängar och mängden

Läs mer

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det

Läs mer

Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering

Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540 Tentamen för TDA540 Objektorienterad programmering DAG: 15-04-18 TID: 14:00 18:00 Ansvarig: Joachim von Hacht och Christer Carlsson

Läs mer

Inlämningsuppgift MiniPlotter

Inlämningsuppgift MiniPlotter LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap EDAA01 Programmeringsteknik fördjupningskurs Inlämningsuppgift MiniPlotter I den här uppgiften ska ett program som ritar grafer av matematiska funktioner

Läs mer

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera först talet 37 med 2. Använd heltalsdivision. Det ger kvoten

Läs mer

Algoritmer och datastrukturer H I HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T

Algoritmer och datastrukturer H I HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T Algoritmer och datastrukturer H I 1 0 2 9 HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T Föreläsning 1 Inledande om algoritmer Rekursion Stacken vid rekursion Rekursion iteration Möjliga vägar

Läs mer

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,

Läs mer

TENTAMEN OOP

TENTAMEN OOP TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli

Läs mer

729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 3 Jody Foo,

729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 3 Jody Foo, 729G74 IT och programmering, grundkurs Tema 1, Föreläsning 3 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kurslogistik Diskret matematik & Uppgifter i Python Kompletteringar Tema 1: Olika perspektiv

Läs mer

Föreläsning 5-6 Innehåll

Föreläsning 5-6 Innehåll Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]

Läs mer

Kontinuitet och gränsvärden

Kontinuitet och gränsvärden Kapitel Kontinuitet och gränsvärden.1 Introduktion till kontinuerliga funktioner Kapitlet börjar med allmänna definitioner. Därefter utvidgar vi successivt familjen av kontinuerliga funktioner, genom specifika

Läs mer

Datastrukturer och algoritmer

Datastrukturer och algoritmer Innehåll Föreläsning 5 Algoritmer Experimentell komplexitetsanalys Kapitel 2.1-2.2, Kapitel 12.1-12.4 Algoritmer Algoritm Definition: Algoritm är en noggrann plan, en metod för att stegvis utföra något

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program

Läs mer

2 b) Följande finns definierat: public class Käk String titel = "Chili con carne"; Krydda[] kryddor = new Krydda[10]; kryddor[0] = new Krydda("Svartpe

2 b) Följande finns definierat: public class Käk String titel = Chili con carne; Krydda[] kryddor = new Krydda[10]; kryddor[0] = new Krydda(Svartpe Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för I1, K2, L1, M1, Media1 och T1. Tentamen (1p) 6 april 2002, kl 14.00 17.00 Hjälpmedel: En javabok(det blå javahäftet som ingår i kursbunten räknas

Läs mer

Föreläsning 7-8 Innehåll

Föreläsning 7-8 Innehåll Föreläsning 7-8 Innehåll Mer om att skriva egna klasser Fel och felsökning Klasserna String och StringBuilder Datavetenskap (LTH) Föreläsning 7-8 HT 2017 1 / 42 Objekt som argument Antag att vi har lagt

Läs mer

Föreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande:

Föreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande: Föreläsning 7 Innehåll Rekursion Rekursivt tänkande: Hur många år fyller du? Ett år mer än förra året! Rekursion Rekursiv problemlösning Binärsökning Generiska metoder Rekursiv problemlösning: Dela upp

Läs mer

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

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

Läs mer

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,

Läs mer

Malmö högskola 2007/2008 Teknik och samhälle

Malmö högskola 2007/2008 Teknik och samhälle Laboration 8 Avsikten med denna laboration är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är

Läs mer

Instuderingsfrågor, del D

Instuderingsfrågor, del D Uppgift 1. Instuderingsfrågor, del D Objektorienterad programmering, Z1 I vilka av nedanstående problem behöver man använda sig av fält för att få en elegant lösning? I vilka problem är det är det onödigt/olämpligt

Läs mer

Föreläsning 13 Innehåll

Föreläsning 13 Innehåll Föreläsning 13 Innehåll Arv Repetition Om tentamen Datavetenskap (LTH) Föreläsning 13 HT 2017 1 / 32 Diskutera Här är början på klassen MemoryWindow som använts på en lab. Vad kan menas med extends SimpleWindow?

Läs mer

Föreläsning 9: Talteori

Föreläsning 9: Talteori DD2458, Problemlösning och programmering under press Föreläsning 9: Talteori Datum: 2009-11-11 Skribent(er): Ting-Hey Chau, Gustav Larsson, Åke Rosén Föreläsare: Fredrik Niemelä Den här föreläsningen handlar

Läs mer