Tentamen i Programmeringsteknik I, ES, 2010-03-18

Relevanta dokument
Tentamen i Programmeringsteknik I,, KandMa/Fy,

Tentamen i Programmeringsteknik I

LyckaTill önskar Anna

Tentamen i Programmeringsteknik I

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

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

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 Programmeringsteknik I

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

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

Tentamen, EDAA20/EDA501 Programmering

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

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

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

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.

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

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.

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

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

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

Del A (obligatorisk för alla)

TENTAMEN OOP

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

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

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

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

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

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.

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

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

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 övning 2.

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]

PROGRAMMERINGSTEKNIK TIN212

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

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

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

Tentamen, EDA501 Programmering M L TM W K V

Föreläsning 5-6 Innehåll

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

OOP Tenta

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

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

TENTAMEN OOP

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

OOP Tentamen

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

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

Malmö högskola 2008/2009 CTS

Institutionen för TENTAMEN CTH VT-15 Datavetenskap TDA540. Tentamen för TDA540 Objektorienterad programmering

Del A (obligatorisk för alla)

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

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

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.

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

Tentamen i Programmeringsteknik MN

Institutionen för TENTAMEN CTH HT-15 Datavetenskap TDA540. Tentamen för TDA540 Objektorienterad programmering

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

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

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

OOP Tentamen

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

Tentamen i Programmeringsteknik MN

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

Tentamen. Programmeringsmetodik, KV: Java och OOP. 20 januari 2005

Tentamen i Grundläggande programmering STS, åk

Tentamen. Lösningsförslag

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

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

Lösningsförslag tentamen FYTA11 Java

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

Tentamen i Programmering

OOP Omtenta

Tentamen, EDA501 Programmering M L TM W K V

Tentamen ID1004 Objektorienterad programmering April 7, 2015

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

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

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.

TENTAMEN OOP

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

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

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

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

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

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

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

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

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

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

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

OOP Tentamen

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

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

Sammanfattning och repetition utgående från typiska tentamensuppgifter

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

Sortering. Om du följt dessa steg korrekt så ska böckerna nu vara sorterade.

PROGRAMMERING-Java TENTAMINA

OOP Omtenta

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

Transkript:

Tentamen i Programmeringsteknik I, ES, 2010-03-18 Skriv tid: 14-17. Hjälpmedel: 1. Kurslitteratur, en av följande: Lewis & Loftus, Java Software Solutions Skansholm, Java Direkt Guzdial & Ericson, Intrododuction to computing & programming. Litteraturen får inte innehålla överdrivet mycket anteckningar. 2. Penna, radergummi, linjal. Tentamen består av fyra uppgifter och maxpoängen är 24. För att bli godkänd på tentamen (betyg 3) krävs minst 15 poäng För att få betyg 4 på tentamen krävs minst 18 poäng. För att få betyg 5 på tentamen krävs minst 21 poäng. Instruktioner: Programmen skall vara skrivna i Java om inte annat anges. Programmen skall vara skrivna med vettig layout och förståeliga. Tydliggör gärna matchande måsvingar. Skriv varje uppgift på nytt papper. Skriv inte på baksidan. Använd inte rödpenna. Läs uppgifterna noga så du vet vad som skall göras. Gör inte mer än det som efterfrågas. Även ofullständiga lösningar och/eller lösningsskisser kan ge poäng om de visar att du tänkt rätt Läs igenom uppgiften igen när du löst den så att ser att du verkligen gjort rätt saker. Innan du lämnar in dina lösningar: o Lägg uppgifterna i rätt ordning. o Skriv namn på alla papper. o Skriv uppgiftens nummer i övre högra hörnet på varje blad. Lycka till! Torsten 1

Uppgift 1 (6p) En stegräknare används för att bokföra antalet steg man tar vid en promenad. Antag att den innehåller följande tre egenskaper: Räknare för det totala antalet steg som man använt stegräknaren Räknare för antalet steg när stegräknaren senast användes. Namnet på den som äger stegräknaren Skriv en klass StegRaknare som innehåller följande: Instansvariablerna toträknare, senasträknare och ägare. Två konstruktorer. En utan parameter och en med lämplig parameter (eller lämpliga parametrar). En metod stega som ökar båda räknarna med ett. En metod nollställ som nollställer instansvariabeln senasträknare. En tostring-metod för att erhålla information om stegräknaren. Skriv också en mainmetod som Skapar en stegräknare med konstruktorn med parameter (parametrar). Stegräknaren skall sedan stegas 1000 steg. Skriv ut information om stegräknaren. Nollställ stegräknaren Skriv ut information om stegräknaren Stegräknaren stegas 500 steg Skriv ut information om stegräknaren. Så här kan en körning av mainmetoden se ut: Ägare=Kim. Antal steg=1000. Totalt antal steg=1000 Ägare=Kim. Antal steg=0. Totalt antal steg=1000 Ägare=Kim. Antal steg=500. Totalt antal steg=1500 2

Uppgift 2 (6p) a) Givet är följande klass där vi enbart ser metodernas huvud: public class EnKlass { public EnKlass() { public void metoda(int h) { public int metodb() { // Slut på EnKlass Här är en mainmetod som använder klassen: public static void main(string[] args) { EnKlass e = new EnKlass(); int[] x = {4, 5, 6; int tal = 2; e.metoda(tal); // (1) e.metoda(x[3]); // (2) e.metoda(x[tal]); // (3) e.metoda(x); // (4) int y = e.metoda(2) + 7; // (5) int z = e.metodb() + 8; // (6) Vilka av satserna (1)-(6) är INTE tillåtna och varför? 3

b) Givet är följande fungerande klass: public class Vektor { private double x, y; public Vektor() { this.x = 0; this.y = 0; public Vektor(double initx, double inity) { this.x=initx; this.y=inity; public double getx() { return this.x; public void setx(double newx) { this.x=newx; public void add (Vektor other) { this.x = this.x + other.x; this.y = this.y + other.y; public void scale (double factor) { this.x = this.x*factor; this.y = this.y*factor; public String tostring() { String str = "x="+this.x+" y="+this.y; return str; // Slut klassen Vektor Vad skrivs ut av följande fungerande mainmetod? public static void main (String[] arg ) { Vektor v1 = new Vektor(); Vektor v2 = new Vektor(4.0,3.0); v2.setx( v1.getx()+1 ); v2.scale(10.0); v2.add(v1); System.out.println(v1); System.out.println(v2); // slut main 4

c) En partikel kan med en enkel modell beskrivas som en cirkel med en centrumpunkt och en radie. En del av en klass Partikel kan då se ut så här: public class Partikel { private double x,y,r; public Partikel() { this.x=0.0; this.y=0.0; this.r=1.0; public Partikel(double inx, double iny, double inr) { this.x=inx; this.y=iny; this.r=inr; // Slut klassen Partikel En klass SpecialPartikel skall ärva klassen Partikel. Klassen SpecialPartikel skall ha en instansvariabel vikt som anger vikten på partikeln. Skriv klassen SpecialPartikel som enbart skall innehålla instansvariabeln och en konstruktor med parametrar för att bestämma centrumpunkt, radie och vikt. Uppgift 3 (6p) Givet är följande mainmetod: public static void main (String[] arg ) { // Skapa en aktie med namnet Pollax med startkursen 29.0 kr (dag 0) Aktie a = new Aktie("Pollax",29.0); a.nykurs(26.8); // Lägg in en ny kurs nästa dag (1) a.nykurs(30.7); // Lägg in en ny kurs nästa dag (2) a.nykurs(29.3); // Lägg in en ny kurs nästa dag (3) double max = a.max(); // Beräkna maximala värdet av kurserna System.out.println("Max aktiekurs: " + max); a.skrivut(); // Skriver ut alla börskurser på skärmen En programkörning kan se ut så här: Max aktiekurs: 30.7 Dag:0 Kurs:29.0 Dag:1 Kurs:26.8 Dag:2 Kurs:30.7 Dag:3 Kurs:28.8 Skriv klassen Aktie så att den passar mainmetoden. Klassen Aktie skall lagra alla kurser från dag 0 och framåt i en array. Antag att man aldrig någonsin är intresserad av att lagra fler än 10000 dagars kurser. Uppgift 4 (6p) Klassen Partikel finns beskriven i uppgift 2c. a. Skriv en metod kollision i klassen Partikel som kontrollerar om två partiklar kolliderar eller inte. Metoden skall returnera true om partiklarna kolliderar annars skall metoden returnera false. Två partiklar anses kollidera med varandra om avståndet mellan partiklarnas centrumpunkter är mindre än summan av partiklarnas radier. b. Skriv en main-metod som skapar 50 st Partikelobjekt med slumpvärden för position (x=0.0-100.0, y=0.0-100.0) och radie (1.0-5.0) samt lagra dem i en array. Därefter skall mainmetoden räkna och skriva ut hur många av dem som kolliderar med varandra. Metoden kollision skall användas för att testa ifall kollision föreligger. 5