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

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

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

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

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson

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

FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, , kl

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

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

Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal

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

Fortsättningskurs i programmering F 5. GUI händelsehantering - undantagshantering Hugo Quisbert AWT. Paket för hantering av grafik

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

Tentamen Nätverksprogrammering Lösningsförslag

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

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Objektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets

Grafiska komponenter.

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

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

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

2D1339 Programkonstruktion för F1, ht 2004

DAT043 Objektorienterad Programmering

2D1342 Programkonstruktion för F1, ht 2006

Lab5 för prgmedcl04 Grafik

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

2I1070 Lektion 2 Servlets och databaskopplingar Internetprogrammering 2I1049 Treskiktsarkitektur Klient-server med servlets

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Lösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel

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

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

Classes och Interfaces, Objects och References, Initialization

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

Tung bakgrundsaktivitet t.ex. Aktiva objekt t.ex. Animering, simulering. DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass.

Händelsestyrda program

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

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

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

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

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

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

F4. programmeringsteknik och Matlab

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

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

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

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

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

Concurrency Saker händer samtidigt. Process En instans av ett program

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

Tentamen , Grundläggande programmering i Java

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

Målen med OOSU. Objektorienterad programmering. Objektorienterad programmering. Karlstads Universitet, Johan Öfverberg 1

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

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

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

Trådar. Aktiva objekt

Lösningar för tenta 3 DAT043,

Klasshierarkier - repetition

FactoryCast HMI. Premium & Quantum PLC. Applets

Föreläsning 12. Föreläsning 12. Rörliga figurer Klassen Timer Undantag Något om applets. Rörliga appletsfigurer Klassen Timer Undantag

Tentamen LÖSNINGSFÖRSLAG. c) Tilldelningen C x = new D() ger kompileringsfel eftersom klassen D är abstrakt.

Java: kort introduktion. Trådar. Något om mutex, Dekkers algoritm och monitorer. Javas ("inbyggda monitor") synchronized.

Lösningar för tenta 2 DAT043,

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

Tentamen Nätverksprogrammering Lösningsförslag

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

Klassen javax.swing.timer

TENTAMEN OOP

Objektorienterad programmering

Laboration 15 Grafiskt användargränssnitt

Tentamen ID1004 Objektorienterad programmering May 29, 2012

Javas Exceptions. DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/ Kort om Javas Exceptions Trådar i Java

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

Tentamen Nätverksprogrammering Lösningsförslag

2I1049 Föreläsning 8. Grafiska gränssnitt i Java. AWT-komponenter. Grafiska gränssnitt, Java interface och händelsehantering

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Föreläsning 15 (16) Historik (java.awt) Historik (javax.swing) Introduktion till Swing

DEL 1 För att få godkänt på tentan (betyg 3) måste du lösa minst fem av sju uppgifter i denna del.

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

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.

Applets med komponenter

Dagens föreläsning. Arrayer och klasser. Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 1 )

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

Tentamen i Programmering

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.

Lösningsförslag till tentamen

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

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Programmering för språkteknologer II, HT2011. Rum

Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klass

Omentamen FYTA11 Javaprogrammering

Laboration 1 - Grunderna för OOP i Java

INTRODUKTION TILL JDBC

Objektorienterad Programkonstruktion. Föreläsning 4 8 nov 2016

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.

l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2

Frivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02

Transkript:

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Micael Karlsson TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2000-03-22, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle: Onsdag den12 april kl 11.50 i S200. Max: 69 poäng, för godkänt krävs 50%. Skriv tydliga och kortfattade svar! 1. Grunderna i Java (10p) Begränsa svaren till maximalt en halv sida per delfråga. a. Förklara mekanismen till Javas plattformsoberoende. (2p) b. Nämn en klass som är superklass till alla andra klasser i Java. (2p) c. Nämn ett paket som alla Java-program automatiskt har tillgång till. (2p) d. Beskriv två skillnader mellan en abstrakt superklass och ett gränssnitt. (2p) e. Förklara skillnaden mellan klassvariabler och instansvariabler. (2p)

2. Klasser och objekt. Typer och operatorer. Arv och gränssnitt. (10p) a. Vad kommer att skrivas ut när följande program körs? Gör en exakt beskrivning av programmets utskrift. (2p) //-Uppg2A--------------------------------------------- public class Uppg2A private int talet; public Uppg2A() this(5); public Uppg2A(int etttal) talet = etttal; public int gettal() return talet; Uppg2A första = new Uppg2A(111); Uppg2A andra = new Uppg2A(222); int talet = 333; System.out.println(första.talet); System.out.println(andra.talet); System.out.println(talet); b. Vad kommer att skrivas ut när följande program körs? Gör en exakt beskrivning av programmets utskrift. (2p) //-Uppg2B--------------------------------------------- public class Uppg2B extends Uppg2A private int talet; public Uppg2B(int etttal) talet = etttal; Uppg2A första = new Uppg2A(333); Uppg2B andra = new Uppg2B(444); System.out.println(första.getTal()); System.out.println(andra.getTal()); 2

c. Vad kommer att skrivas ut när följande program körs? Gör en exakt beskrivning av programmets utskrift. (2p) //-Uppg2C--------------------------------------------- public class Uppg2C extends Uppg2B private int talet; public Uppg2C(int etttal) super(7); talet = etttal; public int gettal() return talet; Uppg2A första = new Uppg2B(555); Uppg2A andra = new Uppg2C(666); System.out.println(första.getTal()); System.out.println(andra.getTal()); d. Följande program är inte fullständigt. Komplettera med den kod som saknas. (4p) //-Uppg2D--------------------------------------------- public class Uppg2D VaruVagn vagnen = new VaruVagn(5); //En vagn med plats för 5 varor vagnen.add(new Bok("Den gamle och havet")); vagnen.add(new CD("En vintersaga")); vagnen.add(new Bok("Vilse i pannkakan")); vagnen.add(new Bok("Kometen kommer")); vagnen.add(new CD("Klapp och Klang")); vagnen.printinfo(); När programmet körs så ska följande utskrift genereras: Varuvagnen innehåller: Bok - Den gamle och havet CD - En vintersaga Bok - Vilse i pannkakan Bok - Kometen kommer CD - Klapp och Klang 3

3. Användargränssnitt, Händelsehantering (9p) a Vilka av följande satser är korrekta? (2p) 1. Object o = new Button("A"); 2. Panel p = new Frame(); 3. Frame f = new Panel(); 4. Panel p = new Applet(); b. En Button-komponent ska placeras i en applet och man önskar att komponentens storlek INTE ska påverkas av appletens storlek. Vilken eller vilka layout-managers kan då användas? (1p) c. Vilket utseende får appleten när följande kod körs? (2p) import java.awt.*; import java.applet.*; public class CompLay extends Applet public void init() Panel p = new Panel(); p.setbackground(color.pink); p.add(new Button("Ett")); p.add(new Button("Två")); p.add(new Button("Tre")); setlayout(new BorderLayout()); add("south",p); setsize(300,300); setvisible(true); d. Vilka av följande påståenden är korrekta? (2p) 1) Om flera lyssnare registreras hos en komponent så kommer endast den senast registrerade lyssnaren att bearbetas. 2) Om flera lyssnare registreras hos en komponent så kommer händelsen att hanteras i alla lyssnare men utan någon specificerad ordningsföljd. 3) Registrering av flera lyssnare till en komponent leder till kompileringsfel. 4) Man kan både ta bort och registrera lyssnare till en komponent. e. Vilka av följande är korrekta metoder för händelsehantering? (2p) 1) mouseclicked(mouseevent e) 2) MouseClicked(MouseClick e) 3) functionkey(keypress k) 4) keypressed(keyevent e) 4

4. Applets och grafik (8p) a. Följande kod ska definiera en enkel applet import java.applet.applet; import java.awt.*; public class Sample extends Applet private String text = "Hello World"; public void init() add(new Label(text)); public Sample(String string) text = string; Koden anropas från följande HTML-sida: <html> <title>sample Applet</title> <body> <applet code="sample.class" width=200 height=200></applet> </body> </html> Vad blir resultatet när appleten kompileras och exekveras? (2p) b. Vilka av följande exempel visar det korrekta sättet att överföra en parameter till en applet? 1. <applet code=test.class age=33 width=100 height=100> 2. <param name=age value=33> 3. <applet code=test.class name=age value=33 width=100 height=100> 4. <applet Test 33> c. Vad gör metoden repaint()? Motivera behovet av denna metod. (2p) d. Vilka av följande metoder är definierade för klassen Graphics 1. add(component); 2. setvisible(boolean); 3. setlayout(object); 4. drawline(int, int, int, int) 5. drawimage(image, int, int, ImageObserver) 6. drawstring(string, int, int) 5

5. Trådar. Exceptionella händelser och JDBC (12p) a. Vad händer när man försöker kompilera och exekvera följande program? (2p) public class Bground extends Thread public static void main(string argv[]) Bground b = new Bground(); b.run(); public void start() for (int i = 0; i <10; i++) System.out.println("Value of i = " + i); b. Vilka av följande metoder kan avbryta en tråds exekvering? (2p) 1. sleep(); 2. yield(); 3. wait(); 4. notify(); 5. notifyall() 6. synchronized() c. Vilka av följande påståenden om trådning i Java är korrekta? (2p) 1. Algoritmen för schedulering av trådar är plattformsberoende. 2. Man kan endast erhålla en ömsesidigt uteslutande låsning på metoder i de klasser som ärver Thread eller implementerar Runnable. 3. Man kan erhålla ömsesidigt uteslutande låsning på metoder i alla klasser. 4. En tråd kan skapa en ömsesidigt uteslutande låsning i en metod som är deklarerad med nyckelordet synchronized. d. Vad blir utskriften när följande program kompileras och exekveras? (2p) import java.io.*; import java.net.*; public class Base private void test() try String a = null; String b = "b"; // Complex processing if(a==null) throw new MalformedURLException("test"); if(b ==null) throw new EOFException("test"); // Complex processing System.out.println("Slut på try block"); catch (MalformedURLException e) System.out.println("MalformedURLException inträffade"); return; catch (EOFException e) System.out.println("EOFException inträffade"); return; System.out.println("Bearbetningen slut"); static public void main(string[] a) new Base().test(); 6

e. Kombinera något av följande begrepp med påståendena nedan (4p) 1. driver 6. ResultSet 2. SELECT 7. Connection.createStatement() 3. UPDATE 8. Class.forName() 4. jdbc 9. Statement.executeQuery() 5. odbc En SQL-sats som förändrar en tabell En SQL-sats som returnerar en resultatmängd En metod som laddar drivrutiner Microsoft's standardteknik för att ansluta ett program till databaser 6. Dataströmmar (10p) Skriv ett program "Summerare" som frågar användaren om decimaltal, räknar ut summan av talen och skriver därefter ut summan till en textfil med namnet "resultat.txt". Användaren ska kunna avbryta inmatningen av tal genom att trycka <ctrl-z>. Här följer ett exempel på en körning av programmet och utskrift av textfilen. F:\t000322\uppg6>java Summerare 2.1 1.9 0.4321 ^Z F:\t000322\uppg6>type resultat.txt 4.4321 F:\t000322\uppg6> 7. Nätverkskommunikation (10p) Begränsa svaren för delfråga a, b och c till maximalt en halv sida per fråga. a. Beskriv en viktig skillnad mellan RMI och CORBA. (2p) b. Beskriv en viktig skillnad mellan servlets och applets? (2p) c. Beskriv en viktig skillnad mellan JDK1.1 och JDK1.2 säkerhetsmodell. (2p) d. Skriv kod för en server som fungerar enligt följande beskrivning: (4p) En server exekverar på en dator. Serverns funktion är följande. Servern lyssnar efter datagram via porten 3333. Om ett datagram anländer så skriver servern ut det textmeddelande som datagrammet innehåller, till datorns bildskärm. Därefter återgår servern till att vänta på nya datagram. Utgå ifrån att de meddelanden som sänds till servern inte är större än 75 byte. 7