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 , 14:00-19:00 Instruktioner Skriv din anonymkod + personlig identifierare här: Tillåtet hjälpmedel: Snabbreferens för Scala & Java. Del A innehåller uppgifter med korta svar som du anger direkt i detta häfte, vilket ska lämnas in tillsammans med omslaget och svaren på del B. Del B innehåller uppgifter med svar i form av programkod som du ska skriva på separat papper. Skriv bara på ena sidan av varje inlämnat blad. Skriv din anonymkod + personlig identifierare överst på varje inlämnat separat papper. Det ska tydligt framgå vilken (del)uppgift du löser. Preliminär poängfördelning Maximalt ges 100p, varav del A omfattar 20p och del B omfattar 80p. För godkänt krävs 50p. Om du på del A erhåller färre än 10p, kan din tentamen komma att underkännas utan att del B 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 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. Evaluera uttryck. Totalt 20p. 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 u1... u10, 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 u0 i tabellen. Det förekommer varken kompilerings- eller exekveringsfel på raderna till och med deklarationen av u0 nedan, medan efterföljande rader kan innehålla fel. 1 sealed trait Color 2 case object Red extends Color 3 case object Green extends Color 4 case object Blue extends Color 5 6 class Egg(val weight: Int) { 7 private var isunboiled = true 8 def boil(): Unit = { isunboiled = false } 9 def isboiled =!isunboiled 10 } 11 class EasterEgg(var color: Color, override val weight: Int) extends Egg(weight) val (egg1, egg2, egg3) = (new Egg(60), new EasterEgg(Red, 60), new Egg(60)) 14 val eggs = Vector(egg1, egg2, egg3, egg2) 15 val eggmap = Map('a' -> egg1, 'b' -> egg2, 'c' -> egg3) val u0 = val u1 = egg1 == egg3 20 val u2 = egg1.weight == egg2.weight 21 val u3 = eggs.map(_.weight).sum 22 val u4 = (eggmap.keyset + 'c').size 23 val u5 = eggmap.mapvalues(_.color).apply('c') 24 val u6 = egg2.color match { 25 case Red if egg2.weight > 60 => "Glad Påsk" 26 case _ => } 28 val u7 = eggmap('d').weight == Blue 29 val u8 = scala.util.try { eggs(42).weight }.getorelse(42) 30 val u9 = { egg2.weight = egg2.weight + 12; egg2.weight - 30 } 31 val u10 = { eggmap('c').boil(); eggs(2).isboiled }

3 3(11) Vid kompileringsfel sätt kryss. Vid exekveringsfel sätt kryss. Ange statisk typ som kompilatorn härleder om ej kompileringsfel eller exekveringsfel. Ange dynamiskt värde som tilldelas vid exekvering om ej kompileringsfel eller exekveringsfel. u0 Double 42.0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10

4 4(11) Del B. Skriva kod. Totalt 80p. Uppgift B1: Registrering, 25p. (words 8p, freqmap 5p, terms 4p, cosinesimilarity 8p) Vid databehandling av naturligt språk (eng. Natural Language Processing, NLP) vill man ofta beräkna hur lika två texter är. Ett vanligt mått på likhet är cosinesimilarity som beräknas med hjälp av frekvenserna för de termer som ingår i respektive text. Du ska implementera de saknade delarna, markerade???, i nedan objekt enligt efterföljande instruktioner. 1 object NLP { 2 val ispunctuation = Set('.', '-', ',', ';', '?', '!') // skiljetecken 3 val isstopword = Set("om", "i", "till", "och", "med", "för", "är", "alla") 4 5 case class Doc(text: String) { 6 /** Strängen text uppdelad i ord. */ 7 val words: Vector[String] =??? 8 9 /** En tabell med frekvensen för alla ord i words. */ 10 val freqmap: Map[String, Int] =??? /** Ger frekvensen för word i words, eller 0 om ordet saknas. */ 13 def freq(word: String): Int = freqmap.getorelse(word, 0) /** Unika ord i words som ej är stoppord. */ 16 val terms: Set[String] =??? /** Den Euklidiska normen av sekvensen av termer. */ 19 val norm: Double = math.sqrt(terms.toseq.map(t => freq(t) * freq(t)).sum) 20 } /** Returnerar ett mått på likheten mellan a och b. */ 23 def cosinesimilarity(a: Doc, b: Doc): Double =??? 24 } Likhetsmåttet cosinesimilarity mellan två texter a och b beräknas så här: summera över alla förekommande termer produkten av frekvensen för varje term i a respektive b, och dividera sedan med produkten av den så kallade Euklidiska normen för respektive text. Eller mer precist uttryckt: f A (t i ) f B (t i ) t cosinesimilarity(a, b) = i T A B där f A (t i ) betecknar frekvensen (antalet förekomster) av termen t i i texten a. Mängden T innehåller alla unika termer som förekommer i a och/eller b. Den Euklidiska normen A beräknas som roten ur summan av kvadraten av alla termers frekvenser i a, enligt attributet norm som är givet i koden ovan. Exempel: Låt oss beräkna cosinesimilarity för dessa två texter som beskriver olika filmer: val a = Doc("Hårdkokt drama om kodare i Eslöv. Ingen bugg går säker!") val b = Doc("Drama om hårdkokt kodare i Lackalänga - är alla kodare snälla?") Dela upp texterna i vektorer av ord (attributet words i case-klassen Doc ovan), genom att i tur och ordning göra följande: (1) byt ut alla tecken som finns i ispunctuation mot blanktecken, (2) omvandla alla stora bokstäver till små bokstäver, (3) dela upp texten i en array av strängar genom att splittra vid alla blanka, (4) ta bort ev. tomma strängar, (5) omvandla till en vektor med strängar. Vi får då följande resultat för a.words respektive b.words:

5 5(11) Vector("hårdkokt","drama","om","kodare","i","eslöv","ingen","bugg","går","säker") Vector("drama","om","hårdkokt","kodare","i","lackalänga","är","alla","kodare","snälla") Beräkningen av likhetsmått mellan texter sker efter borttagning av små, korta ord, t.ex. prepositioner, så kallade stoppord. Ett ord som inte är stoppord kallas för en term och det är dessa som ska används vid beräkningen av cosinesimilarity. Implementera attributet term i case-klassen Doc genom att använda isstopword ovan. Vidare behöver du den mängd, som i formeln kallas T, med alla termer t i som ingår i a och/eller b, i vårt exempel: eslöv, snälla, säker, går, lackalänga, ingen, drama, hårdkokt, bugg, kodare. Beräkna cosinesimilarity genom att summera över alla t i produkten av frekvensen för t i i respektive text, och dividera med produkten av normerna. Vårt exempel ger: f A (t i ) f B (t i ) t i T A B = = 1 2 Testprogrammet nedan visar hur cosinesimilarity används för att rekommendera filmer. 1 object NixFlix { 2 import NLP._ 3 4 val filmdatabase: Map[String, Doc] = Map( 5 "house of nerds" -> 6 Doc("Hårdkokt drama om kodare i Eslöv. Ingen bugg går säker!"), 7 "pink is the new black" -> 8 Doc("Action om hårdkokt hackerfängelse i Åstorp; olämplig för barn."), 9 "designated developer" -> 10 Doc("Drama om hårdkokt kodare i Lackalänga - är alla kodare snälla?"), 11 "snabba cachen" -> 12 Doc("Komedi om hårdkokt algoritm, med coola kodare i Eslöv.") 13 ) def main(args: Array[String]): Unit = { 16 val favorite = "House of Nerds".toLowerCase 17 println(s"din favoritfilm är: ${favorite.capitalize}") 18 val others = filmdatabase.keyset - favorite 19 val recommended: Seq[(String, Double)] = others.map { f => 20 (f, cosinesimilarity(filmdatabase(f), filmdatabase(favorite))) 21 }.toseq.sortby(_._2).reverse 22 println("\ndin topplista med liknande filmer på NixFlix:") 23 recommended.foreach { 24 case (f, s) => println(s"${f.capitalize.padto(25,' ')} Likhet: $s") 25 } 26 } 27 } 1 Din favoritfilm är: House of nerds 2 3 Din topplista med liknande filmer på NixFlix: 4 Designated developer Likhet: Snabba cachen Likhet: Pink is the new black Likhet:

6 6(11) Uppgift B2: Allokeringsalgoritm, 30p. (distanceto 2p, nextschool 4p, add 13p, allocate 11p) Priset i ekonomisk vetenskap till Alfred Nobels minne tilldelades år 2012 Alvin E. Roth och Lloyd S. Shapley för forskning om algoritmer som kan användas på en marknad där individer handlar med olika resurser enligt givna regler, så att allokeringen blir stabil, med vilket menas att ingen individ har något att vinna på ytterligare handel. Ett exempel på en situation där pristagarnas resultat kan användas är allokering av elever till skolor. Antag att följande grundförutsättningar gäller: Varje elev har sorterat alla skolor i ordning efter vilka den helst vill gå på. Varje skola har ett begränsat antal lediga platser större än noll. Det totala antalet lediga platser på skolorna motsvarar det totala antalet elever, så att varje elev kan få en plats på någon skola. Närhetsprincipen ska gälla: en elev som bor närmare har förtur. I nedan exempel finns tre skolor och sex elever. Skolans position och elevernas bostad, visas i rutnätet till vänster. Elevernas skolval visas i tabellen till höger. Varje skola har 2 lediga platser Maj Fäladsgården Anna Patrik Gustav Tunaskolan Sandra Elev Maj Gustav Sandra Patrik Anna Roy Skolpreferenser Tunaskolan, Järnåkraskolan, Fäladsgården Tunaskolan, Fäladsgården, Järnåkraskolan Järnåkraskolan, Tunaskolan, Fäladsgården Järnåkraskolan, Fäladsgården, Tunaskolan Tunaskolan, Järnåkraskolan, Fäladsgården Tunaskolan, Fäladsgården, Järnåkraskolan 1 Järnåkraskolan Roy Du ska implementera nedan allokeringsalgoritm, som baseras på nobelpristagarnas forskningsresultat: Indata :Elever med sina skolval Utdata :Skolor med allokerade elever 1 studentbuffer en förändringsbar sekvens med alla elever 2 while finns elever i studentbuffer do 3 student ta ut första eleven ur studentbuffer 4 school skolan som är näst i tur bland de skolor som student önskat 5 Skriv ut allokeringsmeddelande enl. exempel i senare testprogram 6 bumpedopt school.add(student) // add returnerar ev. utknuffad student, se nedan 7 Om bumpedopt innehåller en elev, lägg till den sist i studentbuffer och skriv ut enl. exempel 8 end Varje skola har en egen, privat samling med preliminärt allokerade elever som inte visas i algoritmen ovan. Metoden add lägger till en elev i skolans samling. Om det blir fullt på skolan blir den elev som är längst bort av med sin plats och denna utknuffade (eng. bumped) elev returneras inkapslad i en Option. Om någon elev blev utknuffad så läggs den sist i studentbuffer, se rad 7 ovan.

7 7(11) Objektet SchoolAllocation nedan innehåller en påbörjad lösning som du ska utgå ifrån. 1 object SchoolAllocation { 2 3 case class Pos(x: Double, y: Double) { 4 /** Ger avståndet mellan denna punkt och punkten other */ 5 def distanceto(other: Pos): Double =??? 6 } 7 8 class Student(val name: String, val prefs: Seq[School], val pos: Pos) { 9 /** Returnerar skolorna i prefs i ordning en och en, vid varje anrop. 10 * Vid anrop fler gånger än antalet skolor i prefs, kastas undantag. */ 11 def nextschool: School =??? 12 } class School(val name: String, maxstudents: Int, val pos: Pos) { 15 import scala.collection.mutable.arraybuffer private var current: ArrayBuffer[Student] = ArrayBuffer.empty /** Ger en vektor med studenter som är allokerade till denna skola. */ 20 def allocation: Vector[Student] = current.tovector /** Lägger till student. Om det blir för många elever så knuffas den elev 23 * som bor längst bort ut. Returnerar ev. utknuffad elev. */ 24 def add(student: Student): Option[Student] =??? 25 } /** Allokerar students till schools enligt given algoritm och skriver ut 28 * meddelande vid varje preliminärt allokerad/utknuffad elev. */ 29 def allocate(students: Seq[Student], schools: Seq[School]): Unit =??? } Implementera de metoder vars implementationer saknas, markerade med???, enligt nedan krav och tips: distanceto ska beräknas enl. Pytagoras sats, t.ex. med hjälp av math.hypot Du kan förutsätta att nextschool inte kommer att anropas fler gånger än det finns skolor i prefs add ska lägga till en elev och eventuellt knuffa ut den elev som bor längst bort från skolan om inte alla får plats efter tillägg. Eventuellt utknuffad elev ska returneras i ett Option-objekt. Tips: Metoden add kan implementeras på flera olika sätt. Beroende på hur du väljer att göra, kan du ha nytta av några av dessa metoder som fungerar på en ArrayBuffer, här kallad xs: xs.append(x) xs.remove(i) xs.insert(i, x) lägger till elementet x sist i xs tar bort elementet på platsen med index i och returnerar det borttagna elementet (efterföljande element flyttas till lägre index) sätter in elementet x på platsen med index i (efterföljande element flyttas till högre index) Testprogrammet på nästa sida testar objektet SchoolAllocation enligt exemplet på föregående sida. Utskriften från körningen visar hur de meddelande som ska skrivas ut av allocate ska se ut.

8 8(11) 1 object TestSchoolAllocation { 2 import SchoolAllocation._ 3 4 val (f, j, t) = ( 5 new School("Fäladsgården", 2, Pos(1,5)), 6 new School("Järnåkraskolan", 2, Pos(1,1)), 7 new School("Tunaskolan", 2, Pos(4,3)) 8 ) 9 10 val schools: Seq[School] = Seq(f, j, t) val students: Seq[Student] = Seq( 13 new Student("Maj", Seq(t,j,f), Pos(1.5, 5.5)), 14 new Student("Gustav", Seq(t,f,j), Pos(4.5, 4.5)), 15 new Student("Sandra", Seq(j,t,f), Pos(3.5, 2.5)), 16 new Student("Patrik", Seq(j,f,t), Pos(0.5, 2.5)), 17 new Student("Anna", Seq(t,j,f), Pos(2.5, 4.5)), 18 new Student("Roy", Seq(t,f,j), Pos(3.5, 0.5)) 19 ) def main(args: Array[String]): Unit = { 22 allocate(students, schools) 23 println("\nallokering:") 24 for (school <- schools) { 25 print(school.name + ": ") 26 println(school.allocation.map(_.name).mkstring(", ")) 27 } 28 } 29 }

9 9(11) Testprogrammet ovan kan ge följande utskrift, beroende på hur add implementeras: 1 Allokera Maj till Tunaskolan 2 Allokera Gustav till Tunaskolan 3 Allokera Sandra till Järnåkraskolan 4 Allokera Patrik till Järnåkraskolan 5 Allokera Anna till Tunaskolan 6 Maj utknuffad från Tunaskolan 7 Allokera Roy till Tunaskolan 8 Roy utknuffad från Tunaskolan 9 Allokera Maj till Järnåkraskolan 10 Maj utknuffad från Järnåkraskolan 11 Allokera Roy till Fäladsgården 12 Allokera Maj till Fäladsgården Allokering: 15 Fäladsgården: Roy, Maj 16 Järnåkraskolan: Sandra, Patrik 17 Tunaskolan: Gustav, Anna

10 10(11) Uppgift B3. Matris, Java, 25p. (put 7p, count 11p, isfull 7p) Spelet Fyra-i-rad (eng. Connect 4) är ett sällskapsspel för två personer som påminner om luffarschack. Varannan gång lägger deltagarna en bricka (eng. marker) i spelet, som är ett lodrät placerat fackverk enligt bilden till höger. Brickorna fylls på uppifrån i separata kolumner och trillar ned i en stapel. Brickorna får ej flyttas efter placering. Den som först får fyra av sina brickor i rad (vågrätt, lodrätt eller diagonalt) vinner. Spelet slutar oavgjort om det inte längre finns plats för fler brickor. Java-klassen Grid nedan representerar rutnätet i ett Fyra-i-rad-spel. Du ska implementera metoderna med /*??? */ enligt instruktioner på nästa sida. Spelarnas brickor representeras av olika tecken, t.ex. 'X' och 'O', medan en ledig ruta representeras av ett blanktecken. 1 public class Grid { 2 public static final int rows = 6; 3 public static final int cols = 7; 4 5 private char[][] grid = new char[rows][cols]; 6 7 public Grid() { 8 for (int r = 0; r < rows; r++){ 9 for (int c = 0; c < cols; c++){ 10 grid[r][c] = ' '; 11 } 12 } 13 } public char get(int row, int col){ 16 if (row >= 0 && row < rows && col >= 0 && col < cols) { 17 return grid[row][col]; 18 } else { 19 return ' '; 20 } 21 } public int put(int col, char marker){ /*??? */ } private int count(int startrow, int startcol, 26 int deltarow, int deltacol, char ch){ /*??? */} public boolean iswinnerat(int row, int col, char marker){ 29 if (grid[row][col]!= marker) { 30 return false; 31 } else { 32 return count(row, col, 1, 0, marker) >= 3 // up-down 33 count(row, col, 0, 1, marker) >= 3 // right-left 34 count(row, col, 1, 1, marker) >= 3 // diagonal 1 35 count(row, col, 1, -1, marker) >= 3; // diagonal 2 36 } 37 } public boolean isfull(){ /*??? */ } 40 }

11 11(11) Krav och tips: Positionen längst ned till vänster ska motsvara index (rad, kolumn) = (0, 0) i matrisen grid. Metoden put ska placera brickan marker på den första lediga raden i kolumn col och returnera index för den rad som brickan hamnade på. Om det ej finns plats för fler brickor i denna kolumn ska -1 returneras. Den privata hjälpmetoden count används av den givna metoden iswinner för att räkna hur många brickor som finns i rad i en viss ledd (upp-ner, vänster-höger, diagonalt på två olika håll) från en viss utgångsposition som ges av parametrarna startrow och startcol. Den ledd som count räknar i ges av parametrarna deltarow respektive deltacol. Brickan på utgångspunkten ska inte räknas. Tips: Använd i sekvens två loopar som vardera räknar brickor genom att först addera och sedan subtrahera deltavärdena från utgångspunkten enligt nedan exempel: O O X X X O X O X X O O O Antag att spelet ser ut som till vänster och att count anropas med ch = 'X' samt startrow = 1 och startcol = 2 motsvarande positionen som är inramad i bilden. Om deltarow = 1 och deltacol = 0 ska count räkna antalet brickor i rad först uppåt och sedan nedåt varpå resultatet ska bli 1 (brickan på startpositionen ska ej räknas). Om deltarow = 1 och deltacol = 1 ska count räkna antalet marker i rad i ena diagonalen både uppåt höger och nedåt vänster och resultatet ska bli 3. Metoden isfull ska ge true om brädet är fullt annars false. Tips: Det räcker att kolla om översta raden är full. Nedan körning i Scala REPL visar hur Java-klassen Grid ska kunna användas: 1 scala> val g = new Grid 2 g: Grid = Grid@4bd scala> def show = { 5 for (r <- 0 until Grid.rows) yield { 6 for (c <- 0 until Grid.cols) yield g.get(r, c) 7 }.mkstring 8 }.reverse.mkstring("\n") 9 show: String scala> (g.put(0,'x'),g.put(0,'o'),g.put(0,'x'),g.put(0,'o'),g.put(0,'x'),g.put(0 12,'O')) 13 res0: (Int, Int, Int, Int, Int, Int) = (0,1,2,3,4,5) scala> (g.put(0,'x'),g.put(1,'x'),g.put(1,'o'),g.put(2,'x'),g.put(2,'o'),g.put(3 16,'X')) 17 res1: (Int, Int, Int, Int, Int, Int) = (-1,0,1,0,1,0) scala> show 20 res2: String = 21 "O 22 X 23 O 24 X 25 OOO 26 XXXX " scala> (g.iswinnerat(0,1,'x'), g.iswinnerat(1,0,'o'), g.isfull) 29 res3: (Boolean, Boolean, Boolean) = (true,false,false)

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

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

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

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

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, Algoritmer och datastrukturer

Tentamen, Algoritmer och datastrukturer UNDS TEKNISKA ÖGSKOA (6) Institutionen för datavetenskap Tentamen, Algoritmer och datastrukturer 23 8 29, 8. 3. Anvisningar: Denna tentamen består av fem uppgifter. Totalt är skrivningen på 36 poäng och

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

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

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

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

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

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 EDAA45 Programmering, grundkurs

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

Läs mer

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

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

Läs mer

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

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

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

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

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

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

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

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

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

Tentamen i Grundläggande Programvaruutveckling, TDA548

Tentamen i Grundläggande Programvaruutveckling, TDA548 Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2017-08-14 Tid: 14.00-18.00 Hjälpmedel: Lexikon Engelskt-Valfritt språk. Betygsgränser: U: -23 3: 24-37 4: 38-47 5

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

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

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass EDAA20 Föreläsning 11-12 Klassen ArrayList Klassen ArrayList Skriva program som läser data från en textfil och skriver data till en textfil Repetition inför delmålskontroll 2 är en standardklass (i paketet

Läs mer

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

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

Läs mer

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

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

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-03-17 Skrivtid: 1400 1900 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

Lösningsförslag: Instuderingsfrågor, del D

Lösningsförslag: Instuderingsfrågor, del D Uppgift 1. Objektorienterad programmering, Z1 Lösningsförslag: Instuderingsfrågor, del D a) Inget fält behövs. Man kan läsa in ett tal i taget och addera dessa till summan. b) Här behövs ett fält. c) Hä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

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel 732G11 Linköpings universitet 2011-02-15 1 2 3 4 Extrapass Extrapass håller på att bokas. Blir 3-4 st. och öppet för alla. Mer info på kursmailen när bokningen är klar. i Java En funktion i Java... public

Läs mer

2 b) Följande finns definierat: public class Spel String titel = "Spel"; Dice[] tärningar = new Dice[10]; tärningar[0] = new Dice("Röd"); tärningar[1]

2 b) Följande finns definierat: public class Spel String titel = Spel; Dice[] tärningar = new Dice[10]; tärningar[0] = new Dice(Röd); tärningar[1] Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för B2 och V1. Tentamen (1p) 12 januari 2002, kl 14.00 17.00 Hjälpmedel: En javabok(det blå javahäftet som ingår i kursbunten räknas som en javabok.

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

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

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

Läs mer

Dugga Datastrukturer (DAT036)

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

Läs mer

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

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

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

Läs mer

Typkonvertering. Java versus C

Typkonvertering. Java versus C Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då

Läs mer

Tentamen 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

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)

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

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

Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för B,V (1p) 13 januari 2001, kl Hjälpmedel: En Javabok. För betyget godkänt krävs at

Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för B,V (1p) 13 januari 2001, kl Hjälpmedel: En Javabok. För betyget godkänt krävs at Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för B,V (1p) 13 januari 2001, kl 14.00 17.00 Hjälpmedel: En Javabok. För betyget godkänt krävs att a- eller b-delen av varje fråga (uppgift 1 4) samt

Läs mer

Föreläsning 3-4 Innehåll

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

Läs mer

Instuderingsfrågor, del D

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

Läs mer

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

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

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

Tentamen Datastrukturer, DAT037 (DAT036)

Tentamen Datastrukturer, DAT037 (DAT036) Tentamen Datastrukturer, DAT037 (DAT036) Datum, tid och plats för tentamen: 2017-08-17, 8:30 12:30, M. Ansvarig: Fredrik Lindblad. Nås på tel nr. 031-772 2038. Besöker tentamenssalarna ca 9:30 och ca 11:00.

Läs mer

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

Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-15, TDA540. Dag: , Tid: Tentamen för TDA40 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-, TDA40 Dag: 206-0-6, Tid: 4.00-8.00 Ansvarig: Examinator: Alex Gerdes Joachim von Hacht och Christer Carlsson Förfrågningar:

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

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

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00 1 ( 7) Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier (ej anteckningar,

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

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

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

Läs mer

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

Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006

Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006 Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006 Detta lösningsförslag är skrivet i stor hast, så det är möjligt att det innehåller en del slarvfel jag ber i så fall om ursäkt för

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public

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

Tentamen ID1004 Objektorienterad programmering April 7, 2015

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

Läs mer

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

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken. Tentamen Programmeringsteknik I 2012-09-01 Skrivtid: 0900-1200 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till

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

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

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

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Institutionen för Data- och informationsteknik TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer. Denna tentamen gäller

Läs mer

Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering!

Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering! Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering! Samlingar Vi kommer att behöva hantera samlingar av objekt - Har oftast använd Array (fält) - Bra om

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

Tentamen EDAF30 Programmering i C++

Tentamen EDAF30 Programmering i C++ LUNDS TEKNISKA HÖGSKOLA 1(8) Institutionen för datavetenskap Tentamen EDAF30 Programmering i C++ 2016 05 13, 8.00 13.00 Hjälpmedel: En valfri C++-bok. OH-bilderna från föreläsningarna är inte tillåtna.

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

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

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

Läs mer

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12 Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 12 I torsdags: Klassen TelefonKostnad Exemplifierar objektorienterad design, metoder, konstruktorer static Standardklassen Math Matematiska

Läs mer

Laboration 13, Arrayer och objekt

Laboration 13, Arrayer och objekt Laboration 13, Arrayer och objekt Avsikten med denna laboration är att du ska träna på att använda arrayer. Skapa paketet laboration13 i ditt laborationsprojekt innan du fortsätter med laborationen. Uppgift

Läs mer

Den som bara har en hammare tror att alla problem är spikar

Den som bara har en hammare tror att alla problem är spikar Introduktion Föreläsning (Weiss kap. -4) Många begrepp blir det Introduktion till kursen Exempel: Datastrukturen mängd Generiska Den som bara har en hammare tror att alla problem är spikar Vilken

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

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna. 1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som

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

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

Föreläsning 9-10 Innehåll

Föreläsning 9-10 Innehåll Föreläsning 9-10 Innehåll Inläsning från textfil, utskrift från textfil Vektorer med objekt Matriser Datavetenskap (LTH) Föreläsning 9-10 HT 2018 1 / 41 Klassen Scanner Läsa från System.in Vi har tidigare

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

TDDD78 Viktiga begrepp, del 2

TDDD78 Viktiga begrepp, del 2 jonas.kvarnstrom@liu.se 2015 TDDD78 Viktiga begrepp, del 2 Identitet och likhet Är likhet och identitet samma sak? Oj, vi har samma kläder på oss idag! Nej, men likadana! Besserwisser 3 Detta är två rutor

Läs mer

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer. Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language

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

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