Vraag 1: Software Levenscyclus
|
|
|
- Christiana van der Velde
- 7 jaren geleden
- Aantal bezoeken:
Transcriptie
1 EXAMEN SOFTWAREONTWIKKELING II 2 DE BA. INFORMATICA EERSTE EXAMENPERIODE ACADEMIEJAAR , SESSIE 1 Vrijdag 7 juni, 2012, 8u30 Naam : Opmerkingen vooraf (i) (ii) Je wordt niet verondersteld de Java-API uit het hoofd te kennen. Indien je niet zeker bent van een methodenaam of signatuur, mag je dit zeker vragen aan de begeleiders op het examen. Bij een aantal vragen wordt je antwoord gevraagd in de vorm van een UML klassendiagram. Zorg dat deze diagrammen duidelijk (werk dus verzorgd!) en zo volledig mogelijk zijn. V1 V2 V3 V4 V5 Vraag 1: Software Levenscyclus a. Om software onderhoudbaar te maken, bestaan er verschillende technieken in software-engineering. Geef en beschrijf kort 5 verschillende technieken. Techniek 1: Beschrijving: Techniek 2: Beschrijving: Examen Softwareontwikkeling (II) 1
2 Techniek 3: Beschrijving: Techniek 4: Beschrijving : Techniek 5: Beschrijving: b. Waarom mag een snel prototype niet als eerste versie van het product door de klant in dienst genomen worden? Examen Softwareontwikkeling (II) 2
3 c. Wat verstaat men onder incrementele ontwikkelmodellen. Illustreer met een figuur. Geef enkele voordelen van een dergelijk model. Wat? Figuur: Voordelen: d. Wat is een contract tussen subsystemen en waarom is dit afsluiten van contracten belangrijk? Wat? Waarom belangrijk? Examen Softwareontwikkeling (II) 3
4 Vraag 2: Object-geörienteerd Programmeren: Testen De methode teldna() heeft 1 argument van het type String, en geeft als resultaat een rij van vier gehele getallen. Het is de bedoeling dat de argumentstring enkel de karakters A, C, T en G bevat, en dat het resultaat het aantal keer bevat dat een karakter voorkomt (r[0] geeft weer hoeveel keer het karakter A voorkomt, r[1] hoeveel keer het karakter C, r[2] hoeveel keer het karakter T en r[3] hoeveel keer het karakter G.). Noemen we dna de argumentstring, dan moet de methode het onderstaande gedrag vertonen: - indien s op de waarde null staat, wordt een exceptie van het type NullArgumentException opgegooid - indien de String dna de lengte 0 heeft (geen karakters bevat), dan is het resultaat een gehele rij met lengte 4, waarbij elke teller op 0 staat ( [0,0,0,0]) - indien de String dna een lengte heeft strikt groter dat 0: o indien een karakter voorkomt dat verschilt van A, C, G en T, dan wordt een exceptie van het type InvalidCharacterException opgegooid o indien de String s enkel toegelaten karakters bevat, dan bevat het resultaat van de methode een rij van 4 gehele getallen. Noemen we de rij r, dan bevat r[0] het aantal keer dat A voorkomt in s, r[1] het aantal keer dat C voorkomt in s, r[2] het aantal keer dat T voorkomt in s en r[3] het aantal keer dat G voorkomt in dna. Voor de volledigheid, vind je hieronder een mogelijke implementatie van die methode. class InvalidCharacterException extends Exception { class NullArgumentException extends Exception { // public int[] teldna(string dna) throws InvalidCharacterException,NullArgumentException { int[] r=new int[4]; if(dna==null) throw new NullArgumentException(); else { for(int i=0;i<dna.length();i++) { char c=dna.charat(i); switch(c) { case 'A':r[0]++;break; case 'C':r[1]++;break; case 'T':r[2]++;break; case 'G':r[3]++;break; default : throw new InvalidCharacterException(); return r; Examen Softwareontwikkeling (II) 4
5 a. Geef een minimaal stel testvectoren om deze methode via de black-box-aanpak te testen. Argumenteer. b. Als bijkomend gegeven is dat de lengte van de String dna hoogstens N bedraagt, hoeveel testvectoren heb je dan minimaal nodig om padbedekking te realiseren? Argumenteer. Examen Softwareontwikkeling (II) 5
6 c. Schrijf voor 2 testcases die je in onderdeel a. beschreven hebt, de JUnit-versie uit, namelijk een testcase waarvoor het opgooien van een exceptie het verwachte resultaat is, en een testcase waarvoor de methode een zinvol (d.w.z. verschillend van een exceptie) resultaat public void testnormaal() throws InvalidCharacterException,NullArgumentException { String s="actgactg"; int[] r=teldna(s); Assert.assertTrue(r[0]==2); Assert.assertTrue(r[1]==2); Assert.assertTrue(r[2]==2); public void testillegalcharacter() throws InvalidCharacterException,NullArgumentException{ String s="actgactx"; int[] public void testnullstring() throws InvalidCharacterException,NullArgumentException{ String s=null; int[] r=teldna(s); Ook public void testillegalcharacter() throws InvalidCharacterException,NullArgumentException{ try { teldna( ACTGACTX ); fail(); catch(invalidcharacterexception e){ Assert.assertTrue(true) public void testnullstring() throws InvalidCharacterException,NullArgumentException{ try { teldna( ACTGACTX ); fail(); catch(invalidcharacterexception e){ Assert.assertTrue(true) Fail(); Examen Softwareontwikkeling (II) 6
7 Test Case 1: Test Case 2: Examen Softwareontwikkeling (II) 7
8 Vraag 3: Ontwerppatronen a. Probleem 1: Sorteerbare collecties Beschouw onderstaand klassendiagram, waarbij een Collectie een reeks objecten bevat die van het type Sortable zijn. De default-implementatie van de klasse slaat deze objecten op in de volgorde waarin ze toegevoegd werden. Van deze default-implementatie worden twee klassen afgeleid, die gesorteerde versies implementeren: dit houdt in dat voor het lezen van een object via get() of getfirst() de Collectie eerst gesorteerd wordt. Twee varianten worden geïmplementeerd, namelijk een sortering via bubble sort en een sortering via quick sort. We wensen dat die sorteeralgoritmen in een bredere context (dus buiten de context van Collecties) bruikbaar zijn, en dat het sorteeralgoritme at runtime kan vastgelegd worden. Welk ontwerpspatroon wordt hier best ingezet en geef de principiële oplossing in een UML klassendiagram. Patroon: Oplossing: Examen Softwareontwikkeling (II) 8
9 b. Probleem 2: nieuwe sockets Een Toepassing is geschreven gebruik makend van de klasse Socket om netwerkfunctionaliteit te realiseren (zie onderstaand UML klassendiagram). Er komt een nieuwe, interessante klasse NewSocket beschikbaar, die wat functionaliteit toevoegt (namelijk eenvoudiger creatie van een verbinding, en de mogelijkheid om berichten al dan niet gecomprimeerd te versturen). We wensen de Toepassing gebruik te laten maken van deze nieuwe klasse, waarbij enkel de klasse Socket aangepast mag worden (de broncode van de klasse NewSocket is niet beschikbaar). Welk patroon gebruik je om dit met zo weinig mogelijk aanpassingen te realiseren? Geef je oplossing in de vorm van een UML klassendiagram. Geef voor 1 van de methoden van de klasse Socket een implementatie. Patroon: Oplossing: Implementatie: Examen Softwareontwikkeling (II) 9
10 c. Probleem 3: plannen van taken Om Jobs op een processor in te plannen, wordt gebruik gemaakt van een object dat de interface Scheduler implementeert. Verschillende planningsalgoritmen zijn voorhanden (namelijk gebaseerd op prioriteit, gebaseerd op een preëmptieve aanpak of gebaseerd op time slicing). Anderzijds maakt een scheduler ook gebruik van primitieven aangeboden door het onderliggend besturingssysteem (in dit geval Linux en Windows). We gaan ervan uit dat de primitieven aangeboden door de verschillende besturingssystemen qua betekenis gelijk zijn, maar qua oproepsyntax (i.h.b. methodenaam) kunnen verschillen. Dit resulteert in een ontwerp zoals weergegeven in onderstaand UML klassendiagram. Als er dus een besturingssysteem bijkomt, moeten we 3 nieuwe klassen voorzien, wat uiteraard veel werk is. We wensen dit te vermijden, en zoveel mogelijk logica en implementatie te splitsen. Welke patronen (1 of meerdere) kan je hiervoor inzetten? Geef je oplossing in de vorm van een UML klassendiagram. Patroon: Oplossing: Examen Softwareontwikkeling (II) 10
11 d. Wat is een dynamische proxy en welk probleem wordt hiermee opgelost? Wat? Welk probleem? e. Uitvoer Beschouw onderstaande Java-code. Welke uitvoer wordt hier gegenereerd? Argumenteer. class B { void g(a a) {System.out.print("0"); void g(a1 a) {System.out.println("1"); void g(a2 a) {System.out.println("2"); class A { void f(b b){ b.g(this); class A1 extends A { class A2 extends A { void f(b b){ b.g(this); class Main { public static void main(string[] args){ A[] a={new A(),new A1(),new A2(); for(a i:a) i.f(new B()); Uitvoer: Argumentatie: Examen Softwareontwikkeling (II) 11
12 Vraag 4: Multithreading Beschouw onderstaande code, die als doel heeft een GUI te starten, waarbij het indrukken van een knop een taak opstart. Tijdens het uitvoeren van deze taak worden tussenresultaten gerapporteerd aan MyFrame. class MyFrame extends JFrame { private JButton button=new JButton("(Re)start."); private JLabel label=new JLabel("#5 : 0 "); private volatile int n5=0; private volatile boolean done=false; public MyFrame(String title){ super(title); GridLayout layout=new GridLayout(1,2); Container cp=getcontentpane(); cp.setlayout(layout); cp.add(button); cp.add(label); button.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { Incrementor inc= new Incrementor(MyFrame.this); n5=0; button.setenabled(false); inc.start(); while(!(done=inc.isdone())); System.out.println("######### n5 = "+n5); label.settext("#5 : "+n5); button.setenabled(true); ); public void increment(){ n5++; // druk het tussenresultaat af voor logging if(n5%100==0) System.out.println(" -> n5="+n5); class Incrementor extends Thread { private MyFrame frame; private boolean done=false; public Incrementor(MyFrame frame){ this.frame=frame; public void run() { // complexe code die lang rekent for(int i=0;i<10000;i++) { int r=(int)(10*math.random()); if(r==5) frame.increment(); done=true; public boolean isdone(){ return done; Examen Softwareontwikkeling (II) 12
13 a. Waarom vormt de callback frame.increment() vanuit het object van het type Incrementor een probleem? Hoe los je dit op (geef een Java-fragment dat duidelijk deze oplossing weergeeft)? Waarom een probleem? Oplossing: b. De code bevat een busy-wait. Waarom is dit een probleem? Hoe los je dit op (geef opnieuw een Java-codefragment dat duidelijk deze oplossing weergeeft)? Waarom een probleem? Oplossing Examen Softwareontwikkeling (II) 13
14 c. Leg het Producer-Consumer paradigma uit. Examen Softwareontwikkeling (II) 14
15 Vraag 5 : Componenten Gegeven onderstaande code die de klassen voor een verkeerslicht en een bijhorende controller (die bedoeld is om de hardware effectief aan te sturen, maar hier geïmplementeerd is als logger). class InvalidArgumentException extends Exception { class TrafficLight { protected String color,title; protected Controller controller; public TrafficLight(String title){ color="red"; this.title=title; public void setcontroller(controller controller){ this.controller=controller; public void setcolor(string color) throws InvalidArgumentException { boolean valid=color.equals("red") color.equals("orange") color.equals("green"); if(!valid) throw new InvalidArgumentException(); this.color=color; controller.notify(color); public String getcolor() { return color; public String tostring(){ return title; class Controller { protected int ID; public Controller(int ID){ this.id=id; public void notify(string color){ System.out.println(" "+ID+" : -> "+color); We wensen deze code aan te passen, gebruik makend van het JavaBeansmodel, zodat - de logica die nagaat of de nieuwe toestand van een object van het type TrafficLight al dan niet geldig is, afgsplitst wordt van de klasse TrafficLight - de koppeling tussen TrafficLight en Controller niet hard gecodeerd wordt - er bijkomend verkeerslichten kunnen gecoördineerd worden, zodanig dat nagekeken kan worden of ze logisch tot hetzelfde kruispunt behoren. Hierbij moet Examen Softwareontwikkeling (II) 15
16 geverifieerd worden dat, indien het kruispunt N verkeerslichten bevat er steeds minstens N-1 op rood staan. a. Teken een UML-diagram dat zo nauwkeurig mogelijk je oplossing hiervoor weergeeft. Maak zoveel mogelijk gebruik van de in Java beschikbare Beans-mechanismen (zie bijgevoegde documentatie i.v.m. het JavaBeans-model) Examen Softwareontwikkeling (II) 16
17 b. Geef een Java-implementatie van de aangepaste Trafficlight-klasse. Examen Softwareontwikkeling (II) 17
18 Examen Softwareontwikkeling (II) 18
19 Examen Softwareontwikkeling (II) 19
Tentamen Imperatief Programmeren
Tentamen Imperatief Programmeren Maandag 22 oktober 2001 Toelichting Dit is een open boek tentamen, d.w.z. het cursusboek mag gebruikt worden. N.B.: Het tentamen is individueel: voor het maken van de opgaven
INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCAPPEN
INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCAPPEN voorbeeldexamen NAAM :... OPMERKINGEN VOORAF Je krijgt 3 uur de tijd om de opdrachten voor dit examen uit te voeren. Verder werken aan je oplossing
Deel 1 : Gesloten Boek
Naam : EXAMEN SOFTWAREONTWIKKELING 1STE PROEF BURG. IR. COMPUTERWETENSCHAPPEN EERSTE EXAMENPERIODE ACADEMIEJAAR 2004-2005 Deel 1 : Gesloten Boek 1. Testen Geef een overzicht van de verschillende testen
Overerving & Polymorfisme
Overerving & Polymorfisme Overerving Sommige klassen zijn speciaal geval van andere klasse Docent is een speciaal geval van werknemer, dwz. elke docent is ook werknemer Functionaliteit van docent = functionaliteit
Zelftest Programmeren in Java
Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test
voegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is
PROEF-Tentamen Inleiding programmeren (IN1608WI), X januari 2010, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Open boek tentamen: bij het tentamen mag alleen gebruik worden gemaakt
public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);
Vaknaam: Programmeren I (Java) - Tentamen Module: 2 Datum/Tijd: 17 mrt 2015 / 18.30 20:30 Richting: ICT Code: IC011 Docent: E. Lieuw Boeken en aantekeningen NIET toegestaan. Kladpapier is wel toegestaan.
Een stoomcursus door Edgar de Graaf, november 2006
Programmeren in Java Een stoomcursus door Edgar de Graaf, november 2006 Deze tekst geeft een zeer korte inleiding in de programmeertaal Java, uitgaande van kennis van de taal C++. Daarnaast bestudere men
Kwis (3) class X { public void a() { System.out.println("x"); public static void main(string[] args) { X x = new X();
Kwis (3) class X { public void a() { System.out.println("x"); class Y extends X { public void a() { System.out.println("y"); class Z extends Y { public void a() { System.out.println("z"); public static
IMP Uitwerking week 13
IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 9 december 2015 Foreach String arrays Boomstructuren Interfaces Ingebouwde datastructuren Quiz Foreach Foreach Speciale versie van for om iets voor alle elementen
Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld
Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag u gebruik maken van: Barnes, Object-Oriented Programming with Java en de Notitie Algoritmiek
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale
Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI
Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Vrijdag 22 januari 2010 Toelichting Dit is een open boek tentamen. Communicatie en het gebruik van hulpmiddelen zijn niet toegestaan.
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in
Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
Ingebouwde klassen & methodes
Ingebouwde klassen & methodes Statische methodes Methodes die bij een klasse horen ipv. bij een object public class Docent { public static Docent departementshoofd() { return new Docent("Jan Ivens"); private
Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.
Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 27 november 2015 Recursie Objecten Constructors Aanpassen variabelen this keyword Recursie Recursie Recursieve functie roept zichzelf (direct of indirect) aan
NAAM: Programmeren 1 Examen 21/01/2011
Programmeren 1 21 januari 2011 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet
Programmeren I. 26 augustus Algemene Richtlijnen. Richtlijnen Programmeren 1
Algemene Richtlijnen Programmeren I 26 augustus 2015 Schrijf je naam bovenaan elk antwoordblad en kladblad. Schrijf niet met potlood of in het rood op je antwoordbladen. Gebruik voor elke vraag een afzonderlijk
Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren
Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int
Tentamen Inleiding Programmeren (IN1608WI), 2 februari 2012, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2.
Tentamen Inleiding Programmeren (IN1608WI), 2 februari 2012, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Gesloten boek tentamen, bij dit tentamen mag je geen gebmik maken van
Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur
Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur 1. deze opgave telt voor 30% van het totaal. Schrijf een compleet programma, dat door de gebruiker vanaf
Programmeren 1 23 januari 2013 Prof. T. Schrijvers
Programmeren 1 23 januari 2013 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet
Game of Life in Java
Game of Life in Java Auteur: drs. M.S.L.F. Manssen http://www.manssen.eu Game of Life is een spel van een rooster van cellen, waarbij telkens een ronde gebeurt waarbij de nieuwe waardes van cellen gebeurt.
Tentamen in2705 Software Engineering
Tentamen in2705 Software Engineering Voorbeeld (bijna tweemaal te groot) U mag meenemen naar dit tentamen: Lethbridge, afdrukken PPT slides, afdrukken handouts. 1. De TU wil een nieuw systeem ontwikkelen
Programmeren in Java 3
7 maart 2010 Deze les Zelf componenten maken Concurrency (multithreading): werken met threads levenscyclus van een thread starten tijdelijk onderbreken wachten stoppen Zelf componenten maken Je eigen component:
public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B;
Beschouw bijvoorbeeld de twee onderstaande klassen, waarvan de attributen en eigenschappen geannoteerd zijn met bijkomende XML-annotaties: using System ; using System. Xml ; using System. Xml. S e r i
Objectgericht programmeren 1.
Objectgericht programmeren 1 [email protected] http://www.cs.kuleuven.be/~joost/dn Objectgericht ontwerpen 35% Objectgericht ontwerpen 65% OP1 Informatiesystemen 50% Databanken 50% OP1 Evaluatie
Programmeren (1) Examen NAAM:
Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien) en geef zowel klad als net af. Bij heel wat vragen moet je zelf Java-code schrijven. Hou dit kort en bondig. Je hoeft
APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts
APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Scope van variabelen {3.9} Class ontwerpen en maken,
NAAM: Programmeren 1 Examen 29/08/2012
Programmeren 29 augustus 202 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet je
Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.
Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 18 december 2015 Overerving (inheritance) Constructors Overriding Inheritance demo Exceptions Zelf exceptions veroorzaken Overerving (inheritance) 2-dimensionaal
Programmeren in Java 3
26 september 2007 Deze les korte herhaling vorige les Unified Modelling Language notatie van een class afleiding pointers abstracte classes polymorphisme dubieuze(?) constructies interfaces Meer over class
Vakgroep CW KAHO Sint-Lieven
Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen [email protected] en [email protected]
Een fragment wordt afgeleid van de basis klasse "Fragment".
Android fragmenten 1/5 Fragmenten Klasse Een fragment wordt afgeleid van de basis klasse "Fragment". package com.android.cursustekst; import java.text.simpledateformat; import java.util.arraylist; import
Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma
3 Vereiste kennis Dit boek richt zich op het leren programmeren door het oefenen met programmeercodes. Veel theorie komt in het begin niet aan de orde. Dat is een grote uitdaging want het is niet makkelijk
Lessen Java: Reeks 3. David Blinder Jan G. Cornelis
Lessen Java: Reeks 3 David Blinder Jan G. Cornelis Vraag 0: Gebruik van de Debugger Syntax errors: fouten door verkeerd gebruik van Javacommandos code zal niet compileren. Locatie van de fout is bijna
Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft
I ' Tentamen Objectgeorienteerd Programmeren TI 1200 1 februari 2012 9.00-12.00 Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
http://www.liacs.nl/home/kosters/java/
sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/
Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele
Informatica Objectgeörienteerd leren programmeren Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode Objectgeörienteerd
Programmeren in Java les 3
4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde
INFITT01 - Internettechnologie WEEK 8
INFITT01 - Internettechnologie WEEK 8 Programma Databases (JDBC, JNDI, ORM, JPA) MVC & Spring/Struts EJB Databases Veel web applicaties moeten informatie over langere tijd op kunnen slaan. Een voor de
Design patterns Startbijeenkomst
Design patterns Startbijeenkomst Harrie Passier Docenten Sylvia Stuurman (1 e examinator) [email protected] Harrie Passier (2 e examinator) [email protected] Aarzel niet vragen te stellen! Rooster
Programmeren in C++ Efficiënte zoekfunctie in een boek
Examen Software Ontwikkeling I 2e Bachelor Informatica Faculteit Wetenschappen Academiejaar 2010-2011 21 januari, 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief de hints/opmerkingen)!
Kleine cursus PHP5. Auteur: Raymond Moesker
Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven
meerkeuzevragen informatica jan 2007
meerkeuzevragen informatica jan 2007 door.:curix:. opm: ik heb bijna nooit de verschillende keuzemogelijkheden opgeschreven, je zult het dus moeten doen met het antwoord (vragen of opmerkingen --> topic
Ontwerp van Informatiesystemen
1ste bach HIB Ontwerp van Informatiesystemen Prof. Verelst Q www.quickprinter.be uickprinter Koningstraat 13 2000 Antwerpen 112 2,50 Online samenvattingen kopen via www.quickprintershop.be Table of Contents
Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing
Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing Introductie In dit document geven we een mogelijke oplossing voor het eerste practicum. Deze oplossing gebruikt verschillende klassen en overerving,
Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.
Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze
Versie 2: B C D D A C D A C C. Versie 3: C D A A B D A B D D. Versie 4: A D C C B D C B D D. Versie 5: B A D D C A D C A A
Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 1 februari 2019, 11.00 13.00 uur Voor de meerkeuzevragen hebben we verschillende versies. Dit zijn de juiste antwoorden per versie.
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 25 november 2015 Herhaling Meer herhaling Recursie Mutuele recursie Objecten Herhaling Fibonacci class Fibonacci { public static void fibonaccitot(int bovengrens)
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 november 2015 Expressies Functies Ingebouwde functies Variabelenbereik Inleveropgave 1 Terugblik Programma is een lijst van opdrachten Terugblik Programma is
Verslag. Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers
Verslag SE Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers In dit verslag zullen wij een beschrijving geven, over welke
eerste voorbeelden in Java
Beginselen van programmeren 2 eerste voorbeelden in Java vereisten: een editor: om programma in te tikken en te bewaren een Java compiler: zet ingetikte (bron-) programma om naar byte-code een Java Virtuele
Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur
Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur 1. (2 punten per deelvraag) Deze opgave bestaat uit een aantal tekstvragen. Houd het antwoord kort: een
Abstracte klassen & Interfaces
Abstracte klassen & Interfaces Overerving public class Vierhoek {... Vierhoek public class Rechthoek extends Vierhoek {... public class Ruit extends Vierhoek {... Rechthoek Ruit Elke rechthoek is een vierhoek.
Programmeren in C# Interfaces. Hoofdstuk 23
Programmeren in C# Interfaces Hoofdstuk 23 Programmeren in C# 2 Gradaties overerving Klassieke overerving Iets functioneels uitbreiden Code duplicatie Niet teveel aanpassingen aan bestaande code Objecten
Labo 1 Programmeren II
Labo 1 Programmeren II L. Schoofs K. van Assche Voor de OA Labo Programmeren II programmeren we in C# en met Microsoft Visual Studio 2005 als ontwikkelomgeving (voorlopig beta2). Deze IDE maakt gebruik
APPLICATIEBOUW 7E COLLEGE: DPU3, OEFENEN TOETS. Onderdeel van SmartProducts
APPLICATIEBOUW 7E COLLEGE: DPU3, OEFENEN TOETS Onderdeel van SmartProducts INHOUD COLLEGE 7 Herhaling/opdracht 6 DPU3 & afronden project Oefenen toets Opdracht 7 Volgende week: ochtend 9:30-11:30u begeleiding
Tentamen Inleiding Programmeren (IN1608WI), duur van de toets 2 uur Technische Universiteit Delft, Faculteit EWI, Afdeling 2.
Tentamen Inleiding Programmeren (IN1608WI), duur van de toets 2 uur Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Gesloten boek examen: er mag geen gebruik worden gemaakt van het studieboek.
Oefeningen Java Oplossingen
Oefeningen Java en Opgave 1 Is de uitvoer van het volgende code-fragment (a), (b) of (c)? System.out.print("A"); System.out.println("B"); System.out.print("C\n"); System.out.print("D" + "E"); System.out.print("F");
Dynamisch Programmeren. Het Rugzakprobleem
INLEIDING Dynamisch Programmeren 1 Dynamisch Programmeren Section Page Inleiding................................................. 1 1 Oplossing................................................ 2 2 Subprobleem.............................................
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 16 december 2015 Tentamen Case study: Automatische taalherkenning Modelleren Specificeren Implementeren Modelleren Implementeren Tentamen Tentamen Vrijdag 22 januari
Lessen Java: Reeks pag. 1
Lessen Java: Reeks 2 1-3-2016 pag. 1 Primitieve types type grootte waardes byte 8 bits 128, 127 short 16 bits 32768, 32767 int 32 bits 2 31, 2 31 1 long 64 bits 2 63, 2 63 1 type grootte waardes float
Informatica: C# WPO 11
Informatica: C# WPO 11 1. Inhoud Pass by reference (ref, out), recursie, code opdelen in verschillende codebestanden 2. Oefeningen Demo 1: Swapfunctie Demo 2: TryParse(int) Demo 3: Recursion Tree Demo
Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:
Java Les 2 Theorie Beslissingen Algemeen Net als in het dagelijks leven worden in software programma s beslissingen genomen, naast het toekennen van waarden aan variabelen zijn beslissingen één van de
Imperatief Programmeren, derde deeltentamen (INFOIMP) 4 november 2005
Departement Informatica en Informatiekunde, Faculteit Bètawetenschappen, UU. In elektronische vorm beschikbaar gemaakt door de TBC van A Eskwadraat. Het college INFOIMP werd in 2005/2006 gegeven door Jeroen
Inhoud. Eindtoets. Introductie 2. Opgaven 3. Bijlage bij opgaven 9. Terugkoppeling 12
Open Universiteit Inhoud Introductie 2 Opgaven 3 Bijlage bij opgaven 9 Terugkoppeling 12 1 Open Universiteit Objectgeoriënteerd programmeren in Java 1 I N T R O D U C T I E Deze eindtoets is bedoeld als
Voor het bepalen van de getalswaarde van een string is een standaardmethode beschikbaar: n = Integer.parseInt(s);
Uitwerking tentamen Imperatief Programmeren 20 december 2001 Cursieve opmerkingen behoren niet tot het antwoord, maar vormen een toelichting daarop. Die hoefden bij beantwoording van de vragen er niet
Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010
Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2009-2010 16 juni, 2010 **BELANGRIJK** 1. Schrijf je naam onderaan op elk blad. 2.
Programmeren in Java. De Java-GUI
DE JAVA-GUI Programmeren in Java 1 Programmeren in Java Section Page Inleiding................................................. 1 1 De Java-GUI............................................. 2 1 Swing-componenten......................................
Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2
Modelleren Werkelijkheid Modelleren Modeleren Waarvan maken we een model?!analyse " Maak een model van de te automatiseren werkelijkheid of van het op te lossen probleem! Domeinkennis = structuur! Functionele
Zo vind u hierin de volgende documentatie over de klasse Applet: +----java.awt.panel. +----java.applet.applet
VII. De Java-klassen A. Package Het mooie aan Java is de programmeur een hele serie van klassen en afgeleide klassen geleverd worden, die de programmeur naar behoefte kan gebruiken. De basisklasse van
Een gelinkte lijst in C#
Een gelinkte lijst in C# In deze tutorial ga demonstreren hoe je een gelinkte lijst kan opstellen in C#. We gaan een klasse schrijven, die een gelijkaardige functionaliteit heeft als een ArrayList, namelijk
TENTAMEN Programmeren 1
TENTAMEN Programmeren 1 vakcode: 213500 datum: 15 augustus 2002 tijd: 13:30 17:00 uur Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Niño/Hosch, en van de handleiding van Programmeren
Stacks and queues. Hoofdstuk 6
Hoofdstuk 6 Stacks and queues I N T R O D U C T I E In dit hoofdstuk worden drie datastructuren stack, queue en deque behandeld. Om deze datastructuren te implementeren, worden onder andere arrays en linked
Labo 2 Programmeren II
Labo 2 Programmeren II L. Schoofs K. van Assche Gebruik Visual Studio 2005 om een programma te ontwikkelen dat eenvoudige grafieken tekent. Deze opgave heb je vorig academiejaar reeds in Java geïmplementeerd.
Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur
Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, 13.00-15.00 uur 1. De situatie die ontstaat door class A : B C D; kan beschreven worden door (a) B is een A (b)
1 Ontwerppatronen. 1.1 Het Command patroon
1 Ontwerppatronen Software-ontwikkelaars worden geconfronteerd met ontwerpproblemen: de manier waarop ze hun programma gestructureerd hebben geeft aanleiding tot slechte eigenschappen zoals rigiteit, fragiliteit,....
sheets Programmeren 1 Java college 6, Walter Kosters De sheets zijn gebaseerd op met name hoofdstuk 13 en 14 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/
