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

Storlek: px
Starta visningen från sidan:

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

Transkript

1 FACIT TILL TENTAMEN 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 - an actual parameter is an expression (this includes id!) - a formar parameter is an identifier (b) Förklara skillnaden mellan A och A i Lisp. - A is a symbol which can be evaluated and its value used - A (quote A) is an unevaluated form A is treated as a literal symbol (c) Förklara skillnaden mellan begreppen syntax och semantiken. - syntax describes the structure of a language often by means of a formal grammar - semantics describes the meaning of ther language constructs often using natural language (e.g. English, Swedish) and less often a formal mathematical notation e.g. Z, denotational semantics (d) Vilken roll spelar typ i programspråk? - a type defines a set of values; variables (data objects) are instances of a type (similarly an object in the OO world is an instance of a class); operators may be defined on types and type expressions written as operator: type 1 x type 2 x x type n type k which then may be used in type checking of expressions in the language. A Type may also be used as self-documentation in a program; types are also used to provide signatures for functions (methods) DFR/EJN/ND PS tentamen - facit Sidan 1 av 20

2 (e) Vad är skillnaden mellan lifetime och scope? - lifetime is the length of time an object exists in memory and is accessible - scope determines if a named object is accessible (visible) in a given environment firstly the local environment is checked and then the nion-local environment according to the sematic rules given in the language semantics (f) Vad är ett 3G -programmeringsspråk? - 3G stands for Third Generation and is applied to languages (also known as highlevel languages) to distinguish these languages from machine code (1G) and assembler language (2G). 3Gs started with Fortran IV and Algol 60. The advantage of 3G languages was that the programs were more readable by human beings. 3Gs went through an evolution in the 1970s with structured programming and gave rise to the OO languages in the 1980s (Smalltalk, C++) (g) Vad är flödeskontroll ( flow-of-control )? - FOC provides statements to determine the order in which the expressions in a programming language are executed - the default is sequential - decision constructs (if-then(-else); case/switch) allow different paths to be executed in the code sequence - repetition (while; for; do-while; repeat-until) allows sections of code to be executed repeatedly. - branch (jump) instructions (goto; break; continue) allow execution to jump to a different part of the code sequence - essentially only 2 constructs are really required: if X goto/goto i.e. conditional and unconditional got o (h) Förklara definitionen G = (S, P, NT, T). - G is the grammar defined by - S the start symbol (a non-terminal) - P a set (sequence) of transformation (substitution) rules stating how each non- Terminal symbol may be substituted - NT is the set of non-terminal symbols which appear on the RHS (right hand side) of a production P -T is the set of Terminal symbols which cannot e further substituted. The Ts as the ssymbols which appear in the program text DFR/EJN/ND PS tentamen - facit Sidan 2 av 20

3 (i) Vad är en RDPP ( Recursive Descent Predictive Parser )? - an RDPP is a parser (usually written by hand) which uses recursion (from the recursive definition in the grammar G); the Descent part comes from the sequence of procedure calls which forms a (parse) tree (hence descending into the tree from the root which is the start symbol S; the predictive part comes from the grammar, often written as an LL(1) grammar where the current input symbol (token) from the input stream is used to determine (predict) the next grammar rule to be applied. E.g. for a statement in a language, the choices might be assignment (begins with an ID), if statement (begins with the keyword IF), while statement (begins with the keyword WHILE), case statement (keyword CASE) etc. As long as each of these tokens is unique for each kind of statement, the token can be used to determine the next procedure to call. Given the grammar, there are rules of thumb which state that each NT in the grammar is implemented as a procedure and each T in the input streaqmr is checked against the expected T according to the grammar (procedure match). (j) Vad är skillnaden mellan den lokala omgivningen ( local environment ) och den ickelokala omgivningen ( non-local environment )? - at each point in the execution, there exists a name space which is defined by the semantics of the language (usually either static or dynamic) - this namespace can be defined by the local environment for e.g. the current function being executed, the local objects these will be defined in the symbol table for the function and allocated space in the stack frame for the current execution of the function and a non-local environment whic refers to visible objects not defined in the function. - the non-local objects may be accessed if the scope rules allow often expressed as non-local objects being visible in the function - these concepts are often illustrated by box drawings Program xyz Function f1 Function f2 Function f3 Data: a, b, c Data: a d e Data c d f Data a, b In function f1 a, d, e are local b, c from program xyz are nonlocal but visible In function f2 c, d, f are local a and b from program xyz are non-local but visible In function f3 a, b are local c, d, f from function f2 are nonlocal but visible Totalt 10p DFR/EJN/ND PS tentamen - facit Sidan 3 av 20

4 2. BNF-definitioner Titta noggrant på grammatiken i bilaga A. Utöka denna BNF-definition för att hantera funktioner. Ange alla antagande. 5p [function def list] ::= e [function def] [function def list] [function def] [function def] ::= [function header] [var part] [stat part] [function header] ::= function id ( [parameter list] ) : [ type] ; [parameter list] [param dec list] [param dec] ::= e [param dec list] ::= [param dec] [param dec list], [param dec] ::= { var [id list] : [type] Now add the [function def list] into the grammar [program] ::= [prog header] [var part] [function def list] [stat part] NB it is also an idea to update [operand] [operand] ::= id number [function call] [function call] ::= id ( actual param list ) [actual param list] ::= e [expression list] [expression list] ::= [expr] [expression list], [expr] By analogy with a program The parameter list may be empty (design decision) This is also similar to a [var dec list] except that it is separated by a comma and not terminated by a semicolon The var part is optional here I use EBNF [param dec] ::= var [id list] : [type] [id list] : [type] Would be the alternative DONE! DFR/EJN/ND PS tentamen - facit Sidan 4 av 20

5 3. Diskussion - Rekursion Vilken roll spelar rekursion i både programspråk samt programparadigmer? Använd gärna konkreta exempel i ditt svar. Svar ingående. Programming Languages 5p Recursion commonly occurs in 2 forms in computing o Recursive definitions e.g. in grammars such as G = (S, P, NT, T) o Recursive calls One common ADT which may be recursively defined is the list o L ::= H T ; H ::= element; T ::= L o This definition is reflected in the operations that the language provides to manipulate lists In implementing RDPPs, recursive calls are often used which reflects the recursion in the grammar definition Recursion often appears as tail recursion or recursion using auxiliary functions (A calls B and B calls A indirect recursion) e.g. in a grammar implementation id_list() { match(id); if (lookahead == ',') { match(','); id_list(); Programming Paradigms In the logic and function programming paradigms, recursion is the only method of implementing repetition (Lisp includes other structures such as loop but these are nonfunctional Recursion can also be thought of as a thought model i.e. a way of approaching ADTs (commonly lists, binary trees) and programming operations This in turn leads to programming patterns or clichés o Add in a list (implemented in C) static listref b_add(int v, listref L) { return is_empty(l)? create_e(v) : v < get_value(head(l))? cons(create_e(v), L) : cons(head(l), b_add(v, tail(l))); Marks for good examples and good discussion. DFR/EJN/ND PS tentamen - facit Sidan 5 av 20

6 4. Exekveringstidsystem ( Run-time System ) Givet programmet nedan, förklara ingående förhållandena mellan programmets text (källkoden), symboltabellen och hur den exekveringsstack hanteras under programexekvering. Ange alla antagande. 5p program xyz (input, output); var a, b, c: integer; p, q: boolean; integer function x(fp1: integer, fp2: integer); begin var i: integer; integer function y(fp1: integer, fp2: integer); var i: integer; begin i := fp1 * fp2; return i; end y. begin i := y(fp1, fp2) + y(fp1, fp2); return i; end x. a := 2; b := 3; c := x(a, b); print c; end xyz. DFR/EJN/ND PS tentamen - facit Sidan 6 av 20

7 The symbol table for the above program may be implemented as a tree xyz program a variable integer 0 b variable integer 4 c variale integer 8 p variable boolean 12 q variable boolean 16 x function integer x function integer fp1 f-parameter integer 0 fp2 f-param integer 4 i variable integer 8 y function integer y function integer fp1 f-param integer 0 fp2 f-param integer 4 i variable integer 8 This gives the storage information (as stack frame offsets). The call sequences are:- 1. xyz x y (first call of y) 2. xyz x y (second call of y) The stack frames will therefore be STACK FRAME Formal parameters Local data bojects Static pointer Dynamic pointer Return value Return address y y xyz x xyz x Xyz x xyz x xyz xyz Explain the roles of thye static/dynamic pointers, parameter passing mechanisms. Marks for good examples and explanations. DFR/EJN/ND PS tentamen - facit Sidan 7 av 20

8 Uppgiften fattades från den ursprungliga tentan. Upptäckt kl 08: Levererades separat till tentalokalen :30 5. Parseträd expr -> term R1 R1 -> e '+' term R1 term -> factor R2 R2 -> e '*' factor R2 factor -> '(' expr ')' DIGIT (e = empty) Titta noggrant på grammatiken ovan. Rita parseträdet för uttrycket (2+2)*2. 5p DFR/EJN/ND PS tentamen - facit Sidan 8 av 20

9 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/EJN/ND PS tentamen - facit Sidan 9 av 20

10 6. Prolog a) Predikat Skriv predikatet langd(+lista,-antal), som tar Lista som inparameter och returnerar antalet element i Lista genom parametern Antal Exempel:?- langd([a, b, c], X). X = 3 (1 p) b) Laborationen I laboration 2 skulle du skriva en parser för ett enkelt Pascalprogram. Parsningsprogrammet kunde delas upp i tre delar: inläsning från fil, lexikalanalys och syntaxanalys. Lexikalanalysdelen fick en lista med fyra typer av lexem (= nyckelord, specialtecken, variabelnamn och heltal) från inläsningsdelen och den listan omvandlades ett lexem i taget till en lista av tokens för vidare behandling i syntaxanalysdelen. a) Skriv predikatet lexer som med hjälp av predikatet match gör om ett lexem i taget till motsvarande token. (1 p) b) Beskriv utförligt, gärna med hjälp av kod, hur match gör omvandlingen till tokens. Beskrivningen skall innehålla minst tre olika typer av lexem. (3 p) Totalt 5p DFR/EJN/ND PS tentamen - facit Sidan 10 av 20

11 7. Objektorientering 5 poäng: Följande UML-diagram visar en del av ett system för ritning av grafiska figurer. <<abstract>> GraphicItem Drawing +add(graphicitem) +at(index: int): GraphicItem +drawon(agraphicscontext) +draw() -items * +GraphicItem(location: Point) <<abstract>>+drawon(agraphics) <<abstract>>+extent(): Dimension <<abstract>>+rotate(degrees: int) +location(): Point +setlocation(location: Point) +moveby(distance: Dimension) +moveby(deltax: int, deltay: int) +clone(): GraphicItem Point -location +x: int 1 +y: int Circle -radius:double +Circle(center: Point, radius: int) +radius(): int +extent(): Dimension +drawon(agraphics) +rotate(degrees: int) Line +Line(origin: Point, end: Point) +end(): Point +extent(): Dimension +drawon(agraphics) +rotate(degrees: int) Dimension -extent +width: int 1 +height: int Som ett komplement till klassdiagrammet ges även några delar av koden som är relevanta för uppgiften, för alla klasser bortsett från Point (med x och y) och Dimension (med width och height) med uppenbar innebörd. Koden innehåller vissa invarianter samt för- och eftervillkor som behövs för att lösa uppgiften. All övrig information finns i klassdiagrammen. Koden ges som en livlina om du inte är säker på tolkningen av diagrammen. Frågorna kommer efter koden. DFR/EJN/ND PS tentamen - facit Sidan 11 av 20

12 class Drawing: package drawing; import core.designbycontract; import java.util.*; public class Drawing { private List<GraphicItem> items = new ArrayList<GraphicItem>(); public void add(graphicitem itemnotnull) { DesignByContract.precondition(itemNotNull!= null, "Attempt to add null item"); items.add(itemnotnull); public GraphicItem at(int zerobasedindex) { return items.get(zerobasedindex); public void drawon(graphics graphicscontextnotnull) { for (GraphicItem item : items) { item.drawon(graphicscontextnotnull); public void draw() { drawon(getgraphics()); public Graphics getgraphics() { // return a graphic surface to draw on, for instance the screen or printer surface // set aside for the drawing DFR/EJN/ND PS tentamen - facit Sidan 12 av 20

13 class GraphicItem: package drawing; import core.designbycontract; public abstract class GraphicItem implements Cloneable { private Point locationnotnull; public GraphicItem(Point locationnotnull) { DesignByContract.precondition(locationNotNull!= null, "Location is null"); setlocation(locationnotnull); abstract public Dimension extentnotnull(); abstract void drawon(graphics graphicscontextnotnull); abstract public void rotate(int degrees); public Point locationnotnull() { return locationnotnull; public void setlocation(point locationnotnull) { this.locationnotnull = locationnotnull; public void moveby(dimension distance) { setlocation(locationnotnull().plus(distance)); public void moveby(int deltax, int deltay) { moveby(new Dimension(deltaX, public GraphicItem clone() throws CloneNotSupportedException { return (GraphicItem)super.clone(); // a shallow copy of myself DFR/EJN/ND PS tentamen - facit Sidan 13 av 20

14 class Circle: package drawing; import core.designbycontract; /** super.locationnotnull() is my center */ class Circle extends GraphicItem { private int radiusnonnegative; public Circle(Point centernotnull, int radiusnonnegative) { super(centernotnull); // must be first statement DesignByContract.precondition(radiusNonNegative >= 0, "Radius negative"); this.radiusnonnegative = radiusnonnegative; private int radiusnonnegative() { return public Dimension extentnotnull() { return new Dimension(2 * radiusnonnegative(), 2 * public void drawon(graphics graphicscontextnotnull) { // code to draw me on the surface given by the graphics public void rotate(int degrees) { DFR/EJN/ND PS tentamen - facit Sidan 14 av 20

15 class Line: package drawing; import core.designbycontract; /** super.locationnotnull() is my origin, end is the other endpoint */ class Line extends GraphicItem { private Dimension extentnotnull; public Line(Point originnotnull, Point endnotnull) { super(originnotnull); // must be first statement DesignByContract.precondition(endNotNull!= null, "Line endpoint is null"); extentnotnull = endnotnull.minus(originnotnull); public Point endnotnull() { return public Dimension extentnotnull() { return public void drawon(graphics graphicscontextnotnull) { // code to draw me on the surface given by the graphics public void rotate(int degrees) { // code to rotate me around my origin A. Var i detta system utnyttjas följande objekt-orienterade mekanismer? Ge om möjligt minst ett precist, konkret exempel för varje mekanism. Det räcker inte att bara säga t.ex. att en mekanism används i klass si och så, utan du ska precisera på vilket sätt den utnyttjas. Om en mekanism utnyttjas på mer än ett ställe ska två exempel ges, om möjligt från två olika klasser. Om en mekanism inte används ska du kort beskriva vad den innebär och ev relatera till vad som gör att den inte tillämpas i exemplet. Fullständiga svar ger 0,5 poäng var, ofullständiga svar ger noll poäng. (2p) a) polymorfism b) arv c) delegering d) omdefiniering (overriding) B. Metoden main i Drawing ser ut som följer. Rita upp resultatet vid referens (1) resp (2). Rikta x-axeln åt höger. Du kan välja att rikta y-axeln uppåt och rotera moturs eller rikta y-axeln neråt och rotera medurs. Varje korrekt ritning ger 0,5 poäng. (1p) DFR/EJN/ND PS tentamen - facit Sidan 15 av 20

16 public static void main(string[] args) { Drawing thedrawing = new Drawing(40, 40); Line aline = new Line(new Point(10, 20), new Point(30, 20)); // origin, end Circle acircle = new Circle(new Point(20, 20), 10); // center, radius thedrawing.add(aline); thedrawing.add(aline); thedrawing.add(acircle); thedrawing.draw(); // Referens (1) enjoytheartworkfor(2000); // milliseconds thedrawing.at(1).moveby(10, -10); // deltax, deltay thedrawing.at(1).rotate(90); // degrees around origin thedrawing.draw(); // Referens (2) C. Vad innebär följande designprinciper? Peka även ut minst ett ställe i lösningen där resp princip tillämpas, eller identifiera ifall den inte tillämpas i den här lösningen (2p) a) Single Responsibility Principle b) High Cohesion c) Low Coupling d) Single Choice Totalt 5p DFR/EJN/ND PS tentamen - facit Sidan 16 av 20

17 8. Lisp - Läs noggrant följande Lispkod:- (defun p (a b c) (list (list 'a a) (list 'b b) (list 'c c) ) ) (defun q (r s) (if (eql 'b (first (first r))) (cons (list 's (list (second (first r)) s)) (rest r)) (cons (first r) (q (rest r) s)) ) ) (setf b (p '(a b) '(c d) '(e f))) (q b 'b) (q b b) 1. Skriv ut resultatet från (q b 'b) 1p 2. Skriv ut resultatet från (q b b) 1p 3. Förklara stegvis och ingående hur funktion q fungerar. 3p Totalt 5p Note that b has value:- ((A (A B)) (B (C D)) (C (E F))) 1 ((A (A B)) (S ((C D) B)) (C (E F))) 2 ((A (A B)) (S ((C D) ((A (A B)) (B (C D)) (C (E F))))) (C (E F))) DFR/EJN/ND PS tentamen - facit Sidan 17 av 20

18 3 How does function q work? 1. (defun q (r s) 2. (if (eql 'b (first (first r))) 3. (cons (list 's (list (second (first r)) s)) (rest r)) 4. (cons (first r) (q (rest r) s)) 5. ) 6. ) Abstract Explanation Line 1: 2 formal parameters r and s Line 2: r must be a list whose first element is also a list so r is of the form ((x y) z) o (first r) is therefore (x y) o (first (first r)) is therefore x o X is compared with the literal symbol b o If the comparison is true, line 3 is executed o If the comparison is false, line 4 is executed Line 3: here we know that x is equal to the symbol b hence r is ((b y) z) where y and z have values o The rest of r is z --- (rest ((b y) z)) o The first of r is (b y) o The second of the first of r is therefore y o s is a formal parameter and therefore has a value o (list (second (first r)) s) therefore produces (y s) o (list s (list (second (first r)) s)) therefore produces (s (y s)) where the first s is a literal symbol and the second s has the value of the formal parameter s o These 2 results are cons:ed (cons (s (y s)) z) to give ( (s (y s)) z ) Line 4: o The first element in the list does not have the literal symbol b as its first element i.e. x!= b o Cons this element (x y) with q applied to the rest of r z and the value of the formal parameter s Note that the final value cannot be evaluated until the actual parameters are known See the example based explanation below. DFR/EJN/ND PS tentamen - facit Sidan 18 av 20

19 Example Based Explanation 1. (defun q (r s) 2. (if (eql 'b (first (first r))) 3. (cons (list 's (list (second (first r)) s)) (rest r)) 4. (cons (first r) (q (rest r) s)) 5. ) 6. ) The actual parameters in the call (q b b) are b is the list ((a (a b)) (b (c d)) (c (d f))) q is applied to b and b r which is the balue of the global variable b i.e. ((a (a b)) (b (c d) ) (c (e f))) s which is b i.e. the literal symbol b Line 2: (first r) is the list (a b) (first (first r)) is the atom a This is not equal to the literal b hence execute Line 4 Line 4: (first r) is the list (a (a b)) The application of q is on a new actual parameter The first actual paramenet is now the list ((b (c d)) (c (e f))) The second is the literal symbol b q is applied recursively so the process starts again Line 2: r is ((b (c d)) (c (e f))) so (first r) is the list (b (c d)) (first (first r)) is b which matches the literal symbol b Line 3: (second (first r)) is the list (c d) (list (second (first r)) s) gives the list ((c d) b) since the value of s is the literal symbol b This in turn is made into a list with the literal symbol s giving (s ((c d) b)) This is then consed with the (rest r) which is (c (e f)) to give ((s ((c d) b) (c (e f))) which is returned to the recursive application in Line 4 And consed with (a (a b)) to give the final result o ((a (a b)) (s ((c d) b)) (c (e f))) and check with clisp o ((A (A B)) (S ((C D) B)) (C (E F))) The second application of q uses b instead of b hence we could take b from ((A (A B)) (S ((C D) B)) (C (E F))) which was the first result (q b b) and change this to the value of B which was ((A (A B)) (B (C D)) (C (E F))) to give the result of (q b b) ((A (A B)) (S ((C D) ((A (A B)) (B (C D)) (C (E F))))) (C (E F))) Check with the actual result from clisp:- ((A (A B)) (S ((C D) ((A (A B)) (B (C D)) (C (E F))))) (C (E F))) QED! DFR/EJN/ND PS tentamen - facit Sidan 19 av 20

20 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/EJN/ND PS tentamen - facit Sidan 20 av 20

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

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

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

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

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

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

Imperative Programming

Imperative Programming CS 345 Imperative Programming Vitaly Shmatikov slide 1 Reading Assignment Mitchell, Chapter 5.1-2 C Reference Manual, Chapter 8 slide 2 Imperative Programming Oldest and most popular paradigm Fortran,

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

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

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

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

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

Discovering!!!!! Swedish ÅÄÖ. EPISODE 6 Norrlänningar and numbers 12-24. Misi.se 2011 1

Discovering!!!!! Swedish ÅÄÖ. EPISODE 6 Norrlänningar and numbers 12-24. Misi.se 2011 1 Discovering!!!!! ÅÄÖ EPISODE 6 Norrlänningar and numbers 12-24 Misi.se 2011 1 Dialogue SJs X2000* från Stockholm är försenat. Beräknad ankoms?d är nu 16:00. Försenat! Igen? Vad är klockan? Jag vet inte.

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

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

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

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

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

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

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

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

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

Module 6: Integrals and applications

Module 6: Integrals and applications Department of Mathematics SF65 Calculus Year 5/6 Module 6: Integrals and applications Sections 6. and 6.5 and Chapter 7 in Calculus by Adams and Essex. Three lectures, two tutorials and one seminar. Important

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

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

Tentamen i Matematik 2: M0030M.

Tentamen i Matematik 2: M0030M. Tentamen i Matematik 2: M0030M. Datum: 203-0-5 Skrivtid: 09:00 4:00 Antal uppgifter: 2 ( 30 poäng ). Examinator: Norbert Euler Tel: 0920-492878 Tillåtna hjälpmedel: Inga Betygsgränser: 4p 9p = 3; 20p 24p

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

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

Uttagning för D21E och H21E

Uttagning för D21E och H21E Uttagning för D21E och H21E Anmälan till seniorelitklasserna vid O-Ringen i Kolmården 2019 är öppen fram till och med fredag 19 juli klockan 12.00. 80 deltagare per klass tas ut. En rangordningslista med

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

Beijer Electronics AB 2000, MA00336A, 2000-12

Beijer Electronics AB 2000, MA00336A, 2000-12 Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this

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

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

denna del en poäng. 1. (Dugga 1.1) och v = (a) Beräkna u (2u 2u v) om u = . (1p) och som är parallell

denna del en poäng. 1. (Dugga 1.1) och v = (a) Beräkna u (2u 2u v) om u = . (1p) och som är parallell Kursen bedöms med betyg, 4, 5 eller underänd, där 5 är högsta betyg. För godänt betyg rävs minst 4 poäng från uppgifterna -7. Var och en av dessa sju uppgifter an ge maximalt poäng. För var och en av uppgifterna

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

kind spelling Scanning

kind spelling Scanning sats terminal Kompilatorteknik 2015 källprogram! Exempel program let var v : integer; const t ~ 3 in v := v + t kind spelling Scanning LET let föreläsningsfilmer Scannerns eller den lexikala analysatorns

Läs mer

Authentication Context QC Statement. Stefan Santesson, 3xA Security AB stefan@aaa-sec.com

Authentication Context QC Statement. Stefan Santesson, 3xA Security AB stefan@aaa-sec.com Authentication Context QC Statement Stefan Santesson, 3xA Security AB stefan@aaa-sec.com The use case and problem User identities and user authentication is managed through SAML assertions. Some applications

Läs mer

Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm

Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm Guldplätering kan aldrig helt stoppa genomträngningen av vätgas, men den får processen att gå långsammare. En tjock guldplätering

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

Calculate check digits according to the modulus-11 method

Calculate check digits according to the modulus-11 method 2016-12-01 Beräkning av kontrollsiffra 11-modulen Calculate check digits according to the modulus-11 method Postadress: 105 19 Stockholm Besöksadress: Palmfeltsvägen 5 www.bankgirot.se Bankgironr: 160-9908

Läs mer

LULEÅ TEKNISKA UNIVERSITET

LULEÅ TEKNISKA UNIVERSITET LULEÅ TEKNISKA UNIVERSITET Tentamen i Objektorienterad programmering och design Totala antalet uppgifter: 5 Lärare: Håkan Jonsson, Andrey Kruglyak, 491000 Resultatet offentliggörs senast: 2010-04-09. Tillåtna

Läs mer

12.6 Heat equation, Wave equation

12.6 Heat equation, Wave equation 12.6 Heat equation, 12.2-3 Wave equation Eugenia Malinnikova, NTNU September 26, 2017 1 Heat equation in higher dimensions The heat equation in higher dimensions (two or three) is u t ( = c 2 2 ) u x 2

Läs mer

Tentamen MMG610 Diskret Matematik, GU

Tentamen MMG610 Diskret Matematik, GU Tentamen MMG610 Diskret Matematik, GU 2017-01-04 kl. 08.30 12.30 Examinator: Peter Hegarty, Matematiska vetenskaper, Chalmers/GU Telefonvakt: Peter Hegarty, telefon: 0766 377 873 Hjälpmedel: Inga hjälpmedel,

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

Tentamen FYTA11 Javaprogrammering

Tentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Tentamen FYTA11 Javaprogrammering Fredag 9:e januari 2009, 09:00 13:00 Instruktioner Inga hjälpmedel är tillåtna. Behandla högst en uppgift

Läs mer

/* * * Lösningsförslag tentamen DIT950 * Datum * */ /* * -1 - */ För samtliga gäller,se föreläsningsanteckningar.

/* * * Lösningsförslag tentamen DIT950 * Datum * */ /* * -1 - */ För samtliga gäller,se föreläsningsanteckningar. * * Lösningsförslag tentamen DIT950 * Datum 150317 * * -1 - För samtliga gäller,se föreläsningsanteckningar. * - 2 - (Diagram visas inte, kontakta mig för ev frågor) // a C c = new A(); // Compile! Sub

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

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

Schenker Privpak AB Telefon 033-178300 VAT Nr. SE556124398001 Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr 033-257475 Säte: Borås

Schenker Privpak AB Telefon 033-178300 VAT Nr. SE556124398001 Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr 033-257475 Säte: Borås Schenker Privpak AB Interface documentation for web service packageservices.asmx 2010-10-21 Version: 1.2.2 Doc. no.: I04304 Sida 2 av 14 Revision history Datum Version Sign. Kommentar 2010-02-18 1.0.0

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

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

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

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

This exam consists of four problems. The maximum sum of points is 20. The marks 3, 4 and 5 require a minimum

This exam consists of four problems. The maximum sum of points is 20. The marks 3, 4 and 5 require a minimum Examiner Linus Carlsson 016-01-07 3 hours In English Exam (TEN) Probability theory and statistical inference MAA137 Aids: Collection of Formulas, Concepts and Tables Pocket calculator This exam consists

Läs mer

Isolda Purchase - EDI

Isolda Purchase - EDI Isolda Purchase - EDI Document v 1.0 1 Table of Contents Table of Contents... 2 1 Introduction... 3 1.1 What is EDI?... 4 1.2 Sending and receiving documents... 4 1.3 File format... 4 1.3.1 XML (language

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

VHDL Basics. Component model Code model Entity Architecture Identifiers and objects Operations for relations. Bengt Oelmann -- copyright

VHDL Basics. Component model Code model Entity Architecture Identifiers and objects Operations for relations. Bengt Oelmann -- copyright BO 1 VHDL Basics Outline Component model Code model Entity Architecture Identifiers and objects Operations for relations Bengt Oelmann -- copyright 2002 1 Component model Model for describing components

Läs mer

x 2 2(x + 2), f(x) = by utilizing the guidance given by asymptotes and stationary points. γ : 8xy x 2 y 3 = 12 x + 3

x 2 2(x + 2), f(x) = by utilizing the guidance given by asymptotes and stationary points. γ : 8xy x 2 y 3 = 12 x + 3 MÄLARDALEN UNIVERSITY School of Education, Culture and Communication Department of Applied Mathematics Examiner: Lars-Göran Larsson EXAMINATION IN MATHEMATICS MAA151 Single Variable Calculus, TEN2 Date:

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

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

Föreläsning 4 IS1300 Inbyggda system

Föreläsning 4 IS1300 Inbyggda system Föreläsning 4 IS1300 Inbyggda system Programutveckling Exempel PingPong Idé Tillståndsdiagram State machine Skapa projekt Testning av programvara Peripheral Library till STM32 Programmeringsuppgiften RS232

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

F4. programmeringsteknik och Matlab

F4. programmeringsteknik och Matlab Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner

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

Materialplanering och styrning på grundnivå. 7,5 högskolepoäng

Materialplanering och styrning på grundnivå. 7,5 högskolepoäng Materialplanering och styrning på grundnivå Provmoment: Ladokkod: Tentamen ges för: Skriftlig tentamen TI6612 Af3-Ma, Al3, Log3,IBE3 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles

Läs mer

Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Fulltentamen vitsord: 3=28p, 4=38p, 5= 48p, max 60p. Max 30p i denna halvtentamen Hjälpmedel:

Läs mer

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

Mutability och State. Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018 Mutability och State Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018 Immutability Ett icke muterbart (immutable) objekt är ett objekt vars tillstånd inte

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

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

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas The Distributed Application Debugger is a debugging tool for parallel programs Targets the MPI platform Runs remotley even on private

Läs mer

Preschool Kindergarten

Preschool Kindergarten Preschool Kindergarten Objectives CCSS Reading: Foundational Skills RF.K.1.D: Recognize and name all upper- and lowercase letters of the alphabet. RF.K.3.A: Demonstrate basic knowledge of one-toone letter-sound

Läs mer

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

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

Styrteknik : Funktioner och funktionsblock

Styrteknik : Funktioner och funktionsblock PLC2A:1 Variabler och datatyper Allmänt om funktioner och funktionsblock Programmering av funktioner Programmering av funktionsblock PLC2A:2 Variabler i GX IEC Developer Global and Local Variables Variables

Läs mer

Objektsamlingar i Java

Objektsamlingar i Java 1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och

Läs mer

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

E02 The Review Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition Kurs: 1dv403 Webbteknik I Johan Leitet E02 - "The Review" Dagens agenda Identifierare Kommentarer Variabler Datatyper Operatorer Villkorssatser

Läs mer

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine. Outline Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Undantag Design Hösttermin 2017 En frukt har ett namn Man kan lägga en frukt i

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

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

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

Webbregistrering pa kurs och termin

Webbregistrering pa kurs och termin Webbregistrering pa kurs och termin 1. Du loggar in på www.kth.se via den personliga menyn Under fliken Kurser och under fliken Program finns på höger sida en länk till Studieöversiktssidan. På den sidan

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

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

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

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

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

Algoritmer och Komplexitet ht 08. Övning 6. NP-problem

Algoritmer och Komplexitet ht 08. Övning 6. NP-problem Algoritmer och Komplexitet ht 08. Övning 6 NP-problem Frekvensallokering Inom mobiltelefonin behöver man lösa frekvensallokeringsproblemet som lyder på följande sätt. Det finns ett antal sändare utplacerade.

Läs mer

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS 180226 Idag (ADT), OOP i Racket, labb 5 2 Allmän info Duggan. Laboration 4 deadline. Planering framöver Muddy cards (nästa timme) 3 Lite repetition ADT

Läs mer

Repetition C-programmering

Repetition C-programmering Repetition C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. Repetition

Läs mer

Chapter 4: Writing Classes/ Att skriva egna klasser.

Chapter 4: Writing Classes/ Att skriva egna klasser. Chapter 4: Writing Classes/ Att skriva egna klasser. I dessa uppgifter kommer du att lära dig om hur man definierar egna objekt genom att skriva klasser. Detta är grunden för att förstå objekt orienterad

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

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

c = s[2]; /* move chars around */ p = &s[2]; *p = *(p-1); --p; *p = *(p-1); s[0] = c; printf("%s\n",s); /* print the string */ English version

c = s[2]; /* move chars around */ p = &s[2]; *p = *(p-1); --p; *p = *(p-1); s[0] = c; printf(%s\n,s); /* print the string */ English version LULEÅ TEKNISKA UNIVERSITET Tentamen i Program och datastrukturer/objektorienterad design Totala antalet uppgifter: 5 Lärare: Håkan Jonsson och Tomas Johansson (1700, 1465) Resultatet anslås senast 2005-05-16

Läs mer

Grafer, traversering. Koffman & Wolfgang kapitel 10, avsnitt 4

Grafer, traversering. Koffman & Wolfgang kapitel 10, avsnitt 4 Grafer, traversering Koffman & Wolfgang kapitel 1, avsnitt 4 1 Traversering av grafer De flesta grafalgoritmer innebär att besöka varje nod i någon systematisk ordning precis som med träd så finns det

Läs mer

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt

Läs mer