OOP Omtenta 2010-03-06 10.00 15.00



Relevanta dokument
OOP Tentamen

OOP Tenta

OOP Tentamen

OOP Tentamen

OOP Omtenta

OOP Omtenta

OOP Exempel Tentamen 2007

OOP Tenta

OOP Omtentamen

OOP Omtenta

TENTAMEN OOP

TENTAMEN OOP

TENTAMEN OOP

Tentamen OOP

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

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

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

OOP Objekt-orienterad programmering

Laboration 1 - Grunderna för OOP i Java

Tentamen. Lösningsförslag

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

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

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.

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

OOP Objekt-orienterad programmering

2D1339 Programkonstruktion för F1, ht 2004

Laboration 13, Arrayer och objekt

Klasshierarkier - repetition

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

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

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

Tentamen i Programmeringsteknik I, ES,

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

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

Tentamen i Grundläggande programmering STS, åk

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

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

Tentamen i Programmering

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

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

Instuderingsfrågor, del D

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Tentamen, EDA501 Programmering M L TM W K V

OOP Objekt-orienterad programmering

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

LÖSNINGSFÖRSLAG TENTAMEN

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

2D1342 Programkonstruktion för F1, ht 2006

Dugga i Grundläggande programmering STS, åk

Arv. Objektorienterad och komponentbaserad programmering

JAVA Mer om klasser och objektorientering

Tentamen i Programmeringsteknik I,, KandMa/Fy,

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

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

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

Sortering. Om du följt dessa steg korrekt så ska böckerna nu vara sorterade.

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

Malmö högskola 2008/2009 CTS

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

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

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

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

OOP Objekt-orienterad programmering

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

Tentamen i Objektorienterad programmering

DD1342 Programkonstruktion för F1,

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

Tentamen, EDAA10 Programmering i Java

DAT043 Objektorienterad Programmering

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

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

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

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

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

Tentamen i Programmeringsteknik I

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.

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

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Programmering i C++ EDA623 Arv. EDA623 (Föreläsning 6) HT / 42

PROGRAMMERING-JAVA TENTAMINA

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

OOP Objekt-orienterad programmering

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

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

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

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

Objektorienterad Programmering (TDDC77)

Tentamen ID1004 Objektorienterad programmering May 29, 2012

Tentamen Datastrukturer (DAT036)

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen , Introduktion till Java, dtaa98, dtea53

Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006

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

Transkript:

Stockholms universitet 1 (6) OOP OOP Omtenta 2010-03-06 10.00 15.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar 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.

Stockholms universitet 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; if (tal++ < 8){ System.out.print("Stockholm"); System.out.println(++tal); else{ System.out.print("Göteborg"); System.out.println(++tal); System.out.println(tal++); B int x=3, y=13; while(x<y){ y-=3; for (int z=x; z<y; z+=2) System.out.print(z); System.out.println(x++); C int[]arr = new int[8]; int start=3; for (int index=0; index<arr.length; index++){ start+=index; arr[index]=start; for (int z : arr) System.out.println(z);

Stockholms universitet 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<Alfa> alla = new ArrayList<Alfa>(); alla.add(new Bravo("Val")); alla.add(new Delta()); alla.add(new Bravo("Tår")); alla.add(new Delta()); for (Alfa al : alla) al.skriv(4); class Alfa{ private static String[] saker={"bok", "Sko", "Haj", "Sol", "Get"; private static int start=0; private int tal; public Alfa(){ tal=start++; public void skriv(int antal){ for (int x=0; x<antal; x++) System.out.print(getSak()); System.out.println(); public String getsak(){ return saker[tal]; class Bravo extends Alfa{ private String sak; public Bravo(String sak){ this.sak = sak; public String getsak(){ return sak; class Delta extends Alfa{ public void skriv(int antal){ System.out.println(getSak()); super.skriv(2);

Stockholms universitet 4 (6) OOP Uppgift 3 (6 poäng) Er uppgift är att skriva klassen Utskrift. Den skall skrivas så att man kan använda den enligt följande: Om man i något program använder klassen Utskrift så här: Utskrift u1 = new Utskrift("Tulpan", 3); Utskrift u2 = new Utskrift("Ros"); System.out.println(u1); System.out.println(u2); så skall följande skrivas ut: Tulpan Tulpan Tulpan Ros Om man i ett program skriver följande kod: Utskrift u1 = new Utskrift("Lilja", 2); u1.öka(); u1.öka(); System.out.println(u1); så skall detta skrivas ut: Lilja Lilja Lilja Lilja När ni skriver klassen Utskrift så skall samtliga attribut, konstruktorer och metoder ha lämpliga åtkomstmodifierare.

Stockholms universitet 5 (6) OOP Uppgift 4 (6 poäng) Skriv ett litet Java-program där en användare får möjlighet att mata in namn samt lön för ett antal personer. För varje person som skall matas in ställs frågorna: Namn? Kalle Hur stor lön har Kalle? 28000 Programmet skall tillåta inmatning av nya personer tills användaren på frågan om namn svarar STOPP. Programmet skall sedan skriva ut namnet på alla personer som har en lön som är högre än de inmatade personernas medellön. Ni måste alltså först räkna ut personernas medellön (summan av alla personernas lön dividerat med antal personer), därefter gå genom alla personerna och se vilka som har en lön som är större än medellönen. Dialogen i ert program skulle kunna se ut så här: Namn? Kalle Hur stor lön har Kalle? 28000 Namn? Anna Hur stor lön har Anna? 21500 Namn? David Hur stor lön har David? 26200 Namn? Maria Hur stor lön har Maria? 33600 Namn? Fredrik Hur stor lön har Fredrik? 19200 Namn? Eva Hur stor lön har Eva? 23700 Namn? STOPP Följande personer tjänar med än medel: Kalle David Maria

Stockholms universitet 6 (6) OOP Uppgift 5 (6 poäng) Följande klasser finns: abstract class Fordon{ private int hastighet; public int gethastighet(){ return hastighet; class Bil extends Fordon{ public int maxpassagerare(){ if (gethastighet()>100) return 2; else return 4; class Buss extends Fordon{ private int längd; public int maxpassagerare(){ return längd*4; 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<Fordon> som argument. Den ArrayListan är fylld med blandade Bil- och Buss-objekt. Metoden skall även få ett heltal som argument, talet anger ett antal passagerare som vill åka. Ni skall sedan skriva ut sort (Bil eller Buss) och max antal passagerare för alla fordon som har plats för minst så många passagerare som heltalsargumentet anger. Om t.ex. talet 3 skickats som argument skulle utskriften kunna se ut så här: Buss 36 Bil 4 Buss 48 Bil 4 Bil 4 Buss 36 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).