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



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

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

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

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

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: Tid: (OBS 3 tim) Rum: V

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

DELPROV 1 I DATAVETENSKAP

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

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

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

Tentamen, EDAA20/EDA501 Programmering

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

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

Tentamen, EDA501 Programmering M L TM W K V

OOP Objekt-orienterad programmering

Tentamen OOP

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

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

Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java.

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

TENTAMEN: Algoritmer och datastrukturer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.

Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

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

Chapter 3: Using Classes and Objects

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

Tentamen i Objektorienterad programmering

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

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

Chapter 4: Writing Classes/ Att skriva egna klasser.

Dugga i Grundläggande programmering STS, åk

Tentamen i Grundläggande programmering STS, åk

Redovisning av inlämningsuppgifter

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

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

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

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

System.out.println("Jaså du har "+ antaldollar + " stycken.");

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

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

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

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.

Tentamen, EDAA10 Programmering i Java

Objektorienterad programmering i Java

Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

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

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

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

TDDC77 Objektorienterad Programmering

Objektorienterad programmering D2

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Föreläsnings 9 - Exceptions, I/O

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

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

Lösningsförslag, tentamen FYTA11 Javaprogrammering

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

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

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

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

Föreläsning 5-6 Innehåll

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

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

TENTAMEN: Objektorienterad programutveckling, fk. Läs detta! Uppgifterna är inte ordnade efter svårighetsgrad.

Övningar Dag 2 En första klass

Laboration 10 - NetBeans

Lösningsförslag övning 2.

Föreläsning 3-4 Innehåll

Malmö högskola 2008/2009 CTS

DAT043 Objektorienterad Programmering

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

Programexempel: tärningsspel. Programexempel: tärningsspel Kasta tärning tills etta. Klassen Die Specifikation. Slumptalsgenerator Klassen Random

Objektorienterad Programmering (TDDC77)

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

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

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

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

OOP Tentamen

Tentamen i Programmeringsteknik I

Objektsamlingar i Java

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

Outline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine

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

Tentamen i Grundläggande programmering STS, åk

Lösningsförslag till tentamen

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

TENTAMEN: Objektorienterad programmering. Läs detta! Börja varje hel uppgift på ett nytt blad. Skriv inte i tesen.

Tentamen i Objektorienterad modellering och design

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Övning vecka 6. public void method2() { //code block C method3(); //code block D }//method2

Svaret kan ges i Javakod (eller i UML-klassdiagram). public class A { B minb;... } public class B { <B:s många variabler och metoder> } Lösning:

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Objektorienterad Programmering (TDDC77)

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

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Transkript:

1 (8) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt namn, personnummer och e-postadress på försättsbladet. Skriv rent dina svar. Oläsliga svar r ä t t a s e j! Programmen skall skrivas i Java 5, eller senare version, vara indenterade, renskrivna och i övrigt vara utformade enligt de principer som lärts ut i kursen. Onödigt komplicerade lösningar ger poängavdrag. Givna deklarationer, parameterlistor, etc. får ej ändras, såvida inte annat sägs i uppgiften. Läs igenom tesen och förbered ev. frågor. I en uppgift som består av flera delar får du använda dig av funktioner klasser etc. från tidigare deluppgifter, även om du inte löst dessa. Lösningarna fylls i direkt i tesen. Lycka till!

2 (8) Uppgift 1 Modellering a) Rita ett UML-diagram som motsvarar följande Java-kod. Det räcker om du ritar klassikonerna med klassnamnen ifyllda samt lämpliga relationspilar mellan dem. public class A private int size; public A(int size) this.size = size;... public class B private List<A> as; public B() as = new ArrayList<A>(); public void add(a a) as.add(a);... public class C private B b; private String name; public C(B b,string name) this.b = b; this.name = name; public class Main public static void main(string[] arg) B theb = new B(); for ( int i=0,int s=1; i < Integer.parseInt(arg[0]); i++) theb.add(new A(s)); s = s * 2; List<C> cs = new ArrayList<C>(); for ( int i = 0; i < Integer.parseInt(arg[1]); i++) cs.add(new C(theB, client + i));... (3 p)

3 (8) b) Skriv klassdeklarationer i Java som motsvarar följande UML-diagram. Det räcker med klasshuvudena. (2 p)

4 (8) Uppgift 2 Grafiska gränssnitt Komplettera följande ofullständiga GUI-kod. När man skapar ett objekt av klassen Gui skall ett fönster visas. I fönstret skall finnas en knapp med texten Update och ett textfält av typen JTextField. När man trycker på knappen skall metoden private String computesomething() anropas och returvärdet skrivas i textfältet. Textfältet skall ej vara editerbart för användaren. public class Gui public Gui() makeframe(); private void makeframe() private String computesomething()... // given

5 (8) Uppgift 3 Designmönster När klassn Gui nedan instansieras får man upp ett litet fönster med en knapp med texten Roll the die (kasta tärningen) och ett textfält där tärningens värde visas. När man trycker på knappen skall tärningens nya värde visas i textfältet. Klasserna är delvis färdiga, men det återstår en sak att göra, nämligen att tillämpa designmönstret Observer så att Gui blir observatör till Die. Komplettera koden! public class Die private int value; private static Random rand = new Random(); public Die() value = nextint(); public void roll() value = nextint(); public int getvalue() return value; private int nextint() return rand.nextint(6) + 1; public class Gui private Die die; private JTextField textfield; public Gui() makeframe(); die = new Die(); private void makeframe() // Färdig metod. // Metoden adderar en knapp och ett textfält till fönstret. // En lyssnare anropar die.roll() vid tryck på knappen.

6 (8) Uppgift 4 Aktiva objekt Komplettera följande klass så att ett klockslag visas i en komponent av typen JLabel varje sekund. Använd en Swing-timer. Ex. När exekveringen startar skall tiden 00:00:00 visas i komponenten, efter 17 sekunder 00:00:17, och efter 4847 sekunder 01:20:47, etc. Använd den färdiga metoden private String formatclocktime(int seconds) för att formatera sekundtid till klocktid i strängform. Metoden returnerar en sträng enligt exemplen ovan. public class Clock public Clock() makeframe(); private void makeframe() private String formatclocktime(int seconds)... // Given

7 (8) Uppgift 5 Strömmar och filer Du har en lista av mätvärden av typen Double och vill skriva dessa till en binär fil vars namn ges som argument till programmet. Först skall antalet tal i listan skrivas till filen och därefter talen. Vilka strömklasser bör användas? Skriv färdigt programmet! public class Main public static void main(string[] arg) List<Double> values = new ArrayList<Double>();... String filename = arg[0];

8 (8) Uppgift 6 Kommunikation Du håller på att bygga upp en Java-klass med olika hjälpmedel för att underlätta kommunikation. Klassen skall bl.a. innehålla metoden getremote som hämtar en kort text från en annan dator. Den skall ta en URL i textform, läsa filen, samt returnera innehållet i form av en sträng. Du kan anta att filen som skall läsas endast innehåller en textrad. Observera att metoden ej själv skall fånga några undantag. Ex. String content; try content = getremote( http://www.banken.se/mitt_konto.txt ); catch (...)... Skriv färdigt metoden! public static String getremote(string urlstring) throws MalformedURLException,IOException