OOP Omtentamen

Relevanta dokument
OOP Omtenta

OOP Tentamen

OOP Tentamen

OOP Omtenta

OOP Tenta

OOP Omtenta

OOP Tentamen

OOP Exempel Tentamen 2007

OOP Tenta

OOP Omtenta

TENTAMEN OOP

TENTAMEN OOP

TENTAMEN OOP

Tentamen OOP

OOP Objekt-orienterad programmering

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

OOP Objekt-orienterad programmering

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

OOP Objekt-orienterad programmering

Dugga i Grundläggande programmering STS, åk

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

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

Tentamen, EDA501 Programmering M L TM W K V

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

Instuderingsfrågor, del D

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

OOP Objekt-orienterad programmering

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

Tentamen i Programmeringsteknik I, ES,

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

Tentamen. Lösningsförslag

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

DAT043 Objektorienterad 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

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

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

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 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.

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

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

2D1342 Programkonstruktion för F1, ht 2006

OOP Objekt-orienterad programmering

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

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

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

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

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

Tentamen i Programmeringsteknik I,, KandMa/Fy,

Laboration 13, Arrayer och objekt

Tentamen ID1004 Objektorienterad programmering May 29, 2012

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

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

Tentamen, EDAA20/EDA501 Programmering

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

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

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

Del A (obligatorisk för alla)

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

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

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

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

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

Tentamen i Algoritmer & Datastrukturer i Java

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

Klasshierarkier - repetition

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

Tentamen, EDAA10 Programmering i Java

Tentamen i Programmering

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

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

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

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

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

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

Del A (obligatorisk för alla)

Sammanfattning och repetition utgående från typiska tentamensuppgifter

Tentamen, EDAA20/EDA501 Programmering

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

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

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

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?

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

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.

PROGRAMMERINGSTEKNIK TIN212

Tentamen ID1004 Objektorienterad programmering April 7, 2015

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

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

SP:PROG3 HT12 Tenta

Tentamen. DD2385 Programutvecklingsteknik vt 2014 Måndagen den 2 juni 2014 kl Hjälpmedel: penna, suddgummi, linjal

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?

Föreläsning 3-4 Innehåll

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Laboration A Objektsamlingar

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Objektorienterad Programmering (TDDC77)

Transkript:

DVS SU/KTH 1 (6) OOP OOP Omtentamen 09-02-21 10.00 15.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 String str1="europa", str2="amerika"; int tal=7; if (tal++ > 7) System.out.println(str1 + tal++); else System.out.println(str2 + tal++); System.out.println(str1 + tal + str2); B int tal1=10, tal2=20; while (tal1 < tal2){ tal2-=2; for (int i=tal1; i<tal2; i+=2) System.out.print(i+" "); System.out.println(tal1++); C int[]arr=new int[10]; int x=17; for (int index=0; index<arr.length; index++){ arr[index]=x; x-=3; if (x<index) arr[index]+=5; System.out.println("Arrayen:"); for (int z : arr) System.out.println(z);

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 Uppg2, startas alltså med: java Uppg2 class Uppg2{ public static void main(string[]args){ Fnyrr[] obj = new Fnyrr[4]; obj[0]=new Hocke(1); obj[1]=new Smatte(); obj[2]=new Smatte(); obj[3]=new Hocke(3); for (int x=0; x<obj.length; x++) obj[x].skriv(4); class Fnyrr{ public static String[]färg={"Röd","Blå","Gul","Vit","Grön"; public static int nummer=0; public String minfärg="svart", djur="björn"; public Fnyrr(){ minfärg=färg[nummer++]; public Fnyrr(int tal, String djur){ minfärg=färg[tal]; this.djur=djur; public void skriv(int antal){ for (int x=nummer; x<antal; x++) System.out.println(minFärg+" "+djur); class Hocke extends Fnyrr{ public static String[] alla={"katt","hund","gris","elefant"; public Hocke(int tal){ super(tal, alla[tal]); class Smatte extends Fnyrr{ public String grej="igelkott"; public void skriv(int antal){ System.out.println(grej); super.skriv(3);

DVS SU/KTH 4 (6) OOP Uppgift 3 (6 poäng) Skriv ett Java-program som frågar användaren efter ett antal ord (String ar). Programmet skall fortsätta att fråga efter ord tills användaren matar in ett ord som redan blivit inmatat. Då skall inmatningen avslutas och programmet skall skriva ut hur många inmatade ord det var (det sista ordet, dubletten, skall ej räknas). Dialogen skulle t.ex. kunna se ut så här: Skriv ett ord: Kokosboll Skriv ett ord: Mjölk Skriv ett ord: Skidåkning Skriv ett ord: Gaffel Skriv ett ord: Badboll Skriv ett ord: Grodyngel Skriv ett ord: CD-spelare Skriv ett ord: Gaffel Det var 7 olika ord som matades in. När ordet Gaffel matades in för andra gången upptäcker alltså programmet en dublett och inmatningen avslutas. För varje inmatat ord så måste man alltså kontrollera om det är likadant som något av alla tidigare inmatade ord.

DVS SU/KTH 5 (6) OOP Uppgift 4 (6 poäng) Följande klasser för att hantera olika sorters Mat finns (OBS klasserna innehåller även lämpliga konstruktorer, dessa är dock ointressanta för denna uppgift): abstract class Mat{ private int vikt; public int getvikt(){ return vikt; class Godis extends Mat{ private int socker; public int getkalori(){ return getvikt()*socker; class Kött extends Mat{ private String sort; private int fetthalt; public int getkalori(){ if (sort.equals( Ko )) return getvikt()*fetthalt/3; else return getvikt()*fetthalt/2; class Fisk extends Mat{ private boolean färsk; public int getkalori(){ if (färsk) return getvikt()/2; else return getvikt(); En programmerare har sedan skrivit en metod som får in (som argument) ett antal blandade objekt (Godis, Kött och Fisk-objekt, skapade på annat ställe i programmet) och som returnerar summan av kalorierna för dessa objekt. Denna metod ser ut så här: public int summakalori(arraylist<mat> maten){ int sum=0; for (Mat m : maten) sum+=m.getkalori(); return sum; Tyvärr fungerar inte denna metod, det blir ett fel. 1. Vilken sorts fel blir det? (kompileringsfel, exekveringsavbrott eller logiskt fel) 2. Varför inträffar felet? 3. Hur kan man rätta till felet? (ni får föreslå förändringar antingen i metoden summakalori eller i klasserna eller i både metoden och klasserna)

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 ur den arraylistan ta bort den kortaste Bananen. Dvs det Banan-objekt vars metod getlängd returnerar det minsta värdet skall deletas från arraylistan. Ni kan förutsätta att det i parameter-listan finns minst en Banan så det finns alltså ett objekt som skall tas bort. Om det finns flera Banan-objekt som har samma (korta) längd kan vilket som helst av dessa tas bort.