endast har ett korrekt alternativ. Om

Relevanta dokument
endast har ett korrekt alternativ. Om

Tentamen NDG011 Systemarkitektprogrammet. 60 poäng. endast har ett korrekt alternativ. Om

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

Recitation 4. 2-D arrays. Exceptions

50 poäng. Samtliga teoretiska frågor kan ha 1-4 korrekta svar. Varje teoretisk fråga ger 1 poäng.

Systemvetarutbildningen och dataekonomutbildningen

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

Support Manual HoistLocatel Electronic Locks

27. GUI Programming. Java. Summer 2008 Instructor: Dr. Masoud Yaghini

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

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document

Classes och Interfaces, Objects och References, Initialization

Föreläsning 8. Designmönster

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

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

Kursplan. IK1004 Java - Grafiska användargränssnitt med Swing. 7,5 högskolepoäng, Grundnivå 1. Java - GUI Programming with Swing - Undergraduate Level

Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

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

Del av projektuppgiften. Systemarkitektprogrammet

Quick Start Guide Snabbguide

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Taking Flight! Migrating to SAS 9.2!

Beijer Electronics AB 2000, MA00336A,

The Last Adventure. Innehåll. Objektorientering. Språket Java. Java - Paket. Java - synlighet. Den sista lektionen. Repetition.

LULEÅ TEKNISKA UNIVERSITET

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

Isolda Purchase - EDI

Installation av F13 Bråvalla

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

7,5 högskolepoäng. Väveriteknik, skriftlig tentamen 51TV10 och AX10VT TD

Chapter 4: Writing Classes/ Att skriva egna klasser.

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU

Innehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och

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

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se

Enum, mer om Arv, Abstrakta klasser, Polymorfism, Recursion! Förelasning 14!! TDA540 Objektorienterad Programmering!

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

SI-pass 4. Johan Brook och Jesper Persson. 25 september Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner.

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

2.1 Installation of driver using Internet Installation of driver from disk... 3

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang)

Objektorienterad Programmering (TDDC77)

Annonsformat desktop. Startsida / områdesstartsidor. Artikel/nyhets-sidor. 1. Toppbanner, format 1050x180 pxl. Format 1060x180 px + 250x240 pxl.

Rättningstiden är i normalfall 15 arbetsdagar, annars är det detta datum som gäller:

Modelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

Föreläsning 12: Exempel och problemlösning

8 < x 1 + x 2 x 3 = 1, x 1 +2x 2 + x 4 = 0, x 1 +2x 3 + x 4 = 2. x 1 2x 12 1A är inverterbar, och bestäm i så fall dess invers.

Att skriva till och läsa från terminalfönstret

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Kursplan. MT1051 3D CAD Grundläggande. 7,5 högskolepoäng, Grundnivå 1. 3D-CAD Basic Course

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

DVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION :15-13: 15

Lösningsförslag till tentamen

Förändrade förväntningar

Tentamen FYTA11 Javaprogrammering

Modelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

Styrteknik: Binära tal, talsystem och koder D3:1

Lösningsförslag till tentamen

6 th Grade English October 6-10, 2014

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

Sammanfattning. Revisionsfråga Har kommunstyrelsen och tekniska nämnden en tillfredställande intern kontroll av att upphandlade ramavtal följs.

Kursplan. FÖ3032 Redovisning och styrning av internationellt verksamma företag. 15 högskolepoäng, Avancerad nivå 1

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

Styrteknik 7.5 hp distans: E-1000 och E-Designer

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

Examensarbete Introduk)on - Slutsatser Anne Håkansson annehak@kth.se Studierektor Examensarbeten ICT-skolan, KTH

TENTAMEN OOP

Paket i Java. Joachim von Hacht

Upplägg. Introduktion. Examination. Mål. Konsekvenser. Java. Kursen heter konstruktion, ej design eller formgivning.

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Tentamen Programmering fortsättningskurs DIT950

Objektorienterad mjukvaruutveckling. 15 högskolepoäng. TentamensKod: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016

Lösningar för tenta 3 DAT043,

Objektorienterad Programkonstruktion. Föreläsning 11 6 dec 2016

Länkade strukturer. (del 2)

TENTAMEN. Objektorienterade applikationer CHALMERS. 2018/2019, lp 3 DAT055. Uno Holmer

12.6 Heat equation, Wave equation

Tentamen i Matematik 2: M0030M.

Föreläsning 4 IS1300 Inbyggda system

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

Kursplan. NA3009 Ekonomi och ledarskap. 7,5 högskolepoäng, Avancerad nivå 1. Economics of Leadership

Klasser som datastrukturer

LARS. Ett e-bokningssystem för skoldatorer.

Tentamen NOA011 Systemarkitektprogrammet

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

Ökat personligt engagemang En studie om coachande förhållningssätt

Omentamen FYTA11 Javaprogrammering

MVC-mönstret. model-view-control i Swing

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016

Webbregistrering pa kurs och termin

Objektorienterad Programmering (OOP) Murach s: kap 12-16

Polymorfi. Objektorienterad och komponentbaserad programmering

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16

Preschool Kindergarten

Transkript:

Objektorienterad programmering i Java Provmoment: Ladokkod: Tentamen ges för: Tentamen NOJ011 Systemarkitektprogrammet 7,5 högskolepoäng Tentamensdatum: 2014-08-22 Tid: 09:00 14:00 Hjälpmedel: Inga hjälpmedel Totalt antal poäng på tentamen: För att få respektive betyg krävs: G=25 VG=45 50 poäng Allmänna anvisningar: Tentan har en teoretisk och en praktisk del. Fyll i ditt namn, personnummer och dina svar på svarsblanketten på nästa sida. Kontot för den praktiska delen lämnas ut efter att svarsblanketten lämnats in till en tentamensvakt. Notera att frågor där alternativen inleds med alternativen inleds med kan 1 till alla alternative vara korrekta. endast har ett korrekt alternativ. Om Spara alla filer på F: om inte annat specifikt anges. Stäng ner samtliga applikationer och logga ut (via ikon) när du är klar med tentamen. Vid olösliga problem med datorkonto, ta ett nytt och lämna in även detta i tentamensmappen. Den praktiska delen rättas endast om minst 50% av svaren på den teoretiska delen är körrekta. Rättningstiden är som längst tre veckor Viktigt! Glöm inte att skriva namn på alla blad du lämnar in. Lycka till! Ansvariga lärare: Rikard König Karl Jansson Telefonnummer: 033 435 5945 033 435 4399

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Svarsblankett 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A B C D E

Theory 1. A Java compiler translates Java source code into. a. Java bytecode b. machine code c. assembly code d. another high-level language code 2. Which of the following statements are true? a. A default constructor is provided automatically if no constructors are explicitly declared in the class. b. At least one constructor must always be defined explicitly. c. Every class has a default constructor. d. The default constructor is a no-arg constructor. 3. Which of the following alternatives is not a GRASP pattern a. Low coupling b. High Cohesion c. Polymorphism d. Facade 4. Which of the following statements are true? a. Information Expert regards which classes that should exist. b. Pure fabrication regards which classes that are allowed in an application. c. Creator regards how an object should be created. d. GRASP stands for General Responsibility Assignment Software Pattern 5. Which of the following statements are true? a. To override a method, the method must be defined in the subclass using the same signature and compatible return type as in its superclass. b. Overloading a method is to provide more than one method with the same name but with different signatures to distinguish them. c. It is a compilation error if two methods differ only in return type in the same class. d. A private method cannot be overridden. If a method defined in a subclass is private in its superclass, the two methods are completely unrelated. e. A static method cannot be overridden. If a static method defined in the superclass is redefined in a subclass, the method defined in the superclass is hidden.

6. Which of the following classes is a heavyweight component? a. JButton b. JTextField c. JPanel d. JFrame 7. Which of the following statements are true? a. Each GUI component contains a Graphics object that can be obtained using getgraphics() method. b. Once a GUI component is visible, getgraphics() returns the object. c. If a GUI component is not visible, getgraphics() returns null. d. The Graphics object is automatically created for each visible GUI component. 8. You should override the method to draw things on a Swing component. a. repaint() b. update() c. paintcomponent() d. init() 9. Which of the following statements regarding abstract methods are true? a. Abstract classes have constructors. b. A class that contains abstract methods must be abstract. c. It is possible to declare an abstract class that contains no abstract methods. d. An abstract method cannot be contained in a nonabstract class. 10. The interface should be implemented to listen for a button action event. a. MouseListener b. ActionListener c. FocusListener d. WindowListener e. ContainerListener

11. Which of the following statements are true? a. Inner classes can make programs simple and concise. b. An inner class can be declared public or private subject to the same visibility rules applied to a member of the class. c. An inner class can be declared static. A static inner class can be accessed using the outer class name. A static inner class cannot access nonstatic members of the outer class. d. An inner class supports the work of its containing outer class and is compiled into a class named OuterClassName$InnerClassName.class. 12. If your applet does not have the init() method, which of the following will happen? a. Your program will not compile. b. Your program will compile, but not execute. c. You must have a main method. d. Your program will run just fine since the init() method is defined in the Applet class. 13. Which of the following statements are true? a. Applets are not allowed to read from, or write to, the file system of the computer. b. Applets are not allowed to run programs on the browser's computer. c. Applets are not allowed to establish connections between the user s computer and any other computer, except for the server where the applets are stored. d. In general, an applet can be converted to an application without loss of functionality. e. An application can be converted to an applet as long as it does not violate the security restrictions imposed on applets. 14. Which of the following statements is not true? a. A static variable is not serialized. b. A transient variable is not serialized. c. An object must be an instance of Serializable or Externalizable for it to be serialized. d. The methods in an object are serialized. e. All of the above are true. 15. Fill in the code in Comparable c = new Date(); a. <String> b. <?> c. <Date> d. <E>

16. Which of the following expressions must be true if you create a thread using Thread = new Thread(object)? a. object instanceof Thread b. object instanceof Frame c. object instanceof Applet d. object instanceof Runnable 17. The client requests a connection to a server using the following statement: a. Socket s = new Socket(ServerName, port); b. Socket s = serversocket.accept(); c. Socket s = serversocket.getsocket(); d. Socket s = new Socket(ServerName); 18. To obtain an ObjectInputStream from a socket, use. a. socket.getinputstream() b. socket.getobjectstream() c. socket.getobjectinputstream() d. new ObjectInputStream(socket.getInputStream()); 19. Analyze the following code: ResultSet resultset = statement.executequery ("select firstname, mi, lastname from Student where lastname " + " = 'Smith'"); System.out.println(resultSet.getString(1)); a. If the SQL SELECT statement returns no result, resultset is null. b. The program will have a runtime error, because the cursor in resultset does not point to a row. You must use resultset.next() to move the cursor to the first row in the result set. Subsequently, resultset.next() moves the cursor to the next row in the result set. c. resultset.getstring(1) returns the firstname field in the result set. d. resultset.getstring(1) returns the mi field in the result set. 20. To create a statement on a Connection object conn, use: a. Statement statement = conn.statement(); b. Statement statement = Connection.createStatement(); c. Statement statement = conn.createstatement(); d. Statement statement = connection.create();

Practical assignments 21. På ett zoo för däggdjur finns två apor (Bertil 4år och Strutharald 12 år), en kamel (Gösta 82år) och två japanska giraffer (Greger 15år och Knut 2år). Alla däggdjur har namn och ålder, dessutom låter de på ett specifikt sätt: Apa: heeeheeyaeeya Kamel: uuuhre + (kamelens namn) uuuhre + (kamelens namn) Giraff: shiiiittate shiiiittate... (lika många gånger som giraffen är gammal) Konstruera en generell applikation som modellerar ovanstående beskrivning. Det är viktigt att ni skapar en metod public String dozoo() vars syfte är att alla djur i parken får chansen att uttrycka sig, dvs. alla djurs läten returneras i en sträng (m.h.a. polymorfism). Skapa även en metod public double avgage() som beräknar genomsnittsåldern för djuren i parken. Skapa därefter ett enkelt grafiskt gränssnitt som visar upp resultatet av avgage och dozoo när motsvarande knapp klickas. Notera att gränssnittet endast skall ta emot ett objekt av klassen Zoo. Hårdkoda till sist ovanstående scenario i Main och skapa ett objekt av gränssnittet. Gränssnittet behöver inte stödja skapandet av djuren utan detta hårdkodas enklast i main. (15p) 22. På zooet från föregående uppgift finns det även två djurskötare som ansvarar för att hålla djuren med foder och vatten. Det finns endast ett vattentråg och ett fodertråg som djuren får samsas om, och endast ett djur får plats vid respektive tråg på en och samma gång. Djurskötarna undersöker med jämna mellanrum tråget dom är ansvariga för och fyller på om det är tomt, resterande tid sitter dom och fikar i sitt fikarum. Den tid som djuren inte antingen äter eller dricker spenderar dom på en dedikerad uteplats. Konstruera en applikation som modellerar ovanstående beteende där varje djur och djurskötare representeras av en egen tråd och där trågen är delade integer-variabler som endast får modifieras av en tråd på en och samma gång (använd någon form av synkronisering för att lösa detta). Skapa en metod som startar upp alla trådar med djur och djurskötare som kör tills applikationen stängs. För att simulera väntetid kan ni använda Thread.sleep(<millisekunder>). Ni kan välja mellan att utöka koden från föregående uppgift med den nya funktionaliteten eller börja om på nytt. Om ni använder föregående uppgifts lösning så kopierar ni den koden och fortsätter på den kopierade koden. (15p)