Projekt 2 XL Schema designmöten
|
|
- Katarina Öberg
- för 8 år sedan
- Visningar:
Transkript
1 Objektorienterad modellering och design (EDAF5) Föreläsning Agenda Introduktion till projekt XL UML Tillståndsdiagram Grafer Nätverk Ford Fulkersons algorim Återstår av kursen Föreläsningar: F9 må april Övning och frågestund F (flyttad till) on maj Repetition och övning inför tentan Projekt: Computer Skicka in design imorgon! Redovisning på fredag april! Slutinlämning nästa freadg 7 april! XL Börja jobba med detta projekt så snart som möjligt. Redovisning 9:e april och :a maj! Slutinlämning 9:e maj! Övning 3 redovisas on april Lab 5 redovisas fr april Tenta to juni EDAF5 (F) VT 5 / 53 EDAF5 (F) VT 5 / 53 Schema designmöten Möte : användningsfall, paketindelning, klassdiagram onsdag 9:e april Möte : klassdiagram, källkod (fungerande program) fredag :a maj Slutinlämning 9:e maj EDAF5 (F) VT 5 3 / 53 EDAF5 (F) VT 5 / 53
2 Observer-mönstret GUI-modellering public interface Observer { public void update(observable observable, Object object); public abstract class Observable { public void addobserver(observer observer) public void notifyobservers() Den oerfarne gör allt i en stor klass. Den agile gör lite i många klasser med beaktande av principen om enkelt ansvar. EDAF5 (F) VT 5 5 / 53 Paket EDAF5 (F) VT 5 / 53 Paketet expr expr aritmetiska uttryck (modifieras ej) gui användargränssnittet (modifieras) menu menyer (modifieras)... egna paket util avvecklingspaket Expr ExprParser Num Add... AddressExpr EDAF5 (F) VT 5 7 / 53 EDAF5 (F) VT 5 / 53
3 Paketet gui Varför inte javax.swing.jtable? JTable tillhandahåller mycket som skulle göra projektet lättare, men döljer mycket av det som projektet vill lära ut javadoc omfattar + sidor XL (med main) XLList CurrentLabel StatusPanel Editor RowLabels SheetPanel SlotLabel EDAF5 (F) VT 5 9 / 53 Paketet menu menyerna EDAF5 (F) VT 5 / 53 Paketet util Adjustment NumberAdjustment XLException XLBufferedReader XLPrintStream En del av dessa klasser bör flyttas till andra paket. EDAF5 (F) VT 5 / 53 EDAF5 (F) VT 5 / 53
4 Klassen Gui BorderLayout JFrame ger ett eget fönster på skärmen. import javax.swing.jframe; import java.awt.borderlayout; public class Gui extends JFrame { public Gui(int count) { super("untitled-" + count); setlayout(new BorderLayout()); // omissions pack(); setvisible(true); EDAF5 (F) VT 5 3 / 53 Layout EDAF5 (F) VT 5 / 53 Layout Status area: EDAF5 (F) VT 5 5 / 53 EDAF5 (F) VT 5 / 53
5 Editor WindowMenu JTextField används för textinmatning. public class Editor extends JTextField implements ActionListener { public Editor() { setbackground(color.white); addactionlistener(this); public void actionperformed(actionevent event) { // activated by Return key // contents returned by gettext() EDAF5 (F) VT 5 7 / 53 WindowMenuItem EDAF5 (F) VT 5 / 53 JMenu class WindowMenuItem extends JMenuItem implements ActionListener { private XL xl; public WindowMenuItem(XL xl) { super(xl.gettitle()); this.xl = xl; addactionlistener(this); public void actionperformed(actionevent event) { xl.tofront(); public class WindowMenu extends JMenu implements Observer { private XLList xllist; public WindowMenu(XLList xllist) { super("window"); this.xllist = xllist; xllist.addobserver(this); update(null, null); public void update(observable observable, Object object) { removeall(); for (XL xl : xllist) { add(new WindowMenuItem(xl)); EDAF5 (F) VT 5 9 / 53 EDAF5 (F) VT 5 / 53
6 GuiList MouseListener public class XLList extends Observable implements Iterable<XL> { private List<XL> list = new ArrayList<XL>(); public void add(xl xl) { list.add(xl); setchanged(); notifyobservers(); public boolean isempty() { return list.isempty(); public Iterator<XL> iterator() { return list.iterator(); Några swing-komponenter kan ha en ActionListener, t ex: JButton, JMenuItem, JTextField. Alla komponenter kan ha en MouseListener. Den läggs till med: public void addmouselistener(mouselistener listener); public interface MouseListener { void mouseclicked(mouseevent event); void mouseentered(mouseevent event); void mouseexited(mouseevent event); void mousepressed(mouseevent event); void mousereleased(mouseevent event); EDAF5 (F) VT 5 / 53 MouseAdapter EDAF5 (F) VT 5 / 53 MouseListenerLabel I regel vill man bara reagera på en av händelserna. Då är det bekvämt med: public abstract class MouseAdapter { public void mouseclicked(mouseevent event){ public void mouseentered(mouseevent event){ public void mouseexited(mouseevent event){ public void mousepressed(mouseevent event){ public void mousereleased(mouseevent event){ public class MouseListenerLabel extends JLabel { private class ClickListener extends MouseAdapter { public void mouseclicked(mouseevent event) { setbackground(color.yellow); public MouseListenerLabel() { setbackground(color.white); addmouselistener(new ClickListener()); EDAF5 (F) VT 5 3 / 53 EDAF5 (F) VT 5 / 53
7 Felhantering Felhantering public class XLException extends RuntimeException { public XLException(String message) { super(message); EDAF5 (F) VT 5 5 / 53 Feldetektering EDAF5 (F) VT 5 / 53 Syntaxanalys class Div extends BinaryExpr { Div(Expr expr, Expr expr) { super(expr, expr); precedence = ; precedence = ; public double op(double op, double op) { if (op!= ) return op / op; else throw new XLException("division by zero"); Syntax för aritmetiska uttryck: Ett uttryck består av en eller flera termer separerade av enkla pluseller minus-tecken. En term består i sin tur av en eller flera faktorer separerade av enkla multiplikations- eller divisionstecken. En faktor är ett tal, en variabel eller ett uttryck inom parenteser. Ett tal består av en eller flera siffror och får inledas med ett minustecken. En variabel består av en eller flera bokstäver bland a z. EDAF5 (F) VT 5 7 / 53 EDAF5 (F) VT 5 / 53
8 Syntaxanalys Syntaxanalys Konkret grammatik BNF: Expr ::= term (addop term)* Term ::= factor (mulop factor)* Factor ::= number name ( expr ) Addop::= + - Mulop ::= * / number ::= unsignednumber - unsignednumber unsignednumber ::= digit (digit)* digit ::= name ::= letter (letter)* letter ::= a b... z Abstrakt representation abstrakt grammatik «interface» Expr Variable Int BinOp Add Sub Mul EDAF5 (F) VT 5 9 / 53 Syntaxanalys EDAF5 (F) VT 5 3 / 53 Syntaxanalys Java.io.StreamTokenizer: public class StreamTokenizer { public double nval; public String sval; public int ttype = -; public static final int TT_EOF = -, TT_EOL =, TT_NUMBER = -, TT_WORD = -3 public StreamTokenizer(Reader r) public int nexttoken() throws IOException public void ordinarychar(int ch) \\ omissions Java.io.StreamTokenizer: public class ExprParser { private int token; private StreamTokenizer tokenizer; public Expr build(reader reader) throws IOException { tokenizer = new StreamTokenizer(reader); tokenizer.ordinarychar( - ); tokenizer.ordinarychar( / ); token = tokenizer.nexttoken(); Expr e = expr(); if (token == StreamTokenizer.TT_EOF) return e; else throw new XLException("trailing garbage"); EDAF5 (F) VT 5 3 / 53 EDAF5 (F) VT 5 3 / 53
9 Syntaxanalys Syntaxanalys Analys av faktorer: private Expr factor() { Expr e; switch (token) { case ( : token = nexttoken(); e = expr(); token = nexttoken(); return e; case TT NUMBER: double x = nval; token = nexttoken(); return new Num(x); case TT WORD: String s = sval; token = nexttoken(); return new Variable(s); Analys av termer: private Expr term() { Expr result, factor; result = factor(); while (token == * token == / ) { int op = token; token = nexttoken(); factor = factor(); switch (op) { case * : result = new Mul(result, factor); break; case / : result = new Div(result, factor); break; return result; EDAF5 (F) VT 5 33 / 53 UML Tillståndsdiagram EDAF5 (F) VT 5 3 / 53 UML Tillståndsdiagram EDAF5 (F) VT 5 35 / 53 EDAF5 (F) VT 5 3 / 53
10 Grafer Grafer Source 3 3 Sink Ett flödesnätverk är en riktad graf där varje båge har en kapacitet och kan ta emot ett flöde. En nod i nätverket är en källa d.v.s. har bara utgående bågar. En nod i nätverket är en sänka d.v.s. har bara inkommande bågar. EDAF5 (F) VT 5 37 / 53 Snitt EDAF5 (F) VT 5 3 / 53 Snitt Snitt Ett snitt i ett flödesnätverk är en uppdelning av mängden noder i två mängder sådant att källan ingår i den ena mängden och sänkan i den andra. Kapaciteten för ett snitt är summan av kapaciteten för de bågar som går från källans mängd till sänkas mängd. 3 Minsta snittet: Hitta ett snitt med minimal kapacitet. Source 3 Sink EDAF5 (F) VT 5 39 / 53 EDAF5 (F) VT 5 / 53
11 Grafer Flöde Flödet via en båge kan inte överstiga dess kapacitet. Alla noder utom källan och sänkan har lika stort inflöde som utflöde. : Sök ett flöde med maximalt värde. / f= / / / / / / / 3/3 / /9 / Source / /3 Sink / EDAF5 (F) VT 5 / 53 EDAF5 (F) VT 5 / 53 Girig algoritm / f= : Sök ett flöde med maximalt värde. / / / / / Girig algoritm: Sätt flödet = för alla bågar Sök en väg p där varje båge har en resterande kapacitet större än flödet f Öka med flödet f längs vägen p Upprepa tills du inte hittar fler sådana vägar / / / /9 / / / / / f=+ / /9 / EDAF5 (F) VT 5 3 / 53 EDAF5 (F) VT 5 / 53
12 Girig algoritm Girig algoritm Den giriga algoritmen hittar inte maximalt flöde / f=++ / totalt flöde = / / / / / / / / / / / /9 / / /9 / / f=+++ Vi behöver en bättre algoritm +/ / / / / / 3/ 9/ maximalt flöde = 9 / +/9 +/ / 7/ / 9/ 9/9 / EDAF5 (F) VT 5 5 / 53 Ford-Fulkersons algoritm EDAF5 (F) VT 5 / 53 Ford-Fulkersons algoritm Vi definierar en ny graf som hjälper oss att hålla reda på möjligheten att ändra flödet. Residualgraf Givet grafen G med ett flöde f definierar vi residualgrafen Gf så att: Gf har samma noder som G. Alla bågar som finns i G finns även i Gf. Kapaciteten för en båge i Gf motsvarar resterande kapacitet för motsvarande båge i G. För alla bågar i G som har ett flöde fe större än noll finns också motsvarande bågar i omvänd riktning i Gf. Kapaciteten för dessa bågar är lika stort som fe. EDAF5 (F) VT 5 7 / 53 EDAF5 (F) VT 5 / 53
13 Ford-Fulkersons algoritm Ford-Fulkersons algoritm Utökande väg Ford-Fulkersons algoritm Sätt startflödet till för alla bågar. Sök en utökande väg i residualgrafen. Utöka flödet längs den vägen. Upprepa tills det inte går att hitta en utökande väg. EDAF5 (F) VT 5 9 / 53 Ford-Fulkersons algoritm EDAF5 (F) VT 5 5 / 53 Ford-Fulkersons algoritm / +/ / -/ totalt flöde = + +/ / +/ totalt flöde = +=9 + +/ /9 / / +/ / -/ / / +/9 / EDAF5 (F) VT 5 5 / 53 EDAF5 (F) VT 5 5 / 53
14 Flöde och snitt Flödet är lika stort i varje snitt i grafen. Ett flöde är maximalt om det inte finns någon utökande väg. Värdet av ett maximalt flöde = Kapaciteten för det minsta snittet. EDAF5 (F) VT 5 53 / 53
Projekt 2 XL Klassen Gui
Objektorienterad modellering och design (EDAF5) Föreläsning Återstår av kursen Agenda Projekt XL UML Tillståndsdiagram Designmönster (State pattern) Grafer Nätverk Ford Fulkersons algoritm Labb 5 redovisas
Projekt 2 XL. Observer-mönstret
Projekt 2 XL Objektorienterad modellering och diskreta strukturer Inför nästa projekt Lennart Andersson Reviderad 2011 10 24 2011 OMD 2011 F15-1 Schema designmöten OMD 2011 F15-2 Observer-mönstret 2 och
Nej! Nej Nej Nej Nej Nej Nej Nej!
LongWord Objektorienterad modellering och diskreta strukturer / design Inför nästa projekt Lennart Andersson Reviderad 2010 09 16 2010 I vilken klass skall man beräkna summan av de värden som finns i två
HT2 2015, FÖRELÄSNING 15 (XL-PROJEKTET)
Objektorienterad modellering och diskreta strukturer (EDAF10) HT2 2015, FÖRELÄSNING 15 (XL-PROJEKTET) Dagens agenda Introduktion till projekt 2 ( XL ) EDA061 Repetition MVC-mönstret (Observer-mönstret)
Förra föreläsningen. Alternativ kurslitteratur. Dagens agenda Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061)
Förra föreläsningen Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2013, FÖRELÄSNING 6 Fråga från i torsdags: Decorator vs sub class Designmönster Model-View-Control Observer
HT1 2013, FÖRELÄSNING 6
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2013, FÖRELÄSNING 6 Förra föreläsningen Fråga från i torsdags: Decorator vs sub class Designmönster Model-View-Control Observer
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061)
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2014, FÖRELÄSNING 6 Förra föreläsningen Designmönster Decorator (repetition) Model-View-Control Observer Paketdesign LSP Substitutionsprincipen
Förra föreläsningen. Dagens agenda. Vecka Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061)
Förra föreläsningen Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2014, FÖRELÄSNING 6 Designmönster Decorator (repetition) Model-View-Control Observer Paketdesign LSP Substitutionsprincipen
HT1 2015, FÖRELÄSNING
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2015, FÖRELÄSNING 6 Förra föreläsningen Designmönster Decorator (repetition) Model-View-Control Observer Paketdesign LSP Substitutionsprincipen
Lösningar till tentamen i EDAF25
Lösningar till tentamen i EDAF25 1 juni 2017 Lösning 1 Se figur 1. Figure 1: Tillståndsdiagram espressomaskin Lösning 2 (a) Kompositmönstret (b) Se figur 2 (c) Se figur 3 : Square : Drawing : Group : Circle
Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts.
Tentamen i EDAF5 juni 07 Skrivtid: 4-9 Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Skriv inte med färgpenna enda tillåtna färg är svart/blyerts. Skriv
Grammatik. BNF-grammatik
Grammatik Objektorienterad modellering och diskreta strukturer / design Grammatik Reguljära uttryck klarar inte av att beskriva mängden av aritmetiska uttryck. Lennart Andersson Reviderad 2010 10 07 2010
Definition. Mängden av reguljära uttryck på alfabetet Σ definieras av. om α och β är reguljära uttryck så är (α β) ett reguljärt uttryck
Lunds tekniska högskola Datavetenskap Lennart Andersson Föreläsningsanteckningar EDAF10 6 Reguljära uttryck I unix-skal finns ange enkla mönster för filnamn med * och?. En del program, t ex emacs, egrep
Lösningar till tentamen i EDAF25
Lösningar till tentamen i EDAF25 21 aug 2017 Lösning 1 Javaklasser (många varianter finns naturligtvis): class Client { private Invoker invoker; public void newcommand(string cmdtext) { Command cmd; if
Alfabeten, strängar och språk. String
Alfabeten, strängar och språk Objektorienterad modellering och diskreta strukturer / design Språk och reguljära uttryck Ett alfabet är en ändlig icketom mängd vars element kallas symboler. Lennart Andersson
Tentamen i Objektorienterad modellering och design Helsingborg
Lunds Tekniska Högskola Datavetenskap Roger Henriksson, Mathias Haage, Emelie Engström Tentamen EDAF25 2015-10-28 Tentamen i Objektorienterad modellering och design Helsingborg 1. a. Klassdiagram Lösningar
Lösningsförslag till tentamen
till tentamen 1 (5) Kurs Objektorienterad programmering Kursbeteckning DAT042 Program D2, TKDAT Läsår 2012/2013, lp 1 Examinator Uno Holmer Uppgift 1 (10 p) Ingen lösning ges. Se kurslitteraturen. Uppgift
UML Objektdiagram. Objektorienterad modellering och design (EDAF25) Föreläsning 3. UML Sekvensdiagram. UML Objektdiagram. Agenda
Objektorienterad modellering och design (EDAF25) Föreläsning 3 UML Objektdiagram Agenda UML objekt och sekvensdiagram Design smells Designprinciper (ALP, SRP, OCP, DIP) (, Composite) Att göra denna och
Computer projekttid. Objektorienterad modellering och diskreta strukturer / design. Rapporter från verkligheten. EDAF10 i HT2
Computer projekttid Objektorienterad modellering och diskreta strukturer / design Inför tentamen Lennart Andersson Reviderad 2012 10 18 2012 2011 2012 timmar antal timmar 2 1 4 4 6 8 8 4 10 10 12 6 14
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
Föreläsning 3. Stack
Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista ADT Stack Grundprinciper: En stack
Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015
Objektorienterad Programkonstruktion Föreläsning 3 9 nov 2015 Kursnämnd Namn kommer... UML: Klassdiagram UML: Relationer Ärver från superklass Implementerar gränssnitt Dubbelriktad eller oriktad relation
4.7 Observatörsmönstret
4.7 Observatörsmönstret Uppgift 4.11 Modifiera följande programfragment med hjälp av Observer/Observable så att Model-klassen kan kompileras utan tillgång till Gui-klassen. Lösningen ska redovisas med
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
Kursstruktur. Objektorienterad modellering och diskreta strukturer / design. Programmering utan OMD. Vad är Objektorienterad modellering?
Kursstruktur Objektorienterad modellering och diskreta strukturer / design Mål och innehåll Lennart Andersson kurs HT1 v1-4 HT1 v4-7 TP 1 HT2 v1-3 EDAF10 Principer och mönster, Diskreta Tentamen Projekt
Information. Computer
Information Objektorienterad modellering och diskreta strukturer Lennart Andersson Reviderad 2009-10-14 2009 Tentamen torsdag 22 oktober 8-12/13. Hjälpmedel på tentamen. Martin: PPP Andersson: UML Holm:
Föreläsnings 11 - GUI, Händelsestyrda program, MVC
Föreläsnings 11 - GUI, Händelsestyrda program, MVC Josef Svenningsson Tisdag 20/11 Boken Denna föreläsning går igenom följande sektioner i boken: 10.1 och 10.2 11.1 Notera att kapitel 11 inte finns i boken
Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016
Objektorienterad Programkonstruktion Föreläsning 3 7 nov 2016 Klass/instans Med hjälp av nyckelordet static kan vi bestämma att en metod eller ett fält ska tillhöra själva klassen i stället för en specifik
Objektorienterad programutveckling, fk
till tentamen P r e l i m i n ä r 1 (7) Kurs Objektorienterad programutveckling, fk Program DAI2 Läsår 2017/2018, lp 2 Examinator Uno Holmer Uppgift 1 (7 p) Abstrahera ut aktiviteten i ett gränssnitt Trainee
Repetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material.
TDA 545: Objektorienterad programmering Repetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material. Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag En quiz! tinyurl.com/tda545quiz
Tentamen i Objektorienterad modellering och design Helsingborg
Lunds Tekniska Högskola Datavetenskap Emelie Engström Tentamen EDAF25 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och design Helsingborg Tentamen består av en teoridel om totalt 5 poäng
Föreläsning 3. Stack
Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista Evaluate postfix expressions Läsanvisningar
Tentamen Programmeringsteknik II för STS Skrivtid: Inga hjälpmedel.
Tentamen Programmeringsteknik II för STS 2007-03-09 Skrivtid: 1500-2000 Inga hjälpmedel. Tänk på följande OBS: För betygen 4, 5 och VG kommer något högre gränser än normalt användas. Skriv läsligt! Använd
Två designmönster, MVC och Observer/Observable. Objektorienterad programvaruutveckling GU (DIT011)
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 8 Två designmönster, MVC och Observer/Observable. Designrekommendation
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
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
Tentamen i Objektorienterad modellering och diskreta strukturer
Lunds Tekniska Högskola Datavetenskap Ulf Asklund, Sven Gestegård obertz Tentamen EDAF10 2013 10 24, 8.00 13.00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Grafiskt användargränssnitt, Swing Layout och komponenter Göra
HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN)
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN) Dagens agenda Admin Tentatid och plats Tillåtet på tentan EDAF10 Föreläsning inför XL-projektet
Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 18
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 18 Igår: Genomgång av dugga Rekursion Idag och på måndag: Om essän Lite, lite teori om konstanter Grafiska användargränssnitt Grundläggande
Lösningsförslag till tentamen
Uppgift 1 a) Sant. b) Sant. c) Sant. Lösningsförslag till tentamen 170818 d) Falskt. IPv6 anger en IP-adress med 132 bitar. e) Falskt. Spoofing åsyftar användning av förfalskad eller lånad identitet på
Dagens program. Objektorienterad modellering och diskreta strukturer / design. Model/View/Control-implementering. Model/View/Control-arkitektur
Dagens program Objektorienterad modellering och diskreta strukturer / design Fler mönster och Paketdesign Lennart Andersson Model View Control Observer Paketdesign Namngivning Reviderad 2011 09 12 2011
Modelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Magnus Myréen Modelsvar för Tentamen för Objektorienterad programvaruutveckling,
Lösningsförslag till tentamen i EDAF25 Objektorienterad modellering och design Helsingborg
LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Lösningsförslag till tentamen i EDAF25 Objektorienterad modellering och design Helsingborg 1. a) Figure 1 2015 06 04 GeometryApp GraphicalApp
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( )
Föreläsning 3: Händelsestyrda program och användargränssnitt
(2 september 2015 F3.1 ) Föreläsning 3: Händelsestyrda program och användargränssnitt Idag Från sekventiella till händelsestyrda program Lyssnare Kontroller Layout för ordning av kontroller (2 september
Laboration 15 Grafiskt användargränssnitt
Laboration 15 Grafiskt användargränssnitt Avsikten med denna laboration är att du ska träna på att skriva program som använder grafiskt användargränssnitt, dvs program som använder grafiska komponenter
EDAF10: Objektorienterad modellering och diskreta strukturer EDA061: Objektorienterad modellering och design
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2013, FÖRELÄSNING 1 EDAF10: Objektorienterad modellering och diskreta strukturer EDA061: Objektorienterad modellering och design
Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se
1 F18-20-2006 Denna vecka Måndag: Ett komplext problem Tisdag: Lektion. Kväll: Essäfrågan distribueras via webben. Dead-line onsdag 17 maj, kl 12.00. Inlämning elektroniskt och på papper. Onsdag: Grafik
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:
EDAF10: Objektorienterad modellering och diskreta strukturer EDA061: Objektorienterad modellering och design. Vad är Objektorienterad modellering?
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2013, FÖRELÄSNING 1 EDAF10: Objektorienterad modellering och diskreta strukturer EDA061: Objektorienterad modellering och design
Föreläsning 10. ADT:er och datastrukturer
Föreläsning 10 ADT:er och datastrukturer ADT:er och datastrukturer Dessa två begrepp är kopplade till varandra men de står för olika saker. En ADT (abstrakt datatyp) är just abstrakt och är inte kopplad
Förra föreläsningen. Dagens agenda. Command Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061)
Förra föreläsningen Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2013, FÖRELÄSNING 3 UML: klassdiagram God praxis (metodik), t ex Refaktorisera Design smells, t ex Bräcklighet
Integritetsprincipen. Objektorienterad modellering och diskreta strukturer / design
Integritetsprincipen Objektorienterad modellering och diskreta strukturer / design Designmönster och fallstudier Integritetsprincipen Gör attribut, metoder och klasser så hemliga de går. Lämna inte ut
Lösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel
Lösningar till Fiktiv Tentamen på kursen 2D4135 Objektorienterad programmering, design och analys med Java vt2004 Teoridel T1) (4p) Förklara kort följande grundläggande begrepp inom objektorienterad programmering:
Kursstruktur. Objektorienterad modellering och diskreta strukturer / design. Vad är Objektorienterad modellering? Programmering utan OMD
Kursstruktur Objektorienterad modellering och diskreta strukturer / design Mål och innehåll Lennart Andersson kurs HT1 v1-4 HT1 v4-7 TP 1 HT2 v1-3 EDAF10 Principer och mönster, Diskreta Tentamen Projekt
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
Föreläsning 2, vecka 6: Tillstånd i objektorienterade program (och mera interface)
TDA 548: Grundläggande Programvaruutveckling Föreläsning 2, vecka 6: Tillstånd i objektorienterade program (och mera interface) Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Terminologi Vad är en klass?
ITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter
ITK:P1 Föreläsning 4 Grafiska gränssnitt och händelsehantering 1 DSV Peter Mozelius Grafiska gränssnitt i Java Efterfrågan på program med grafiskt gränssnitt har ökat avsevärt de senaste åren I Java finns
Lösningsförslag till tentamen 150317
Uppgift 1 Lösningsförslag till tentamen 150317 1) Sant 2) Falskt. I ett RAM-minne är åtkomsttiden densamma för alla minnesadresser.) 3) Falskt. Det är TCP som använder sig av en fast kommunikationsförbindelse.)
List.java. List.java. Printed by Tom Smedsaas
Mar 03, 08 17:48 Page 1/3 class List * Representerar en länkad lista av godtyckliga objekt public class List { ListNode * Noder i listor protected static class ListNode { protected Object data; protected
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
Monday, November 16, Senaste Labben
Senaste Labben Senaste Labben Strålande resultat (mv 4.6)! Senaste Labben Strålande resultat (mv 4.6)! God objektorientering? Senaste Labben Strålande resultat (mv 4.6)! God objektorientering? God kodhygien?
Lycka till! TENTAMEN: Objektorienterade applikationer. Läs detta! 1 (6) Tentamen
1 (6) TENTAMEN: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv din tentamenskod på varje blad (så att
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
Swing. MER Java Foundation Classes (JFC) Hur lära sig? Vad är farorna. LayoutManagers. Exempel på några av komponenterna
MER Java Foundation Classes (JFC) Swing Swing Många klasser Vettigt att lära sig dem utantill - Tror inte det -... men det kan vara bra att ha en liten överblick över vad som finns - Idag (och med fortsättning
Svaret kan ges i Javakod (eller i UML-klassdiagram). public class A { B minb;... } public class B { <B:s många variabler och metoder> } Lösning:
Lös koppling mellan programdelar (klasser) eftersträvas ofta i objektorienterad programmering. Om klassen A beror av klassen B, hur kan man lösa upp detta beroende och åstadkomma en lösare koppling mellan
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
Tentamen i Objektorienterad modellering och diskreta strukturer
Lunds Tekniska Högskola Datavetenskap Tentamen EDAF10 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn att tas till lösningens kvalitet.
DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (11) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt namn och personnummer på varje blad
Swing. MER Java Foundation Classes (JFC) Vad är farorna. Hur lära sig? LayoutManagers. Exempel på några av komponenterna
MER Java Foundation Classes (JFC) Swing Swing Många klasser" Vettigt att lära sig dem utantill" - Tror inte det" -... men det kan vara bra att ha en liten överblick över vad som finns" - Idag (och med
lgammal2.txt // Lösningar till gammal tentamen // Uppgift 1 a
// Lösningar till gammal tentamen // Uppgift 1 a /* Felet beror på att det är klassen på referensen som avgör vilka metoder man får köra på ett objekt, inte klassen på objektet. På rad 5 i klassen C har
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
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
PROG2 Tenta 2014-05-02 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2
DSV SU/KTH sid 1 (6) PROG2 PROG2 Tenta 2014-05-02 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst
E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I
E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition Kurs: 1dv403 Webbteknik I Johan Leitet E02 - "The Review" Dagens agenda Identifierare Kommentarer Variabler Datatyper Operatorer Villkorssatser
Tentamen LÖSNINGSFÖRSLAG
Tentamen 111212- LÖSNINGSFÖRSLAG Uppgift 1. a) A constructor1 B constructor2 b) Satsen är giltig. Utskriften blir: b = 0 c) Kodsegmentet är ogiltigt. Rad 4 orsakar ett kompileringsfel, eftersom en superklass
PROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2
DSV SU/KTH sid 1 (6) PROG2 VT13 PROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst
Mer om grafiska komponenter. Händelsestyrda program
Layout Managers TDA143 I1 Programmerade system Föreläsning 14 (OH-bilder 10) Mer om grafiska komponenter. Händelsestyrda program Utplaceringen av komponenter i en behållare styrs med en Layout Manager.
/* * * 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
Tentamen i Objektorienterad modellering och design
Lunds Tekniska Högskola Datavetenskap Tentamen EDA061 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och design Vid bedömningen kommer hänsyn att tas till lösningens kvalitet. UML-diagram
HT1 2015, FÖRELÄSNING 14 (INFÖR TENTAN)
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2015, FÖRELÄSNING 14 (INFÖR TENTAN) Dagens agenda Admin DS-föreläsning nästa torsdag 22/10 kl 13-15 Tentatid och plats Tillåtet
TNSL05 Optimering, Modellering och Planering. Föreläsning 10
TNSL05 Optimering, Modellering och Planering Föreläsning 10 Agenda Kursens status Repetition Flödesnätverk Optimalitetsvillkor LP och Minkostandsflöde (MKF) Nätverkssimplex Känslighetsanalys Exempel: MKF
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: 2:a september 200, klockan 8:30-12:30. Plats: V Ansvarig lärare: Katarina Blom, tel 772 10 0. Läraren besöker tentamen kl 9:30
Grafiska komponenter.
Grafiska komponenter. Kap J5-1 Grafiska användargränssnitt är det moderna alternativet till traditionell terminal-i/o. GUI-programmering bygger på en händelsestyrd flödeskontroll. I Java utförs GUI-programmeringen
Lösningsförslag till tentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Lösningsförslag till tentamen FYTA11 Javaprogrammering Fredag 9:e januari 2009, 09:00 13:00 Uppgift 1: Leta buggar Titta på klasserna A,
2I1049 Föreläsning 8. Grafiska gränssnitt i Java. AWT-komponenter. Grafiska gränssnitt, Java interface och händelsehantering
2I1049 Föreläsning 8 Grafiska gränssnitt, Java interface och händelsehantering 1 KTH-MI Peter Mozelius Grafiska gränssnitt i Java Efterfrågan på program med grafiskt gränssnitt har ökat avsevärt de senaste
Lösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 131220 a) Första felet beror på att namnet på klassen är felstavat i konstruktorn! Således har vi ingen konstruktor utan en metod med namnet Trubel. En metod måste
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
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
Föreläsning 13: Swing (GUI), händelser, timer
TDA 545: Objektorienterad programmering Föreläsning 13: Swing (GUI), händelser, timer GUI = graphical user interface Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag Idag: grafiska gränssnitt; läs kap
Omentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Omentamen FYTA11 Javaprogrammering Onsdag 4:e februari 2009, 13:00 17:00 Instruktioner Inga hjälpmedel är tillåtna. Behandla högst en uppgift
Föreläsning 15 (16) Historik (java.awt) Historik (javax.swing) Introduktion till Swing
Föreläsning 15 (16) Introduktion till Swing Historik (java.awt) JDK 1.0 AWT (Abstract Window Toolkit) Paket för gränssnittsprogrammering Har en del nackdelar: Använder s.k. native code Stödjer endast komponenter
Föreläsningsbilder EDAF10/EDA061 Ht 2015 HT1 2015, FÖRELÄSNING 3
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2015, FÖRELÄSNING 3 Förra föreläsningen UML: klassdiagram God praxis (metodik), t ex Refaktorisera Design smells, t ex Bräcklighet
Lösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 110317 a) Sant. b) Falskt. I ett RAM-minne är åtkomsttiden densamma för alla minnesadresser. c) Falskt. TCP är ett protokoll på transportlagret. d) Falskt. Binärsökning
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
Föreläsning 14: Grafik & mera händelsehantering
TDA 545: Objektorienterad programmering Föreläsning 14: Grafik & mera händelsehantering Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag Idag: grafik läs kap 17 Viktigt i denna föreläsning: att rita
Inlämningsuppgift MiniPlotter
LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap EDAA01 Programmeringsteknik fördjupningskurs Inlämningsuppgift MiniPlotter I den här uppgiften ska ett program som ritar grafer av matematiska funktioner
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