INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

Relevanta dokument
INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

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

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 Introduktion till 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

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

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

Tentamen i Programmeringsteknik I

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

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 1 lördag

Tentamen i Programmeringsteknik I

Tentamen i Grundläggande programmering STS, åk

OOP Tentamen

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.

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Objektorienterad programmering D2

CHALMERS TENTAMEN. 2018/2019, lp 1 DAT050. Uno Holmer

Objektorienterad programmering i Java I

Tentamen i Grundläggande programmering STS, åk

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

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

Objektorienterad Programkonstruktion. Föreläsning jan 2016

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

729G74 - IT och programmering, grundkurs. Dugga.

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

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

TENTAMEN OOP

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

TDP Regler

729G04 Programmering och diskret matematik

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15

OOP Tentamen

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl

För alla uppgifter på tentan gäller: Man får använda både standard-c++ (som till exempel har pekare som anges med * och objekt som skapas med new) och

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

Tentamen i. Programmering i språket C

Tentamen ges för: Tentamensdatum: Tid:

Tentamen TEN1 HI

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Tentamen TEN1 HI

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

Tentamen i Programmering grundkurs och Programmering C

729G04 Programmering och diskret matematik

Tentamen, EDAA10 Programmering i Java

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

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

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

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

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

HI1024 Programmering, grundkurs TEN

TENTAMEN OOP

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

729G06 Föreläsning 1 Objektorienterad programmering

Lösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Tentamen i Programmering C, 5p, Distans, övriga,

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.

Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering, Java, 5p TDBA63

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

Objektorienterad programmering i Java I

Tentamen i Grundläggande Programvaruutveckling, TDA548

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

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

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

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

OOP 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

LyckaTill önskar Anna

CHALMERS TENTAMEN. 2012/2013, lp 1 DAT042. Uno Holmer. Java API (utdelas av skrivningsvakten) Erland Holmström tel besöker tentamen

Tentamen ID1004 Objektorienterad programmering October 29, 2013

TDDI TDDI22 Tentaregler

Tentamen i Programmeringsteknik I

7,5 högskolepoäng. Objektorienterad systemutveckling I. Lycka till! /Peter & Petter. Provmoment: Ladokkod: 21OS1B Tentamen ges för:

TENTAMEN. Objektorienterade applikationer CHALMERS. 2018/2019, lp 3 DAT055. Uno Holmer

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

Tentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas.

Hur man programmerar. Exempel på problemlösning i Python

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

Programmeringsteknik II

Tentamen i Programmering grundkurs och Programmering C

Laborationsanvisning. Digital väckarklocka. Steg 2, laborationsuppgift 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

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

Tentamen Grundläggande programmering

Maximalt antal poäng för hela skrivningen är 22 poäng. För Godkänt krävs minst 13 poäng. För Väl Godkänt krävs minst 18 poäng.

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

OBS! Vi har nya rutiner.

Gissa det hemliga talet

OBS! Vi har nya rutiner.

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Transkript:

Tentamen INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP) Delkurs 3 Introduktion till objektorienterad programmering och problemlösning Lärare: Johan Petersson, Tanja Mäki-Runsas Datum: 2016-06-04 Tid: 14:15-19:15 Hjälpmedel: - Ordbok till/från svenska och annat språk - Ordbok till/från engelska och annat språk - Appendixhäfte samt tillägg Antal uppgifter, del A: 5 Poäng, del A: 17 ------------------------------------------- Antal uppgifter, del B: 1 Poäng, del B: 5 För betyget godkänt (G) krävs ca 66% av poängen på del A För betyget väl godkänt (VG) krävs, utöver kraven för G, ca 50% av poängen på del B 1

Läs noga igenom detta: Ett svårläst lösning kan medföra poängavdrag. Renskriv därför dina svar på ett nytt ark vid behov. Den enskilde studenten ansvarar själv för att material som skall bedömas lämnas in till skrivningsvakt. Fyll noggrant i uppgiftsnummer (A1, A2 osv) och tentamenskod på alla inlämnade papper. Börja varje ny uppgift på nytt papper. Lämna in uppgifterna i nummerordning. Skriv endast på en sida. Penna som ger röd skrift får ej användas. Är uppgiften oklar, gör rimliga antaganden och redovisa dessa. Även inte helt fullständiga lösningar kan ge poäng. Lös de delar du kan. Lycka till! 2

Del A ------------------------------------------------------------------------------------- Uppgift 1 (3 p) Javaklassen Bok (obs! se källkoden nedan) håller information om böcker. En uppgift man håller information om här är bokens sidantal. Din uppgift är att skriva kod för metoden setsidantal som utgör ett tillägg till klassen. Metodens uppgift är ändra informationen om boken sidantal. Metoden är en s.k. förändringsmetod och tar ett heltal som parameter. Metoden skall dock också kontrollera om det angivna sidantalet är rimlig = ändring av fältets värde ska bara ske om parametervärdet är större än 0 och mindre än 10 000. - Metoden skall ta emot ett önskat sidantal som parameter - Metoden skall kontrollera om det angivna sidantalet är tillåtet (se ovan) - Värdet på sidantalet skall ändras endast om det angivna värdet ligger inom intervallet - Metoden skall returnera värdet true om sidantals-fältet har lagrat ett godkänt värde (annars ska false returneras). Du behöver bara visa metodens programkod (ej resten av klassen). Skriv ditt svar på ett vanligt svarsark 3

4

Uppgift 2 (1+1+2 p) Åven i den här uppgiften är utgångspunkten koden för klassen Bok enligt ovan. Besvara följande frågor: a) Hur skulle ett korrekt anrop till klassens konstruktor se ut i javakod? (d.v.s. hur skulle programkoden i en annan klass kunna se ut om man vill instanisera ett objekt av klassen bok?) b) Vilket tillstånd (state) skulle det nya objektet ha (direkt efter instansiering) om koden i ditt exempel ovan kördes? c) I en och samma javaklass kan man ha flera konstruktorer. Ge med ett kodexempel, ett förslag på en alternativ konstruktor i klassen Bok. Förklara skillnaden mellan ditt förslag och den konstruktor som finns i klassens kod nu. Skriv ditt svar på ett vanligt svarsark 5

Uppgift 3 (2 p) Utgångspunkten för den här uppgiften är klasserna BadAnläggning respektive Bassäng nedan. En badanläggning är i det här fallet ett utomhusbad med bassänger. För klassen BadAnläggning finner du källkoden och för klassen Bassäng finner du dess Javadokumentation nedan. Uppgiften går ut på att utöka klassen BadAnläggning med metoden visatemperaturer. Metodens anrop ska skapa en utskrift i terminalfönstret enligt bilden nedanför (de exakta värdena som visas i utskriften är förstås bara exempel). Du behöver bara visa metodens programkod (ej resten av klassen). Skriv ditt svar på ett vanligt svarsark Klassen BadAnläggning (källkod) 6

7

Klassen Bassäng (API-dokumentation) 8

Uppgift 4 (4 p) Utgångspunkten för denna uppgift är klasserna Bok (ovan) och BokHylla (nedan). Din uppgift är att komplettera klassen BokHylla med metoden antalböckervissförfattare. Metodens uppgift är att kontrollera, och skriva ut hur många böcker det finns av en viss författare i bokhyllan. Som metodnamnet indikerar skall den här sökningen göras med författarens namn. Resultatet av metodkörningen skall vara en utskrift som varierar beroende på om några böcker funnits eller ej (exempel nedan). 9

Klassen Bokhylla (källkod) 10

Uppgift 5 (1+2+1 p) Även i denna uppgift är utgångspunkten klassen Bok (ovan). Här fokuseras dock begreppet sammanhållning (cohesion) och det begreppets koppling till ansvarsdriven design (responsibility driven design). a) Identifiera på vilket sätt källkoden visar upp tecken på bristande sammanhållning. Beskriv alltså hur man kan se det i koden. b) Beskriv de förändringar man skulle kunna göra i koden för att förbättra sammanhållningen (gärna med källkod men det finns inget behov av att skriva komplett klasskod). c) Förklara på vilket sätt det ovan har med ansvarsdriven design att göra (exemplifiera alltså med koden i klassen Bok). Skriv ditt svar på ett vanligt svarsark 11

Del B ------------------------------------------------------------------------------------- Uppgift B1 (3 + 2p) a) Utgångspunkten även för denna uppgift är klasserna Bok och Bokhylla ovan. Här har vi dock tillfört ytterligare en klass: Bibliotek som helt enkelt hanterar en hel samling av bokhyllor (bilden). Delar av källkoden till klassen Bibliotek finner du nedan. Din uppgift är nu att utöka klassen Bibliotek med metoden listaallatitlar. Metoden skriver ut beteckningen för varje bokhylla + alla boktitlar i hela biblioteket. En utskrift från metoden skulle kunna se ut som exemplet nedan (även om själva datat förstås beror på vilken information som för tillfället finns lagrad). 12

b) Din uppgift är beskriva och förklara den kod du löst uppgiften i (a) ovan med. Beskrivning handlar om att redogöra för vad respektive kodrad faktiskt gör. Förklara innebär att du helt enkelt ska förklara vad respektive del av koden är för något. Här är det därför viktigt att inte hoppa över något steg i beskrivningen samt att använda korrekt terminologi när koden förklaras. 13