OOP Omtenta

Relevanta dokument
OOP Tentamen

OOP Omtenta

OOP Tentamen

OOP Tentamen

OOP Tenta

OOP Omtenta

OOP Exempel Tentamen 2007

OOP Tenta

OOP Omtentamen

OOP Omtenta

TENTAMEN OOP

TENTAMEN OOP

TENTAMEN OOP

Tentamen OOP

Tentamen. Lösningsförslag

Tentamen i Programmering

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

Dugga i Grundläggande programmering STS, åk

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

Tentamen i Programmeringsteknik I

JAVA Mer om klasser och objektorientering

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

Tentamen i Grundläggande programmering STS, åk

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

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

OOP Objekt-orienterad programmering

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

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

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering

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.

Laboration 1 - Grunderna för OOP i Java

Laboration 13, Arrayer och objekt

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

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

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

OOP Objekt-orienterad programmering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

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

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

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

Tentamen, EDAA10 Programmering i Java

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

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

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

Föreläsning 3-4 Innehåll

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

Del A (obligatorisk för alla)

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

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Instuderingsfrågor, del D

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

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

Klasshierarkier - repetition

Tentamen i Programmeringsteknik I, ES,

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

OOP Objekt-orienterad programmering

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

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

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

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

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

DAT043 Objektorienterad Programmering

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

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.

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

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

Del A (obligatorisk för alla)

Malmö högskola 2008/2009 CTS

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

PROGRAMMERING-Java TENTAMINA

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

TENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13:15

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

DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU

OOP Objekt-orienterad programmering

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

OMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

OOP Objekt-orienterad programmering

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

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

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Malmö högskola 2007/2008 Teknik och samhälle

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

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

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

Tentamen, EDAA20/EDA501 Programmering

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

Tentamen i Programmeringsteknik I

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.

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

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Transkript:

DVS SU/KTH 1 (6) OOP OOP Omtenta 2008-02-16 10.00 15.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 GKOOP-distans 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 tal = 7; int annat = 10; if (tal > annat) System.out.println( Stol ); else System.out.println( Bord ); annat -= 2; if (++tal > annat) System.out.println( Drake +tal); else System.out.println( Tiger +tal); B int x=3; while (x<8){ System.out.println(x++); for (int y=1; y<x; y+=2) System.out.print(y+ ); System.out.println(x++); C int[] arr = new int[8]; int tal1=10, tal2=3; for (int x=0; x<arr.length; x++){ arr[x] = tal1+tal2; tal1--; tal2+=x; for (int x : arr){ System.out.print(x+ ); if (x%4 == 0) System.out.println();

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 Upp2, startas alltså med: java Upp2 class Upp2{ public static void main(string[] args){ Riffe[] alla = new Riffe[5]; alla[0]=new Lessa("Varg"); alla[1]=new Unver(4); alla[2]=new Lessa("Tiger"); alla[3]=alla[1]; alla[4]=alla[0]; for (Riffe ri : alla) ri.skriv(); class Riffe{ private static String[] färg = {"Gul", "Blå", "Röd", "Vit"; private static int nummer = 0; private String str = "Svart"; public Riffe(){ str = färg[nummer++]; public Riffe(String str){ this(); this.str = str; public void skriv(){ for (int x=getnummer(); x>0; x--) System.out.print(str); System.out.println(); public int getnummer(){ return nummer; class Lessa extends Riffe{ private String min = "Kaffe"; public Lessa(String str){ min = str; public void skriv(){ System.out.println("Lessa: "+min); super.skriv(); class Unver extends Riffe{ private int antal = 2; public Unver(int antal){ super("grön"); this.antal = antal; public int getnummer(){ return antal;

DVS SU/KTH 4 (6) OOP Uppgift 3 (6 poäng) Skriv ett litet Java-program (en klass med en main-metod) som ber användaren mata in ett antal heltal och som sedan skriver ut de talen på tre olika rader. På första raden skall alla tal i intervallet 1-100 skrivas ut, på den andra raden skall alla tal i intervallet 101-1000 skrivas och på tredje raden skall resten av talen skrivas (de som är mindre än 1 och de som är större än 1000). Programmet skall först fråga användaren efter hur många tal som skall matas in. Därefter får användaren mata in alla dessa tal. Sist skrivs talen ut på tre rader. När programmet körs skall det se ut ungefär så här: Hur många tal? 15 Tal 1> 17 Tal 2> 831 Tal 3> -43 Tal 4> 11 Tal 5> 99 Tal 6> 312 Tal 7> 1763 Tal 8> 0 Tal 9> 912 Tal 10> 38 Tal 11> 114 Tal 12> -68 Tal 13> 100 Tal 14> 3 Tal 15> 987 17 11 99 38 100 3 831 312 912 114 987-43 1763 0-68

DVS SU/KTH 5 (6) OOP Uppgift 4 (6 poäng) I ett litet Java-program har man bl a ett antal Varelser. Alla varelser har ett namn samt egenskapen att de kan låta. Så här ser dessa klasser ut: class Varelse{ private String namn; public Varelse(String namn){ this.namn=namn; public String getnamn(){ return namn; class Hund extends Varelse{ public Hund(String namn){ super(namn); public void låta(){ System.out.println(getNamn()+": Vov Vov Vov"); class Brandbil extends Varelse{ public Brandbil(String namn){ super(namn); public void låta(){ System.out.println(getNamn()+": Tut Tut Tut"); class Politiker extends Varelse{ public Politiker(String namn){ super(namn); public void låta(){ System.out.println(getNamn()+": Jag lovar, Jag lovar..."); Man vill i programmet ha en metod som får (som argument) en ArrayList som innehåller ett antal blandade varelser (Hund-, Brandbil- och Politiker-objekt) och som skall låta alla varelserna i ArrayListan låta. Ett försök att skriva en sådan metod kommer här: public void allaskalåta(arraylist<varelse> alla){ for (Varelse v : alla) v.låta(); Tyvärr fungerar metoden allaskalåta ovan inte utan det blir fel. A) Vilken typ av fel (kompileringsfel, exekveringsavbrott, logiskt fel) blir det? B) Varför blir det fel? C) Hur skulle man kunna åtgärda så att det fungerar? (vid del C ovan är det tillåtet att föreslå förändringar både i Varelse-klasserna och i metoden allaskalåta)

DVS SU/KTH 6 (6) OOP Uppgift 5 (6 poäng) Skriv klassen Test som skall innehålla en textsträng och ett heltal. Om man i något program använder klassen Test på följande sätt: Test t1 = new Test("Struts", 3); Test t2 = new Test("Pingvin"); System.out.println(t1); System.out.println(t2); så skall följande skrivas ut: Struts Struts Struts Pingvin Om man i ett program gör följande: Test t1 = new Test("Skata", 3); t1.öka(); t1.öka(); System.out.println(t1); så skall följande skrivas ut: Skata Skata Skata Skata Skata När ni skriver klassen Test så skall samtliga attribut, konstruktorer och metoder ha lämpliga åtkomstmodifierare.