Institutionen för TENTAMEN CTH VT-14 Datavetenskap TDA550 DAG: TID: 8:30 12:30
|
|
- Patrik Lindqvist
- för 8 år sedan
- Visningar:
Transkript
1 Institutionen för TENTAMEN CTH VT-14 Datavetenskap TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038 Förfrågningar: Resultat: Christer Carlsson erhålls via Ladok Betygsgränser: 3:a 24 poäng 4:a 36 poäng 5:a 48 poäng maxpoäng 60 poäng Siffror inom parentes: Granskning: Hjälpmedel: Var vänlig och: Observera: anger maximal poäng på uppgiften. Onsdag 14/5 kl och fredag 16/5 kl 12-13, rum 6128 i EDIT-huset. Inga hjälpmedel är tillåtna förutom bilagan till tesen. Skriv tydligt och disponera papperert på lämpligt sätt. Börja varje uppgift på nytt blad. Skriv ej på baksidan av papperet. Uppgifterna är ej ordnade efter svårighetsgrad. Titta därför igenom hela tentamen innan du börjar skriva. Alla program skall vara välstruktruerade, lätta att överskåda samt enkla att förstå. Vid rättning av uppgifter där programkod ingår bedöms principella fel allvarligare än smärre språkfel. LYCKA TILL!!!!
2
3 Uppgift 1. Betrakta klasserna Bird och Penguin som finns i paketet aviator: package aviator; public abstract class Bird { protected int a = 1; public abstract void identify(); protected void shout(){ System.out.println("Kaw-Kaw"); public void action() { System.out.println("Fear me" + this.a + " times"); public void flyaround() { System.out.println("Wooooosh, I am a"); identify(); shout(); System.out.println("You should"); action(); protected int geta() { return a; protected void addtoa() { a++; //Bird I paketet bungler finns klassen Program: package bungler; public class Program{ public static void act1() { Bird b = new Bird(); b.flyaround(); public static void act2() { act3(b); public static void act3(penguin p) { b.shout(); package aviator; public class Penguin extends Bird { private int a; public Penguin() { a = public void identify() { System.out.println("Penguin #" + a + " reporting for duty!"); public void shout() { System.out.println("Shouting is uncivilized..."); public void action(int times) { System.out.println("Swim "+ (times + geta()) + " times!"); public void flyaround() { System.out.println("Sometimes I dream" + " I can fly like this: "); super.flyaround(); //Penguin public static void act5() { b.flyaround(); public static void act6() { b.identify(); public static void act7() { b.addtoa(); ((Penguin)b).action(4); //Program public static void act4() { b.action(15); Vad inträffar för vart och ett av nedanstående anrop (ger kompileringsfel, ger exekveringsfel, ger utskriften xxxx, etc). Svaren skall motiveras! a) Program.act1() b) Program.act2() c) Program.act3(new Penguin()) d) Program.act4() e) Program.act5(5) f) Program.act6() g) Program.act7() Anm: Klassen Program går naturligtvis inte att kompilera, men bortse från detta när du besvarar frågorna. Tänk dej att både kompilering och exekvering görs när respektive metod anropas. (7 poäng)
4 Uppgift 2. Antag att vi har en klass BankAccount för att avbilda bankkonton: public class BankAccount { private int balance; // current account balance public void withdraw(int amount) { //BankAccount Betrakta följande specifikationer för metoden withdraw: decreases balance by amount amount <= balance and amount >= decreases balance by InsufficientFundsException if balance < amount decreases balance by amount a) Vilka av ovanstående specifikationer uppfylls av implementationen nedan? public void withdraw(int amount) { balance = balance - amount; b) Vilka av ovanstående specifikationer uppfylls av implementationen nedan? public void withdraw(int amount) { if (balance >= amount) balance = balance - amount; c) Vilka av ovanstående specifikationer uppfylls av implementationen nedan? public void withdraw(int amount) { if (amount < 0) throw new IllegalArgumentException(); balance = balance - amount; d) Vilka av ovanstående specifikationer uppfylls av implementationen nedan? public void withdraw(int amount) throws InsufficientFundsException { if (amount < 0) throw new InsufficientFundsException(); balance = balance - amount; Ge en kort motivering till dina svar! (6 poäng)
5 Uppgift 3. Betrakta nedanstående klass: public class Doer { private int id; public Doer(int i) { id = i; public void dosomething() { switch (id) { case 1: nothing(); break; case 2: talk(); break; case 3: laugh(); default: return; private void laugh() { System.out.println("Laugh"); private void talk() { System.out.println("Talk"); private void nothing(){ System.out.println("Nothing"); //Doer Klassen strider mot Open-Closed Principle. Åtgärda detta genom att nyttja designmönstret Strategy. Uppgift 4. (6 poäng) Betrakta nedanstående kod: public interface EuroThermo { public double readtemp(); //EuroThermo public class USThermo { private double ustemp; public USThermo(double ustemp) { this.ustemp = ustemp; public double gettemp() { return ustemp; //USThermo Interfacet EuroThermo definierar en termometer som mäter i Celsius och klassen USThermo implementerar en termometer som mäter i Fahrenheit. Utnyttja designmönstret Adapter för att implementera en klass USThermoToEuroThermo som anpassar en termometer som mäter i Fahrenheit till en termometer som mäter i Celsius. Skriva också en main-metod som testar din implementation. Tips: Formeln för att omvandla från Fahrenheit (F) till Celsius (C) ser ut på följande sätt: C = (F-32)*(5/9). Uppgift 5. Betrakta klass Appointment nedan:: public class Appointment { private String description; private Date time;... (4 poäng) Utöka klassen med en clone-metod, samt ange vad som i övrigt behöver göras för att klassen skall bli kloningsbar. Tips: Klassen Date tillhandahåller metoden clone. (3 poäng)
6 Uppgift 6. Kalle Klant har fått till uppgift att skriva en equals-metod till klassen StockItem nedan: public class StockItem { private String name; private int size; private String description; private int quantity; public StockItem(String name, int size, String description, int quantity) { //code not shown here /*Other constructors and methodes not shown here */ Två objekt av StockItem skall betraktas som lika om värden på instansvariablerna name respektive size överensstämmer. Kalle presenterade följande lösning: /** return true if the name and size fields match */ public boolean equals(stockitem other) { return name.equals(other.name) && size.equals(other.size); a) Denna equals-metod ger inte alltid rätt resultat. Ge ett exempel på ett scenario där ett felaktigt resultat erhålls. (1 poäng) b) Ge en korrekt implementation av equals-metoden. (3 poäng) c) Vilka av nedanstående implementationer av hashcode() är korrekta? Motivera ditt svar! i) public int hashcode() { return name.hashcode(); ii) public int hashcode() { return name.hashcode()*17 + size*11; iii) public int hashcode() { return name.hashcode()*17 + size*11+ description.hashcode()*7; iv) public int hashcode() { return name.hashcode()*17 + size*11+ description.hashcode()*7 + quantity*5; (2 poäng) d) Vilken av de korrekta implementationerna av hashcode() är att föredra? Motivera ditt svar! (1 poäng) Uppgift 7. I ett programsystem för att handha en djurpark finns nedanstående metod: public void feedanimals() { for (Animal a: animalsinpark) { if (a.needsfood()) { Food typeoffood = a.typeoffoodiffoodneeded(); a.feed(typeoffood); Gör en refaktorering (omstrukturering) av koden så att principen Separation of Concerns följs. (4 poäng)
7 Uppgift 8. En grupp av ord är anagram om de kan bildas av varandra genom att ändra ordningen på de ingående bokstäverna. Exempelvis är de svenska orden "avig" och "viga" anagram till varandra. I denna uppgift skall delar av en klass för hantering av anagram implementeras: public class Anagrams { private Map<String, Set<String>> anagrams;... private String alphabetize(string word) { //code not shown here För att hålla reda på anagram används i klassen en Map. Värdena i mappen utgörs av mängder (Set) innehållande ord som är anagram med varandra, och nycklar i mappen är de strängar man får om man sorterar bokstäverna i anagramen i tillhörande Set i alfabetisk ordning. Om vi t.ex. skall sätta in orden "avig", och "viga" i en (från början tom) map görs följande: När ordet "avig" skall sättas in bildar vi först sträng som utgör nyckel genom att sortera bokstäverna i "avig". Vi får då nyckeln "agiv". Denna nyckel finns inte i mappen (som är tom). Nyckeln sätts då in i mappen med sitt tillhörande värde, mängden ["avig"]. När "viga" skall sättas in bildar vi först sträng som utgör nyckel, vilken blir "agiv". Denna nyckel finns redan i mappen. Ordet "viga" läggs därför in i mängden som tillhör nyckel "agiv", som då för värdet ["avig", "viga"]. a) Lägg till och implementera en konstruktor i klassen. Den konkreta klassen HashMap skall användas. (1 poäng) b) Implementera metoden public void add(string word) för att sätta in ordet word i mappen. Du kan använda en färdigskriven metod, String alphabetize(string word) som returnerar en sträng som består av samma bokstäver som i parametern, men i alfabetisk ordning. (3 poäng) c) Implementera metoden public Set<String> getanagramsof(string word) för att ta reda på alla ord i mappen som är anagram till ordet word. Om inga anagram till word finns skall mängden som returneras vara tom, annars skall mängden som returneras bestående av alla ord som är anagram till word utom word självt. Exempel 1: Antag att vi satt in orden "avig" och "viga" och anropar getanagramsof("giva"). Då skall resultatet bli en mängd ["avig", "viga"]. Exempel 2: Antag att vi satt in "eldig", "ledig" och "digel" och anropar getanagramsof("ledig"). Då skall resultatet bli en mängd ["digel", "eldig"]. (3 poäng) d) Implementera metoden public int maxgroupsize(); som tar reda på storleken av den största mängden anagram. Om mappen är tom skall 0 returneras. (2 poäng)
8 Uppgift 9. Betrakta medanstående klass: public class TryCatchMystery { public static void main (String[] args) { try { method1(); method2(); catch (IllegalArgumentException e) { System.out.println("main IllegalArgumentException"); catch (RuntimeException e) { System.out.println("main RuntimeException"); //main public static void method1() { System.out.println("entered method1"); try { method2();k catch (IllegalArgumentException e) { System.out.println("method1 IllegalArgumentException"); throw new NullPointerException(); catch (NullPointerException e) { System.out.println("method1 NullPointerException"); throw new NullPointerException(); finally { System.out.println("method1: finally"); System.out.println("exited method1"); //method1 public static void method2() { System.out.println("entered method2"); throw new IllegalArgumentException(); //method2 //TryCatchMystery Vad blir utskriften när main-metoden körs? Tips: IllegalArgumentException och NullPointerException är subklasser till RuntimeException. (2 poäng) Uppgift 10. I ett Java-program som används för att testa stresståligheten hos en grupp försökspersoner, går ett experimentet ut på att försökspersonen skall göra en förutbestämd följd av knapptryckningar. Om en knapptryckning blir felaktig startas en tråd av klassen ShutdownThread (se nedan) som skriver ut ett felmeddelande, varefter tråden lägger sig och sover en viss tid, under vilken försökspersonen får chansen att korrigera sitt fel (genom att ge en ny sekvens av knapptryckningar). Lyckas försökspersonen med detta inom tiden tråden sover, avbryts tråden med ett anrop av interrupt(), annars skjuter tråden ner programmen genom att anropa System.exit(0). Din uppgift är att skriva klassen ShutdownThread. Klassen ShutdownThread skall ha har en konstruktor public ShutdownThread(String msg, int seconds) där parametern msg anger felmeddelandet som skrivs ut och parametern seconds anger hur länge försökspersonen har på sig att rätta till sitt fel innan systemet skjuts ner. Tips: Om tråden blir avbruten görs lämpligen return, för att avsluta tråden på ett kontrollerat sätt. (8 poäng)
9 Uppgift 11. Antag att vi har följande klasser: public class Animal extends Object {... public class Pet extends Animal {... public class Cat extends Pet {... public class Dog extends Pet {... Antag vidare att man i ett program gjort följande deklarationer: Animal a; Pet p; Cat c; Dog d; List <? extends Pet> lep; List <? super Pet> lsp; Ange för var och en av satserna nedan om satsen är korrekt eller ger typfel. Motivera ditt svar! a) lep.add(p); b) a = lep.get(0); c) lsp.add(c); d) a = lsp.get(0); (4 poäng)
Institutionen för TENTAMEN CTH VT-14 Datavetenskap 2014-04-22 TDA550 DAG: 14-04-22 TID: 8:30 12:30
Institutionen för TENTAMEN CTH VT-14 Datavetenskap 2014-04-22 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 14-04-22 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038
Institutionen för TENTAMEN CTH HT-17 Datavetenskap TDA550
Institutionen för TENTAMEN CTH HT-17 Datavetenskap 2017-08-16 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 17-08-16 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-04-06, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-08-19 TDA550 DAG: 15-08-19 TID: 8:30 12:30
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-08-19 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 15-08-19 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038
Tentamen Programmering fortsättningskurs DIT950
Tentamen Programmering fortsättningskurs Datum: 2015-03-17 Tid: 08.30-12.30 Hjälpmedel: Engelskt-Valfritt språk lexikon Betygsgränser: U: -23 G: 24-43 VG: 44-60 (max 60) Lärare:. Någon besöker ca 10.00
Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:
Tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-01-13, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar: Alex
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-08-30, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
TENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).
1 (7) TENTAMEN: Objektorienterad programmering Läs detta! Uppgifterna är inte ordnade efter svårighetsgrad. Börja varje hel uppgift på ett nytt blad. Skriv inte i tesen. Ordna bladen i uppgiftsordning.
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540 Tentamen för TDA540 Objektorienterad programmering DAG: 15-04-18 TID: 14:00 18:00 Ansvarig: Joachim von Hacht och Christer Carlsson
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-04-12, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-08-24, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:
Tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-01-09, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar: Alex
Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Övning 4. I denna övning ska vi titta på icke-muterbarhet kontra muterbarhet, samt metoderna equals, hashcode och clone.
TDA550 - Objektorienterad programvaruutveckling, fk Övning 4. I denna övning ska vi titta på icke-muterbarhet kontra muterbarhet, samt metoderna equals, hashcode och clone. Uppgift 1 Icke-muterbarhet kontra
DAT043 Objektorienterad Programmering
DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-13 TDA550 DAG: 15-04-13 TID: 8:30 12:30
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-13 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 15-04-13 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
Tentamen LÖSNINGSFÖRSLAG. c) Tilldelningen C x = new D() ger kompileringsfel eftersom klassen D är abstrakt.
Tentamen 101213 - LÖSNINGSFÖRSLAG Uppgift 1. a) Ger utskriften c( ) in D b) Ger utskriften true c) Tilldelningen C x = new D() ger kompileringsfel eftersom klassen D är abstrakt. d) Ger utskriften b( )
TENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Institutionen för TENTAMEN CTH HT-14 Datavetenskap 2015-01-14 TDA550 DAG: 15-01-14 TID: 14:00 18:00
Institutionen för TENTAMEN CTH HT-14 Datavetenskap 2015-01-14 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 15-01-14 TID: 14:00 18:00 Ansvarig: Christer Carlsson, ankn 1038
Institutionen för TENTAMEN CTH HT-17 Datavetenskap TDA550
Institutionen för TENTAMEN CTH HT-17 Datavetenskap 2017-01-13 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling, fk DAG: 17-01-13 TID: 14:00 18:00 Ansvarig: Christer Carlsson, ankn 1038
Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck
Betrakta följande uttryck a +(b + c) d + e (f + g h) Parsing med Recursive Descent, Avbildningsklasser Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 22 november 2010 Beräkning med regler: multiplikation
Institutionen för TENTAMEN CTH HT-14 Datavetenskap TDA540. Tentamen för TDA540 Objektorienterad programmering
Institutionen för TENTAMEN CTH HT-14 Datavetenskap 2015-01-17 TDA540 Tentamen för TDA540 Objektorienterad programmering DAG: 15-01-17 TID: 14:00 18:00 Ansvarig: Joachim von Hacht och Christer Carlsson
Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga
203-03-9 203-03-9 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6
Instuderingsuppgifter läsvecka 6 - LÖSNINGAR
Instuderingsuppgifter läsvecka 6 - LÖSNINGAR 1. 2. Om vi använder interfacet List behöver vi inte bry oss om den konkret implementation som används, därför kan implementationen bytas ut genom att endast
/* * * Lösningsförslag tentamen DIT950 * Datum * */ /* * -1 - */ För samtliga gäller,se föreläsningsanteckningar.
* * Lösningsförslag tentamen DIT950 * Datum 150317 * * -1 - För samtliga gäller,se föreläsningsanteckningar. * - 2 - (Diagram visas inte, kontakta mig för ev frågor) // a C c = new A(); // Compile! Sub
Outline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine
Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Klassen calculator Signatur Calculator
Institutionen för TENTAMEN CTH HT-13 Datavetenskap TDA550 DAG: TID: 8:30 12:30
Institutionen för TENTAMEN CTH HT-13 Datavetenskap 2013-12-17 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 13-12-17 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038
Tentamen Programmeringsteknik II Inledning. Anmälningskod:
Tentamen Programmeringsteknik II 2016-01-11 Inledning I bilagan finns ett antal mer eller mindre ofullständiga klasser. Några ingår i en hierarki: List, SortedList, SplayList och ListSet enligt vidstående
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Överlagring (overloading) Arv
Institutionen för TENTAMEN CTH VT-17 Datavetenskap TDA550
Institutionen för TENTAMEN CTH VT-17 Datavetenskap 2017-04-10 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 17-04-10 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-15, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-15, TDA540 Dag: 2016-04-09, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Joachim von Hacht och Christer
Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.
Outline Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Undantag Design Hösttermin 2017 En frukt har ett namn Man kan lägga en frukt i
Lösningsförslag till tentamen
till tentamen 1 (6) Kurs Objektorienterad programmering Program D2 Läsår 2010/2011, lp 1 Examinator Uno Holmer Uppgift 1 (10 p) Ingen lösning ges. Se kurslitteraturen. Uppgift 2 (11 p) public class CounterButton
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Hashing Undantag Design Outline Hashing Undantag Design En frukt
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning Generiska klasser Undantag Interface Nästlade klasser 1 Problem:
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-08-19 TDA550 DAG: 15-08-19 TID: 8:30 12:30
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-08-19 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 15-08-19 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038
Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2
AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga
TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng
TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,
TENTAMEN: Objektorienterad programmering. Läs detta! Börja varje hel uppgift på ett nytt blad. Skriv inte i tesen.
1 (9) TENTAMEN: Objektorienterad programmering Läs detta! Uppgifterna är inte ordnade efter svårighetsgrad. Börja varje hel uppgift på ett nytt blad. Skriv inte i tesen. Ordna bladen i uppgiftsordning.
Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.
.0.0 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6 poäng Denna tentamen
Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Objektorienterad programvaruutveckling, fk, TDA550. Exempeltentamen
Objektorienterad programvaruutveckling, fk, TDA550 Exempeltentamen Uppgift 1. a) Vad skriver programmet ut? Motivera! public class A { public void f() { System.out.println("A.f"); public void h() { f();
OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2
Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 2 TID: 4 timmar Ansvarig: Betygsgränser: Hjälpmedel: Jan Skansholm Sammanlagt maximalt
Tentamen Objekt-orienterad programmering i Java, 5p distanskurs
Tentamen 2006-05-06 Objekt-orienterad programmering i Java, 5p distanskurs Uppsala Universitet Instutitionen för informationsteknologi Avdelningen för datalogi Kursansvarig: Sven-Olof Nyström May 2, 2007
PROGRAMMERINGSTEKNIK TIN212
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Robin Adams Göteborg 8 June 2018 PROGRAMMERINGSTEKNIK TIN212 Dag: Fredag Datum:
Föreläsnings 9 - Exceptions, I/O
Föreläsnings 9 - Exceptions, I/O Josef Svenningsson Tisdag 6/11 Undantag - Exceptions Kommer ni ihåg det här programmet? Det var ett av de första ni såg i första föreläsningen. import javax.swing.*; public
Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel
Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av
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 Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta
CHALMERS TENTAMEN. 2018/2019, lp 1 DAT050. Uno Holmer
TENTAMEN KURSNAMN Objektorienterad programmering, 7.5p PROGRAM: DAI 2 (TIDAL-2) 2018/2019, lp 1 KURSBETECKNING EXAMINATOR DAT050 Uno Holmer TID FÖR TENTAMEN Onsdagen den 28/8 2019, 08.30 12.30 HJÄLPMEDEL
Övning vecka 6. public void method2() { //code block C method3(); //code block D }//method2
Övning vecka 6. TDA550 - Objektorienterad programvaruutveckling IT, fk Denna vecka ska vi titta på undantag, testning, generiska enheter, samlingar och designmönstret Iterator. Uppgift 1 Exceptions a)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl
Föreläsning 12. Föreläsning 12. Rörliga figurer Klassen Timer Undantag Något om applets. Rörliga appletsfigurer Klassen Timer Undantag
Föreläsning 12 Föreläsning 12 Rörliga figurer Klassen Timer Undantag Något om applets Rörliga appletsfigurer Klassen Timer Undantag Något om applets Klassen javax.swing.timer I Swing finns en klass Timer
Klasshierarkier - repetition
Klasshierarkier - repetition Klasser kan byggas på redan denierade klasser, egna och/eller färdigskrivna, genom: I att klassobjekt används som attribut (instansvariabler): har-relation. Exempel: traksystemet
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-15, TDA540. Dag: , Tid:
Tentamen för TDA40 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-, TDA40 Dag: 206-0-6, Tid: 4.00-8.00 Ansvarig: Examinator: Alex Gerdes Joachim von Hacht och Christer Carlsson Förfrågningar:
Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-03-19 Skrivtid: 14:00 19:00 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen i Grundläggande programmering STS, åk 1 fredag
Tentamen i Grundläggande programmering STS, åk 1 fredag 2003-05-23 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Anders besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka kl.
Del A (obligatorisk för alla)
Del A (obligatorisk för alla) A1. Ringa in rätt svarsalternativ eller skriv svar i ruta om sådan a) Satsen double x = (int)(1 + 3/2.0) + 3.; resulterar i b) Satsen int x = (int)(1 + 3/2.0) + 3.; resulterar
TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2
TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2 Pelle Evensen, Daniel Wetterbro 5 november 2009 Sammanfattning Denna vecka ska vi titta på abstrakta klasser kontra interface,
Tentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna!
Tentamen Programmeringsteknik II 2014-01-09 Skrivtid: 0800-1300 Hjälpmedel: Java-bok (vilken som helst) Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja
Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal
Tentamen DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl 14.00 17.00 Hjälpmedel: penna, suddgummi, linjal Tentan har två delar om vardera 30 poäng Maximala betygsgränser (gränserna
if (n==null) { return null; } else { return new Node(n.data, copy(n.next));
Inledning I bilagor finns ett antal mer eller mindre ofullständiga klasser. Klassen List innehåller några grundläggande komponenter för att skapa och hantera enkellänkade listor av heltal. Listorna hålls
Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016
Objektorienterad Programkonstruktion Föreläsning 2 2 nov 2016 Objekt - klass Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 Objekt - klass Objekt - klass Objekt - klass + Objekt - klass public class
TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P
UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr
SI-pass 4. Johan Brook och Jesper Persson. 25 september 2012. Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner.
SI-pass 4 Johan Brook och Jesper Persson 25 september 2012 1. Sant eller falskt? Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner. Interfaces i Java kan innehålla privata
Institutionen för datavetenskap HT 1 2007/2008. Testning med JUnit
LUNDS TEKNISKA HÖGSKOLA EDA690 Algoritmer och datastrukturer Institutionen för datavetenskap HT 1 2007/2008 Enhetstestning Testning med JUnit När man implementerat en klass måste man, innan den kan användas,
Tentamen i Programmering
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen i Programmering EDAA65/EDA501/EDAA20 M MD W BK L 2018 05 30, 8.00 13.00 Preliminärt ger uppgifterna 7 + 14 + 6 + 9 + 4 = 40 poäng.
Föreläsning 3 Innehåll. Generiska klasser. Icke-generisk lista ArrayList, skiss av implementering. Icke-generisk lista Risk för fel
Föreläsning 3 Innehåll Generiska klasser Implementera generiska klasser Exceptions Dokumentationekommentarer javadoc Enhetstestning - junit Man kan deklarera en eller flera typparametrar när man definierar
F4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU
DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU lösningsförslag till tentamen 2017-06-09 Tid: 8:30-12:30. Plats: SB. Ansvarig lärare: Fredrik Lindblad,
Tentamen i Programmeringsteknik I
Tentamen i Programmeringsteknik I 2017-01-03 Skrivtid: 8.00-13.00 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Skriv ej högst upp i det vänstra hörnet
Chapter 4: Writing Classes/ Att skriva egna klasser.
Chapter 4: Writing Classes/ Att skriva egna klasser. I dessa uppgifter kommer du att lära dig om hur man definierar egna objekt genom att skriva klasser. Detta är grunden för att förstå objekt orienterad
OBJEKTORIENTERAD PROGRAMVARUUTVECKLING
Institutionen för Data- och informationsteknik TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer. Denna tentamen gäller
Objektorienterad programutveckling, fk
till tentamen P r e l i m i n ä r 1 (6) Kurs Objektorienterad programutveckling, fk Program DAI2 Läsår 2017/2018, lp 2 Examinator Uno Holmer Uppgift 1 (7 p) Metoden i tesen bryter mot designprincipen separation
Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Övning 5. TDA550 - Objektorienterad programvaruutveckling, fk
TDA550 - Objektorienterad programvaruutveckling, fk Övning 5. Denna vecka ska vi titta på designmönstren Singleton, State, Observer, Composite och Decorator, samt gränssnittet Comparator. Uppgift 1 Syftet
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 Programmeringsteknik I 2018-03-16 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Outline. Objektorienterad Programmering (TDDC77) Åsidosättning. Signatur. Åsidosättning. Abstrakta klasser. Ahmed Rezine.
Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Signatur public static int parseint (
Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-06-11 Skrivtid: 08:00 13:00 Hjälpmedel: Java-bok Tänk på följande 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 Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
TENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).
1 (9) TENTAMEN: Objektorienterad programmering Läs detta! Uppgifterna är inte ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv din tentamenskod på varje blad (så att vi inte slarvar
Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.
Tentamen Programmeringsteknik I 2013-06-14 med lösningar 1. Svara kortfattat på följande: a) Vad är en instansvariabel? Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och
TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.
Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:
Institutionen för TENTAMEN CTH HT-14 Datavetenskap 2014-08-28 TDA540. Tentamen för TDA540 Objektorienterad programmering
Institutionen för TENTAMEN CTH HT-14 Datavetenskap 2014-08-28 TDA540 Tentamen för TDA540 Objektorienterad programmering DAG: 14-08-28 TID: 14:00 18:00 Ansvarig: Joachim von Hacht och Christer Carlsson
Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2012-09-01 Skrivtid: 0900-1200 Hjälpmedel: Java-bok 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
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 Programmeringsteknik I 2011-03-17 Skrivtid: 1400-1700 Hjälpmedel: Java-bok Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift
Tentamen i Objektorienterad modellering och diskreta strukturer
Lunds Tekniska Högskola Datavetenskap Ulf Asklund, Sven Gestegård obertz Tentamen EDAF10 2014 10 31, 14.00 19.00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:
LÖSNINGSFÖRSLAG
LÖSNINGSFÖRSLAG - 100406 Uppgift 1. a) Objekten som tillhör en icke-muterbar klass är oförändliga, dvs de behåller under hela sin livstid det tillstånd som de fick när de skapades. Icke-muterbara objekt
Lösningsförslag till tentamen
till tentamen 1 (5) Kurs Objektorienterad programmering Program DAI2 Läsår 2018/2019, lp 1 Examinator Uno Holmer Uppgift 1 (10 p) Ingen lösning ges. Se kurslitteraturen. Uppgift 2 (4+2+3+5 p) a) public
TENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).
1 (8) TENTAMEN: Objektorienterad programmering Läs detta! Uppgifterna är inte ordnade efter svårighetsgrad. Börja varje hel uppgift på ett nytt blad. Ordna bladen i uppgiftsordning. Skriv din tentamenskod
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-01-09, Tid: 14.00-18.00 Uppgift 1 a) class används för en klassdeklaration
TENTAMEN OOP
TENTAMEN OOP 2014-01-19 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
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
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 riktiga provet tar 45 minuter (en lektionstimme) och det
ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,