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)

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 Grundläggande programmering STS, åk

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

Tentamen i Introduktion till programmering

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

Tentamen i Grundläggande programmering STS, åk

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

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

Tentamen i Programmeringsteknik I

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

OOP Tentamen

TENTAMEN OOP

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

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

729G74 - IT och programmering, grundkurs. Dugga.

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.

Företagsekonomi grundkurs, FOA134, Ten3, 4 hp

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

HI1024 Programmering, grundkurs TEN

OOP Tentamen

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

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

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

729G04 Programmering och diskret matematik

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 i. Programmering i språket C

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

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

Tentamen i Programmering grundkurs och Programmering C

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

tentaplugg.nu av studenter för studenter

TENTAMEN OOP

729G04 Programmering och diskret matematik

729G04 Programmering och diskret matematik TEN kl 8-12

HI1024 Programmering, grundkurs TEN

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.

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

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

Tentamen TEN1 HI

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

Tentamen TEN1 HI

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

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.

OBS! Vi har nya rutiner.

Objektorienterad Programmering (TDDC77)

TENTAMEN OOP

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

DD2387 Programsystemkonstruktion med C++ Tentamen 2

729G06 Föreläsning 1 Objektorienterad programmering

Tentamen i Programmering grundkurs och Programmering C

Tentamen Grundläggande programmering

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

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

Objektorienterad programmering D2

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.

OOP Exempel Tentamen 2007

TDP Regler

JAVA Mer om klasser och objektorientering

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

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

TDIU01 / 725G

Tentamen ID1004 Objektorienterad programmering October 29, 2013

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

Försättsblad Tentamen

OOP Tentamen

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

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

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor

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

729G04 Programmering och diskret matematik

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

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

Användarhandledning Version 1.2

Tentamen, EDAA10 Programmering i Java

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

Tentamen ges för: Tentamensdatum: Tid:

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

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl Tentamen i Programmering C, Fri, Kväll,

Företagsekonomi grundkurs, FOA134, Ten3, 4 hp

OBS! Vi har nya rutiner.

OBS! Vi har nya rutiner.

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016

Objektorienterad programmering i Java I

Kompilatorer och interpretatorer

Objektorienterad Programkonstruktion. Föreläsning jan 2016

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

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

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 Grundläggande Programvaruutveckling, TDA548

Försättsblad tentamen Fakulteten för hälsa och samhälle

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-04-22 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 Antal uppgifter, del A: 5 Poäng, del A: 17 ------------------------------------------- Antal uppgifter, del B: 1 Poäng, del B: 4 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. Fyll i försättsbladen noggrant ange uppgiftsnummer och tentamenskod på alla inlämnade papper. Den enskilde studenten ansvarar själv för att material som skall bedömas lämnas in till skrivningsvakt. Obs! Lägg uppgifterna 1-3 i vitt omslag märkt 1 och uppgifterna 4-5+B1 i vitt omslag märkt 2. 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 Hund (obs! se källkoden på nästa sida) håller information om hundar. En uppgift man håller information om här är hunden vikt i kg. Din uppgift är att skriva kod för metoden setvikt som utgör ett tillägg till klassen. Metodens uppgift är ändra informationen om hundens vikt. Metoden skall dock också kontrollera om den angivna vikten är rimlig (i detta fall att vikten överstiger 0 och är mindre än 150 kg) och ändra värde endast om så är fallet. - Metoden skall ta emot en önskad viktangivelse som parameter - Metoden skall kontrollera om den angivna vikten ligger inom intervallet - Värdet på vikten skall ändras endast om det angivna värdet ligger inom intervallet - Metoden skall returnera värdet true om vikt-fältet har lagrat ett godkänt värde (annars false). 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 Hund 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 för att instanisera ett hundobjekt se ut) b) Vilket tillstånd (state) skulle det nya objektet ha (direkt efter instansiering)? c) I koden för klassens konstruktor används inte det reserverade ordet this. Förklara vad ordet står för men varför koden fungerar trots att ordet this inte används här. Skriv ditt svar på ett vanligt svarsark 5

Uppgift 3 (2 p) Utgångspunkten för den här uppgiften är klasserna Bil respektive Behållare nedan. För klassen Bil finner du källkoden och för klassen Behållare finner du dess Java-dokumentation. a) Uppgiften går ut på att utöka klassen Bil med metoden visadisplayinfo. 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 6

7

Klassen Behållare (API-dokumentation) 8

9

Uppgift 4 (4 p) Utgångspunkten för denna uppgift är klasserna Hund (ovan) och Hundgård (nedan). Din uppgift är att komplettera klassen Hundgård med metoden raknahundarmedvissminstavikt. Metodens uppgift är att kontrollera, och skriva ut hur många av hundgårdens hundar som har samma eller högre vikt än den siffra som anges då metoden anropas. Exempel: Om det finns två hundar i systemet som väger 12 kg eller mer skall exempelanropet: raknahundarmedvissminstavikt(12); ge följande utskrift på skärmen (i terminlafönstret): Antalet hundar är: 2 Om det inte finns någon hund i systemet som väger 12 kg eller mer skall exempelanropet: raknahundarmedvissminstavikt(12); ge följande utskrift på skärmen (i terminalfönstret): Inga hundar funna 10

Uppgift 5 (1+2+1 p) Även i denna uppgift är utgångspunkten klassen Hund (ovan). Här fokuseras dock begreppet sammanhållning (cohesion) och det begreppets koppling till ansvarsdriven design (responisbility 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 Hund). Skriv ditt svar på ett vanligt svarsark 11

Del B ------------------------------------------------------------------------------------- Uppgift B1 (2 + 2p) a) Koda metoden listatavlingsklassa Utgångspunkten för denna uppgift är klasserna TavlingsDeltagare och Lopare. Klasserna används i ett program som håller reda på information om de löpare som är anmälda till en viss tävling. När en deltagare anmäler sig till tävlingen får löparen ett unikt deltagar-id. Deltagar-id:t anger dels vilken tävlingsklass löparen tillhör (A, B eller C) och dels ett löpnummer. Nedan finner du ett exempelutdrag av den information systemet hanterar: deltagarid namn personummer personbästa A01 Bo Bullit 901212-0000 12.5 B01 Pål Paljett 951101-0000 10.7 A02 Lee Paljett 440912-0000 9.8 A14 Jian Wood 950304-0000 12.5 A03 Lee Lee 881201-0000 12.5 C78 Lee Lee 860422-0000 11.4 Din uppgift är nu att utöka klassen TavlingsDeltagare med metoden ListaTavlingsKlassA. Metodens syfte är att skriva ut information på skärmen (i terminalfönstret) enligt exemplet endan: Som exemplet visar skall metoden alltså söka fram de löpare som är anmälda till tävlingsklass A. Den information som skall listas är deltagar-id och deltagarens namn. 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. 12

13