DD1342 Programkonstruktion för F1,

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

2D1342 Programkonstruktion för F1, ht 2006

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

2D1339 Programkonstruktion för F1, ht 2003

Java, klasser, objekt (Skansholm: Kapitel 2)

Malmö högskola 2008/2009 CTS

2D1339 Programkonstruktion för F1, ht 2004

JAVA Mer om klasser och objektorientering

2D1339 Programkonstruktion för F1, ht 2003

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

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

5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har

TENTAMEN OOP

Laboration 1 - Grunderna för OOP i Java

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]

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

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

DD1342 Programkonstruktion för F1, ht 2007

Tentamen. Lösningsförslag

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder

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

2 b) Bodega bodegan = new Bodega(); double moms = 0.235; String namn = "Vargtass"; System.out.println(namn + " " + moms + bodegan.ändra(moms, namn); S

"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde

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

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

TENTAMEN OOP

(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

Lab5 för prgmedcl04 Grafik

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

DAT043 Objektorienterad Programmering

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

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

public och private Obs: private inte skyddar mot access från andra objekt i samma klass.

Föreläsning 5-6 Innehåll

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.

Enkla variabler kontra referensvariabel

2 b) Följande finns definierat: import java.awt.*; public class Uppgift1b public static void main(string[] mupp) Color färg = Color.blue; Bil[] bilar

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

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

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

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

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Tentamen i Programmeringsteknik I

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 8 - del 2: Objektorienterad programmering - avancerat

Inkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private

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

TDDE10 TDDE11, 725G90/1. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU

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

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/ Exempel: Implementation av Schackpjäser.

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

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

Lösningsförslag övning 2.

Tentamen i Programmeringsteknik I

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

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

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

OOP Tenta

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

LÖSNINGSFÖRSLAG TENTAMEN

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

Föreläsning 3-4 Innehåll

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

Fält av referenser. Konstruktorerna används för att skapa Bilar och Trafikljus.

Tentamen. DD2385 Programutvecklingsteknik vt 2014 Måndagen den 2 juni 2014 kl Hjälpmedel: penna, suddgummi, linjal

TENTAMEN OOP

Tentamen OOP

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

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

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

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

OOP Objekt-orienterad programmering

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

Sammanfattning och repetition utgående från typiska tentamensuppgifter

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

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

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

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

PROGRAMMERINGSTEKNIK TIN212

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

Konstruktion av klasser med klasser

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

Modeller, Objekt och Klasser

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

OOP Omtenta

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 7/ Exempel: Implementation av Schackpjäser.

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

Del A (obligatorisk för alla)

Administrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering

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

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

Objektorienterad programmering i Java

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

Del A (obligatorisk för alla)

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

Instuderingsfrågor, del D

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

2203$( Föreläsning ii - Mer om Java bla this och konstruktorer. Exempel: lampa

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU

Transkript:

DD1342 Programkonstruktion för F1, 2007-2008 Lappskrivning 2 Tisdag 5/2 2008 kl 14.15 15.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga hjälpmedel är tillåtna. 10-13 rätt av 16 möjliga ger säkert godkänt och 2poäng. 14-16 rätt ger säkert 3poäng Skriv alla svar på svarsblanketten! 1. Vilket är namnet på den metod där exekveringen av ett fristående program i Java alltid börjar? A) public B) static C) void D) main 2. Några variabler av typ String definieras så här: String s1 = "Äppel"; String s2 = "paj"; String s3 = "Äppelpaj"; String s4 = s1+s2; Vilket av uttrycken nedan har värdet false givet definitionerna ovan? (De uttryck som inte är false, är alla true.) A) s3 == s4 B) s4.equals(s3) C) s3.equals(s4) D) s1.length() > s2.length() 3. Antag att heltalsvektorn a (typen int[]) är deklarerad och initierad, dvs den finns och har värden. Vilket påstående är sant efter programavsnittet har exekverats? boolean hemlig = false; for (int i=0; i<a.length; i++) { if (a[i] == 0) { hemlig = true; // vilket värde har hemlig här? A) hemlig har värdet false oavsett hur vektorn a ser ut B) hemlig har värdet true oavsett hur vektorn a ser ut C) Om det finns minst en nolla i vektorn a så har hemlig värdet true, omvektorn är utan nollor så är hemlig false. D) Endast om alla värden i vektorn är nollor så har hemlig värdet true, vektorn int[] a = {0,0,1 skulle ge hemlig värdet false. 1

4. Vad blir utskriften från följande satser? String[] kryddor = {"Basilika", "Timjan", "Oregano", "Rosmarin"; String[] örter = {"Persilja", "Salvia", "Mejram"; kryddor[1] = örter[1]; örter = kryddor; System.out.println(kryddor[1] + " " + örter[2]); A) Salvia Mejram B) Timjan Oregano C) Salvia Oregano D) Timjan Mejram Klasserna Beräkningar och Presentation finns i samma filkatalog och definieras såhär: class Beräkningar { int minv = 25; // fler variabler och metoder class Presentation { Beräkningar minab; Presentation (Beräkningar b) { // *** här fattas något -- Uppgift 5 void skriv () { //??? vad får stå här? -- Uppgift 6 Varje objekt av Presentation ska känna till ett objekt av Beräkningar. Presentation - objekt ska kunna hämta data ur sitt objekt av Beräkningar. 5. I konstruktormetoden till Presentation ser man till att Presentation- objektet får reda på vilket Beräkningar-objekt som ska användas samt sparar denna information. Hur ska konstruktorn kompletteras (vid ***) för att det ska bli rätt? A) minab = b; B) Beräkningar minab; C) Beräkningar b = minab; D) b = minab; 6. Presentation-objektet ska kunna skriva ut data som hämtas från Beräkningarobjektet. Detta symboliseras här av metoden skriv(). Vilken av följande utskriftssatser är riktig i metoden skriv, alltså vid????viförutsätter att att konstruktorn är korrekt enligt uppgift 5 och att inga ytterligare deklarationer av instansvariabler eller lokala variabler i instansmetoder görs i Presentation. A) System.out.println(minv); B) System.out.println(minaB.minv); C) System.out.println(Beräkningar.minv); D) System.out.println(minv.minaB); 2

Klassen Punkt definieras så här: class Punkt { static int z = 10; int x = 1; int y = 1; Punkt () { z = z - 1; public void sättkoord (int ix, int iy) { x = ix; y = iy; static void skrivz () { System.out.println("z = " + z); 7. Hur många konstruktorer, instansmetoder respektive klassmetoder har klassen Punkt? A) 2 konstruktorer, inga instansmetoder, 1 klassmetod B) 1 konstruktor, 2 instansmetoder, inga klassmetoder C) 1 konstruktor, 1 instansmetod, 1 klassmetod D) 3 instansmetoder 8. En main-metod i en annan klass på samma filkatalog som Punkt innehåller följande satser (och inga andra satser). Punkt p1 = new Punkt(); Punkt p2 = new Punkt(); p2.sättkoord(12,5); Punkt p3 = new Punkt(); Punkt.skrivZ(); Vad kommer att skrivas ut? A) z = 8 B) z = 10 C) z = 7 D) z = 9 9. Endast en av satserna nedan är riktig om klassen Punkt definieras enligt ovan. Vilken då? Satserna finns i en metod i en klass på samma filkatalog som klassen Punkt. A) Punkt vertex = new Punkt(487,1729); B) int koordinat = Punkt.x; C) int koordinat = Punkt.y; D) int koordinat = Punkt.z; 3

10. Följande programrader definierar en matris och ger den värden. int n = 5; int[][] m = new int[n][n]; // alla matriselement sätts till 0 från början for (int i=0; i<n; i++) { m[i][0] = 1; m[0][i] = 1; m[i][n-1] = 1; m[n-1][i] = 1; Hur ser den skapade matrisen ut efter for-satsen är utförd? 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 A B C D 11. Om följande två satser står i en main-metod, vad skrivs ut då man kör programmet? int[][] m = {{5,11,1,{2,3,4,{7,1,2; System.out.println(m[ m[0][2] ] [ m[2][2] ]); A) 2 B) 4 C) 5 D) 7 12. Klassen T finns och kan användas som superklass. Klasserna Z, Y och X definieras så här: class Z extends T { class Y extends Z { class X extends T { class W extends Z { Vilken av följande satser är inte tillåten givet klasserna ovan? A) Object r1 = new Y(); B) Y r4 = new X(); C) Z r2 = new Z(); D) T r3 = new W(); 4

13. Endast ett av följande påståenden om konstruktormetoder i Java är sant. Vilket? A) Konstruktormetod är detsamma som klassmetod. B) En klass får ha flera konstruktormetoder men konstruktormetoderna måste då ha olika parameterlistor. C) Exekvering av ett fristående program startar alltid i klassens konstruktormetod. D) Konstruktormetod är detsamma som instansmetod. 14. När ett lyssnarobjektska användas för att ta hand om händelsen att användaren ändrar inställning på en JScrollBar används metoden addadjustmentlistener för att koppla ihop lyssnarobjektet med det objekt där händelsen väntas, t.ex. så här: xxx.addadjustmentlistener(yyy); Vilket av alternativen nedan med påståenden om xxx och yyy är sant? A) yyy refererar till lyssnarobjektet som skall innehålla metoden adjustmentvaluechanged. xxx refererar till det objekt där händelse väntas. B) yyy refererar till lyssnarobjektet som skall innehålla metoden AdjustmentEvent. xxx refererar till det objekt där händelse väntas. C) xxxrefererartill lyssnarobjektetsomskallinnehålla metoden adjustmentvaluechanged. yyy refererar till det objekt där händelse väntas. D) xxx refererar till lyssnarobjektet som skall innehålla metoden AdjustmentEvent. yyy refererar till det objekt där händelse väntas. 5

15. Studera följande lilla program: class Uppgift15 { static void fixa (int p) { // En hemlig men korrekt metodkropp public static void main (String[] x) { int n = 5; fixa(n*n); System.out.println("n= " + n); //*** Vad skrivs ut av satsen som kommenteras med ***, dvs vilket värde har variabeln n direkt efter anropet av metoden fixa? A) n = 0 B) n = 5 C) n = 25 D) Det går inte att svara påfrågan utan att se hela definitionen av metoden fixa. 16. Studera följande två små (ofullständiga) klassdefinitioner som är tänkta att användas i ett spelprogram. Båda klasserna har parameterlösa konstruktorer. class Djur { void sätthastighet(double v) { // m/s // satser som sätter djurets hastighet class Fladdermus extends Djur { // en massa intressanta definitioner Ienannanklassän de ovan skapar man objekt av Fladdermus med Fladdermus fm = new Fladdermus(); Hur skriver man för att direkt därefter ge detta Fladdermus-objekt hastigheten 4.3 m/s? A) Fladdermus.sättHastighet(4.3); B) Djur.sättHastighet(fm, 4.3); C) sätthastighet(fm, 4.3); D) fm.sätthastighet(4.3); 6