OOP Tentamen

Relevanta dokument
OOP Tentamen

OOP Omtenta

OOP Tentamen

OOP Omtentamen

OOP Tenta

OOP Exempel Tentamen 2007

OOP Tenta

OOP Omtenta

OOP Omtenta

OOP Omtenta

TENTAMEN OOP

TENTAMEN OOP

TENTAMEN OOP

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering

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

Tentamen OOP

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

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

Tentamen, EDAA10 Programmering i Java

Tentamen i Programmering

Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal

OOP Objekt-orienterad programmering

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

OOP Objekt-orienterad programmering

Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser

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

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

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

Föreläsning 8: Exempel och problemlösning

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

OOP Objekt-orienterad programmering

Detta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

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

Tentamen. Lösningsförslag

Tentamen i Programmeringsteknik I

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

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

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

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, EDA501 Programmering M L TM W K V

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Tentamen i Programmeringsteknik I, ES,

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: Tid: (OBS 3 tim) Rum: V

OOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson

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

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

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

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

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

PROGRAMMERINGSTEKNIK TIN212

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

Dugga i Grundläggande programmering STS, åk

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

OBJEKTORIENTERAD PROGRAMMERING för Z1 (TDA540)

OOP Objekt-orienterad programmering

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

Klasshierarkier - repetition

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

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Tentamen i Programmeringsteknik I

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

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

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

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Outline. Objektorienterad Programmering (TDDC77) Åsidosättning. Signatur. Åsidosättning. Abstrakta klasser. Ahmed Rezine.

Lösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel

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

DAT043 Objektorienterad 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, EDAA20/EDA501 Programmering

Tentamen i Programmeringsteknik I,, KandMa/Fy,

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

Objektorienterad programmering i Java

Tentamen i Grundläggande programmering STS, åk

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Föreläsning 13 Innehåll

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

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 föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen

2D1339 Programkonstruktion för F1, ht 2004

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Att skriva till och läsa från terminalfönstret

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

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

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering

2D1342 Programkonstruktion för F1, ht 2006

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.

OOP Objekt-orienterad 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

Laboration 1 - Grunderna för OOP i Java

Transkript:

DVS SU/KTH 1 (6) OOP OOP Tentamen 2009-01-16 15.00 20.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Skriv namn och personnummer på varje inlämnat blad. Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. Max antal poäng är 30. För att bli godkänd på tentan (minst betyg E) krävs dels minst 4 poäng sammanlagt på uppgift 1 och uppgift 2 och dels minst 15 poäng sammanlagt på hela tentan. För högre betyg krävs: Betyg D: minst 18 poäng samt högst en uppgift med 0 poäng. Betyg C: minst 21 poäng samt ingen uppgift med 0 poäng. Betyg B: minst 24 poäng samt ingen uppgift med 0 poäng. Betyg A: minst 27 poäng samt uppgifterna lösta med korrekt användande av objektorienterade principer (t.ex. inkapsling, ej upprepning av kod). Betyget Fx med möjlighet att komplettera ges till studenter som fått 12-14 poäng eller som fått mer än 14 poäng men missat att få 4 poäng på uppgift 1+2. Hjälpmedel Samtliga läroböcker om Java är tillåtna hjälpmedel. Kompendier räknas INTE som läroböcker. Lycka till!!!! Lösningsförslag kommer att presenteras på kursens webbsidor.

DVS SU/KTH 2 (6) OOP Uppgift 1 (6 poäng) Om man exekverar följande programrader, vad kommer att att skrivas ut på skärmen (du skall i dina svar vara noga med vad som skrivs på vilken rad, alltså beakta skillnaden mellan print och println). A int tal1=7, tal2=12; if (tal1++ > 7) System.out.println(tal1); else System.out.println(tal2); tal2+=tal1; System.out.println(tal1 + tal2); B int y=8; for (int x=y; x>3; x-=2){ System.out.println(y); for (int z=x; z<y; z++) System.out.print(z+" "); System.out.println(x); C int[] arr = new int[7]; int tal=8; for (int x=0; x<arr.length; x++) if (x<tal) arr[x]=tal--; else arr[x]=x; for (int x=0; x<arr.length; x++) System.out.println(arr[x]);

DVS SU/KTH 3 (6) OOP Uppgift 2 (6 poäng) Om man exekverar (interpreterar) följande Java-program - vad kommer att skrivas ut? main-metoden ligger i class Uppgift2, startas alltså med: java Uppgift2 class Uppgift2{ public static void main(string[]args){ Knyrr[]alla = new Knyrr[4]; alla[0]=new Hooke("Delfin"); alla[1]=new Simm("Val"); alla[2]=new Hooke("Mandel"); alla[3]=new Simm("Para"); for (int x=0; x<alla.length; x++) System.out.println(alla[x]); class Knyrr{ private static int antal=0; private String grej="nöt"; public Knyrr(){ this("hassel"); public Knyrr(String sort){ grej=sort+grej; antal++; public String tostring(){ antal--; String tmp="citron "; for (int x=0; x<antal; x++) tmp += grej + " "; return tmp; class Hooke extends Knyrr{ private String namn="potatis"; public Hooke(String str){ namn=str; public String tostring(){ return namn; class Simm extends Knyrr{ public Simm(String str){ super(str); public String tostring(){ return "Apelsin " + super.tostring();

DVS SU/KTH 4 (6) OOP Uppgift 3 (6 poäng) Skriv ett Java-program som frågar användaren efter ett datum på formen ÅÅÅÅMMDD, t.ex. 20090116. Programmet skall sedan skriva ut datumet på formen Dag Månad År, t.ex. 16 Januari 2009. Om användaren matar in ett felaktigt datum skall ett felmeddelande skrivas ut och användaren få försöka igen. Fel datum kan vara antingen att användaren matar in något annat än siffror eller att användaren matar in ett ogiltigt datum (t.ex. månad 14 eller dag 37). Ni kan i denna uppgift strunta i skottår och räkna med att februari alltid har 28 dagar. Programmet skall loopa tills ett korrekt datum matats in. Programdialogen skall se ut ungefär så här: Ange datum: 20091422 Felaktigt datum, försök igen! Ange datum: Måndag Felaktigt datum, försök igen! Ange datum: 19740230 Felaktigt datum, försök igen! Ange datum: 20040817 17 Augusti 2004 (i exemplet ovan så var första försöket fel eftersom 14 är en felaktig månad, i andra försöket är felet att Måndag inte är siffror, i tredje försöket är felet att månad 2 (februari) inte har 30 dagar) Så fort ett korrekt datum lästs in så skall resultatet skrivas ut och programmet avslutas.

DVS SU/KTH 5 (6) OOP Uppgift 4 (6 poäng) Skriv ett litet Java-program som frågar efter ett antal djursorter (t.ex. Elefant, Ekorre ). Programmet skall fråga efter djursorter tills man på frågan om ny sort matar in ordet Stopp. Därefter skall programmet fråga efter hur många djur som finns av varje sort. Dialogen kan se ut ungefär så här: Ange djursort: Elefant Ange djursort: Ekorre Ange djursort: Kanin Ange djursort: Tiger Ange djursort: Gorilla Ange djursort: Igelkott Ange djursort: Stopp Hur många Elefant? 7 Hur många Ekorre? 12 Hur många Kanin? 37 Hur många Tiger? 4 Hur många Gorilla? 17 Hur många Igelkott? 28 Efter inmatningen skall programmet skriva ut hur många djur det fanns sammanlagt samt vilket djur det fanns flest av och hur många det fanns av det djuret. Med inmatningsexemplet ovan skulle det då skrivits ut: Det finns sammanlagt 105 djur. Flest djur är Kanin med 37 stycken. Det är inte viktigt att dialog och utskrift ser ut exakt så här men skall innehålla dessa delar. Ni kan förutsätta att användaren matar in minst två djursorter. Om det finns lika många djur av flera sorter som är flest så kan ni skriva ut vilken som helst av dessa.

DVS SU/KTH 6 (6) OOP Uppgift 5 (6 poäng) Följande klasser finns: abstract class Frukt{ private int vikt; public int getvikt(){ return vikt; class Apelsin extends Frukt{ private int diameter; public int getdiameter(){ return diameter; class Banan extends Frukt{ private int längd; public int getlängd(){ return längd; Klasserna innehåller även lämpliga konstruktorer, ej relevanta för denna uppgift. Ni får (om ni så önskar) lägga till saker i klasserna ovan. Redovisa i så fall vad ni vill lägga till och var (i vilken/vilka klasser) ni vill lägga till det. Er uppgift är att skriva en metod som får en ArrayList<Frukt> som parameter. ArrayListan är fylld med blandade Apelsin- och Banan-objekt. Ni skall sedan i metoden skriva ut en lista där först alla Apelsin-objekt skrivs ut och därefter alla Banan-objekt. Vid utskriften skall framgå vilken sorts objekt det är, objektets vikt samt för apelsinerna deras diameter och för bananerna deras längd. Utskriften skulle t.ex. kunna se ut så här: Apelsin: Vikt = 17, Diameter = 3 Apelsin: Vikt = 23, Diameter = 4 Apelsin: Vikt = 16, Diameter = 3 Banan: Vikt = 18, Längd = 9 Banan: Vikt = 15, Längd = 7 OBS metoden som ni skriver måste ju i Java ligga inuti någon klass. Det kan ni strunta i i denna uppgift, det räcker alltså med själva metoden. Utskrifterna som görs skall göras i terminalfönstret (alltså med hjälp av System.out).