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

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

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

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

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

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

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

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

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

JAVA Mer om klasser och objektorientering

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

DAT043 Objektorienterad Programmering

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

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

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

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

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

2D1339 Programkonstruktion för F1, ht 2004

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

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

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

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

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.

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

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

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

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

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

TDDC77 Objektorienterad Programmering

PROGRAMMERINGSTEKNIK TIN212

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.

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

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.

PROGRAMMERING-JAVA TENTAMINA

Lösningar för tenta 3 DAT043,

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

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

PROGRAMMERING-Java TENTAMINA

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

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

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

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 FYTA11 Javaprogrammering

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

Objektorienterad programmering i Java

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.

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

OBJEKTORIENTERAD PROGRAMMERING för Z1 (TDA540) Ansvarig: Jan Skansholm, tel eller

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

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

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

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

TENTAMEN OOP

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

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

Tentamen i Programmeringsteknik MN

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

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

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

2 b) Följande finns definierat: public class Käk String titel = "Chili con carne"; Krydda[] kryddor = new Krydda[10]; kryddor[0] = new Krydda("Svartpe

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Tentamen i Algoritmer & Datastrukturer i Java

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

Tentamen i Programmeringsteknik I,, KandMa/Fy,

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

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

Laboration 1 Introduktion till Visual Basic 6.0

Applets med komponenter

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

Malmö högskola 2008/2009 CTS

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ

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

Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.

Tentamen ID1004 Objektorienterad programmering April 7, 2015

Del A (obligatorisk för alla)

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

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

2 b) Följande finns definierat: public class Spel String titel = "Spel"; Dice[] tärningar = new Dice[10]; tärningar[0] = new Dice("Röd"); tärningar[1]

Laboration 1 - Grunderna för OOP i Java

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

Vad är ett objekt? Tillstånd och beteende. Vad är ett objekt? Exempel

Programmering för språkteknologer I, VT2012. Rum

Tentamen i Grundläggande Programvaruutveckling, TDA548

Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes

Tentamen i Grundläggande programmering STS, åk

Laboration 13, Arrayer och objekt

OOP Objekt-orienterad programmering

Föreläsning 3-4 Innehåll

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

Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för B,V (1p) 13 januari 2001, kl Hjälpmedel: En Javabok. För betyget godkänt krävs at

Lösningsförslag tentamen FYTA11 Java

PROGRAMMERING-Java Omtentamina

Transkript:

Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-04-28, kl 09.00-13.00 Hjälpmedel: Endast bifogat kompendium Återlämningstillfälle: fredag den 18/5 kl 12.00 i S200. Max: 64 poäng, för godkänt krävs 50%. Skriv tydliga och kortfattade svar! 1. Grunderna i Java (10p) a) Vilka av följande påståenden är sanna? (3p) I. Java är ett objektorienterat språk. II. Namn på variabler och objekt får innehålla bokstäverna å, ä och ö. III. I Java kan man använda variabler, objekt, referenser och pekare. IV. En medlemsvariabel som är deklarerad som "static" har ett värde som kan ändras. V. I en klassmetod så kan instansvariabler förekomma. b) Följande klass är ofullständig (3p) class Rektangel Rektangel(double hojd, double langd) double yta() Med hjälp av klassen så ska det vara möjligt att skapa ett objekt som beskriver en rektangel med höjd och längd. Metoden "yta" ska beräkna och returnera rektangelns yta med hjälp objektets höjd och längd. Skriv om klassen Rektangel så att den fungerar. c) Skriv ett program som skapar ett objekt av den klass Rektangel som förekommer i uppg b. (2p) Objektets höjd ska vara 4 och dess längd ska vara 5. Programmet ska skriva ut rektangelns yta. Ytan ska beräknas med hjälp av objektet. Förutsätt att klassen Rektangel är riktigt skriven, och förekommer i samma katalog som programmet. d) Förklara skillnaden mellan privat, publik och paket åtkomst. (2p)

2. Java: Fält och Strängar. Arv och gränssnitt. (7p) a) Vilket av följande två program kompilerar utan fel? (1p) 1. import java.awt.*; package MyPackage; class Myclass 2. package MyPackage; import java.awt.*; class MyClass b) Vilka av följande påståenden är sanna? (4p) 1. Alla klasser i Java utom java.lang.object är utvidgningar av klassen java.lang.object. 2. Ett fält (array) av strängar är själv en sträng. 3. Ett fält (array) av objekt är själv ett objekt. 4. Längden hos ett fält (array) kan ändras under exekveringen av ett program. 5. Det sista elementet i ett fält (array) av längden n har index n-1. 6. Alla klasser som innehåller en metod som deklareras som final måste själva deklareras som final. 7. Alla klasser som innehåller en metod som deklareras som abstract måste själva deklareras som abstract. 8. Alla klasser som innehåller en metod som deklareras som private måste själva deklareras som private. c) Ange de viktiska skillnaderna mellan en klass (class) och ett gränssnitt (interface) i Java? (2p) 2

3. Java: Användargränssnitt, Händelsehantering, Grafik och Applets (7p) a. Antag ett en applet innehåller ett textfält kallat tf_num som innehåller en text som representerar ett heltal. Skriv ett kodsegment som ändrar innehållet i textfältet så att det representerar ett heltal som är tre gånger större än det ursprungliga talet. (3p) Ex: om textfältet visar värdet 16 ska det efter ditt kodsegment visa vädet 48. Tips: Metoden parseint() i klassen Integer omvandlar en sträng till ett heltal. Metoden valueof() i klassen String omvandlar ett heltal till en sträng. b. Varför har man infört adapters, t.ex. MouseAdapter, som stöd vid implementering av lyssnarmetoder i Javas händelsehantering? (2p) c. Vilka av följande metoder är definierade i klassen Graphics? (2p) 1. drawline(int, int, int, int) 2. drawstring(string, int, int) 3. add(component) 4. setvisible(boolean) 5. setlayout(object) 4. Dataströmmar (10p) Skriv ett program läser de två första talen som förekommer i textfilen "tal.txt" och skriver ut summan av de båda talen till en binär fil med namnet "summa.bin". Förutsätt att textfilen förekommer i samma katalog som programmet. På varje rad i textfilen "tal.txt" förekommer endast ett tal, se följande utskrift C:\utveckling> type tal.txt -23.45 45.978 0.2 45.7-19.987 C:\utveckling> 5. SQL (10p) a) Förklara skillnaden mellan en typ 1 "JDBC-ODBC" drivrutin och en typ 4 "Native-protocol/all-Java" drivrutin (3p) Fråga b och c. I databasen "media" förekommer en tabell "books". Tabellen består av poster med två fält. Det första fältets namn är "author". Det andra fältets namn är "title". Båda fälten är av typen "VARCHAR". Här följer en klass med tre metoder. 3

import java.sql.*; public class Uppg5 private Connection anslutning; public void registrerabok(string titel, String författare) throws Exception Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); anslutning = DriverManager.getConnection("jdbc:odbc:media","",""); // Här saknas kod anslutning.close(); public void listaböcker() throws Exception Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); anslutning = DriverManager.getConnection("jdbc:odbc:media","",""); //Här saknas kod anslutning.close(); public static void main(string[] arg) throws Exception Uppg5 db = new Uppg5(); db.registrerabok("deitel & Deitel", "Java How to program"); db.listaböcker(); Metoden "registrera bok" ska lägga in en författare och boktitel i tabellen. Metoden "listaböcker" ska lista upp tabellens samtliga författare och böcker. b) Skriv den kod som saknas i metoden "listaböcker". (4p) Författare och böcker ska listas på bildskärmen enligt följande exempel, Y. Daniel Liang Introduction to Java programming Hans-Erik Eriksson Programutveckling med Java Jan Skansholm Java direkt Här följer ett exempel på en SQL-sats som väljer alla posters samtliga fält. SELECT * FROM books c) Skriv den kod som saknas i metoden "registrerabok". (3p) Här följer ett exempel på en SQL-sats som lägger in en ny post med författare och boktitel INSERT INTO books VALUES ('Herbert Schildt', 'Born to Code in C') 4

6. Klient - server (10p) a) Förklara hur ett TCP/IP-nätverk transporterar data mellan en klient och server (5p) Uppgift b och c. Uppgift c bygger på uppgift b. Med följande html-sida ska en användare kunna omvandla en temperatur i Fahrenheit till motsvarande värde i Celsius. <html> <head> <title>från Fahrenheit till Celsius</title> </head> <body> <form action="temperatur.jsp" method="post"> Temperatur i Fahrenheit: <input type="text" name="fahrenheit"> <input type="submit" value="omvandla till Celsius"> </form> </body> </html> b) Skriv den JSP-sida som ovanstående html-sida anropar. JSP-sidan ska använda en Java-böna för att omvandla Fahrenheit till Celsius-grader. JSP-sidan ska förmedla resultatet till användaren i form av en ny sida. I den här uppgiften behöver du inte skriva Java-bönan. (3p) c) Skriv den Java-böna som JSP-sidan i uppgift b ska använda. Sambandet mellan Fahrenheit och Celsius är följande, celsius = (5/9)*(fahrenheit-32) (2p) 7. Objektorienterat (10p) Här följer en klass med en main-metod i ett objektorienterat program. public class Uppg7 public static void main(string[] arg) Register registret = new Register(10); //Register med 10 platser registret.add(new Bil("GHJ768", "Kalle Johansson")); registret.add(new Traktor("CDR432", 467)); registret.skrivinfo(); registret = new Register(100); //Register med 100 platser registret.add(new Traktor("CFG856", 1023)); registret.add(new Bil("ZXW576", "Fredrik Svensson")); registret.add(new Bil("HJK778", "Lisa Asp")); registret.skrivinfo(); Följande utskrift ska genereras när programmet körs. Bil, regnr: GHJ768, agare: Kalle Johansson Traktor, regnr: CDR432, driftstid: 467 timmar Traktor, regnr: CFG856, driftstid: 1023 timmar Bil, regnr: ZXW576, agare: Fredrik Svensson Bil, regnr: HJK778, agare: Lisa Asp Skriv de klasser som saknas för att programmet ska fungera enligt ovanstående beskrivning. 5