PRAKTISKT DELPROV I DATAVETENSKAP PROGRAMMERINGSMETODIK OCH

Storlek: px
Starta visningen från sidan:

Download "PRAKTISKT DELPROV I DATAVETENSKAP PROGRAMMERINGSMETODIK OCH"

Transkript

1 UMEÅ UNIVERSITET Inst. för Datavetenskap PRAKTISKT DELPROV I DATAVETENSKAP PROGRAMMERINGSMETODIK OCH PROGRAMMERING I JAVA, 5P Datum : Tid : 9-13 Hjälpmedel : Allt. Kommunikation med andra personer (direkt eller indirekt) är dock inte tillåten, som t ex via epost, mobiltelefon, gemensamma kataloger etc. Antal uppgifter : 4 Maxpoäng : 30 (halva poängtalet TP + PP krävs normalt för godkänt) Provet består av 4 uppgifter : 1 och 2 samt 2 fritt valda uppgifter bland 3,4,5,6 & 7. Kryssa för de uppgifter du lämnar in. Källkod skrivs ut i ett ickeproportionellt typsnitt (t.ex. courier). Namn, personnummer, användarnamn och sökvägen till filen/filarna skall finnas på all källkod. Skriv din dators namn på försättsbladet. Lösningarna skall vara snyggt och prydligt nedskrivna. Tankegången skall vara lätt att följa. Alla antaganden som inte är uppenbara skall redovisas. Den kod som ges i denna skrivning finns under länken pp på kursens hemsida. Där finns också eventuella andra filer som du kan behöva. OBS! Kontrollera att din dator fungerar innan du börjar på allvar. Börja sedan med att läsa instruktionerna på nästa sida. Lycka till! UMEÅ UNIVERSITET UMEÅ Tel.: Fax: marie@cs.umu.se

2 Innan du börjar skall du göra följande: Logga in på Unix-systemet med hjälp av putty Gå till din katalog /edu/java: cd /edu/java Skapa en ny katalog: mkdir pp Skydda katalogen: chmod R 700 pp (obs stort R!) Efter provet, tidigast klockan 13.00: Logga in på Unix-systemet med hjälp av putty Gå till din katalog /edu/java: cd /edu/java Ändra filskyddet: chmod R 755 pp Regler för det praktiska provet Detta är en del av examinationen och skall alltså ske under tentamensliknande förhållanden. Examinationen är individuell och betygsgrundande. Detta får följande konsekvenser : Man är personligt ansvarig för de lösningar som lämnas in. Om man hittar lösningar eller delar av lösningar på nätet eller i litteraturen bör detta tydligt anges och man är fortfarande skyldig att själv vara fullständigt insatt i den lösning man redovisar och på uppmaning kunna svara för innehåll och funktion i hela eller delar av lösningen. Självklart får man inte söka eller hämta kod från någon av de övriga tentanderna, detta betraktas som fusk och handläggs som sådant. Några riktlinjer för hur lösningarna bedöms : Koden skall följa god objektorienterad programmeringsmetodik, vilket t.ex. innebär konsekvent indenterad och lämpligt kommenterad källkod. Lösningen behöver inte gå att kompilera för att ge poäng, så låt inte troliga syntaxfel ta för mycket tid i anspråk om du känner dig övertygad om att du löst det givna problemet. Det räcker därför inte heller att en lösning fungerar för att ge full poäng, även här måste man på ett rimligt sätt underordna sig kravet på god programmeringsmetodik. Skärmdump - Screen shot Se filen screenshot.html i katalogen pp för detaljer. 2(11)

3 Några viktiga UNIX kommandon: >pwd (PrintWorkingDirectory) Visar i vilken katalog du befinner dig. Kommandona nedan avser i huvudsak working directory, dvs. den aktuella mappen. >ls -al Listar alla filer i working directory tillsammans med olika uppgifter (t.ex. aktuella rättigheter). Om man bara skriver l istället för -al visas inte system-filerna (sådana vars namn börjar med en punkt). >cd katalog Flyttar ner i den angivna katalogen. Man kan flytta flera nivåer på en gång genom att ange vägen katalog/ katalog/ katalog. Om du inte vet var du är, kan du använda pwd (se ovan) för att vara säker. >chmod [-R] mode katalog/fil Ändrar rättigheter på katalog/fil till de rättigheterna som anges i "mode". Rättigheterna visas (via ls -l) som tre grupper med rwx, där r står för läsrättighet, w för skrivrättighet och x för rättigheten att exekvera filen. Första gruppen rwx anger rättigheterna för ägaren av filen. Andra gruppen rwx anger vilka rättigheter för andra personer i samma grupp som ägaren (i vårt fall är det studenterna på datavetenskap). Tredje gruppen anger rättigheterna för övriga (här finns institutionens personal). Viktiga "mode" är t.ex. 700 då ändras rättigheterna till rwx------, dvs bara ägaren får läsa, skriva och exekvera. Ingen annan får läsa, skriva eller exekvera (inte ens lärarna). 755 då ändras rättigheterna till rwxr-xr-x, dvs bara ägaren får läsa, skriva och exekvera. Gruppen (studenterna på kursen) och övriga världen får läsa och exekvera. Om man anger -R (kan alltså utelämnas) ändras rättigheterna rekursivt i alla filer och kataloger som ligger under den katalogen som anges. >mkdir katalognamn Skapar en ny mapp i working directory, dvs. den aktuella mappen. 3(11)

4 Uppgift 1 (5 poäng) När man arbetar med grafik använder man sig av en del linjär algebra för att kunna manipulera figurer. En punkt representeras ofta som en matematisk vektor, eftersom den har riktning och längd. Detta för att man t.ex. skall kunna förstora/förminska, flytta, rotera objekt som byggs upp av ett större antal punkter. I det här sammanhanget låter vi punkterna ha en x- och en y-koordinat som relateras till origo (0,0). Din uppgift är att modellera sådana punkter/vektorer. Konstruera en klass, vars objekt kan representera vektorer i planet. Detta innebär att man måste kunna ge punkten nya värden på x- och/eller y-koordinaten en punkt ska kunna adderas med en annan och som resultat returnera en ny punkt man ska kunna fråga vektorn om dess längd (2-normen, den Euklidiska, som beräknas med Pythagoras sats) y c=(7,8) a=(2,5) c=a+b b=(5,3) x I detta exempel är a = (2,5), b = (5,3) och c = a + b = (7,8). Längden för c blir då c 2 ª (11)

5 Uppgift 2 (5 poäng) Taxibolaget SnabbaBullen funderar på att etablera sig i Umeå och vill utföra en studie av lönsamheten. Därför vill man att du konstruerar ett system för att modellera verksamheten som man sedan ska kunna använda för att göra en simulerad studie. Som underlag får du följande beskrivning: Företaget har två typer av tjänster, taxiresor för enstaka individer samt transfertjänster, som t.ex. hämta en större grupp på flygplatsen för körning till olika adresser. När företaget får ett telefonsamtal från en individ, ett hotell, en nöjesinrättning eller turistorganisation försöker man lägga ut körningen på lediga fordon. Man tillämpar ingen typ av kösystem. Det innebär att om alla bilar är upptagna meddelar växeln att kunden måste ringa senare. Föraren meddelar taxiväxeln när han/hon når sin hämtningsplats för att plocka upp en passagerare. På samma sätt rapporteras när körningen är avslutad. Systemet skall lagra detaljer om körningar som inte kan utföras pga. att inga lediga bilar finns. Det ska också vara möjligt att ta fram information om hur mycket tid fordonen avsätter på följande aktiviteter: passagerartransport, resor till upphämtningsplats och väntan på uppdrag. 5(11)

6 I den följande delen får du lämna in högst två av uppgifterna Uppgift 3 ( 5 poäng) Antag att vi har en klass List som implementerar en lista med följande metoder: public List() Skapar en ny tom lista public boolean isempty() Returnerar true om listan är tom public Pos first() Returnerar första positionen i listan public Pos end() Returnerar sista positionen i listan public Pos next(pos p) Returnerar positionen efter p i listan public Pos previous(pos p) Returnerar positionen före p i listan public Pos insert(object v, Pos p) Stoppar in objektet v före positionen p i listan och returnerar positionen för det nya värdet i listan public Object inspect(pos p) Returnerar objektet som finns på position p i listan public Pos remove(pos p) Tar bort elementet på position p ur listan Skriv en klass Stack som med hjälp av klassen List implementerar en stack. Den ska ha följande metoder: public Stack() Skapar en tom stack public boolean isempty() Returnerar true om stacken är tom, annars false public void pop() Ta bort översta elementet från stacken public void push(object item) Stoppar objektet item överst på stacken public Object top() Returnerar objektet som ligger överst på stacken utan att ta bort det OBS! Du måste använda dig av klassen List när du implementerar stacken (att kopiera lösningen från LL4 fungerar alltså inte). Klassen List och dess hjälpklass Pos finns i katalogen pp tillsammans med stommen till klassen Stack. 6(11)

7 Uppgift 4 (3+3=6 poäng) I denna uppgift skall du skriva en klass Converter som innehåller två statiska metoder. Båda ska omvandla ett decimaltal till ett binärt tal och returnera det som en sträng. Den första metoden ska lösa problemet iterativt och den andra ska lösa det rekursivt. Algoritm för omvandling av ett decimalt tal till ett binärt tal Låt D vara det decimala tal som ska översättas till det binära talet b n...b 1 b Heltalsdividera D med 2 och låt detta vara ett nytt värde på D. 2. Låt bi vara lika med resten vid heltalsdivisionen i punkt 1 (Första gången är index i = 0). 3. Öka i med ett och upprepa algoritmen tills D = 0. Denna algoritm illustreras i ett exempel. Exempel: Omvandling av ett decimalt tal till ett binärt tal Det decimala talet 37 översätt till binär form med hjälp av den ovan givna algoritmen. 37 / 2 = 18 rest 1 --> b 0 = 1 18 / 2 = 9 rest 0 --> b 1 = 0 9 / 2 = 4 rest 1 --> b 2 = 1 4 / 2 = 2 rest 0 --> b 3 = 0 2 / 2 = 1 rest 0 --> b 4 = 0 1 / 2 = 0 rest 1 --> b 5 = 1 Det binära talet läses nerifrån och upp. Det blir alltså OBS! Detta är enbart en generell algoritm. Metoderna ska returnera det binära talet (i rätt ordning) som en sträng! Uppgift 5 ( 5 poäng) En av de obligatoriska uppgifterna baseras på ett problem kallat PacMan 1. Där förekommer ett antal figurer: mat, väggar/hinder och sådana som rör sig (PacMan och spöken). En tänkbar organisation av dessa är 1 Se ) för detaljerad information 7(11)

8 Figure <abstract> Klassen Figure har attribut för poäng, position och färg samt ett antal metoder enligt klassdiagrammet här bredvid(se även koden i mappen pp från websidan). int points int xpos int ypos Color color + Figure(int xpos, int ypos) - moveabs(int absx, int absy) + int getpoints() boolean isedible() <abstract> boolean isobstacle() <abstract> Om vi tittar på hierarkien för maten : Från Figure härleder man en abstrakt klass Food som definierar de abstrakta metoderna från Figure. Den har i det här exemplet inga ytterligare attribut eller metoder jämfört med Figure. De olika matsorterna kan skilja sig åt på flera sätt, men här låter vi det stanna vid att de har olika poäng, kex är värda 10p, skinka är värd 15p och ost är värd 20p (när de äts upp av PacMan). [Allt som rör figurernas visuella representation och hantering har skalats bort i detta exempel.] Din uppgift blir att implementera den härleda abstrakta klassen Food och den härledda klassen Cheese. Uppgift 6 (10 poäng) En nxn matris som är fylld med talen 1, 2, 3 n 2 kallas för magisk kvadrat om summan av talen i varje rad, i varje kolumn, och i de två diagonalerna är lika. È Exempel när n=4: Î Det finns en enkel algoritm som genererar magiska nxn kvadrater, men den fungerar bara när n är udda. Algoritmen placerar i tur och ordning ut talen 1, 2, 3 n 2. Den generella regeln är: efter att talet k har placerats i en viss ruta, placera k + 1 i rutan ett steg till höger och ett steg nedanför ruta k. 8(11)

9 Detta görs på följande sätt: Placera talet 1 i mitten av nedersta raden. Följ den generella regeln för alla övriga heltal, 2, 3 n 2. Två situationer som kräver undantag från regeln kan inträffa: 1. Om den aktuella rutan ligger utanför kvadraten, så betraktas kvadratens kanter som sammankopplade. 2. Om den nya rutan redan är fylld, eller om man befinner sig i det nedre högra hörnet, då ska det nya talet k + 1 istället placeras i rutan som ligger direkt ovanför ruta k. Exempel för n=3 k Vad händer? Resulterande Matris 1 Placera 1 i mitten i den nedersta raden Rutan ett steg till höger och ett steg nedanför hamnar utanför kvadraten. Då betraktar man den första raden som ihopkopplad med den sista. (situation 1) Rutan ett steg till höger och ett steg nedanför hamnar även nu utanför kvadraten. Då betraktar man den första kolumnen som ihopkopplad med den sista. (situation 1) Rutan ett steg till höger och ett steg nedanför är nu redan upptagen. Då använder vi rutan ovanför istället. (situation 2) 5,6 Den generella regeln fungerar direkt Vi befinner oss längst ned i högra hörnet och använder rutan ovanför istället. (situation 2) Rutan ett steg till höger och steg nedanför hamnar utanför kvadraten. Koppla sista kolumnen till den första. (situation 1) Rutan ett steg till höger och steg nedanför hamnar utanför kvadraten. Sista raden kopplas ihop med den första. (situation 1) È 4 _ _ Î _ 1 _ È _ _ Î _ 1 _ È 2 _ Î _ 1 _ È 2 3 Î _ 1 _ È 4 _ 2 3 Î _ 1 _ È 4 _ _ Î _ 1 6 È 4 _ Î _ 1 6 È 4 _ Î È Î (11)

10 Om n=5 ger ovanstående algoritm: È Î Din uppgift är att implementera en statisk metod makemagic som tar ett heltal n som parameter och returnerar en magisk kvadrat med sidan n enligt ovanstående algoritm. Som en del av testningen av din implementation kan du använda metoden ismagic från föreläsningen F9&F10. Koden finns i mappen pp Uppgift 7 (4+6 = 10 poäng) I den här uppgiften ska du komplettera en implementation av ett Pokerspel. Du får två klasser givna Poker och CardDeck dessa filer finns i katalogen pp på kurshemsidan. Din uppgift är att implementera klasserna Card och Hand så att det går att skapa ett objekt av klassen Poker och sedan köra metoden printfacts. I UMLdiagrammet nedan ser du hur klasserna hänger ihop. Poker - CardDeck deck - int numofplayers - Hand[] hands + Poker() + Poker(int numofplayers) + printfacts() + String tostring() 1..* Hand // Attribut + Hand(int nocards, CardDeck d) // Ytterligare metoder CardDeck - final int NUMOFCARDS - boolean[] cards - int cardsleft + CardDeck() + Card drawcard() Card // Attribut 1..* + Card(int suit, int value) + int compareto(card c) + String tostring() // Ytterligare metoder Poker Ett objekt av klassen Poker har en kortlek och ett antal spelare (4 som default). Dessutom finns där en hand för var och en av spelarna som innehåller fem kort. Koden som ni får är början på en pokerspelande klass som just nu bara kan skapa ett pokergäng och sedan skriva ut fakta (med printfacts) om vad var och en av spelarna har på sin hand. Dvs tala om vilka som har ett par, triss, färg, stege etc. Koden för denna klass får inte ändras på något sätt. 10(11)

11 CardDeck En kortlek består av 52 kort (objekt av klassen Card) och har som sitt enda beteende att dra ett slumpmässigt kort ur leken. För varje gång ett kort dras ur leken så är det borta ur leken och kan inte dras igen. Koden för denna klass får inte ändras på något sätt. Card (4 poäng) I en vanlig kortlek finns 52 kort som har en av fyra färger (Hjärter, Klöver, Spader eller Ruter) och en av 13 olika valörer (1=Ess, 11=Knekt, 12=Dam och 13=Kung). Om ni läser koden för CardDeck som finns på kurshemsidan så ser ni att Card måste ha en konstruktor som tar färg och valör som heltalsparametrar. Förutom detta ska ett kort gå att jämföra med ett annat kort, detta sker med hjälp av metoden compareto som ska fungera så här 2 : Om valören på ett Card-objekt ska jämföras med valören på ett annat Card-objekt får man tre fall Om valören för det aktuella objektet är mindre än objektet man jämför med ska -1 returneras. Om objektens valörer är lika returnera 0. Om det aktuella kortets valör är större än det man jämför med returnera 1. Utöver dessa två metoder ska också en tostring-metod implementeras som beskriver kortet i en sträng. Du bestämmer själv hur kortet ska representeras och får även implementera ytterligare metoder om det behövs. Hand (6 poäng) En hand innehåller ett godtyckligt antal kort och från den givna koden för Poker ser vi att det måste finnas en konstruktor som tar antalet kort samt en kortlek (CardDeck) som parametrar. Utöver det behövs det också metoder som undersöker handen. Vilka dessa är syns i metoden printfacts i Poker. Det behövs också en tostring som returnerar information om alla kort som finns på en hand som en sträng. Du bestämmer själv hur handen ska representeras och får även implementera ytterligare metoder om det behövs. 2 Vill man kan man implementera interfacet Comparable. 11(11)

Objektorienterad programmering, Java, 5p TDBA63

Objektorienterad programmering, Java, 5p TDBA63 UMEÅ UNIVERSITET Datavetenskap 030219 PRAKTISKT DELPROV Objektorienterad programmering, Java, 5p TDBA63 Datum : 030205 Tid : 9 13 Hjälpmedel : Allt. Kommunikation med andra personer (direkt eller indirekt)

Läs mer

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH UMEÅ UNIVERSITET Datavetenskap Marie Nordström 071207 TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH DATORSYSTEM/GRÄNSSNITT, 7.5HP. (5DV074/5DV075) Datum : 071207 Tid : 3 timmar Hjälpmedel : Allt.

Läs mer

TENTAMEN I DATAVETENSKAP

TENTAMEN I DATAVETENSKAP Umeå Universitet Datavetenskap Marie Nordström Thomas Johansson Jürgen Börstler 030124 TENTAMEN I DATAVETENSKAP PROGRAMMERINGSMETODIK OCH PROGRAMMERING I JAVA, 5P. (TDBA63) Datum : 030124 Tid : 9-15 Hjälpmedel

Läs mer

PROGRAMMERING I ETT OBJEKTORIENTERAT SPRÅK (JAVA), 5P

PROGRAMMERING I ETT OBJEKTORIENTERAT SPRÅK (JAVA), 5P UMEÅ UNIVERSITET Inst. för Datavetenskap 050118 DELPROV 2 I DATAVETENSKAP PROGRAMMERINGSMETODIK OCH PROGRAMMERING I ETT OBJEKTORIENTERAT SPRÅK (JAVA), 5P Datum : 050118 Tid : 9-13 Hjälpmedel : Allt. Kommunikation

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

DELPROV2. Objektorienterad programmeringsmetodik (för ÖI), 7.5p 5DV081, 5DV090

DELPROV2. Objektorienterad programmeringsmetodik (för ÖI), 7.5p 5DV081, 5DV090 UMEÅ UNIVERSITET Datavetenskap 080319 DELPROV2 Objektorienterad programmeringsmetodik (för ÖI), 7.5p 5DV081, 5DV090 Datum : 080319 Skrivtid : 4 timmar (start ca 8:15 alt ca 13:00) Hjälpmedel : Allt. Kommunikation

Läs mer

DELPROV1. Objektorienterad programmeringsmetodik, 7.5p 5DV081, 5DV109

DELPROV1. Objektorienterad programmeringsmetodik, 7.5p 5DV081, 5DV109 UMEÅ UNIVERSITET Datavetenskap 100524 DELPROV1 Objektorienterad programmeringsmetodik, 7.5p 5DV081, 5DV109 Datum : 100524 Skrivtid : 4 timmar Hjälpmedel : Allt. Kommunikation med andra personer (direkt

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

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

Agenda. Objektorienterad programmering Föreläsning 13

Agenda. Objektorienterad programmering Föreläsning 13 Objektorienterad programmering Föreläsning 13 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Ett objektorienterat exempel Repetition Mer om arv Abstrakta klasser Abstrakta metoder

Läs mer

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr

Läs mer

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34 Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger

Läs mer

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

Objektorienterad programmering D2

Objektorienterad programmering D2 Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste

Läs mer

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20. Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:

Läs mer

Tentamen TEN1 HI

Tentamen TEN1 HI Tentamen TEN1 HI1029 2014-03-14 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha

Läs mer

Laboration 1: Figurer i hierarki

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

Läs mer

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor Abstrakta datatyper 1 Primitiva vektorer Vektorer kan skapas av primitiva datatyper, objektreferenser eller andra vektorer. Vektorer indexeras liksom i C från 0. För att referera en vektor används hakparenteser.

Läs mer

Abstrakta datatyper Laboration 2 GruDat, DD1344

Abstrakta datatyper Laboration 2 GruDat, DD1344 Abstrakta datatyper Laboration 2 GruDat, DD1344 Örjan Ekeberg (fritt från en idé av Henrik Eriksson) 27 oktober 2008 Målsättning Målet med denna laboration är att ge en inblick i hur man kan använda abstrakta

Läs mer

DELPROV2 OBJEKTORIENTERAD PROGRAMMERING I JAVA

DELPROV2 OBJEKTORIENTERAD PROGRAMMERING I JAVA UMEÅ UNIVERSITET Inst. för Datavetenskap 060529 DELPROV2 OBJEKTORIENTERAD PROGRAMMERING I JAVA FÖR INGENJÖRER, 5P. (TDBA62) Datum : 060529 Tid : 4 timmar (9-13) Hjälpmedel : Allt. Kommunikation med andra

Läs mer

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren 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 rättaren om att du har förstått dessa även om detaljer kan vara felaktiga. Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 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 på nytt papper. Lägg

Läs mer

Övning 3. Datateknik A, Java I, 5 poäng

Övning 3. Datateknik A, Java I, 5 poäng Datateknik A, Syfte: Att prova på att skriva egna klasser och skapa objekt av dessa klasser. Att skriva klasser med överlagrade metoder och konstruktor, samt att i en klass använda statiska medlemmar.

Läs mer

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Försättsblad till skriftlig tentamen vid Linköpings Universitet Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2013-03-27 Sal Tid 08:00 12:00 Kurskod Provkod Kursnamn/benämning Institution Antal uppgifter som ingår i tentamen Antal

Läs mer

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

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

Läs mer

TENTAMEN 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

DELPROV2 OBJEKTORIENTERAD PROGRAMMERING I JAVA

DELPROV2 OBJEKTORIENTERAD PROGRAMMERING I JAVA UMEÅ UNIVERSITET Inst. för Datavetenskap 050602 DELPROV2 OBJEKTORIENTERAD PROGRAMMERING I JAVA FÖR INGENJÖRER, 5P. (TDBA62) Datum : 050602 Tid : 4 timmar (9-13) Hjälpmedel : Allt. Kommunikation med andra

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

Obs! Inget ur Javas standardbibliotek får användas i ett svar (om det inte står att man får det).

Obs! Inget ur Javas standardbibliotek får användas i ett svar (om det inte står att man får det). LULEÅ TEKNISKA UNIVERSITET Tentamen i Objektorienterad programmering och design Totala antalet uppgifter: 5 Lärare: Håkan Jonsson, Tomas Johansson, 491000 Resultatet anslås senast 08-05-16 i A-huset. Tillåtna

Läs mer

Objektorienterad programmering i Java I

Objektorienterad programmering i Java I Laboration 4 Objektorienterad programmering i Java I Uppgifter: 1 Beräknad tid: 6 9 timmar Att läsa: Kapitel 7, 8 (stränghantering, arrayer och Vector) Utdelat material (paket) Syfte: Att kunna använda

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

DELPROV 1 I DATAVETENSKAP

DELPROV 1 I DATAVETENSKAP Umeå Universitet Datavetenskap Marie Nordström 070502 DELPROV 1 I DATAVETENSKAP Uppgift (poäng) 1 () 2 () 3 () 4 () 5 () 6 () Summa (xx) Inlämnad Poäng Kurs : Datum : 070502 Namn (texta) : Personnummer

Läs mer

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. .0.0 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 poäng Denna tentamen

Läs mer

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Prioritetskö Heap Representation som

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 Algoritmer & Datastrukturer i Java

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

Läs mer

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

Programmering = modellering

Programmering = modellering Programmering = modellering Ett datorprogram är en modell av en verklig eller tänkt värld. Ofta är det komplexa system som skall modelleras I objektorienterad programmering består denna värld av ett antal

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/3 2014 Innehåll Kursöversikt Javarepetition/Javaintroduktion UML - klassdiagram-introduktion i anslutning till Java-exemplen Kursmål,

Läs mer

TDP Regler

TDP Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl NADA, KTH OOMPA 1998-10-13 Sid 1 (8) Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl. 11-13 Inga hjälpmedel tillåtna. Poäng och betyg: För godkänt

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. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. HT-15 Datum: Tid: kl

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. HT-15 Datum: Tid: kl Umeå Universitet Datavetenskap Anders Broberg 15-01-12 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg HT-15 Datum: 15-01-12 Tid: kl 14.00-18.00 Namn: Personnummer:

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. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14. Tentamen 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.00, sal D31 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel

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

Tentamen i Algoritmer & Datastrukturer i Java

Tentamen i Algoritmer & Datastrukturer i Java Tentamen i Algoritmer & Datastrukturer i Java Hjälpmedel: Skrivhjälpmedel, miniräknare. Ort / Datum: Halmstad / 2010-03-16 Skrivtid: 4 timmar Kontaktperson: Nicolina Månsson Poäng / Betyg: Max 44 poäng

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

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

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

Arv och polymorfism i Java

Arv och polymorfism i Java 1 (5) Arv och polymorfism i Java Objektorienterad programmering 5 Syfte Att ge en introduktion till arvsmekanismen i Java. Mål Efter övningen skall du kunna definiera klasser med arv i Java. förstå hur

Läs mer

Tentamen. Programmeringsmetodik, KV: Java och OOP. 17 januari 2002

Tentamen. Programmeringsmetodik, KV: Java och OOP. 17 januari 2002 Pedher Johansson Institutionen för datavetenskap LÖSNINGSFÖRSLAG Lösningsförslag Tentamen Programmeringsmetodik, KV: Java och OOP 17 januari 2002 Uppgift 1 (20 p) Teoriuppgifter Resultat och uppgifter

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

Tentamen TEN1 HI Tentamen TEN1 HI1029 2015-03-17 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall

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

TDP Regler

TDP Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

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

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

Repetition av OOP- och Javabegrepp

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

Läs mer

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte

Läs mer

TDDC30 Programmering i Java, datastrukturer och algoritmer

TDDC30 Programmering i Java, datastrukturer och algoritmer LINKÖPINGS UNIVERSITET Institutionen för datavetenskap Jonas Wallgren Tentamen i TDDC30 Programmering i Java, datastrukturer och algoritmer För I3, Ii3 Datum: 2009-04-17 Klockan: 14-18 Jour: Jonas Wallgren,

Läs mer

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem). 1 (11) TENTAMEN: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt idnummer på varje blad (så att

Läs mer

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten? Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

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

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

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/ Exempel: Implementation av Schackpjäser.

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/ Exempel: Implementation av Schackpjäser. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/3 2017 Innehåll Abstrakta klasser Klasshierarki och typhierarki Polymorfism och dynamisk bindning Polymorfi-exempel: Schack Klassen Object

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

Repetition av OOP- och Javabegrepp

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

Läs mer

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

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Abstrakta datatyper Listor Stackar

Läs mer

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Abstrakta datatyper Listor Stackar

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

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

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

Läs mer

ID1004 Laboration 4, November 2012

ID1004 Laboration 4, November 2012 06-Nov-2012/FK ID1004 Laboration 4, 14-16 November 2012 Beräknad tid ca 1-2 timmar. Instruktionen antar att labben utförs i datasal, med hjälp av den integrerade utvecklingsmiljön Eclipse. Alternativt

Läs mer

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

Malmö högskola 2007/2008 Teknik och samhälle Laboration 9 Avsikten med denna laboration är att du ska jobba vidare med klasser. Uppgifterna går ut på att skriva metoder och att skriva konstruktorer. Laborationen bygger vidare på laboration 8. Skapa

Läs mer

Introduktion till arv

Introduktion till arv Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering

Läs mer

Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper.

Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper. Tentamen Programmeringsteknik II 2018-05-28 Skrivtid: 0800 1300 Tänk på följande Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper. Fyll i försättssidan

Läs mer

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

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

Läs mer

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

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

Läs mer

CHALMERS TENTAMEN. 2018/2019, lp 1 DAT050. Uno Holmer

CHALMERS TENTAMEN. 2018/2019, lp 1 DAT050. Uno Holmer TENTAMEN KURSNAMN Objektorienterad programmering, 7.5p PROGRAM: DAI 2 (TIDAL-2) 2018/2019, lp 1 KURSBETECKNING EXAMINATOR DAT050 Uno Holmer TID FÖR TENTAMEN Onsdagen den 28/8 2019, 08.30 12.30 HJÄLPMEDEL

Läs mer

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

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 20 Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 20 Förra gången: GUI: Sammanfattning Fler exempel: KryssEnkat och FotoAlbum Fönster med variabelt antal objekt Idag: Ett stort exempel:

Läs mer

Föreläsning 4 Innehåll. Abstrakta datatypen lista. Implementering av listor. Abstrakt datatypen lista. Abstrakt datatyp

Föreläsning 4 Innehåll. Abstrakta datatypen lista. Implementering av listor. Abstrakt datatypen lista. Abstrakt datatyp Föreläsning 4 Innehåll Abstrakta datatypen lista Definition Abstrakta datatypen lista egen implementering Datastrukturen enkellänkad lista Nästlade klasser statiska nästlade klasser inre klasser Listklasser

Läs mer

Rekursion. Att tänka rekursivt Att programmera rekursivt i Java Exempel. Programmeringsmetodik -Java 254

Rekursion. Att tänka rekursivt Att programmera rekursivt i Java Exempel. Programmeringsmetodik -Java 254 Rekursion Rekursion är en grundläggande programmeringsteknik M h a rekursion kan vissa problem lösas på ett mycket elegant sätt Avsnitt 11 i kursboken: Att tänka rekursivt Att programmera rekursivt i Java

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

ADT Prioritetskö. Föreläsning 13 Innehåll. Prioritetskö vs FIFO-kö. Prioritetskö Exempel på användning. Prioritetsköer och heapar

ADT Prioritetskö. Föreläsning 13 Innehåll. Prioritetskö vs FIFO-kö. Prioritetskö Exempel på användning. Prioritetsköer och heapar Föreläsning 1 Innehåll ADT Prioritetskö Prioritetsköer och heapar Prioritetsköer och heapar ADT prioritetskö Klassen PriorityQueue i java.util ar Implementering av prioritetskö med heap Sortering med hjälp

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

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina

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

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

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

Läs mer

Föreläsning 13 Innehåll

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

Läs mer

Föreläsning 10 Innehåll. Prioritetsköer och heapar. ADT Prioritetskö. Interface för Prioritetskö. Exempel på vad du ska kunna

Föreläsning 10 Innehåll. Prioritetsköer och heapar. ADT Prioritetskö. Interface för Prioritetskö. Exempel på vad du ska kunna Föreläsning Innehåll Prioritetsköer och heapar Prioritetsköer och heapar ADT prioritetskö Klassen PriorityQueue i java.util Implementering med lista ar Implementering av prioritetskö med heap Sortering

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

Tentamen TEN1 HI1029 2014-05-22

Tentamen TEN1 HI1029 2014-05-22 Tentamen TEN1 HI1029 2014-05-22 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha

Läs mer

Tentamen. Programmeringsmetodik, KV: Java och OOP. 20 januari 2005

Tentamen. Programmeringsmetodik, KV: Java och OOP. 20 januari 2005 Tentamen Programmeringsmetodik, KV: Java och OOP 20 januari 2005 Examinator: Johan Karlsson Skrivtid: 16-22 Hjälpmedel: Maximalt en av följande böcker: Barnes & Kölling: Objects First With Java a practical

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

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

Laboration 2: Designmönster

Laboration 2: Designmönster Laboration 2: Designmönster Bakgrund Det har visat sig väldigt svårt att beskriva hur ett system, eller en dellösning, skall konstrueras på ett bra sätt. Det har överhuvud taget varit svårt att veta om

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning I: kursinfo, att programmera datorer, första programmet Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2015 Outline Hemsida Organization Examination

Läs mer