Tentamen EDAA45 Programmering, grundkurs

Storlek: px
Starta visningen från sidan:

Download "Tentamen EDAA45 Programmering, grundkurs"

Transkript

1 LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen EDAA45 Programmering, grundkurs , 08:00-13:00 Hjälpmedel: Snabbreferens för Scala & Java. Instruktioner Skriv din anonymkod + personlig identifierare här: Om du skriver icke-anonymt ange personnummer + namn i stället. Tillåtet hjälpmedel: Snabbreferens för Scala & Java. Uppgift 1 i del A består av deluppgifter som du ska besvara genom att fylla i en tabell i detta häfte. Del B innehåller uppgift 2, 3,... med svar i form av programkod som du ska skriva på separata papper. Skriv bara på ena sidan av varje inlämnat blad. Skriv din anonymkod + personlig identifierare (eller personnummer + namn om du skriver icke-anonymt) överst på varje inlämnat blad. Det ska tydligt framgå vilken (del)uppgift du löser. Detta häftet ska lämnas in tillsammans med ifyllt omslag och svaren på uppgifterna i del B. Preliminär poängfördelning Maximalt ges 100p, varav uppgift 1 omfattar 20p och resterande uppgifter omfattar 80p. För godkänt krävs 50p. Om du på uppgift 1 erhåller färre än 10p, kan din tentamen komma att underkännas utan att resterande uppgifter bedöms. Poäng och delpoäng som anges ovan och i uppgifterna är preliminära och kan komma att justeras när den slutliga bedömningen fastställs. Upplysningar För att vara tentamensberättigad ska du vara godkänd på alla obligatoriska laborationer och projekt, samt ha genomfört diagnostisk kontrollskrivning. Om du tenterar utan att vara tentamensberättigad annulleras din skrivning. För att undvika att någon skrivning annulleras av misstag kommer alla som, enligt institutionens noteringar, tenterat utan att vara tentamensberättigade att kontaktas via epost. Felaktigheter i institutionens noteringar kan därefter påtalas fram till nästa tentamenstillfälle då resterande skrivningar annulleras. Lösningar läggs ut på kursens hemsida senast dagen efter tentamen. Resultatet läggs in i Ladok när rättningen är klar. 1

2 2(11) Del A: Uttryck och värden. Uppgift 1, totalt 20 poäng. Följande kod finns kompilerad utan kompileringsfel och tillgänglig på classpath: 1 case class Pos(x: Int, y: Int){ 2 def +(dir: Dir): Pos = Pos(x + dir.dx, y + dir.dy) 3 } 4 5 abstract sealed class Dir(val dx: Int, val dy: Int) 6 case object North extends Dir(0,-1) 7 case object South extends Dir(0, 1) 8 case object West extends Dir(-1, 0) 9 case object East extends Dir(1, 0) case class Apple(dim: (Int, Int), pos: Pos){ 12 import scala.util.random.nextint 13 def move(nothere: Seq[Pos]): Apple = copy(pos = { 14 var p = Pos(nextInt(dim._1), nextint(dim._2)) 15 while (nothere contains p) p = Pos(nextInt(dim._1), nextint(dim._2)) 16 p 17 }) 18 } 19 object Apple{ 20 def apply(width: Int, height: Int, nothere: Seq[Pos]): Apple = 21 (new Apple((width, height), Pos(0,0))).move(notHere) 22 } Du ska fylla i tabellen på nästa sida enligt följande. Antag att du skriver in nedan kod i Scala REPL rad för rad. För varje variabel med namn x1... x10, ange statisk typ (alltså den typ kompilatorn härleder), samt det värde variabeln får efter initialisering, eller sätt i stället kryss i rätt kolumn om det blir ett kompileringsfel respektive exekveringsfel. Vid frånvaro av fel, svara på samma sätt som Scala REPL skriver ut typ respektive värde, enligt exempel x0 i tabellen. 1 val ps = Vector(Pos(42,42), Pos(0,0), Pos(1,1) + West) 2 val a = Apple((100, 200), Pos(42, 43)) 3 4 val x0 = val x1 = ps(1) 6 val x2 = new Dir(42,43) 7 val x3 = Pos(1, 0) + South 8 val x4 = ps(3) 9 val x5 = Pos(1, 0) + Pos(0, 1) 10 val x6 = a.dim._1 + a.pos.x 11 val x7 = { var x = 0; ps.foreach{p => p + 1}; x } 12 val x8 = ps.map(_.x).sum 13 val x9 = { case object NoDir extends Dir(0,0); NoDir : Dir } 14 val x10 = Apple(100, 200, ps).pos == Pos(42, 42)

3 3(11) Vid kompileringsfel sätt kryss. Vid exekveringsfel sätt kryss. Ange statisk typ som kompilatorn härleder om ej kompilerings- eller exekveringsfel. Ange det värde som tilldelas vid exekvering, med samma format som vid utskrift av värdets tostring, om ej kompilerings- eller exekveringsfel. x0 Double 42.0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10

4 4(11) Del B. Implementation. Uppgift 2, 3 och 4, totalt 80 poäng. Spelet Snake: bakgrund, exempel och övergripande krav Du ska implementera det legendariska spelet Snake, som blev vida populärt i Sverige redan på 1980-talet genom datorn ABC80 under namnet Masken. Du ska skapa en förenklad variant av Snake för en spelare, där användaren styr en orm med målet att äta upp ett äpple. Ormen rör sig kontinuerligt steg för steg och användaren kan styra dess riktning med tangenterna W, S, A, D motsv. upp, ner, vänster och höger. Då användaren lyckas styra ormens huvud till samma position som äpplet ges poäng och äpplet återuppstår på en ny slumpmässigt vald position. Figur 1 visar en orm och ett äpple som ritats med blockgrafik. Fig. 1: En hungrig orm med grönt huvud och blå svans, samt ett läckert, rött äpple. Du ska använda Pos och Dir med subtyperna North, South, East, och West, från del A för att representera blockkoordinater och rörelseriktning. Du ska även använda Apple från del A för att representera äpplet. Figur 2 visar en ögonblicksbild ur en spelomgång med en orm som är påväg i riktning North. Ormen har en svans som är 4 block lång. Figur 3 visar en senare ögonblicksbild ur samma spelomgång efter att ormen förflyttats 4 steg och nu är på väg i riktning East. (Siffrorna anger blockgrafikfönstrets koordinater horisontellt och vertikalt i detta exempel. Dessa siffror ritas ej i det verkliga spelfönstret.) Fig. 2: En orm med huvudet i position Pos(2,4) och ett äpple i position Pos(11,3). Fig. 3: Ormen har nu närmat sig äpplet, efter ett steg i riktning North och tre steg i riktning East. Följande övergripande krav gäller: Varje gång ormen lyckas äta äpplet så ska ormen växa, användarens poäng ökas med 100, och äpplet flyttas till en ny slumpmässig position inom spelplanen som inte ockuperas av ormen. Vid varje steg som ormen förflyttas ska användarens poäng ökas med antalet svansblock. Spelet ska avbrytas om användaren styr så att ormen äter sig själv, d.v.s. huvudet styrs in i den egna kroppen, eller om användaren styr ormen utanför spelplanens gränser. Spelet ska avbrytas efter en viss maxtid. När spelet avbryts ska den sammanlagda poängsumman ska skrivas ut.

5 5(11) Systemets komponenter Följande delvis färdiga komponenter ingår i systemet, där du ska göra klart de delar som saknas enligt uppgiftsbeskrivningarna på efterföljande sidor: Case-klassen Snake representerar en orm; se vidare uppg. 2. Java-klassen BlockWindow erbjuder blockgrafik med hjälp av ett SimpleWindow; se vidare uppg. 3. Klassen SnakeGame (uppg. 4) implementerar spelets logik med hjälp av bl.a. Snake och BlockWindow. Spelet körs igång med hjälp av detta huvudprogram: 1 object SnakeMain { 2 def main(args: Array[String]): Unit = { 3 println("welcome to Snake for one player!") 4 println("press the W S A D keys to turn north, south, west or east.") 5 val game = new SnakeGame() // SnakeGame implementeras i uppgift 4 6 val points = game.play() 7 println(s"game Over! You got $points points!") 8 } 9 } Följande färger finns definierade i singelobjektet Color: 1 object Color { 2 val head = java.awt.color.green // ormens huvud 3 val tail = java.awt.color.blue // ormens svans 4 val apple = java.awt.color.red // äpplet 5 val erase = java.awt.color.black // bakgrunden 6 }

6 6(11) Uppgift 2: Snake (15p) Du ska göra klart case-klassen Snake nedan. 1 case class Snake(body: Vector[Pos]){ 2 require(body.nonempty, "snake body must not be empty") 3 4 def head: Pos =??? 5 6 def tail: Vector[Pos] =??? 7 8 def grow(dir: Dir): Snake =??? 9 10 def shrink: Snake =??? def move(dir: Dir): Snake =??? def isheadinsidewindow(width: Int, height: Int): Boolean = 15 head.x >= 0 && head.y >= 0 && head.x < width && head.y < height def iseatingitself: Boolean =??? def iseating(apple: Apple): Boolean =??? 20 } 21 object Snake { 22 def apply(width: Int, height: Int, dir: Dir): Snake =??? 23 } Du ska färdigställa de saknade implementationerna enligt följande krav och exempel: Första positionen i body motsvarar koordinaterna för blocket som utgör ormens huvud, resten är positionerna för blocken i ormens svans. Metoden head ska ge positionen för ormens huvud och metoden tail ska ge en sekvens med de positioner som utgör svansen. Ormen kan växa genom anrop av metoden grow(d), som ska ge en ny instans med en extra position i början av body med värdet head + d. Ormen kan krympa via metoden shrink, som ska ge en ny instans där sista positionen i kroppen är borttagen. Ormen kan förflyttas ett steg i en viss riktning genom anrop av metoden move(d) som då ska ge en ny instans där positionerna är förflyttade ett steg i riktning d; se exempelkörning i REPL på nästa sida. Tips: Förflyttning i ett steg implementeras lättast med hjälp av grow och shrink. Metoden iseatingitself ska ange om huvudets position ingår i svansen eller ej. Anrop av metoden iseating(a) ska ange om huvudet finns på samma position som a. Fabriksmetoden apply ska ge en orm med två svanspositioner som skapats genom att en orm bestående av enbart huvud i Pos(width / 2, height / 2) därefter växer med hjälp av grow två gånger i riktning dir. Se exempelkörning i REPL på nästa sida.

7 7(11) Nedan visas en exempelkörning i REPL där relevanta klasser gjorts tillgängliga på classpath: 1 > scala 2 Welcome to Scala (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_181). 3 Type in expressions for evaluation. Or try :help. 4 5 scala> Snake(Vector(Pos(4,7))).grow(North) 6 res0: Snake = Snake(Vector(Pos(4,6), Pos(4,7))) 7 8 scala> Snake(Vector(Pos(4,7))).grow(North).grow(North) 9 res1: Snake = Snake(Vector(Pos(4,5), Pos(4,6), Pos(4,7))) scala> Snake(Vector(Pos(4,7))).grow(North).grow(North).shrink 12 res2: Snake = Snake(Vector(Pos(4,5), Pos(4,6))) scala> Snake(Vector(Pos(4,7))).grow(North).grow(North).grow(East).shrink 15 res3: Snake = Snake(Vector(Pos(5,5), Pos(4,5), Pos(4,6))) scala> Snake(Vector(Pos(4,7))).grow(North).grow(North).move(East) 18 res4: Snake = Snake(Vector(Pos(5,5), Pos(4,5), Pos(4,6))) scala> Snake(10,15,North) 21 res5: Snake = Snake(Vector(Pos(5,5), Pos(5,6), Pos(5,7))) scala> Snake(10,15,North).head 24 res6: Pos = Pos(5,5) scala> Snake(10,15,North).tail 27 res7: Vector[Pos] = Vector(Pos(5,6), Pos(5,7)) scala> Snake(10,15,North).grow(South) 30 res8: Snake = Snake(Vector(Pos(5,6), Pos(5,5), Pos(5,6), Pos(5,7))) scala> Snake(10,15,North).grow(South).isEatingItself 33 res9: Boolean = true scala> Snake(10,15,North).grow(North) 36 res10: Snake = Snake(Vector(Pos(5,4), Pos(5,5), Pos(5,6), Pos(5,7))) scala> Snake(10,15,North).grow(North).isEatingItself 39 res11: Boolean = false scala> Snake(10,15,North).isEating(Apple((10,15),Pos(5,6))) 42 res12: Boolean = false scala> Snake(10,15,North).isEating(Apple((10,15),Pos(5,5))) 45 res13: Boolean = true scala> Snake(10,15,North).isEating(Apple((10,15),Pos(4,5))) 48 res14: Boolean = false scala> :quit

8 8(11) Uppgift 3: BlockWindow (Java, 15p) Du ska göra klart Java-klassen BlockWindow nedan, som används för grafik som ritas med hjälp av kvadratiska block. Du ska använda denna klass i uppgift 4. 1 import cslib.window.simplewindow; 2 import java.awt.color; 3 4 public class BlockWindow { 5 private int width; 6 private int height; 7 private int blocksize; 8 protected SimpleWindow window; 9 10 public BlockWindow(int width, int height, int blocksize, String title){ 11 this.width = width; 12 this.height = height; 13 this.blocksize = blocksize; 14 window = new SimpleWindow(width * blocksize, height * blocksize, title); 15 } public int getwidth() { 18 return width; 19 } public int getheight(){ 22 return height; 23 } public void clear(){ /*??? */ } public void drawblock(int x, int y, Color color){ /*??? */ } public String lastkeypressedorempty(){ 30 window.waitforevent(1); 31 while (window.geteventtype()!= SimpleWindow.TIMEOUT_EVENT && 32 window.geteventtype()!= SimpleWindow.KEY_EVENT) { 33 window.waitforevent(1); 34 } 35 if (window.geteventtype() == SimpleWindow.KEY_EVENT) { 36 return String.valueOf(window.getKey()); 37 } else { 38 return ""; 39 } 40 } 41 }

9 9(11) Du ska implementera metoderna clear och drawblock, enligt nedan krav och tips: Ett BlockWindow består av width height kvadratiska block med vardera blocksize 2 pixlar. Ett BlockWindow använder internt ett SimpleWindow enligt specifikation nedan. Positionerna i ett BlockWindow och ett SimpleWindow anges i olika koordinatsystem. Medan SimpleWindow definierar bredd och höjd i antal pixlar, räknas höjden och bredden i ett BlockWindow i antal block. Metoden clear ska göra alla pixlar i fönstret svarta med hjälp av metoden drawblock och färgen java.awt.color.black. Metoden drawblock ska rita ett block på platsen (x, y) i blockfönstrets koordinater, vilket motsvarar att platsen för blockets övre vänstra hörn är (x blocksize, y blocksize) i SimpleWindowkoordinater. Tips: Du kan rita en kvadrat genom att rita många intill-liggande linjer med hjälp av SimpleWindow-metoderna moveto och lineto. Till din hjälp har du klassen SimpleWindow enligt nedan specifikation: package cslib.window; SimpleWindow /** Creates a window and makes it visible. */ public SimpleWindow(int width, int height, String title); /** Moves the pen to a new position. */ public void moveto(int x, int y); /** Moves the pen to a new position while drawing a line. */ public void lineto(int x, int y); /** Sets the line color to col. */ public void setlinecolor(java.awt.color col); /** Waits for key press event or timeout in milliseconds. */ public void waitforevent(int timeoutmillis); /** Returns the type of the last event. */ public int geteventtype(); /** Returns the key that was pressed on a key event. */ public char getkey(); /** Key pressed event type. */ public final static int KEY_EVENT; /** Event type when waitforevent timeout. */ public final static int TIMEOUT_EVENT; Specifikationen ovan är endast ett utdrag ur dokumentationen för kursens SimpleWindow som du använt på laborationerna; övriga delar som erbjuds av SimpleWindow men som inte är relvanat här är inte med i specifikationen.

10 10(11) Uppgift 4: SnakeGame (50p) Klassen SnakeGame implementerar spellogiken. Du ska göra klart de delar som saknas nedan. 1 class SnakeGame( 2 val dim: (Int, Int) = (40,30), //bredd och höjd i antal block 3 val blocksize: Int = 15, //blockstorlek 4 val keymap: Map[String, Dir] = //tangenter som styr ormens riktning 5 Map("W" -> North, "S" -> South, "A" -> West, "D" -> East), 6 var gameloopdelaymillis: Int = 150, // fördröjn. i millisek. per looprunda 7 var moveappleprobability: Double = 0.01, // 1% äppelflyttrisk per looprunda 8 val gamedurationseconds: Int = 100 // maximal speltid i sekunder 9 ) { 10 val window = new BlockWindow(dim._1, dim._2, blocksize, "Snake") 11 var dir: Dir = North 12 var snake = Snake(dim._1, dim._2, dir) 13 var apple = Apple(dim._1, dim._2) 14 val t0: Long = System.currentTimeMillis 15 var points: Int = def isgameover(): Boolean =??? //true om spelet ska avbrytas def updatedir(key: String): Unit =??? //uppdaterar dir vid knapptryck def updatesnake(): Unit =??? //uppdaterar ormen def updateapple(): Unit =??? //uppdaterar äpplet def eatapple(): Unit =??? //anropas om ormen äter äpplet def play(): Int =??? //innehåller själva spelloopen 28 } Dina implementationer av de saknade delarna ska uppfylla följande krav: isgameover: Denna metod anropas i play för att avgöra om spelet ska fortsätta eller ej. Implementationen av detta predikat ska uppfylla kraven på sidan 4 om när spelet ska avbrytas. Tips: Uttrycket (System.currentTimeMillis - t0) ger antalet millisekunder som spelet pågått. updatedir: Denna metod anropas i play för att ändra rikningen då användaren tryckt på relevant tangent, via den färdiga metoden lastkeypressedorempty i BlockWindow. Du ska i implementationen av updatedir använda nyckelvärdetabellen keymap för att ändra riktning enligt tillhörande värde om key ingår som nyckel. Om key inte finns bland nycklarna ska riktningen inte ändras. updatesnake: Denna metod anropas i play varje gång ormen ska ta ett steg. Metoden updatesnake ska i tur och ordning göra följande: 1. Sudda blocken på ormkroppens positioner genom att rita med färgen Color.erase. 2. Flytta ormen ett steg. 3. Rita ormens huvud med färgen Color.head. 4. Rita ormens svans med färgen Color.tail.

11 11(11) updateapple: Denna metod ska anropas i play för att eventuellt flytta äpplet. Metoden updateapple ska i tur och ordning göra följande: 1. Rita äpplet med färgen Color.apple. 2. Med sannolikheten moveappleprobability ska äpplet suddas och flyttas till en slumpmässig position inom spelplanen, dock ej till någon position som ormen finns på. Tips: Du har nytta av scala.util.random.nextdouble som ger ett slumptal mellan (inklusive) noll och (exklusive) ett. eatapple: Denna metod ska anropas i play om ormen äter äpplet. Metoden eatapple ska i tur och ordning göra följande: 1. Sudda äpplet. 2. Flytta äpplet till en slumpmässig position inom spelplanen, dock ej till någon position som ormen finns på. 3. Göra så att ormen växer i sin nuvarande riktning. 4. Göra så att spelloopens fördröjning blir 80% av sitt nuvarande värde avrundat till närmaste heltal. På så sätt ökar ormens hastighet för varje äpple som äts. 5. Öka poängen med 100. play: Denna metod anropas av huvudprogrammet för att köra igång spelet. Metoden ska börja med att göra fönstret svart och sedan köra en loop som pågår så länge spelet inte ska avbrytas. Vid spelets avbrott ska användarens poäng returneras. I loopen ska följande göras i tur och ordning: 1. Uppdatera riktningen. 2. Uppdatera ormen. 3. Kontrollera om ormen äter äpplet och i så fall vidta åtgärder. 4. Uppdatera äpplet. 5. Öka poängen med ormens svanslängd. 6. Göra en fördröjning genom anrop av Thread.sleep(gameLoopDelayMillis)

Tentamen EDAA45 Programmering, grundkurs

Tentamen EDAA45 Programmering, grundkurs LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen EDAA45 Programmering, grundkurs 2017-01-09, 08:00-13:00 Instruktioner Skriv din anonymkod + personlig identifierare här: Tillåtet hjälpmedel:

Läs mer

Tentamen EDAA45 Programmering, grundkurs

Tentamen EDAA45 Programmering, grundkurs LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen EDAA5 Programmering, grundkurs 2018-0-07, 08:00-13:00 Hjälpmedel: Snabbreferens för Scala & Java. Instruktioner Skriv din anonymkod + personlig

Läs mer

Tentamen, EDAA20/EDA501 Programmering

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

Läs mer

Tentamen i Programmering

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

Läs mer

Tentamen, EDAA10 Programmering i Java

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

Läs mer

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

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

Läs mer

Bedömningsmall för kontrollskrivning EDAA45 Programmering, grundkurs

Bedömningsmall för kontrollskrivning EDAA45 Programmering, grundkurs LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Bedömningsmall för kontrollskrivning EDAA45 Programmering, grundkurs 2016-10-25, 14:00-19:00, Kårhusets Gasquesal Hjälpmedel: Snabbreferenser för

Läs mer

Tentamen EDAA45 Programmering, grundkurs

Tentamen EDAA45 Programmering, grundkurs LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen EDAA45 Programmering, grundkurs 2018-01-05, 08:00-13:00 Hjälpmedel: Snabbreferens för Scala & Java. Instruktioner Skriv din anonymkod +

Läs mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik I 2017-10-23 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Tentamen, EDAA20/EDA501 Programmering

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

Läs mer

Lösning till tentamen EDAA45 Programmering, grundkurs

Lösning till tentamen EDAA45 Programmering, grundkurs LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Lösning till tentamen EDAA45 Programmering, grundkurs 2017-08-23, 08:00-13:00 Generella bedömningsriktlinjer Del A: Varje rad kan ge max 2p. Del

Läs mer

Tentamen EDAA45 Programmering, grundkurs

Tentamen EDAA45 Programmering, grundkurs LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen EDAA45 Programmering, grundkurs 2017-08-23, 08:00-13:00 Instruktioner Skriv din anonymkod + personlig identifierare här: Tillåtet hjälpmedel:

Läs mer

Tentamen, EDAA20/EDA501 Programmering

Tentamen, EDAA20/EDA501 Programmering LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2016 01 13, 08:00 13:00 Anvisningar: Denna tentamen består av tre uppgifter. Preliminärt ger uppgifterna 6

Läs mer

Tentamen, EDA501 Programmering M L TM W K V

Tentamen, EDA501 Programmering M L TM W K V LUNDS TEKNISKA HÖGSKOLA 1(3) Institutionen för datavetenskap Tentamen, EDA501 Programmering M L TM W K V 2010 04 13, 8.00 13.00 Anvisningar: Denna tentamen består av 4 uppgifter. Preliminärt ger uppgifterna

Läs mer

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

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

Läs mer

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:

Läs mer

Tentamen EDA501/EDAA20 M L TM W K V

Tentamen EDA501/EDAA20 M L TM W K V LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen EDA501/EDAA20 M L TM W K V 2011 01 10, 14.00 19.00 Anvisningar: Denna tentamen består av 5 uppgifter. Preliminärt ger uppgifterna 5

Läs mer

Tentamen, EDAA10 Programmering i Java

Tentamen, EDAA10 Programmering i Java LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2017 04 20, 14.00 19.00 Anvisningar: Preliminärt ger uppgifterna 4 + 6 + 13 + 7 + 15 = 45 poäng. För godkänt

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

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

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

Läs mer

TENTAMEN 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

Föreläsning 5-6 Innehåll

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

Läs mer

Tentamen, EDAA20/EDA501 Programmering

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

Läs mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik I 2017-10-23 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

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

Tentamen, EDA017, Programmeringsteknik för C, E, I och Pi

Tentamen, EDA017, Programmeringsteknik för C, E, I och Pi LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDA017, Programmeringsteknik för C, E, I och Pi 2017 03 15, 14.00 19.00 Anvisningar: Tentan innehåller fyra uppgifter. Preliminärt

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.axelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

Tentamen EDAA45 Programmering, grundkurs

Tentamen EDAA45 Programmering, grundkurs LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen EDAA45 Programmering, grundkurs 2017-04-20, 14:00-19:00 Instruktioner Skriv din anonymkod + personlig identifierare här: Tillåtet hjälpmedel:

Läs mer

Tentamen, Programmeringsteknik för BME, F och N

Tentamen, Programmeringsteknik för BME, F och N LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, Programmeringsteknik för BME, F och N 2015 06 03, 14.00 19.00 Anvisningar: Preliminärt ger uppgifterna 7 + 11 + 16 + 11 = 45 poäng.

Läs mer

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken. Tentamen Programmeringsteknik I 2015-03-19 Skrivtid: 14:00 19:00 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

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

Tentamen EDAA45 Programmering, grundkurs

Tentamen EDAA45 Programmering, grundkurs LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen EDAA45 Programmering, grundkurs 2019-04-27, 8:00-13:00 Hjälpmedel: Snabbreferens för Scala & Java. Instruktioner Skriv din anonymkod + personlig

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

TENTAMEN OOP

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

Läs mer

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

Tentamen Programmeringsteknik för BME, C, D, E, F, I, N & Pi

Tentamen Programmeringsteknik för BME, C, D, E, F, I, N & Pi LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen Programmeringsteknik för BME, C, D, E, F, I, N & Pi EDA011 / EDA016 / EDA017 2016 01 13, 08:00 13:00 Anvisningar: Preliminärt ger uppgifterna

Läs mer

Tentamen FYTA11 Javaprogrammering

Tentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Teoretisk fysik HT 11 Tentamen FYTA11 Javaprogrammering Måndag 9:e januari 2012, 10:15 14:15 Instruktioner Hjälpmedel: enkla ritverktyg och Javadoc-genererade

Läs mer

Lösning till tentamen EDAA45 Programmering, grundkurs

Lösning till tentamen EDAA45 Programmering, grundkurs LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Lösning till tentamen EDAA45 Programmering, grundkurs 2017-04-20, 14:00-19:00 Generella bedömningsriktlinjer Del A: Varje rad kan ge max 2p. Del

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

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

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

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

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

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

2D1339 Programkonstruktion för F1, ht 2004

2D1339 Programkonstruktion för F1, ht 2004 2D1339 Programkonstruktion för F1, ht 2004 Kontrollskrivning 1 Onsdag 24/11 2004 kl 11.15 12.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga

Läs mer

Tentamen, EDAA20/EDA501 Programmering

Tentamen, EDAA20/EDA501 Programmering LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2015 08 20, 8.00 13.00 Anvisningar: Denna tentamen består av fyra uppgifter. Preliminärt ger uppgifterna

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 ID1004 Objektorienterad programmering May 29, 2012

Tentamen ID1004 Objektorienterad programmering May 29, 2012 Omtentamen för ID1004 Objektorienterad programmering HT11, 29 maj 2012, 09-13 Denna tentamen examinerar 3 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av 12 frågor. Varje fråga

Läs mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik I 2018-03-16 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Tentamen, EDA501 Programmering M L TM W K V

Tentamen, EDA501 Programmering M L TM W K V LUNDS TEKNISKA HÖGSKOLA 1(0) Institutionen för datavetenskap Tentamen, EDA501 Programmering M L TM W K V 2010 05 31, 8.00 13.00 Anvisningar: Denna tentamen består av 4 uppgifter. Preliminärt ger uppgifterna

Läs mer

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... } En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class

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

Föreläsning 13 Innehåll

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

Läs mer

Lösningsförslag tentamen FYTA11 Java

Lösningsförslag tentamen FYTA11 Java Lunds universitet FYTA11 Institutionen för Teoretisk fysik HT 10 Lösningsförslag tentamen FYTA11 Java Måndag 10:e januari 2011, 09:00 13:00 Instruktioner Hjälpmedel: enkla ritverktyg och Javadoc-genererade

Läs mer

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i

Läs mer

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om 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 examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga. Tentamen Programmeringsteknik I 2011-03-17 Skrivtid: 1400-1700 Hjälpmedel: Java-bok Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift

Läs mer

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

Detta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Göteborg, Magnus Myréen, 2014-10- 15 Detta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Fulltentamen vitsord: 3=28p, 4=38p, 5= 48p, max 60p. Max

Läs mer

Tentamen, EDAA20/EDA501 Programmering

Tentamen, EDAA20/EDA501 Programmering LUNDS TEKNISKA HÖGSKOLA 1(3) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2014 01 17, 8.00 13.00 Anvisningar: Denna tentamen består av tre uppgifter. Preliminärt ger uppgifterna

Läs mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik I 2017-03-16 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25

Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25 Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-0-2 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Elena Fersman besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka

Läs mer

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: 2:a september 200, klockan 8:30-12:30. Plats: V Ansvarig lärare: Katarina Blom, tel 772 10 0. Läraren besöker tentamen kl 9:30

Läs mer

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen ID1004 Objektorienterad programmering October 29, 2013 Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.

Läs mer

2D1339 Programkonstruktion för F1, ht 2003

2D1339 Programkonstruktion för F1, ht 2003 2D1339 Programkonstruktion för F1, ht 2003 Kontrollskrivning 1 Onsdag 19/11 2003 kl 9.15 10.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga

Läs mer

5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har

5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Exempel på tentafrågor i Java Först följer frågor av flervalstyp. Frågorna är inte ordnade efter svårighetsgrad. 1. Skillnaden mellan typerna int och

Läs mer

OOP Tentamen

OOP Tentamen DVS SU/KTH 1 (6) OOP OOP Tentamen 2010-01-15 15.00 20.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Skriv namn och personnummer på varje inlämnat blad. Påbörja varje ny uppgift på nytt blad. Skriv

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

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik 2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det riktiga provet tar 45 minuter (en lektionstimme) och det

Läs mer

Tentamen i Objektorienterad programmering E

Tentamen i Objektorienterad programmering E CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA546 Tentamen i Objektorienterad programmering E Måndagen 8 mars 2010, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 1040. Inga hjälpmedel. Lösningar till

Läs mer

TENTAMEN OOP

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

Läs mer

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

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER Från laboration 3 till 4 I laboration 3 har du implementerat klasser implementerat metoder i klasserna I laboration 4 kommer du att implementera

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

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-04-12, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:

Läs mer

Bedömning av kontrollskrivning, EDA016 Programmeringsteknik

Bedömning av kontrollskrivning, EDA016 Programmeringsteknik LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Bedömning av kontrollskrivning, EDA016 Programmeringsteknik 2015-10-27 Instruktioner Maxpoäng per uppgift Med en icke-tom rad menas en kodrad som

Läs mer

TENTAMEN OOP

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

Läs mer

Tentamen i Objektorienterad programmering

Tentamen i Objektorienterad programmering CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar

Läs mer

Lösningsförslag. 1 Lösningsförslag. Uppgift 1

Lösningsförslag. 1 Lösningsförslag. Uppgift 1 Uppgift 1 Lösningsförslag import java.awt.rectangle; public class ImprovedRectangle extends Rectangle { public ImprovedRectangle(int width, int height) { super(width, height); public ImprovedRectangle(int

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1 Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 1 OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer.

Läs mer

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

Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid: Tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-01-13, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar: Alex

Läs mer

Laboration A Objektsamlingar

Laboration A Objektsamlingar Laboration A Objektsamlingar Avsikten med laborationen är att du ska träna på att använda ett par objektsamlingar. Uppgift 1 Titta genom föreläsningsunderlaget DA129AFAHT07.pdf och testkör exemplen (se

Läs mer

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

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid: Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-04-06, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:

Läs mer

Tentamen, EDAA10 Programmering i Java

Tentamen, EDAA10 Programmering i Java LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2015 08 20, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna

Läs mer

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga 203-03-9 203-03-9 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6

Läs mer

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl

Läs mer

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER Logiska uttryck datatypen boolean Logiska uttryck kan ha två möjliga värden, true eller false. Variabler av typen boolean kan tilldelas

Läs mer

Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts.

Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts. Tentamen i EDAF5 juni 07 Skrivtid: 4-9 Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Skriv inte med färgpenna enda tillåtna färg är svart/blyerts. Skriv

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

Tentamen i Grundläggande programmering STS, åk 1 fredag

Tentamen i Grundläggande programmering STS, åk 1 fredag Tentamen i Grundläggande programmering STS, åk 1 fredag 2003-05-23 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Anders besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka kl.

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

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

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

TENTAMEN I. OBJEKTORIENTERAD PROGRAMMERING för Z1. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Institutionen för Datavetenskap JSk TENTAMEN TDA540 TENTAMEN I OBJEKTORIENTERAD PROGRAMMERING för Z1 TID 14.15-18.15 Ansvarig: Betygsgränser: Hjälpmedel: Jan Skansholm Sammanlagt maximalt 60 poäng. På

Läs mer

Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes

Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes Idag statiska metoder och variabler private/public/protected final, abstrakta klasser, gränssnitt, delegering wrapper classes ett lite större exempel Objectorienterad programmering Sida 1 Vad vi vet om

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

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

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

Läs mer

Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass.

Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass. Datateknik A, Syfte: Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass. Att läsa: Lektion 2 Uppgifter:

Läs mer

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

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

Läs mer

Del A (obligatorisk för alla)

Del A (obligatorisk för alla) Del A (obligatorisk för alla) A1. Ringa in rätt svarsalternativ eller skriv svar i ruta om sådan a) Satsen double x = (int)(1 + 3/2.0) + 3.; resulterar i b) Satsen int x = (int)(1 + 3/2.0) + 3.; resulterar

Läs mer

Exempel på användning av arv: Geometriska figurer

Exempel på användning av arv: Geometriska figurer (9 maj 2014 Klasshierarkier 1 ) Exempel på användning av arv: Geometriska figurer Uppgift: Skriv ett program som kan hantera några olika geometrisk figurer: linjer, cirklar och rektanglar. (9 maj 2014

Läs mer