OOP Tenta

Relevanta dokument
OOP Omtenta

OOP Tentamen

OOP Omtenta

OOP Tentamen

OOP Tenta

OOP Exempel Tentamen 2007

OOP Omtenta

OOP Omtenta

OOP Tentamen

OOP Omtentamen

TENTAMEN OOP

TENTAMEN OOP

TENTAMEN OOP

Tentamen OOP

OOP Objekt-orienterad programmering

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

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

OOP Objekt-orienterad programmering

Dugga i Grundläggande programmering STS, åk

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

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

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

Tentamen i Programmering

OOP Objekt-orienterad programmering

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

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

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

Tentamen. Lösningsförslag

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

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

Sammanfattning och repetition utgående från typiska tentamensuppgifter

Laboration 13, Arrayer och objekt

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

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

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

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

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

Laboration 1 - Grunderna för OOP i Java

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

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

2D1339 Programkonstruktion för F1, ht 2003

Tentamen , Introduktion till Java, dtaa98, dtea53

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din kod överst i högra hörnet på alla papper.

Objektorienterad Programmering (TDDC77)

Outline. Objektorienterad Programmering (TDDC77) Laborationsserie del två. Vad händer under HT2. Introduktion HT2 UML.

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, EDAA10 Programmering i Java

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

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

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

Tentamen i Grundläggande programmering STS, åk

Objektorienterad Programmering (TDDC77)

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Tentamen ID1004 Objektorienterad programmering May 29, 2012

Del A (obligatorisk för alla)

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

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

Objektorienterad Programmering (TDDC77)

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

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

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

OOP Objekt-orienterad programmering

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

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.

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

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

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

Sammanfattning och repetition utgående från typiska tentamensuppgifter

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

OBJEKTORIENTERAD PROGRAMMERING för Z1 (TDA540)

Tentamen i EDA011 Programmeringsteknik för F, E, I, π och N

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

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

Tentamen i Programmeringsteknik I

Föreläsning 3-4 Innehåll

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

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

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

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

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

Tentamen, EDA501 Programmering M L TM W K V

OOP Objekt-orienterad programmering

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

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

Tentamen i Programmeringsteknik I

Instuderingsfrågor, del D

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye

Dagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen

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

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

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

Transkript:

Stockholms universitet 1 (6) OOP OOP Tenta 2011-01-14 16.00 21.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 String str="älg"; int tal1=3, tal2=4; if (tal1<tal2) str+=tal1++; else str+=tal2--; System.out.println(str+tal2); if (tal1<tal2) str+=tal1++; else str+=tal2--; System.out.println(str+tal2); B for (int x=13; x<20; x+=3){ int z=x-8; for (int y=x; y>z; y-=2) System.out.print(y+" "); System.out.println(x); C int[]talen=new int[7]; for (int x=0; x<talen.length; x++) talen[x]=10-x; int z=1; while (z<talen.length){ talen[z]+=z++; ++z; for (int tal : talen) System.out.println(tal);

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 class Uppgift2{ public static void main(string[]args){ Adda[]alla=new Adda[5]; for (int x=0; x<alla.length; x++) if (x==1 x==3) alla[x]=new Dokee(); else alla[x]=new Bjubb(); for (int x=0; x<alla.length; x++) alla[x].skriv(); class Adda{ private String ord="lire"; private int antal=2; public Adda(String ord, int antal){ this.ord=ord; this.antal=antal; public Adda(){ ord="pesetas"; public void skriv(){ for (int x=0; x<antal; x++) System.out.print(ord); System.out.println(); class Bjubb extends Adda{ private static String[] ord={"kronor","dollar","sedlar","pengar"; private static int pos=0; public Bjubb(){ super(ord[pos++], pos); class Dokee extends Adda{ private String sak="euro"; public void skriv(){ super.skriv(); System.out.println(sak);

Stockholms universitet 4 (6) OOP Uppgift 3 (6 poäng) Ni skall skriva programsatser som hanterar en heltalsarray. Ni kan förutsätta att ni har tillgång till en heltalsarray enligt deklarationen: int[] talen; Arrayen är skapad med en jämn storlek, dvs arrayen kan vara t.ex. 12 eller 14 lång men inte 13 eller 15 lång. Ni kan också förutsätta att arrayen är fylld med unika heltal i intervallet 0-999. Ni behöver således inte ha någon inläsning av tal till arrayen. Att arrayen innehåller unika heltal betyder att det inte finns några dubletter i arrayen. Er uppgift är att sortera arrayen på ett speciellt sätt. Man vill i arrayens första ruta ha det största talet, i den andra rutan det minsta talet, i den tredje rutan det näst största talet, i den fjärde rutan det näst minsta talet osv. Om arrayen t.ex. hade varit 8 lång och innehållit dessa tal: 12 814 37 116 334 418 7 274 så skall den efter att er kod har körts innehålla samma 8 tal, nu i ordningen: 814 7 418 12 334 37 274 116 Hade arrayen istället varit 14 lång och innehållit: 7 87 9 19 116 23 98 333 43 184 18 56 101 12 så skall den efter att er kod körts innehålla talen i ordningen: 333 7 184 9 116 12 101 18 98 19 87 23 56 43 All kod i Java måste stå inom en metod. Ni kan bortse från detta i denna uppgift, det räcker alltså att ni skriver de programsatser som utför sorteringen enligt uppgiftstexten. Ledning: Skapa gärna en temporär hjälparray.

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 vilka fåglar han/hon har observerat. För varje observation som skall matas in ställs frågorna: Fågelsort? Koltrast Antal? 3 Programmet skall tillåta inmatning av nya observationer tills användaren på frågan om fågelsort svarar STOPP. Programmet skall sedan skriva ut en lista av alla fåglar som observerats. I listan skall varje unik fågelsort förekomma endast en gång, med det sammanlagda antalet observerade fåglar. Om man t.ex. matat in Koltrast 3 vid ett tillfälle, Koltrast 5 vid ett annat tillfälle och Koltrast 12 vid ett tredje tillfälle så skall det i listan stå: Koltrast 20 Dialogen i ert program skulle kunna se ut så här: Fågelsort? Koltrast Antal? 3 Fågelsort? Bofink Antal? 4 Fågelsort? Stare Antal? 14 Fågelsort? Koltrast Antal? 5 Fågelsort? Struts Antal? 2 Fågelsort? Bofink Antal? 3 Fågelsort? STOPP Här kommer en lista över fåglarna: Koltrast 8 Bofink 7 Stare 14 Struts 2

Stockholms universitet 6 (6) OOP Uppgift 5 (6 poäng) Följande klasser finns: abstract class Djur{ private String namn; public String getnamn(){ return namn; class Hund extends Djur{ private int ålder, vikt; public int värde(){ return vikt*10+ålder*75; class Katt extends Djur{ private boolean snäll; public int värde(){ if (snäll) return 700; else return 300; 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<Djur> som argument. Den ArrayListan är fylld med blandade Hund- och Katt-objekt. Ni skall i metoden skriva ut namn, ålder och vikt för alla Hund-objekt som har ett värde som överstiger 500. Utskriften skulle kunna se ut så här: Fido Ålder=4 Vikt=32 Karo Ålder=6 Vikt=8 Rufus Ålder=4 Vikt=21 Lex Ålder=8 Vikt=4 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).