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.

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

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

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

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

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

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

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

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

OOP Tentamen

729G04 Programmering och diskret matematik

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,

729G04 Programmering och diskret matematik

729G74 - IT och programmering, grundkurs. Dugga.

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

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

Objektorienterad programmering i Java I

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 ä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.

Tentamen i Grundläggande programmering STS, åk

TENTAMEN OOP

HI1024 Programmering, grundkurs TEN

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

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

729G04 Programmering och diskret matematik Tenta kl 14:00-18:00

Objektorienterad programmering D2

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 Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C

Tentamen TEN1 HI

Objektorienterad Programmering (TDDC77)

OOP Tentamen

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

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

OOP Tentamen

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

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

Tentamen i Grundläggande programmering STS, åk

Företagsekonomi grundkurs, FOA134, Ten3, 4 hp

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

Tentamen ges för: Tentamensdatum: Tid:

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

Tentamen TEN1 HI

TENTAMEN OOP

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Programmeringsteknik II

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

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

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 Datastrukturer (DAT036)

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

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

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18

Användarhandledning Version 1.2

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

Försättsblad Tentamen

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

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

Tentamen i Programmeringsteknik I

OOP Omtenta

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.

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

TDP Regler

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

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

TDIU01 / 725G

Välkomna till DIT012 IPGO

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1,

Välkomna till DIT012 IPGO. Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1.

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

TDDC74 Programmering, abstraktion och modellering. Tentamen

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

729G04 Programmering och diskret matematik TEN kl 8-12

Kompilatorer och interpretatorer

Rättningstiden är i normalfall tre veckor, annars är det detta datum som gäller:

Objektorienterad Programkonstruktion. Föreläsning jan 2016

OOP Exempel Tentamen 2007

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

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

TENTAMEN OOP

Försättsblad Tentamen

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl

Tentamen i Programmeringsteknik I, ES,

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-08-13 Tid: 08:15-13: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: 16 ------------------------------------------- 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. 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. 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 ForskoleBarn (obs! se källkoden nedan) håller information om just barn i förskolan. En uppgift man håller information om här är barnens ålder. Din uppgift är att skriva kod för metoden setalder som utgör ett tillägg till klassen. Metodens uppgift är ändra informationen om barnets ålder. Metoden är en s.k. förändringsmetod och tar ett heltal som parameter. Metoden skall dock kontrollera om den angivna åldern är rimlig = ändring av fältets värde ska bara ske om parametervärdet är som lägst 0 och som högst 7. - Metoden skall ta emot en önskad ålder som parameter - Metoden skall kontrollera om den angivna åldern är tillåten (se ovan) - Värdet på åldern skall ändras endast om parametervärdet ligger inom intervallet - Metoden skall returnera värdet true om ålders-fältet har lagrat ett godkänt värde. I annat fall 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+2 p) Åven i den här uppgiften är utgångspunkten koden för klassen ForskoleBarn enligt ovan. Besvara följande frågor: a) Faktum är att man skulle kunna använda någon annan (numerisk) datatyp för att hantera värdet på fältet alder. Man skulle kunna säga att det är lite onödigt att använda int i just det här sammanhanget. Förklara varför! b) I en och samma javaklass kan man ha flera konstruktorer. Ge med ett kodexempel, ett förslag på en alternativ konstruktor i klassen ForskoleBarn (det vill säga ett tillägg till klassen). 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 6

Klassen BadAnläggning (källkod) 7

Klassen Bassäng (API-dokumentation) 8

Uppgift 4 (4 p) Utgångspunkten för denna uppgift är klasserna Forskolebarn (ovan) och Avdelning (nedan). Din uppgift är att komplettera klassen Avdelning med metoden listaallaundervissalder. Metodens uppgift är att skriva ut namnen på alla barn som är under en viss, angiven ålder (åldern ska tas emot som parametervärde). Resultatet av metodkörningen skall vara en utskrift som antingen listar namnen på de barn som stämmer med urvalet eller så skrivs ett informationsmeddelande ut på skärmen (enligt bilderna nedan). 9

Klassen Avdelning (källkod) 10

Uppgift 5 (1+1+1+1 p) Även i denna uppgift är utgångspunkten klassen ForskoleBarn (ovan). Här fokuseras dock begreppet sammanhållning (cohesion). Koden uppvisar god sammanhållning. a) Förklara hur man kan se att klassammanhållningen är god i det här fallet? b) Ge exempel på hur det hade kunnat se ut om klassammanhållningen varit mindre bra i den här klassen. c) Förklara hur man kan se att metodsammanhållningen är god i det här fallet? d) Ge exempel på hur det hade kunnat se ut om metodsammanhållningen varit mindre bra i de här metoderna. Skriv ditt svar på ett vanligt svarsark 11

Del B ------------------------------------------------------------------------------------- Uppgift B1 (3 + 2p) a) Utgångspunkten även för denna uppgift är klasserna ForskoleBarn och Avdelning enligt ovan. Här har vi dock tillfört ytterligare en klass: Forskola som helt enkelt hanterar en hel samling av avdelningar (bilden). Delar av källkoden till klassen Förskola finner du nedan. Din uppgift är nu att utöka klassen Forskola med metoden listaallanamn. Metoden skriver ut namnet för varje avdelning + namnen på alla avdelningens barn. 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