TENTAMEN I DATAVETENSKAP

Relevanta dokument
TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

DELPROV 1 I DATAVETENSKAP

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. VT-13 Datum: Tid: kl

Objektorienterad programmering, Java, 5p TDBA63

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

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

Tentamen i Objektorienterad modellering och design Helsingborg

Tentamen i Objektorienterad modellering och design

TENTAMEN. Kurs: Applikationsutveckling i Java 5DV135. Ansvarig lärare: Johan Eliasson. HT12 Datum: Tid: kl

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

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

Tentamen, Algoritmer och datastrukturer

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

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

Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser

Konstruktion av klasser med klasser

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

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

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

Laboration 1: Figurer i hierarki

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

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl

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

LÖSNINGSFÖRSLAG TILL TENTAMEN PROGRAMMERINGSMETODIK MOM2 - JAVA, 4P.

Föreläsning 12. Länkade listor

Tentamen i Algoritmer & Datastrukturer i Java

Tentamen i Objektorienterad programmering

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

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

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

ADT Kö. Seminarium 4 Köer och Stackar Innehåll. Operationer. ADT Stack. Definition. Definition

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

Introduktion till arv

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

Listor. Koffman & Wolfgang kapitel 2, avsnitt , och 2.9

Tentamen ID1004 Objektorienterad programmering April 7, 2015

Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt

Klasshierarkier. Klasser kan byggas på redan definierade klasser

Kurskod D0010E Datum Skrivtid 5tim

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Länkade strukturer. (del 2)

Föreläsning 13 Innehåll

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.

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

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

Tentamen i Objektorienterad modellering och diskreta strukturer

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 i Grundläggande programmering STS, åk 1 lördag

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

Lambdas. (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017

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

PROGRAMMERINGSTEKNIK TIN212

TDDD78 Viktiga begrepp, del 2

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

Klasshierarkier - repetition

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

L SNINGSF RSLAG TILL TENTAMEN PROGRAMMERING I JAVA, 5P

Tentamen Datastrukturer (DAT036)

Datastrukturer. föreläsning 3. Stacks 1

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

public class BoundedCounter {

Tentamen i Programmeringsteknik I,, KandMa/Fy,

Laboration 13, Arrayer och objekt

TENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).

Tentamen i Grundläggande programmering STS, åk

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

public boolean containskey(string key) { return search(key, head)!= null; }

Tentamen, EDAA20/EDA501 Programmering

OOP Objekt-orienterad programmering

TDDC74 Programmering, abstraktion och modellering DUGGA 2

Teoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) "Snabba frågor" Alla svar motiveras väl.

DAT043 - Föreläsning 7

Föreläsning 4 Innehåll

Tentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas.

Tentamen, EDAA10 Programmering i Java

Tentamen i Grundläggande programmering STS, åk

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

Tentamen Datastrukturer (DAT036)

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

Övningar Dag 2 En första klass

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

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

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

Arrayer. results

OOP Objekt-orienterad programmering

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

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

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

För alla uppgifter på tentan gäller: Man får använda både standard-c++ (som till exempel har pekare som anges med * och objekt som skapas med new) och

Tentamen Objekt-orienterad programmering i Java, 5p distanskurs

Laboration 3, uppgift En klass för en räknare

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

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser

Transkript:

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 : Inga Antal Uppgifter : 6 Totalpoäng : 40 (halva poängtalet krävs normalt för godkänt) Kryssa för de uppgifter du lämnar in 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. Tips! Försök på alla uppgifter! Om du inte kan lösa en av flera deluppgifter, gör lämpliga antaganden och gå vidare till efterföljande deluppgifter. Uppgifter kan vara felformulerade, fråga om du är osäker eller tycker att något verkar konstigt. Det är ditt ansvar att övertyga om att du besitter den kunskap som efterfrågas. Det är viktigt att du löser den givna uppgiften! Lycka till! 1(5)

Uppgift 1 (3 poäng) Evaluera följande boolska uttryck. För varje uttryck utgå från att x=10, y=20, z=30 och ok=false. Visa hur du får fram det aktuella värdet. 1. x < 20 x > 20 2. x > y && y > z 3. ok && x < y && y < z 4.!(!ok && x < y) y < z 5. z - y == x && Math.abs(y - z) == x 6.!( x < y + z)!(x + 10 <= 20) Uppgift 2 (6 poäng) OBS! I denna designuppgift ska du inte implementera koden. Du ska inte heller designa användargränssnittet på systemet. Du ska design ett system som underlättar arbetet på ett fastighetsmäklarbyrå. Systemet ska underlätta hanteringen av kundregistret och de olika typer av fastigheter (t ex villor, tomter, bostadsrätter, industrifastigheter mm) som är till salu. För varje fastighet ska lämpliga uppgifter sparas som t ex läge, pris, taxeringsvärde, boyta, tomtstorlek, eventuella hyresintäkter mm. Dessutom ska för varje fastighet finnas en lista med spekulanterna. Spekulanterna ska kunna boka visningar med en mäklare för en fastighet. Uppgifterna för visningarna ska också sparas. Varje kund ska kunna lägga in en sökprofil, så att kunden kan meddelas när lämpliga fastigheter är till salu. Uppgift 3 (1+5 = 6 poäng) a) Program med grafiska användargränssnitt (GUI) sägs vara händelsebaserade. Vad menas med det? (1 p) b) Vilka programdelar behövs för att sätta ihop ett GUI i Java? (5 p) 2(5)

Uppgift 4 (8 poäng) a) Vad kännetecknar en abstrakt klass? b) Vad kan man ha en abstrakt klass till? c) Förklara skillnaderna och likheterna mellan en abstrakt klass och ett interface. d) Man brukar säga att ett objekt kännetecknas av tre saker, vilka? e) Vad är det för skillnad mellan ett objekt och en klass? f) Vad betyder syntax resp semantik? g) Det finns tre relationer mellan klasser, vilka? h) Nämn en enkel regel för varje relation som man kan använda för att avgöra om just denna relation passar. Uppgift 5 (2+2+3 = 7 poäng) Antag att du har en abstrakt basklass Figur med en abstrakt metod double getarea(). a) Skriv kod för två klasser Kvadrat och Cirkel som båda ärver från Figur, och som omdefinerar getarea på lämpligt sätt. Skriv lämpliga konstruktorer som initierar de attribut som behövs. b) Skriv också en metod summaarea som tar ett fält med Figurer som parameter och som returnerar den sammanlagda arean för dem. c) Skriv till slut en metod areatest() som skapar ett fält med tre Cirklar och två Kvadrater (valfria parametrar till konstruktorerna) och som anropar summaarea med detta fält. 3(5)

Uppgift 6 (10 poäng) Följande klasser är stommen till en generell lista där värdena i listan kan vara godtyckliga objekt. public class ListNode private Object myvalue; private ListNode next; public ListNode(Object o) myvalue = o; next = null; }// ListNode-constructor public ListNode(Object o, ListNode nlist) myvalue = o; next = nlist; }// ListNode-constructor public ListNode getnext() return next; }// getnext public void setnext(listnode newnext) next = newnext; }// setnext public Object getvalue() return myvalue; }// getvalue }// class ListNode public class List private ListNode head; // First node private ListNode tail; // Last node public List() head = null; tail = null; }// List-constructor //här följer ett antal metoder }// class List a) Hur skapar man en lista? Visa gärna med ett exempel hur det ser ut i kod (1p.) 4(5)

För att göra List till en användbar generell liststruktur behöver man en uppsättning metoder. Implementera följande metoder. Observera att du inte får modifiera den givna koden. b) first() returnerar det första värdet i listan. (1p.) c) last() returnerar det sista värdet i listan. (1p.) d) isempty() kontrollerar om listan är tom eller ej. (1p.) e) getlength() returnerar antalet element i listan. (2p.) f) appendel(object el) lägger till ett värde sist i listan. (2p.) g) public Object[] toarray() som går igenom listan och returnerar ett fält av Object med motsvarande innehåll. (2p.) 5(5)