LyckaTill önskar Anna

Relevanta dokument
Tentamen i Programmeringsteknik I

Tentamen i Programmeringsteknik I, ES,

Tentamen i Programmeringsteknik I,, KandMa/Fy,

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 vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Tentamen i Programmeringsteknik MN

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 MN

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

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

Tentamen i Programmeringsteknik I

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

Det finns en referensbok (Java) hos vakten 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

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

Det finns en referensbok (Java) hos vakten 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

Tentamen i Grundläggande programmering STS, åk

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

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

JAVA Mer om klasser och objektorientering

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 tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Tentamen i Programmeringsteknik I

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

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

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

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

PROGRAMMERINGSTEKNIK TIN212

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

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

Föreläsning 5-6 Innehåll

Tentamen i Programmering

Del A (obligatorisk för alla)

Tentamen i Grundläggande programmering STS, åk

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 Programmeringsteknik För Ing. - Java, 5p

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.

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

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

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

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

Del A (obligatorisk för alla)

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

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

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

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

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

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]

TDDC77 Objektorienterad Programmering

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

TENTAMEN OOP

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

Malmö högskola 2008/2009 CTS

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 i Programmeringsteknik MN Del I. Uppgift 1

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

Del A (obligatorisk för alla)

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.

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.

TENTAMEN OOP

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

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

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

OOP Tentamen

TENTAMEN OOP

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

Dugga i Grundläggande programmering STS, åk

PROGRAMMERING-Java TENTAMINA

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.

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

Tentamen ID1004 Objektorienterad programmering April 7, 2015

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

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

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

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

Klasser och objekt. Henrik Johansson. August 20, 2008

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-17, TDA540. Dag: , Tid:

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

LÖSNINGSFÖRSLAG TENTAMEN

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

Villkor och tester. Utförande satser bygger upp metoderna, man brukar finindela detta i: sekvenser. Ett program består i princip av: selektioner (val)

Sammanfattning och repetition utgående från typiska tentamensuppgifter

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

Tentamen FYTA11 Javaprogrammering

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

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

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

Chapter 4: Writing Classes/ Att skriva egna klasser.

Tentamen Objekt-orienterad programmering i Java, 5p distanskurs

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

Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din kod överst i högra hörnet på alla papper.

Tentamen i Objektorienterad Programmering 5p, Au, D, Fri, Pr,

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

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

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

Transkript:

UPPSALA UNIVERSITET Institutionen för Informationsteknologi Tentamen i Programmeringsteknik I 2009-10-16 Skrivtid: 14:00-17:00 Hjälpmedel: Lewis & Loftus, Java Software Solutions eller Skansholm, Java Direkt med Swing. Litteraturen får inte innehålla överdrivet mycket anteckningar. Tentamen består av fyra uppgifter och maxpoängen är 24. För att bli godkänd på tentamen (betyg 3 eller G) krävs minst 15 poäng. För att få betyg VG på tentamen krävs dels minst 20 poäng. För att få betyg 4 på tentamen krävs dels minst 18 poäng. För att få betyg 5 på tentamen krävs dels minst 21 poäng. Programmen skall vara skrivna i Java om inget annat anges. Programmen skall vara skrivna med vettig layout och vara kommenterade när så behövs. Skriv varje uppgift på nytt papper. Skriv inte på baksidan. Lägg uppgifterna i rätt ordning. Skriv namn på alla papper. 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. Skriv uppgiftens nummer i övre högra hörnet på varje blad. Oklarheter: Fråga! Frågorna kan vara svåra men ska inte vara svårbegripliga. LyckaTill önskar Anna 1

Uppgift 1 En enkel klass Skriv en klass, Vindkraft, som förenklat beskriver ett vindkraftverk. Ett vindkraftverk kan i vår modell beskrivas med sitt namn, storleken på generatorn (i kw) samt radien på rotorbladen. Klassen ska innehålla två konstruktorer, en standardkonstruktor som inte tar några inparametrar och en överlagrad konstruktor som har tre inparametrar. Klassen har två metoder: tostring Metoden returnerar en sträng som innehåller värdena på instansvariablerna hos ett objekt. prodenergi Metoden ska beräkna och returnera mängden energi som produceras under ett tidsintervall. Metoden har två inparametrar, tid och medelvind, som båda är reella tal. Energin beräknas enligt följande formel: energi = rotorradie*generatorstorlek*tid*medelvind Skriv slutligen en main-metod som gör följande: a) Skapar ett Vindkraftobjekt med hjälp av den överlagrade konstruktorn. Du får själv välja lämpliga värden till instansvariablerna. b) Skriver ut värdena på objektets instansvariabler. c) Läser in tid- och medelvind-värden. d) Beräknar mängden producerad energi med hjälp av metoden prodenergi. e) Skriver ut mängden producerad energi. 2

Uppgift 2 Klassen Krets Klassen Krets beskriver resistorer i en elektrisk krets. Klassen har två instansvariabler, en array av double som representerar resistansen hos ett antal resistorer i kretsen, och ett heltal antal som visar hur många resistorer som är inkopplade i kretsen för närvarande. Klassen har följande metoder: En konstruktor med en heltalsparameter som skapar arrayen så lång som parametern anger. En metod lasin som frågar efter och läser in värden på resistorer, dvs värden till arrayen. Antalet värden som läses in ska anges i parameterlistan. En metod serie som beräknar den totala resistansen R om alla resistorer är seriekopllade: R = R1 + R2 + + Rn om n resistorer finns i kretsen. Metoden skriver ut den totala resistansen med lämplig ledtext. En metod kopplaur som tar bort en resistor från kretsen. Index på den resistor som ska tas bort skickas i parameterlistan. Metoden returnerar inget värde. En metod parallell som beräknar den totala resistansen R om alla resistorer är parallellkopplade: 1/R = 1/R1 + 1/R2 + + 1/Rn om n resistorer finns i kretsen. Metoden skriver inte ut något utan returnerar värdet på den totala resistansen. Skriv klassen Krets med de metoder som beskrivs ovan. Du behöver inte skriva någon main-metod som testar klassen. 3

Uppgift 3 Klassen Vinkel Antag att du har en klass Vinkel för att hantera vinklar. En vinkel bestäms av hur många grader, minuter och sekunder vinkeln avviker från en noll-linje, t ex x-axeln i ett koordinatsystem. Riktning moturs ger postitv vinkel och medurs ger negativ vinkel. En minut är en sextiondel av en grad, och en sekund är en sextiondel av en minut. Klassen Vinkel har följande utseende: import java.util.scanner; public class Vinkel { private int grader; private int minuter; private int sekunder; public Vinkel() { grader = minuter = sekunder = 0; public Vinkel(int g, int m, int s) { grader = g; minuter = m; sekunder = s; public lasin() { publicskrivut() { //läser in vinkelns grader, minuter och sekunder //skriver ut vinkelns grader, minuter och sekunder publicaddera() { //adderar två vinklar. Inget skrivs ut publicsubtrahera(){ //subtraherar två vinklar. Inget skrivs ut public static void main(string [] arg) { 4

a) Definiera metoderna lasin, skrivut och addera. Parameterlistor och returtyp får du bestämma själv, men metoden addera skall inte skriva ut något. Du kan anta att metoden subtrahera redan finns definierad. b) Skriv ett huvudprogram, main, som skapar minst tre vinklar och sedan läser värden till vinklarna med metoden lasin. Programmet skall sedan addera två av vinklarna och skriva ut resultatet. Därefter skall den tredje inlästa vinkeln subtraheras från resultatet av additionen. Resultatet av subtraktionen skall skrivas ut. Exempel: Om vinklarna 19 grader, 10 minuter och 50 sekunder, 20 grader, 16 minuter och 33 sekunder, 8 grader, 20 minuter och 13 sekunder lästs in blir resultatet av addidionen av de två första vinklarna: 39 grader, 27 minuter och 23 sekunder. Resultatet av subtraktionen mellan detta värde och det sist inlästa blir: 31 grader, 7 minuter och 10 sekunder. Inga nya metoder får läggas till. 5

Uppgift 4 Klassen PolySet Klassen PolySet kan användas för att behandla polygontåg, dvs. en följd av punkter i planet. Instansvariablerna ska vara en array med x-koordinater, en array med y-koordinater, samt antalet punkter som finns inlagda. x-koordinaterna ligger lagrade i stigande odning i sin array. Din uppgift är att skriva några metoder till klassen PolySet. Du kan anta att någon annan skriver resten av klassen. Skriv följande metoder: En metod maxy söker reda på och returnerar det maximala y-värdet för någon punkt i polygontåget. En metod riktningskoefficient som beräknar riktningskoefficienten för ett visst delområde, se figuren ovan. Området där riktningskoefficienten skall beräknas anges som ett tal, exempelvis 1, och skickas som en parameter till metoden. Om parameterns värde är 1 avses den räta linjen mellan talparen (x0,y0) och (x1,y1), om parameterns värde är 2 avses linjen mellan talparen (x1,y1) och (x2,y2), osv. Riktningskoefficienten mellan två punkter, t ex punkterna (x0,y0) och (x1,y1) fås med formeln: riktningskoefficienten = (Ý1 Ý0) (Ü1 Ü0) En metod integral som beräknar arean under polygontåget och returnerar detta värde. Arean beräknas genom att man summerar areorna för alla delintervallen, enligt följande formel (som ger arean för område 1 i figuren): delarea = (Ý1 + Ý0) (Ü1 Ü0) 0 5 6