OOP Tentamen

Relevanta dokument
OOP Tentamen

OOP Omtenta

OOP Tentamen

OOP Tenta

OOP Omtenta

OOP Tenta

OOP Omtenta

OOP Omtentamen

OOP Exempel Tentamen 2007

OOP Omtenta

TENTAMEN OOP

TENTAMEN OOP

TENTAMEN OOP

OOP Objekt-orienterad programmering

Tentamen OOP

OOP Objekt-orienterad programmering

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

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

OOP Objekt-orienterad programmering

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. Grundläggande programmering i Java A 5p, DTAA

PROGRAMMERING-JAVA TENTAMINA

Tentamen i Grundläggande programmering STS, åk

PROGRAMMERING-Java TENTAMINA

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

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

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

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

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-Java Omtentamina

Laboration 13, Arrayer och objekt

JAVA Mer om klasser och objektorientering

Tentamen i Programmeringsteknik I

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

Tentamen, EDAA10 Programmering i Java

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

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

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

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

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

Dugga i Grundläggande programmering STS, åk

DAT043 Objektorienterad Programmering

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Tentamen i Programmering

Tentamen i Grundläggande programmering STS, åk

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

Tentamen. Programmeringsmetodik, KV: Java och OOP. 17 januari 2002

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.

Laboration 1 - Grunderna för OOP i Java

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

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

Objektorienterad Programmering (TDDC77)

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

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

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

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ

Tentamen i Programmeringsteknik I, ES,

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

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

Tentamen i Programmeringsteknik I,, KandMa/Fy,

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

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

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

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

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.

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

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

Objektorienterad programmering i Java

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

Programexempel: tärningsspel. Programexempel: tärningsspel Kasta tärning tills etta. Klassen Die Specifikation. Slumptalsgenerator Klassen Random

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

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

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

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

OOP Objekt-orienterad programmering

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

PROGRAMMERINGSTEKNIK TIN212

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

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

OOP Objekt-orienterad programmering

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

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

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

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).

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

TENTAMEN OOP

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

Programmering för språkteknologer II, HT2011. Rum

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Tentamen ID1004 Objektorienterad programmering May 29, 2012

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

Malmö högskola 2012/2013 Teknik och samhälle

2D1342 Programkonstruktion för F1, ht 2006

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

Transkript:

DVS SU/KTH 1 (6) OOP OOP Tentamen 2010-01-15 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 tal=3; switch (tal--){ case 1: case 2: case 3: case 4: default: B for (int x=13; x<20; x+=3){ int y = x-10; do { System.out.print(y+" "); y += 3; while (y<x); System.out.println("Hej"+y); C int[]arr = new int[6]; int start=20; for (int index=0; index<arr.length; index++){ arr[index]=start-index; start-=index; 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 Uppgift2, startas alltså med: java Uppgift2 import java.util.arraylist; class Uppgift2{ public static void main(string[]args){ ArrayList<Gerrf> alla = new ArrayList<Gerrf>(); alla.add(new Davvi()); alla.add(new Kyyn("Soffa")); alla.add(new Davvi()); alla.add(new Kyyn("Skrivbord")); for (Gerrf ge : alla) ge.skriv(); class Gerrf{ private static int tal=0; private String grej="stol"; public Gerrf(){ tal++; public Gerrf(String str){ grej=str+tal++; public void skriv(){ for (int x=1; x<tal; x++) System.out.print(getGrej()); System.out.println("Stopp"); public String getgrej(){ return grej; class Kyyn extends Gerrf{ public Kyyn(String str){ super(str); public void skriv(){ System.out.println(getGrej()); class Davvi extends Gerrf{ public String annat="bord"; public String getgrej(){ return annat;

DVS SU/KTH 4 (6) OOP Uppgift 3 (6 poäng) Lotto är ett spel där man gissar/tippar på sju olika nummer mellan 1 och 35. Därefter så slumpas det fram sju nummer mellan 1 och 35 i en dragning. Man jämför sedan sina nummer med den rätta raden och ser hur många rätt man fick. I denna uppgift kan ni förutsätta att det finns en gissad/tippad rad och att de sju numren finns i en array enligt: int [] minanummer = new int[7]; //Arrayen är ifylld och innehåller 7 stycken olika tal Er uppgift är att skriva programkod som först slumpar fram den rätta raden, alltså som slumpar fram sju stycken tal mellan 1 och 35. Obs att det i den rätta raden INTE får finnas några dubletter. Därefter skall ni kontrollera numren i arrayen ovan och se hur många rätt det blev. Antalet rätt skall sedan skrivas ut på skärmen. Ni behöver inte tänka på att programsatserna borde stå inuti någon metod, det räcker alltså att ni i ert svar skriver de programsatser som behövs. Uppgiften består av två delar: Del A: Slumpa fram den rätta raden. Skall alltså vara sju stycken tal i intervallet 1 35. Det får INTE vara några dubletter. Del B: Kontrollera arrayen minanummer (se ovan) och se hur många av de numren som finns i den rätta raden (alltså bland de tal ni slumpade fram i del A). Skriv ut resultatet. Ledning: I klassen Random finns en metod som slumpar fram ett tal inom ett intervall: public int nextint(int n) Returnerar ett slumpmässigt tal mellan 0 (inklusive) och n (exklusive). Alltså kan talet 0 bli framslumpat men inte talet n. Klass Random ligger i java.util, ni kan förutsätta att: import java.util.*; är gjort.

DVS SU/KTH 5 (6) OOP Uppgift 4 (6 poäng) Skriv ett litet Java-program (en klass med en main-metod) som ber användaren mata in ett antal positiva heltal och som sedan skriver ut de talen på tre olika rader. På första raden skall alla tal i intervallet 1-9 skrivas ut, på den andra raden skall alla tal i intervallet 10-100 skrivas och på tredje raden skall talen som är större än 100 skrivas ut. Programmet frågar användaren efter tal så länge det kommer positiva tal. Så fort 0 eller ett negativt tal blir inmatat avbryts inmatningen. Därefter skrivs talen ut på tre rader. När programmet körs skall det se ut ungefär så här: Tal 1> 19 Tal 2> 863 Tal 3> 43 Tal 4> 11 Tal 5> 5 Tal 6> 31 Tal 7> 2907 Tal 8> 84 Tal 9> 712 Tal 10> 8 Tal 11> 588 Tal 12> 68 Tal 13> 10 Tal 14> 3 Tal 15> -3 5 8 3 19 43 11 31 84 68 10 863 2907 712 588

DVS SU/KTH 6 (6) OOP Uppgift 5 (6 poäng) Följande klasser finns: abstract class Figur{ private int längd; public int getlängd(){ return längd; class Kvadrat extends Figur{ public int getomkrets(){ return getlängd()*4; class Triangel extends Figur{ public int getomkrets(){ return getlängd()*3; 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<Figur> som argument. Den ArrayListan är fylld med blandade Kvadrat- och Triangel-objekt. Ni skall sedan i metoden skriva ut vilken omkrets som är störst av alla kvadraterna i listan samt vilken omkrets som är störst av alla trianglarna i listan. Utskriften skall se ut ungefär så här: Största kvadraten har omkretsen: 72 Största triangeln har omkretsen: 84 Ni kan förutsätta att det i argumentlistan finns minst ett Kvadrat-objekt och minst ett Triangel-objekt, det finns alltså en största både kvadrat och triangel. OBS metoden som ni skriver måste ju i Java ligga inuti någon klass. Det kan ni ignorera 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).