FACIT TILL OMTENTAMEN I PROGRAMSPRÅK DVG C kl. 08:15-13:15

Storlek: px
Starta visningen från sidan:

Download "FACIT TILL OMTENTAMEN I PROGRAMSPRÅK DVG C kl. 08:15-13:15"

Transkript

1 FACIT TILL OMTENTAMEN I PROGRAMSPRÅK DVG C 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 40p, Godkänd 30p (varav minimum 20p från tentan, 10p från labbarna Tenta: Max 40p, Med beröm godkänd 34p, Icke utan beröm godkänd 27p, Godkänd 20p Labbarna: Max 20p, Med beröm godkänd 18p, Icke utan beröm godkänd 14p, Godkänd 10p SKRIV TYDLIGT LÄS UPPGIFTERNA NOGGRANT 1. Ange kortfattade svar på följande uppgifter: (a Ge en definition av (i aktuell parameter samt (ii formell parameter. (b Vad är svansrekursion? I vilket sammanhang förekommer den? (c Vad används den statiska länken i en stackframe till? (d Ange för- och nackdelar till värdeanrop ( call-by-value jämfört med referensanrop ( call-by-reference (e Ange ett exempel av en Lisp programmingcliché. (f Vad är förhållendet mellan en programmeringparadigm och ett programspråk? (g Ange ett exempel av bindningar vid fyra olika tidspunkter i processen språkdesign till programexekvering (totalt 4 olika exempel. (h Vilka är de två absolut nödvändligaste flödeskontrollkonstructionerna ( flow-of-control constructions för att kunna skriva ett program. (i Vad händer under den lexikaliska analysfasen? (j Vilka aspekter av att programspråk skulle man ta hänsyn till när man vill snabbt sätta sig in i ett språk? (a Ge en definition av (i aktuell parameter samt (ii formell parameter. Totalt 5p - an actual parameter is an expression (this includes id! - a formar parameter is an identifier (b Vad är svansrekursion? I vilket sammanhang förekommer den? - when the last statement in a function is a recursive call to the function - e.g. id_list( { match(id; if (lookahead == ',' { match(','; id_list(; - auxiliary functions in Lisp DFR/AA PS omtentamen Sidan 1 av 16

2 (c Vad används den statiska länken i en stackframe till? - to point back to the lexically enclosing environment (d Ange för- och nackdelar till värdeanrop ( call-by-value jämfört med referensanrop ( call-by-reference - call-by-value +ve: conceptually cleaner no side effects -ve: for large structures / arrays, a copy must be made takes more space - call-by-reference +ve: saves space -ve: allows side effects (e Ange ett exempel av en Lisp programmingcliché. (defun book-author-writer (book author (if (eql 'author (first (first book (cons (list 'author author (rest book (cons (first book (book-author-writer (rest book author (f Vad är förhållendet mellan en programmeringparadigm och ett programspråk? - a paradigm - is more abstract - may be viewed as a way of thinking - is more priented towards design - a programming language - is an implementation (realisation of a paradigm - nowadays is an implementation of several paradigms - a programming language may be evaluated by the extent to which it implements one (or more paradign(s (g Ange ett exempel av bindningar vid fyra olika tidspunkter i processen språkdesign till programexekvering (totalt 4 olika exempel. Historical Boolean boung to a domain {True, False Program design time integer bound to a specific range (-x +x Compile time a data object name bound to a type e.g. x : integer Run-time a data object bound to a value e.g. x := 3; DFR/AA PS omtentamen Sidan 2 av 16

3 (h Vilka är de två absolut nödvändligaste flödeskontrollkonstructionerna ( flow-of-control constructions för att kunna skriva ett program. sequence goto L / if x goto L i.e. GOTO (conditional / unconditional (i Vad händer under den lexikaliska analysfasen? The source code is read in as a string of characters White space (spaces, tabs, newlines are removed The lexemes in the program are identified o User defined identifiers o Keywords in the language o Numbers o Special character sequences The corresponding token (class is identified for each lexeme The (lexeme, token pair is returned (usually to the Parser (j Vilka aspekter av att programspråk skulle man ta hänsyn till när man vill snabbt sätta sig in i ett språk? The type system basic types The data structures Primitive operations in the language (usually on the basic types Flow-of-control Code and data packaging (modules, packages, classes Scope, visibility and name spaces (environments DFR/AA PS omtentamen Sidan 3 av 16

4 2. Programmeringsspråk Titta noggrant på grammatiken i bilaga A. Förklara ingående hur man kan skriva en RDPP (Recursive Descent Predictive Parser utifrån grammatiken. 5p From the grammar G = (S, P, NT, T and production rules (P, the rules of thumb are o NTs procedure o Ts match and advance procedure If the productions have left recursive definitions, these must be re-written as equivalent right recursive definitions (explain how this is done For each production X ::= T1 T2 Tn the intersection of the first(ti sets must be empty Syntac & semantic errors: what are they and how are they handled? Marks for good points, examples and explanations. DFR/AA PS omtentamen Sidan 4 av 16

5 3. Felhantering och återhämting Diskutera det generella problemet med återsynkronisering och felåterhämtning i en parser. Titta på grammatiken nedan. I den Right Recursive Grammar skriv pseudokod till varje icke-terminal symbol (dvs line, expr, R1, term, R2 samt factor och visa hur och var man kan hantera syntaktiska fel. Finns det någon tumregel/några tumregler för att bestämma när och var man kan införa syntaxkontroll i denna grammatik? 3p Original Grammar! Right Recursive Grammar! line -> expr {;expr ; '\n'! line -> expr {;expr ; '\n'! expr -> expr + term term! expr -> term R1! R1 -> e '+' term R1! term -> term * factor factor! term -> factor R2! R2 -> e '*' factor R2! factor -> '(' expr '' DIGIT! factor -> '(' expr '' DIGIT!! (e = empty 2p Rules of Thumb Totalt 5p 1. If the rule consists of non-terminals only then no check can be made. (expr & term 2. If the rule contains an empty production then no check can be made. (R1 & R2 3. Only if the rule contains terminal symbols (and no empty symbol can syntax checks be performed. (line & factor See the examples below. void factor( { if (lookahead == '(' { match('('; expr(; if (lookahead == '' match(''; else error("*** '' EXPECTED *** (in procedure factor"; return; else if (lookahead == DIGIT { match(lookahead; return; else error("*** UNEXPECTED SYMBOL *** (in procedure factor"; printf("\n *** Skipping input symbol *** \n "; plookahead(; lookahead = yylex(; /* skip over symbol - no synch!!! */ DFR/AA PS omtentamen Sidan 5 av 16

6 void R2( { if (lookahead == '*' { match('*'; factor(; R2(; ; ; void term( { factor(; R2(; void R1( { if (lookahead == '+' { match('+'; term(; R1(; ; void expr( { term(; R1(; void line( { do { iserror = 0; expr(; plookahead(; if (lookahead == ';' match(';'; else error("*** ';' EXPECTED *** (in procedure line"; if (!iserror printf(" \n Parse Successful! \n"; else printf(" \n Parse Failed! \n"; while (lookahead!= '\n'; if (lookahead == '\n' match('\n'; else error("*** NEWLINE EXPECTED *** (in procedure line"; ; DFR/AA PS omtentamen Sidan 6 av 16

7 4. Parseträd expr term R1 R1 e '+' term R1 (e = empty term factor R2 R2 e '*' factor R2 factor '(' expr '' DIGIT Titta noggrant på grammatiken ovan. Rita parseträdet för uttrycket (2+2*2. 5p DFR/AA PS omtentamen Sidan 7 av 16

8 expr factor term R2 R1 e ( expr * factor R2 digit e term R1 2 factor R2 + term R1 digit e factor R2 e 2 digit e 2 ( * 2 DFR/AA PS omtentamen Sidan 8 av 16

9 5. Parametrar Diskutera ingående hur parametrar hanteras vid exekverings-tid (engelska: run-time environment. Marks for good answers. See the revision notes on the web. 5p DFR/AA PS omtentamen Sidan 9 av 16

10 6. Lisp (defun make-book (title author class (list (list 'title title (list 'author author (list 'class class (defun book-author-writer (book author (if (eql 'author (first (first book (cons (list 'author author (rest book (cons (first book (book-author-writer (rest book author (defun book-class-add (book class ;; att skriva (setf book (make-book '(Common Lisp '(Guy Steele '(Computer Languages (book-author-writer book '(Guy L Steele (book-class-add book 'Lisp MAKE-BOOK BOOK-AUTHOR-WRITER BOOK-CLASS-ADD ((TITLE (COMMON LISP (AUTHOR (GUY STEELE (CLASS (COMPUTER LANGUAGES ((TITLE (COMMON LISP (AUTHOR (GUY L STEELE (CLASS (COMPUTER LANGUAGES ((TITLE (COMMON LISP (AUTHOR (GUY STEELE (CLASS (COMPUTER LANGUAGES LISP Bye. 1. Skriv Lisp-koden till functionen book-class-add. Ange alla antagande. 2p 2. Förklara stegvis och ingående hur din function book-class-add fungerar. 3p Totalt 5p DFR/AA PS omtentamen Sidan 10 av 16

11 NOTE: Book-author-writer replaces a value in the author element in the book object. Book-class-add adds an attribute to the class element in the book object. Book-author-writer is an example of a programming cliché The question is, whether book-author-writer can be adapted to produce book-class-add? (defun book-author-writer (book author (if (eql 'author (first (first book (cons (list 'author author (rest book (cons (first book (book-author-writer (rest book author Step 1: change the name above to give (defun book-class-add (book author (if (eql 'author (first (first book (cons (list 'author author (rest book (cons (first book (book-class-add (rest book author Step 2: change the category above from author to class to give (defun book-class-add (book class (if (eql 'class (first (first book (cons (list 'class class (rest book??? (cons (first book (book-class-add (rest book class Step 3: the line after the if now needs to be modified. What do we want to do? Answer: add another value in the class list lisp append! Note that the class list is the second element. What is required is (CLASS (COMPUTER LANGUAGES is changed to (CLASS (COMPUTER LANGUAGES LISP Step 4: look at the line (cons (list 'class class (rest book The ( cons is required as well as the (rest book part, which leaves the middle part to be substituted DFR/AA PS omtentamen Sidan 11 av 16

12 Step 5: think again what is require, working back from the answer (CLASS (COMPUTER LANGUAGES LISP First of this is the symbol CLASS and second is the list (COMPUTER LANGUAGES The addition is to made to second so we could start with (append (second (first book (list CLASS ;the value of CLASS is LISP --- recall that the second argument to append must be a list This will give the required result (COMPUTER LANGUAGES LISP The category (CLASS has then to be added to give the final result (CLASS (COMPUTER LANGUAGES LISP 1. one solution would be (list class (append (second (first book (list class 2. another would be (list (first (first book (append (second (first book (list class Since at this point we know that (first (first book is CLASS This gives the final solution for the function. (defun book-class-add (book class (if (eql 'class (first (first book (cons (list class (append (second (first book (list class (rest book (cons (first book (book-class-add (rest book class (defun book-class-add (book class (if (eql 'class (first (first book (cons (list class (append (second (first book (list class (rest book (cons (first book (book-class-add (rest book class DFR/AA PS omtentamen Sidan 12 av 16

13 7. Objektorientering (5p A. Vad betyder det att en klass är abstrakt? (0.5p B. Varför deklarerar man vissa klasser som abstrakta? (1.0p C. Vad innebär det att en medlemsvariabel är private? (0.5p D. Vad innebär det att en metod INTE är virtuell? (0.5p E. Givet följande program skrivet i Java. Vad skrivs ut när programmet körs och varför? Utöver att ange rätt utskrift från programmet så skall du även redovisa för de mekanismer som gör att utskriften blir som den blir. class Person { void print( { System.out.println("Person"; (2.5p class Teacher extends Person { void print( { System.out.println("Teacher"; public class Program { static void print(person person { person.print(; public static void main(string[] args { Person person = new Person(; Teacher teacher = new Teacher(; Person xenomorph = new Teacher(; print(person; print(teacher; print(xenomorph; DFR/AA PS omtentamen Sidan 13 av 16

14 A. Det går ej att skapa instanser/objekt av klassen. Klassen kan innehålla abstrakta metoder, men inte nödvändigtvis. Abstrakta klasser kan innehålla icke-abstrakta metoder. Abstrakta klasser används inte för att instansiera objekt utan som basklasser för arv. Man kan se en abstrakt klass som en mall från vilken man kan härleda fler utökade klasser via arv. B. Flera anledningar: 1. Man vill inte att klassen skall instansieras av någon anledning. Kan vara tex ett mattebibliotek med statiska/klass-metoder. Genom att göra klassen abstrakt så förhindrar man att onödiga objekt instansieras från klassen. 2. Den mer vanliga anledningen är att klassen innehåller minst en abstrakt metod(dvs en metod utanimplementering/kropp och då är klassen per automatik abstrakt. C. En medlemsvariabel som är private kan endast nås(läsas/modifieras av metoder inom den egna klassen. Alla metoder i utomstående klasser(inklusive subklasser har ej tillgång. D. Om en metod inte är virtuell så är dennas implementation/kropp konstant. Dvs dess implementation kan inte skrivas över/omdfefinieras av en ärvande klass. E. Följande kommer skrivas ut: Person Teacher Teacher Person är en basklass med en printmetod. Teacher är en härledd klass från Person som har en egen printmetod och därför skriver över/omdefinierar printmetoen. Klassen Program har också sin egen printmetod, men klassen program är inte inblandad i något arv. Program skapar tre stycken objekt. 1styck instans av klassen Person och två stycken instanser av klassen Teacher. Den andra instansen av klassen Teacher lagras i ett dataobjekt av typen Person. Detta är helt godkännt tack vara subtyp-polymorphism som säger att dataobjekt av typen Person kan lagra instanser av klassen Person och alla subtyper(härledda klasser av klassen Person vilket klassen Teacher är. När anropet till metoden print från metoden main sker så är det metoden print i samma klass som main(dvs Program som anropas. Denna metod förväntar sig ett objekt av typen Person, men tack vara subtyp-polymorphism så accepterar den även subtyper av Person. Metoden Program.print anropar i sin tur objektets egna printmetod. När ett objekt av klassen Person skickas till metoden Program.print så kommer metoden Person.print att anropas och "Person" skrivs ut. När ett objekt av klassen Teacher skickas till metoden Program.print så kommer metoden Teacher.print att anropas och "Teacher" skrivs ut. Detta gäller för bägge instanserna av klassen Teacher. Oavsett vad vi angett för datatyp när vi lagrade objektet så är fortfarande objektet en instans av klassen Teacher och kommer "agera" därefter DFR/AA PS omtentamen Sidan 14 av 16

15 8. Prolog 1. Skriv ett predikat, ersatt_alla(+inelem, +UtElem, +InLista, -UtLista, där alla förekomster av elementet InElem i listan InLista ersätts med elementet UtElem och returnerar listan Utlista. Predikatet måste skrivas så att inte falska lösningar kan erhållas när man trycker ; Exempel på körning:?- ersatt_alla(a, b, [a, c, a, d, a], L. L = [b, c, b, d, b] (2,5 p 2. Beskriv utförligt med egna ord och med kodexempel hur parserdelen i laborationen kontroller om tokenlistan är korrekt enligt grammatikreglerna. Beskriv också hur vissa av de givna grammatikreglerna måste modifieras för att koden skall fungera. (2,5 p Totalt 5p (1 ersatt_alla(e1, E2, [], []. /* Basfall 0,5 p */ ersatt_alla(e1, E2, [E1 R1], [E2 R2] :-!, ersatt_alla(e1, E2, R1, R2. /* Rekursivt fall 1 p */ ersatt_alla(e1, E2, [F R1], [F R2] :- E1 \= F, ersatt_alla(e1, E2, R1, R2. /* Rekursivt fall 1 p */ För undvikande av falska lösningar skall antingen cut (! användas i regel 2 eller villkoret i regel 3, annars 0,5 p avdrag. /* Totalt 2,5 p */ (2 Här kan man tänka sig stor variation i svaren. Lite kod av typen prog --> prog_header, var_part, stat_part. var_dec_list --> var_dec. var_dec_list --> var_dec, var_dec_list. /* Högerrekursion */ var --> 259. /* Terminal symbol */ bör finnas med. Dessutom ska koden kommenteras med egna ord. I samband med var_dec_list kan man kommentera vikten av högerrekursion som ju är den modifiering som krävs av grammatikregler för att koden skall fungera. Kommenterar man att skrivsättet med --> är ett förkortat skrivsätt för att slippa skriva ut 2 parametrar i varje predikat är det ett plus. /* Totalt 2,5 p */ DFR/AA PS omtentamen Sidan 15 av 16

16 Bilaga A - Grammatik: Pascallik språk 1. [prog] ::= [prog header] [var part] [stat part] 2. [prog header] ::= program id ( input, output ; 3. [var part] ::= var [var dec list] 4. [stat part] ::= begin [stat list] end. 5. [var dec list] ::= [var dec] [var dec list] [var dec] 6. [var dec] ::= [id list] : [type] ; 7. [stat list] ::= [stat] [stat list] ; [stat] 8. [stat] ::= [assign stat] 9. [assign stat] ::= id := [expr] 10. [expr] ::= [term] [R1] 11. [R1] ::= e + [term] [R1] 12. [term] ::= [factor] [R2] 13. [R2] ::= e * [factor] [R2] 14. [factor] ::= ( [expr] [operand] 15. [type] ::= integer 16. [id list] ::= id [id list], id 17. [operand] ::= id number DFR/AA PS omtentamen Sidan 16 av 16

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

OMTENTAMEN 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 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

DVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION :15-13: 15

DVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION :15-13: 15 DVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION 120607 08:15-13: 15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition En ordbok: studentenshemspråk engelska Betygsgräns:

Läs mer

FACIT TILL OMTENTAMEN I PROGRAMSPRÅK DVG C01. 140821 kl. 08:15-13:15

FACIT TILL OMTENTAMEN I PROGRAMSPRÅK DVG C01. 140821 kl. 08:15-13:15 FACIT TILL OMTENTAMEN I PROGRAMSPRÅK DVG C01 140821 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

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 130607 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

FACIT TILL OMTENTAMEN I PROGRAMSPRÅK DVG C01

FACIT TILL OMTENTAMEN I PROGRAMSPRÅK DVG C01 FACIT TILL OMTENTAMEN I PROGRAMSPRÅK DVG C01 120112 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

Läs mer

FACIT TILL OMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15

FACIT TILL OMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15 FACIT TILL OMTENTAMEN I PROGRAMSPRÅK -- DVG C01 130110 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

Läs mer

FACIT TILL/TO DVG C01 OMTENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES RESIT EXAMINATION :15-13: 15

FACIT TILL/TO DVG C01 OMTENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES RESIT EXAMINATION :15-13: 15 FACIT TILL/TO DVG C01 OMTENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES RESIT EXAMINATION 120824 08:15-13: 15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition En ordbok: studentenshemspråk

Läs mer

FACIT TILL TENTAMEN I PROGRAMSPRÅK DVG C01. 140605 kl. 08:15-13:15

FACIT TILL TENTAMEN I PROGRAMSPRÅK DVG C01. 140605 kl. 08:15-13:15 FACIT TILL 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

Läs mer

FACIT TILL OMTENTAMEN I PROGRAMSPRÅK -- DVG C01. 140109 kl. 08:15-13: 15

FACIT TILL OMTENTAMEN I PROGRAMSPRÅK -- DVG C01. 140109 kl. 08:15-13: 15 FACIT TILL OMTENTAMEN I PROGRAMSPRÅK -- DVG C01 140109 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

Läs mer

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

FACIT TILL TENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15 FACIT TILL TENTAMEN I PROGRAMSPRÅK -- DVG C01 130607 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

Läs mer

Tentamen i. TDDA 69 Data och programstrukturer

Tentamen i. TDDA 69 Data och programstrukturer 1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDA 69 Data och programstrukturer Torsdag den 14 januari 2009, kl 14-18 Hjälpmedel: Inga. Poänggränser: Maximalt

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

Recitation 4. 2-D arrays. Exceptions

Recitation 4. 2-D arrays. Exceptions Recitation 4. 2-D arrays. Exceptions Animal[] v= new Animal[3]; 2 declaration of array v Create array of 3 elements v null a6 Assign value of new-exp to v Assign and refer to elements as usual: v[0]= new

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16 TDDC74 Programmering: Abstraktion och modellering Dugga 2, 207-04-06, kl 4-6 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i svårighetsordning.

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19 TDDC74 Programmering: Abstraktion och modellering Dugga 2, 2017-04-06, kl 17-19 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i

Läs mer

Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning

Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning 1 Dagens föreläsning Programmering i Lisp - Block, räckvidd - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning - Felhantering (kap 17) icke-normala återhopp catch

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

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang)

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang) Tentamen i Programmeringsteori Institutionen for datorteknik Uppsala universitet 1996{08{14 Larare: Parosh A. A., M. Kindahl Plats: Polacksbacken Skrivtid: 9 15 Hjalpmedel: Inga Anvisningar: 1. Varje bevissteg

Läs mer

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167 GU / Chalmers Campus Lindholmen Tentamen Programutveckling 2016-01-13 LEU 482 / TIG167 Examinator: Henrik Sandklef (0700-909363) Tid för tentamen: 2016-01-13, 08.30 12.30 Ansvarig lärare: Henrik Sandklef,

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

Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering

Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-6, TDA540 Dag: 207-0-24, Tid: 4.00-.00 Uppgift a) En abstrakt klass kan inte instansieras,

Läs mer

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 1 2 - Block, räckvidd Dagens föreläsning Programmering i Lisp - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning - Felhantering (kap 17) icke-normala återhopp catch

Läs mer

Support Manual HoistLocatel Electronic Locks

Support Manual HoistLocatel Electronic Locks Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing

Läs mer

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik SIGNALBEHANDLING I MULTIMEDIA, EITA50, LP4, 209 Inlämningsuppgift av 2, Assignment out of 2 Inlämningstid: Lämnas in senast kl

Läs mer

Föreläsning 3. Stack

Föreläsning 3. Stack Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista ADT Stack Grundprinciper: En stack

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

Styrteknik: Binära tal, talsystem och koder D3:1

Styrteknik: Binära tal, talsystem och koder D3:1 Styrteknik: Binära tal, talsystem och koder D3:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik :Binära tal, talsystem och koder

Läs mer

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid: Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-08-24, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:

Läs mer

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av

Läs mer

Föreläsning 3. Stack

Föreläsning 3. Stack Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista Evaluate postfix expressions Läsanvisningar

Läs mer

Objektorienterad programmering i Java

Objektorienterad programmering i Java Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet

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

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1

Läs mer

Abstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet.

Abstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet. -Algoritmer och Datastrukturer- Abstrakt datatyp Datatyp för en variabel Betecknar i ett programmeringsspråk den mängd värden variabeln får anta. T ex kan en variabel av typ boolean anta värdena true och

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

Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10. Skriv bara på framsidan av varje papper.

Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10. Skriv bara på framsidan av varje papper. Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10 Skrivtid: 0800-1300 Inga hjälpmedel. Tänk på följande Maximal poäng är 40. För betygen 3 krävs 18 poäng. För betygen 4, 5 kommer något

Läs mer

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:

Läs mer

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1) Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet

Läs mer

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR Kontrollera vilka kurser du vill söka under utbytet. Fyll i Basis for nomination for exchange studies i samråd med din lärare. För att läraren ska kunna göra en korrekt

Läs mer

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning Generiska klasser Undantag Interface Nästlade klasser 1 Problem:

Läs mer

Obligatorisk uppgift 5

Obligatorisk uppgift 5 (5 oktober 2018 Symbolisk kalkylator 1 ) Obligatorisk uppgift 5 En kalkylator som hanterar uttryck symboliskt dvs värden är uttryck inte bara tal. Uppgiften exemplifierar: objektorientering återanvändning

Läs mer

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2 TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2 Pelle Evensen, Daniel Wetterbro 5 november 2009 Sammanfattning Denna vecka ska vi titta på abstrakta klasser kontra interface,

Läs mer

Övning 1 - Abstrakta datatyper

Övning 1 - Abstrakta datatyper /home/lindahlm/activity-phd/teaching/12dd1320/exercise1/exercise1.py September 3, 20121 0 # coding : latin Övning 1 - Abstrakta datatyper 18 Summering Vi gick igenom betydelsen av abstrakta datatyper/datastrukturer.

Läs mer

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning 2I1049 Föreläsning 5 Objektorienterad programmering i Java KTH-MI Peter Mozelius Objektorientering Världar uppbyggda av objekt Inte helt olikt vår egen värld Ett sätt att modularisera våra system Objekten

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

Skillnader mellan Python och Java

Skillnader mellan Python och Java Java Utvecklat på SUN Microsystems mitten 1990-talet Ursprungligen för Webprogram Nu mycket spritt Massor med läroböcker Vi använder Lewis&Loftus http://javasuncom/javase/6/docs/api/ Skillnader mellan

Läs mer

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes Vad kännetecknar en god klass F12 Nested & En odelad, väldefinierad abstraktion Uppgiften kan beskrivas kort och tydlig Namnet är en substantiv eller adjektiv som beskriver abstraktionen på ett adekvat

Läs mer

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås Schenker Privpak AB Interface documentation for web service packageservices.asmx 2012-09-01 Version: 1.0.0 Doc. no.: I04304b Sida 2 av 7 Revision history Datum Version Sign. Kommentar 2012-09-01 1.0.0

Läs mer

Interface. Interface. Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 3 december 2010

Interface. Interface. Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 3 december 2010 Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 3 december 2010 interface, motivation och bakgrund Antag att vi gör en generell listklass: public class List { protected static class ListNode { public

Läs mer

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

Läs mer

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004 Lösningsförslag Programmeringsmetodik, KV: Java och OOP 17 januari 2004 Examinator: Johan Karlsson Skrivtid: 9-15 Hjälpmedel: En av följande böcker: Barnes & Kölling: Objects First With Java a practical

Läs mer

tentaplugg.nu av studenter för studenter

tentaplugg.nu av studenter för studenter tentaplugg.nu av studenter för studenter Kurskod Kursnamn UU-76062 Inledande programmering i Java Datum 2014-07-13 Material Tentamen Kursexaminator Betygsgränser Tentamenspoäng G 30; VG 36 40 (VG) Övrig

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

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren att du har förstått dessa även om detaljer kan vara felaktiga.

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren att du har förstått dessa även om detaljer kan vara felaktiga. Tentamen Programmeringsteknik II 2013-06-05 Skrivtid: 1400-1700 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

Föreläsning 8: Exempel och problemlösning

Föreläsning 8: Exempel och problemlösning TDA 545: Objektorienterad programmering Föreläsning 8: Exempel och problemlösning Magnus Myréen Chalmers, läsperiod 1, 2015-2016 De tre senaste föreläsningarna Läsanvisning: kap 2 & 13 meddelanden och

Läs mer

Tentamen Programmering fortsättningskurs DIT950

Tentamen Programmering fortsättningskurs DIT950 Tentamen Programmering fortsättningskurs Datum: 2015-03-17 Tid: 08.30-12.30 Hjälpmedel: Engelskt-Valfritt språk lexikon Betygsgränser: U: -23 G: 24-43 VG: 44-60 (max 60) Lärare:. Någon besöker ca 10.00

Läs mer

List.java. List.java. Printed by Tom Smedsaas

List.java. List.java. Printed by Tom Smedsaas Mar 03, 08 17:48 Page 1/3 class List * Representerar en länkad lista av godtyckliga objekt public class List { ListNode * Noder i listor protected static class ListNode { protected Object data; protected

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

Generics och polymorfism. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Generics och polymorfism. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Generics och polymorfism Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Live code Pair public class Pair { private A a; private B b; public A getfirst() { return a; public

Läs mer

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 14:15 19:15

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 14:15 19:15 OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 150609 kl. 14:15 19:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Inga. Algoritmerna finns i de respektive uppgifterna eller i bilogarna. *** OBS ***

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

Klassen BST som definierar binära sökträd med tal som nycklar och enda data. Varje nyckel är unik dvs förekommer endast en

Klassen BST som definierar binära sökträd med tal som nycklar och enda data. Varje nyckel är unik dvs förekommer endast en Tentamen Programmeringsteknik II 2017-10-23 Skrivtid: 14:00 19:00 Inledning Skrivningen innehåller ett antal bilagor: Bilagan listsandtrees innehåller fyra klasser: Klassen List med några grundläggande

Läs mer

Tentamen Grundläggande programmering

Tentamen Grundläggande programmering Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:

Läs mer

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

Läs mer

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta

Läs mer

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Konstruktorer Statiska metoder & attribut

Läs mer

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p) UMEÅ UNIVERSITY Department of Mathematics and Mathematical Statistics Pre-exam in mathematics Linear algebra 2012-02-07 1. Compute the following matrix: (2 p 3 1 2 3 2 2 7 ( 4 3 5 2 2. Compute the determinant

Läs mer

Föreläsning 3: Booleans, if, switch

Föreläsning 3: Booleans, if, switch TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt

Läs mer

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Programmering I Tobias Wrigstad fredag, 2009 augusti 28 Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,

Läs mer

SI-pass 4. Johan Brook och Jesper Persson. 25 september 2012. Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner.

SI-pass 4. Johan Brook och Jesper Persson. 25 september 2012. Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner. SI-pass 4 Johan Brook och Jesper Persson 25 september 2012 1. Sant eller falskt? Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner. Interfaces i Java kan innehålla privata

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

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Arv Polymorf UML (klassdiagram) 1 Arv Möt tre studenter

Läs mer

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15 OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 140818 kl. 08:15 13:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Inga. Algoritmerna finns i de respektive uppgifterna. Betygsgräns: *** OBS *** Kurs:

Läs mer

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av

Läs mer

Repetition av OOP- och Javabegrepp

Repetition av OOP- och Javabegrepp ArrayList Repetition av OOP- och Javabegrepp En lista i vilken man kan lagra objekt Implementerar List-interfacet Skiljer sig från ett vanligt endimensionellt fält: Dynamisk expanderar när den blir

Läs mer

Tentamen i. TDDC67 Funktionell programmering och Lisp

Tentamen i. TDDC67 Funktionell programmering och Lisp 1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDC67 Funktionell programmering och Lisp och äldre kurser TDDC57 Programmering, Lisp och funktionell programmering

Läs mer

Dagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler

Dagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler 21-1-2 1 Dagens föreläsning Hur fungerar ett Lisp system intern struktur av symbolen, tal, listan pekare - delade strukturer - eq minneshantering fri lista - sophämtning/garbage collection stack Diverse

Läs mer

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel Data- och Programstrukturer Provmoment: Ladokkod: Tentamen ges för: Omtentamen NDP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:

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

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0.. Ett problem Kontrollstrukturer och er Hur sparas data T ex när man vill spara resultaten av en tävling Exempel med 3 deltagare: public class Competition private int result1; private int result2; private

Läs mer

Isometries of the plane

Isometries of the plane Isometries of the plane Mikael Forsberg August 23, 2011 Abstract Här följer del av ett dokument om Tesselering som jag skrivit för en annan kurs. Denna del handlar om isometrier och innehåller bevis för

Läs mer

Generics och polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018

Generics och polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018 Generics och polymorfism Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018 Live code Pair public class Pair { private A a; private B b; public A getfirst()

Läs mer

Repetition av OOP- och Javabegrepp

Repetition av OOP- och Javabegrepp ArrayList Repetition av OOP- och Javabegrepp En lista i vilken man kan lagra objekt Implementerar List-interfacet Skiljer sig från ett vanligt endimensionellt fält: Dynamisk expanderar när den blir

Läs mer

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag

Läs mer

Workplan Food. Spring term 2016 Year 7. Name:

Workplan Food. Spring term 2016 Year 7. Name: Workplan Food Spring term 2016 Year 7 Name: During the time we work with this workplan you will also be getting some tests in English. You cannot practice for these tests. Compulsory o Read My Canadian

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

F12 - Collections. ID1004 Objektorienterad programmering Fredrik Kilander

F12 - Collections. ID1004 Objektorienterad programmering Fredrik Kilander F12 - Collections ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Collections (samlingar) En collection är ett objekt som fungerar som en samling av andra objekt En collection erbjuder

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016 Objektorienterad Programkonstruktion Föreläsning 2 2 nov 2016 Objekt - klass Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 Objekt - klass Objekt - klass Objekt - klass + Objekt - klass public class

Läs mer

Dugga Datastrukturer (DAT036)

Dugga Datastrukturer (DAT036) Dugga Datastrukturer (DAT036) Duggans datum: 2012-11-21. Författare: Nils Anders Danielsson. För att en uppgift ska räknas som löst så måste en i princip helt korrekt lösning lämnas in. Enstaka mindre

Läs mer

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 3

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 3 TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 3 Pelle Evensen, Daniel Wetterbro 16 oktober 2012 Sammanfattning Denna vecka ska vi titta på polymorfism, dynamisk kontra statisk

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

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: 2014-12-17 Tid: 9.00-12.00 (OBS 3 tim) Rum: V

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: 2014-12-17 Tid: 9.00-12.00 (OBS 3 tim) Rum: V Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Erland Holmström Göteborg 16 dec 2014 Examination i PROGRAMMERINGSTEKNIK F1/TM1

Läs mer

Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer

Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer Exempel for (int antal=; antal < 75; antal++) System.out.println (antal); Arrayer for (int num=5; num

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

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om? Algoritmer och datastrukturer Allmänt om kursen Kort javagrund repetition - Klasser, metoder, objekt och referensvariabler, - Hierarkiska klass strukturer - Arrayer och arrayer av objekt - Collection ramverket

Läs mer

Quicksort. Koffman & Wolfgang kapitel 8, avsnitt 9

Quicksort. Koffman & Wolfgang kapitel 8, avsnitt 9 Quicksort Koffman & Wolfgang kapitel 8, avsnitt 9 1 Quicksort Quicksort väljer ett spcifikt värde (kallat pivot), och delar upp resten av fältet i två delar: alla element som är pivot läggs i vänstra delen

Läs mer

TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 14:00-19:00

TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 14:00-19:00 TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 170117 kl. 14:00-19:00 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Inga. Algoritmerna finns i de respektive uppgifterna eller i bilagarna. *** OBS *** Betygsgräns:

Läs mer

Tentamen OOP 2015-03-14

Tentamen OOP 2015-03-14 Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning

Läs mer