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

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

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

TENTAMEN I DATAVETENSKAP

DELPROV 1 I DATAVETENSKAP

TENTAMEN. Kurskod/Kurs: 5DV013, Datakommunikation och datornät. Ansvariga lärare: Jerry Eriksson Anders Broberg

Föreläsnings 11 - GUI, Händelsestyrda program, MVC

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

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

Föreläsning 3: Händelsestyrda program och användargränssnitt

Objektorienterad programmering, Java, 5p TDBA63

Tentamen i Grundläggande programmering STS, åk 1 lördag

Lösningar för tenta 3 DAT043,

Swing. MER Java Foundation Classes (JFC) Hur lära sig? Vad är farorna. LayoutManagers. Exempel på några av komponenterna

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

Swing. MER Java Foundation Classes (JFC) Vad är farorna. Hur lära sig? LayoutManagers. Exempel på några av komponenterna

Tentamen i Objektorienterad programmering

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

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

Lösningsförslag tentamen FYTA11 Java

Mer om grafiska komponenter. Händelsestyrda program

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

Tentamen, EDAA10 Programmering i Java

Lycka till! TENTAMEN: Objektorienterade applikationer. Läs detta! 1 (6) Tentamen

Lösningsförslag till tentamen

Tentamen i Grundläggande programmering STS, åk

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

Tentamen. Grundläggande programmering i Java A 5p, DTAA

Tentamen i Grundläggande programmering STS, åk

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015

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

ITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

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

Dugga i Grundläggande programmering STS, åk

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

PROGRAMMERINGSTEKNIK TIN212

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. Objektorienterade applikationer CHALMERS. 2018/2019, lp 3 DAT055. Uno Holmer

Tentamen i Programmeringsteknik I, ES,

Tentamen i Objektorienterad modellering och design

Lösningsförslag till tentamen

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

Föreläsning 10. ADT:er och datastrukturer

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

Tentamen, EDA501 Programmering M L TM W K V

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

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

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

ITK:P1 Lektion 4. Lektion 4. Lektion 4. Att implementera en spelidé i Java. DSV Peter Mozelius

Tentamen i Objektorienterad programmering

Tentamen i Programmeringsteknik I,, KandMa/Fy,

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

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

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

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

Tentamen i Objektorienterad modellering och design Helsingborg

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

OOP Tentamen

Objektorienterad Programmering DAT043. Föreläsning 5 29/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)

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

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

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.

Två designmönster, MVC och Observer/Observable. Objektorienterad programvaruutveckling GU (DIT011)

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

Tentamen i Programmering

Tentamen i Programmeringsteknik I

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

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

Tentamen Programmering fortsättningskurs DIT950

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

TENTAMEN OOP

OBJEKTORIENTERAD PROGRAMMERING för Z1 (TDA540)

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

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

OOP Tentamen

a. Vilka av följande påståenden är riktiga? Observera att felaktigt valda påståenden ger poängavdrag. (4p)

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

Lösningsförslag till tentamen

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

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

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Subklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser

Laboration 24 Databasen MySQL och java

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

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt

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

Tentamen. Lösningsförslag

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

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

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.

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

TENTAMEN. Kurskod/Kurs: 5DV013, Datakommunikation och datornät 5DV065, Datakommunikation och Internet

Laboration 13, Arrayer och objekt

Kort om klasser och objekt En introduktion till GUI-programmering i Java

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

OOP Omtenta

Lösningsförslag till tentamen i EDAF25 Objektorienterad modellering och design Helsingborg

Transkript:

UMEÅ UNIVERSITET Institutionen för Datavetenskap 13-04-04 TENTAMEN Kurs: Applikationsutveckling i Java 5DV135 Ansvarig lärare: Johan Eliasson HT12 Datum: 13-04-04 Tid: kl 9.00-13.00 Namn: Personnummer: Kodnr: 65 Till skrivningsbevakaren: Avskilj detta (sid1) försättsblad och stoppa i kuvert som skickas till Yvonne Löwstedt, Datavetenskap OBS! OBS! Denna skrivning rättas kodad. Detta blad kommer att avskiljas innan läraren får skrivningen för rättning. Ovanstående kod måste därför finnas på samtliga svarsblad när du lämnar skrivningen till skrivvakten. Memorera ditt kodnummer eftersom det även kommer att användas som referens när resultaten meddelas. UMEÅ UNIVERSITET 901 87 UMEÅ Johan Eliasson Tel.: 070-2378695 e-mail: johane@cs.umu.se

UMEÅ UNIVERSITET Institutionen för Datavetenskap UMEÅ UNIVERSITY Dept of Computing Science TENTAMEN Kurs: Applikationsutveckling i Java 5DV135 Ansvarig lärare: Johan Eliasson HT12 Datum: 13-04-04 Tid: kl 9.00-13.00 Kodnr: 65 Problem Lösning Poäng 1 2 3 4 5 6 7 Summa Betyg 2

Applikationsutveckling i Java Datum : 13-04-04 Tid : 9-13 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 30 Börja varje uppgift på nytt papper. Skriv ditt tentakodnummer och uppgiftens nummer på varje papper. Skriv bara på ena sidan av papperet. Sortera dina papper efter uppgiftsnummer. 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 lösa alla uppgifter! Observera att uppgifterna inte är ordnade efter svårighetsgrad. Det är ditt ansvar att övertyga om att du besitter den kunskap som efterfrågas. Uppgifter kan vara felformulerade, fråga om du är osäker eller tycker att något verkar konstigt. Redovisa dina resonemang så är det lättare att bortse från skrivfel. Det är viktigt att du löser den givna uppgiften! Lycka till! 3

Uppgift 1. (5 poäng) Förklara övergripande hur man arbetar då man använder sig av Test Driven Development (TDD) Uppgift 2. (2+1=3 poäng) a) Följande XML-dokument är inte korrekt. Ange vilka fel (2st) som finns i dokumentet. <?xml version="1.0" encoding="iso-8859-1"?> <bibliotek namn="umeå Stadsbibliotek"> <boksamling> <bok språk="engelska> <titel>hitchhiker's guide to the galaxy</titel> <författare>douglas Adams</författare> </bok> <bok språk="svenska"> <titel>liftarens guide till galaxen</titel> <författare>douglas Adams</författare> </bok> </boksamling> b) Under kursens gång har vi tittat huvudsakligen på en teknik för att validera XML-dokument. Vad heter denna teknik? Uppgift 3. (4 poäng) Vad används följande till då man konstruerar grafiska användargränssnitt i java. a) Layout managers b) Containers c) TableModel d) JList Uppgift 4. (1+1+3+1=6 poäng) a) Vad är ett Design Pattern b) Designpatterns delas ofta (bland annat i boken Design Patterns: Elements of Reusable Object-Oriented Software av GoF) in i tre kategorier. Vilka? c) Förklara hur man kan implementera designmönstret Decorator. d) Ange ett tillfälle då Decorator används i Javas klassbibliotek. Uppgift 5. (2 poäng) Vad är SQL för något och vad används det till? Uppgift 6. (5 poäng) Beskriv med hjälp av ett UML-sekvensdiagram beteendet i metoden nedan void sendmessage() { String text = mmessagearea.gettext(); mcommunicator.sendmessage(muser, text); mmessagearea.settext(""); mmessagearea.grabfocus(); 4

Uppgift 7. (5 poäng) I följande program så var det meningen att en tryckning på knappen i gränssnittet skulle visa det nuvarande värdet på en kontinuerligt uppräknad räknare och det förgående värdet räknaren hade innan sista uppräkningen. Det tidigare värdet borde eftersom räknaren räknas upp med ett varje gång alltså vara ett mindre än det nuvarande då vi inte drabbas av overflow. Vid en test av programmet så fick man dock inte alls de resultat som man förväntade sig. Ange vilka åtgärder som behövs för att göra koden trådsäker (och därmed fungerande). public class Main { public static void main(string[] args) { InfiniteCounter infinitecounter=new InfiniteCounter(); GUI gui=new GUI(infiniteCounter); gui.makevisible(); infinitecounter.start(); import java.awt.borderlayout; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; public class GUI { private JFrame frame; private JLabel textlabel; private InfiniteCounter infinitecounter; public GUI(InfiniteCounter infinitecounter) { this.infinitecounter=infinitecounter; frame=new JFrame("Tentaproblem"); frame.setsize(300, 300); JButton button=new JButton("GetCurrentValue"); frame.add(button,borderlayout.north); textlabel = new JLabel(); frame.add(textlabel,borderlayout.south); button.addactionlistener(new ActionListener() { @Override public void actionperformed(actionevent e) { String value=gui.this.infinitecounter.getstring(); textlabel.settext(value); ); public void makevisible() { frame.setvisible(true); 5

public class InfiniteCounter extends Thread { private int value; private boolean running; private int prevval; public String getstring() { return "Value= " +value + " Previous value was "+ prevval; public void increasecounter() { prevval = value++; @Override public void run() { running=true; while(running) { increasecounter(); public void finish() { running=false; 6