Modelleren en Programmeren
|
|
- Christa Martens
- 6 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Modelleren en Programmeren Jeroen Bransen 13 december 2013
2 Terugblik
3 Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5)); } } public static int fib(int n) { // Basisgeval if(n <= 1) return 1; // Reken getal uit op basis van andere waarden return fib(n-1) + fib(n-2); }
4 Fibonacci call tree fib(5) + fib(4) + fib(3) + fib(2) + fib(3) + fib(1) 1 fib(1) 1 fib(2) + fib(0) 1 fib(1) 1 fib(2) + fib(0) 1 fib(1) 1 fib(1) 1 fib(0) 1
5 Oefenopgave Schrijf een functie macht die geven een int a en een int b met behulp van recursie de waarde van a b (a tot-de-macht b) berekent. Je mag aannemen dat b 0.
6 Oefenopgave Schrijf een functie macht die geven een int a en een int b met behulp van recursie de waarde van a b (a tot-de-macht b) berekent. Je mag aannemen dat b 0. public class Macht { public static int macht(int a, int b) { if(b == 0) return 1; return a * macht(a, b - 1); } }
7 Overloading Bij een functieaanroep kijkt Java naar de naam van de functie en de types van de parameters
8 Overloading Bij een functieaanroep kijkt Java naar de naam van de functie en de types van de parameters Er mogen dus meerdere functies met dezelfde naam zijn, zolang de types van de parameters verschillend zijn
9 Overloading Bij een functieaanroep kijkt Java naar de naam van de functie en de types van de parameters Er mogen dus meerdere functies met dezelfde naam zijn, zolang de types van de parameters verschillend zijn Ook resultaatwaarde mag anders zijn, maar die wordt niet gebruikt voor de keuze
10 Overloading Bij een functieaanroep kijkt Java naar de naam van de functie en de types van de parameters Er mogen dus meerdere functies met dezelfde naam zijn, zolang de types van de parameters verschillend zijn Ook resultaatwaarde mag anders zijn, maar die wordt niet gebruikt voor de keuze Ook constructors mogen overloaded zijn
11 Overloading Bij een functieaanroep kijkt Java naar de naam van de functie en de types van de parameters Er mogen dus meerdere functies met dezelfde naam zijn, zolang de types van de parameters verschillend zijn Ook resultaatwaarde mag anders zijn, maar die wordt niet gebruikt voor de keuze Ook constructors mogen overloaded zijn Bijvoorbeeld veel functies in Math klasse zijn overloaded
12 Overloaded constructor public class Persoon { String naam; int leeftijd; int lengte; } public Persoon(String naam) { this.naam = naam; this.leeftijd = 0; this.lengte = 47; } public Persoon(String naam, int leeftijd, int lengte) { this.naam = naam; this.leeftijd = leeftijd; this.lengte = lengte; }
13 Boomstructuren
14 Boomstructuren
15 Boomstructuren Zulke bomen kunnen we als volgt representeren:
16 Boomstructuren Zulke bomen kunnen we als volgt representeren: Boom bestaat uit top-knoop
17 Boomstructuren Zulke bomen kunnen we als volgt representeren: Boom bestaat uit top-knoop Knoop bevat een getal
18 Boomstructuren Zulke bomen kunnen we als volgt representeren: Boom bestaat uit top-knoop Knoop bevat een getal Knoop heeft maximaal 2 kinderen, die elk ook bomen zijn
19 Boomstructuren public class Knoop { // Knoop bevat waarde int waarde; } // Knoop bevat maximaal 2 kinderen, // die zelf ook weer knopen zijn Knoop links; Knoop rechts;
20 Boomstructuren public class Knoop { // Knoop bevat waarde int waarde; } // Knoop bevat maximaal 2 kinderen, // die zelf ook weer knopen zijn Knoop links; Knoop rechts; // Standaard constructor public Knoop(int waarde, Knoop links, Knoop rechts) { this.waarde = waarde; this.links = links; this.rechts = rechts; }
21 Boomstructuren public class Knoop { // Knoop bevat waarde int waarde; } // Knoop bevat maximaal 2 kinderen, // die zelf ook weer knopen zijn Knoop links; Knoop rechts; // Standaard constructor... snip... // Knoop met 1 kind public Knoop(int waarde, Knoop kind) { this.waarde = waarde; this.links = kind; this.rechts = null; }
22 Boomstructuren public class Knoop { // Knoop bevat waarde int waarde; } // Knoop bevat maximaal 2 kinderen, // die zelf ook weer knopen zijn Knoop links; Knoop rechts; // Standaard constructor... snip... // Knoop met 1 kind... snip.. // Knoop zonder kind public Knoop(int waarde) { this.waarde = waarde; this.links = null; this.rechts = null; }
23 Oefenopgave Schrijf een methode die de som van alle waarden in een boom berekent.
24 Oefenopgave Schrijf een methode die de som van alle waarden in een boom berekent. public class Knoop { // Knoop bevat waarde int waarde; // Knoop bevat maximaal 2 kinderen, // die zelf ook weer knopen zijn Knoop links; Knoop rechts; // Constructors... snip... }
25 Oefenopgave Schrijf een methode die de som van alle waarden in een boom berekent. public class Knoop { int waarde; Knoop links; Knoop rechts; } // Constructors... snip... public int som() { int result = waarde; if(links!= null) result += links.som(); if(rechts!= null) result += rechts.som(); return result; }
26 Representatie boomstructuren Een object is een groepje variabelen
27 Representatie boomstructuren Een object is een groepje variabelen Die variabelen kunnen ook naar een object verwijzen
28 Representatie boomstructuren Een object is een groepje variabelen Die variabelen kunnen ook naar een object verwijzen En die objecten van hetzelfde type zijn als het object dat ernaar verwijst
29 Representatie boomstructuren Een object is een groepje variabelen Die variabelen kunnen ook naar een object verwijzen En die objecten van hetzelfde type zijn als het object dat ernaar verwijst Recursie op het niveau van objecten
30 Representatie boomstructuren Een object is een groepje variabelen Die variabelen kunnen ook naar een object verwijzen En die objecten van hetzelfde type zijn als het object dat ernaar verwijst Recursie op het niveau van objecten Deze objecten kunnen ook methoden hebben die elkaar aanroepen
31 Interfaces
32 Interface Een interface specificeert wat een klasse moet doen, maar niet hoe
33 Interface Een interface specificeert wat een klasse moet doen, maar niet hoe Interface heeft een naam en een aantal methode-declaraties
34 Interface Een interface specificeert wat een klasse moet doen, maar niet hoe Interface heeft een naam en een aantal methode-declaraties Een klasse kan een interface implementeren met: class KlasseNaam implements InterfaceNaam
35 Interface Een interface specificeert wat een klasse moet doen, maar niet hoe Interface heeft een naam en een aantal methode-declaraties Een klasse kan een interface implementeren met: class KlasseNaam implements InterfaceNaam Klasse moet dan ook alle methoden van die interface implementeren
36 Interface Een interface specificeert wat een klasse moet doen, maar niet hoe Interface heeft een naam en een aantal methode-declaraties Een klasse kan een interface implementeren met: class KlasseNaam implements InterfaceNaam Klasse moet dan ook alle methoden van die interface implementeren Hiermee maken we verschillende objecten met dezelfde functies
37 Interface Een interface specificeert wat een klasse moet doen, maar niet hoe Interface heeft een naam en een aantal methode-declaraties Een klasse kan een interface implementeren met: class KlasseNaam implements InterfaceNaam Klasse moet dan ook alle methoden van die interface implementeren Hiermee maken we verschillende objecten met dezelfde functies Interface geeft ook een type
38 Interface Een interface specificeert wat een klasse moet doen, maar niet hoe Interface heeft een naam en een aantal methode-declaraties Een klasse kan een interface implementeren met: class KlasseNaam implements InterfaceNaam Klasse moet dan ook alle methoden van die interface implementeren Hiermee maken we verschillende objecten met dezelfde functies Interface geeft ook een type Elk object van een klasse die de interface implementeert kan dat type hebben
39 Voorbeeld: reeksen Getallenreeksen, bijvoorbeeld 1,2,3,..., tafel van 3, Fibonacci reeks, etc.
40 Voorbeeld: reeksen Getallenreeksen, bijvoorbeeld 1,2,3,..., tafel van 3, Fibonacci reeks, etc. Operaties:
41 Voorbeeld: reeksen Getallenreeksen, bijvoorbeeld 1,2,3,..., tafel van 3, Fibonacci reeks, etc. Operaties: Geef volgende element
42 Voorbeeld: reeksen Getallenreeksen, bijvoorbeeld 1,2,3,..., tafel van 3, Fibonacci reeks, etc. Operaties: Geef volgende element Reset
43 Voorbeeld: reeksen Getallenreeksen, bijvoorbeeld 1,2,3,..., tafel van 3, Fibonacci reeks, etc. Operaties: Geef volgende element Reset Gebruik van een reeks: print de eerste 10 getallen
44 Reeks interface public interface Reeks { // Reset naar het begin public void reset(); } // Geef volgende getal in de reeks // en doe een stap public int volgende();
45 Tafel van 3 public class Tafel3 implements Reeks { int huidige = 0; } public void reset() { huidige = 0; } public int volgende() { int resultaat = huidige; huidige += 3; return resultaat; }
46 Kwadraten public class Kwadraten implements Reeks { int grondgetal = 1; } public void reset() { grondgetal = 1; } public int volgende() { int resultaat = grondgetal * grondgetal; grondgetal++; return resultaat; } public int geefgrondgetal() { return grondgetal; }
47 Reeks gebruik public class ReeksMain { public static void main(string[] args) { // print Tafel3 tafelvandrie = new Tafel3(); printtien(tafelvandrie); } } // print Kwadraten kwadraten = new Kwadraten(); printtien(kwadraten); // Wat print dit? System.out.println(kwadraten.geefGrondgetal()); public static void printtien(reeks reeks) { for(int i = 0; i < 10; i++) System.out.print(reeks.volgende() + " "); System.out.println(); }
48 Ingebouwde datastructuren
49 Ingebouwde datastructuren Java heeft een hoop ingebouwde datastructuren
50 Ingebouwde datastructuren Java heeft een hoop ingebouwde datastructuren Een datastructuur is een object dat gebruikt kan worden om data op een slimme manier op te slaan
51 Ingebouwde datastructuren Java heeft een hoop ingebouwde datastructuren Een datastructuur is een object dat gebruikt kan worden om data op een slimme manier op te slaan In het vak Datastructuren meer over die slimme manier van opslaan
52 Ingebouwde datastructuren Java heeft een hoop ingebouwde datastructuren Een datastructuur is een object dat gebruikt kan worden om data op een slimme manier op te slaan In het vak Datastructuren meer over die slimme manier van opslaan In ons vak gebruiken we ingebouwde datastructuren, die vaak een algemene interface implementeren
53 Set Een set of verzameling kennen we uit de wiskunde
54 Set Een set of verzameling kennen we uit de wiskunde Rijtje dingen zonder dubbelen en volgorde maakt niet uit
55 Set Een set of verzameling kennen we uit de wiskunde Rijtje dingen zonder dubbelen en volgorde maakt niet uit Dit kan in Java op verschillende manieren worden geïmplementeerd
56 Set Een set of verzameling kennen we uit de wiskunde Rijtje dingen zonder dubbelen en volgorde maakt niet uit Dit kan in Java op verschillende manieren worden geïmplementeerd Maar het gebruik van een set is altijd hetzelfde: interface Set { void add(string s); void remove(string s); boolean contains(string s); //... } NB: Deze set kan alleen String waarden opslaan, in het echt iets ingewikkelder
57 Set gebruik public class SetExample { public static void main(string[] args) { // Dit print twee keer false Set<String> set1 = new HashSet<String>(); Test(set1); Set<String> set2 = new TreeSet<String>(); Test(set2); } } public static void Test(Set<String> set) { set.add("test"); set.add("test"); set.remove("test"); System.out.println(set.contains("Test")); }
58 Ingebouwde datastructuren Door alleen de interface te kennen, kunnen we deze gebruiken!
59 Ingebouwde datastructuren Door alleen de interface te kennen, kunnen we deze gebruiken! Andere nuttige datastructuren:
60 Ingebouwde datastructuren Door alleen de interface te kennen, kunnen we deze gebruiken! Andere nuttige datastructuren: List: rijtje van dingen, met add kun je makkelijk een element toevoegen
61 Ingebouwde datastructuren Door alleen de interface te kennen, kunnen we deze gebruiken! Andere nuttige datastructuren: List: rijtje van dingen, met add kun je makkelijk een element toevoegen Map: Mapping tussen twee waarden, bijvoorbeeld om aan een variabele (String) een waarheidswaarde toe te kennen (boolean)
62 Ingebouwde datastructuren Door alleen de interface te kennen, kunnen we deze gebruiken! Andere nuttige datastructuren: List: rijtje van dingen, met add kun je makkelijk een element toevoegen Map: Mapping tussen twee waarden, bijvoorbeeld om aan een variabele (String) een waarheidswaarde toe te kennen (boolean) Stack: stapel van dingen, het ding wat je het laatst toevoegt haal je als eerste er weer af
63 Foreach
64 Foreach Speciale versie van for om iets voor alle elementen van een rijtje te doen
65 Foreach Speciale versie van for om iets voor alle elementen van een rijtje te doen Werkt voor arrays, Set, List, etc.
66 Foreach Speciale versie van for om iets voor alle elementen van een rijtje te doen Werkt voor arrays, Set, List, etc. Definitie:
67 Foreach Speciale versie van for om iets voor alle elementen van een rijtje te doen Werkt voor arrays, Set, List, etc. Definitie: Keyword for
68 Foreach Speciale versie van for om iets voor alle elementen van een rijtje te doen Werkt voor arrays, Set, List, etc. Definitie: Keyword for Haakje openen
69 Foreach Speciale versie van for om iets voor alle elementen van een rijtje te doen Werkt voor arrays, Set, List, etc. Definitie: Keyword for Haakje openen Type van elementen
70 Foreach Speciale versie van for om iets voor alle elementen van een rijtje te doen Werkt voor arrays, Set, List, etc. Definitie: Keyword for Haakje openen Type van elementen Naam van variabele
71 Foreach Speciale versie van for om iets voor alle elementen van een rijtje te doen Werkt voor arrays, Set, List, etc. Definitie: Keyword for Haakje openen Type van elementen Naam van variabele Dubbele punt
72 Foreach Speciale versie van for om iets voor alle elementen van een rijtje te doen Werkt voor arrays, Set, List, etc. Definitie: Keyword for Haakje openen Type van elementen Naam van variabele Dubbele punt Expressie die rijtje teruggeeft
73 Foreach voorbeeld public class Foreach { public static void main(string[] args) { int[] waardes = {1, 4, 2, 2}; for(int i : waardes) { System.out.println(i); } } }
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
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde
Nadere informatieModelleren 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
Nadere informatieModelleren 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
Nadere informatieModelleren 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
Nadere informatieModelleren 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)
Nadere informatieProgrammeren 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
Nadere informatieIMP 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
Nadere informatieDatatypes 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
Nadere informatieTentamen 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
Nadere informatieVoorbeeldtentamen 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
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 18 december 2015 Overerving (inheritance) Constructors Overriding Inheritance demo Exceptions Zelf exceptions veroorzaken Overerving (inheritance) 2-dimensionaal
Nadere informatieKwis (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
Nadere informatieIngebouwde 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
Nadere informatieTentamen 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.
Nadere informatieTentamen 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
Nadere informatierecursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie
Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk
Nadere informatieUitwerking 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
Nadere informatieProgrammeren in Java 3
2 september 2007 voor deeltijdstudenten Kop van Zuid Rotterdam, 3 juni 2007 Even voorstellen Naam: Wessel Oele(31) Docent bij opleiding technische informatica Kamer: I210 (tweede verdieping, links de gang
Nadere informatiePracticumopgave 3: SAT-solver
Practicumopgave 3: SAT-solver Modelleren en Programmeren 2015/2016 Deadline: donderdag 7 januari 2016, 23:59 Introductie In het vak Inleiding Logica is onder andere de propositielogica behandeld. Veel
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 november 2013 Organisatie Docenten Jeroen Bransen Michael Moortgat Docenten Jeroen Bransen Imperatief programmeren (Java) Tot de kerst (ongeveer) Michael Moortgat
Nadere informatieStacks and queues. Introductie 45. Leerkern 45. Terugkoppeling 49. Uitwerking van de opgaven 49
Stacks and queues Introductie 45 Leerkern 45 6.1 Stacks 45 6.2 Queues 47 6.3 Double-ended queues 48 Terugkoppeling 49 Uitwerking van de opgaven 49 Bijlage: Diagrammen belangrijkste interfaces en klassen
Nadere informatieUniversiteit 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
Nadere informatieRecursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40
Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N
Nadere informatieProgrammeren 1 20 januari 2012 Prof. T. Schrijvers
Programmeren 1 20 januari 2012 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
Nadere informatieEen 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
Nadere informatieVakgroep 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 tony.wauters@kahosl.be en tim.vermeulen@kahosl.be
Nadere informatieJava spiekbrief. Commentaar. Definitie van een methode. Types. Variabelendeclaratie. Definitie van een klasse. Namen. Definitie van een veld
Java spiekbrief Commentaar Dient enkel voor de menselijke lezer. // tot het einde van de lijn /* Dit type commentaar kan gerust meerdere lijnen beslaan. */ /** En deze speciale vorm wordt gebruikt voor
Nadere informatieOvererving & 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
Nadere informatieInformatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2015. Parallel Systems: Introduction
Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2015 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic
Nadere informatieLessen 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
Nadere informatieINFORMATICA 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
Nadere informatieUitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, uur
Uitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, 17 20 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
Nadere informatieAanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, uur
Aanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, 13.30-15.30 uur Naam: Studentnummer: Het tentamen bestaat uit 4 opgaven. Opgaven 1 levert 8 punten op, opgave 2 levert 12 punten
Nadere informatieUitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, uur
Uitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, 17 20 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
Nadere informatieHOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren
HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet
Nadere informatieNAAM: 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
Nadere informatieProgrammeren (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
Nadere informatieDatastructuren: stapels, rijen en binaire bomen
Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)
Nadere informatieProgrammeermethoden. Recursie. week 11: november kosterswa/pm/
Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,
Nadere informatieTentamen 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
Nadere informatiehttp://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/
Nadere informatieTweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur
Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, 8.30-10.30 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
Nadere informatieJava spiekbrief. Commentaar. Definitie van een methode. Types. Variabelendeclaratie. Definitie van een klasse. Namen. Definitie van een veld
Java spiekbrief Commentaar Dient enkel voor de menselijke lezer. // tot het einde van de lijn /* Dit type commentaar kan gerust meerdere lijnen beslaan. */ /** En deze speciale vorm wordt gebruikt voor
Nadere informatieObjectgericht programmeren 1.
Objectgericht programmeren 1 joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost/dn Objectgericht ontwerpen 35% Objectgericht ontwerpen 65% OP1 Informatiesystemen 50% Databanken 50% OP1 Evaluatie
Nadere informatieAls een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.
HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een
Nadere informatiepublic 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.
Nadere informatieZelftest 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
Nadere informatieTENTAMEN Programmeren 1 VOORBEELDUITWERKING
TENTAMEN Programmeren 1 vakcode: 213500 datum: 10 juli 2004 tijd: 9:00-12:30 uur VOORBEELDUITWERKING Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Niño/Hosch, en van de handleiding
Nadere informatieOEFENINGEN PYTHON REEKS 1
Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 5 april 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code
Nadere informatieElementary Data Structures 3
Elementary Data Structures 3 Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 29 september 2014 ODE/FHTBM Elementary Data Structures 3 29 september 2014 1/14 Meer
Nadere informatieCollege Introductie
College 2016-2017 Introductie Doaitse Swierstra (Jeroen Bransen) Utrecht University September 13, 2016 Waarom is FP anders? in plaats van opdrachten die na elkaar moeten worden uitgevoerd, definiëren we
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 26, 2018 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
Nadere informatiepublic boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber
Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden
Nadere informatieTentamen 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
Nadere informatieHoofdstuk 0. Van Python tot Java.
Hoofdstuk 0. Van Python tot Java. In dit eerste hoofdstuk maken we de overstap van Python naar Java. We bespreken de verschillen en geven wat achtergrondinformatie. In het volgende hoofdstuk gaan we dieper
Nadere informatieStacks 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
Nadere informatieDatastructuren Werkcollege Intro
Bart Hijmans, Universiteit Leiden. Universiteit Leiden The Netherlands Focus 1 19 ˆ Ervaring in gebruik en implementatie van datastructuren ˆ Kennis van mogelijkheden ˆ Programmeren voor andere programmeurs
Nadere informatieTentamen 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
Nadere informatieREEKS I. Zaterdag 6 november 2010, 9u
TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2010-2011 REEKS I Zaterdag 6 november 2010, 9u NAAM :... VRAAG 1: MINSTENS [5 PUNTEN] Schrijf een methode minstens(), met twee
Nadere informatieVereiste 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
Nadere informatieProgrammeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/
Programmeermethoden Recursie Walter Kosters week 11: 20 24 november 2017 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Vierde programmeeropgave 1 De Grote getallen programmeren we als volgt: week 1: pointerpracticum,
Nadere informatieModelleren en Programmeren: Prolog
Modelleren en Programmeren: Prolog Marijn Schraagen 8 januari 2016 Introductie Basiselementen Rekenen Recursie Introductie Prolog vs. Java Java is procedureel en imperatief Code beschrijft stap voor stap
Nadere informatieObjectgeorï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
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 28, 2016 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
Nadere informatieINFITT01 - 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
Nadere informatieDerde deeltentamen Imperatief programmeren - versie 1 Vrijdag 10 november 2017, uur
Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 10 november 2017, 11.00-13.00 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
Nadere informatieAbstracte 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.
Nadere informatieScala. Korte introductie. Sylvia Stuurman
Korte introductie Sylvia Stuurman Wat is er zo bijzonder aan? Schaalbaar Objectgeoriënteerd (handiger dan Java!) Functioneel Scripts schrijven Gecompileerd: Java bytecode Pagina 2 voor scripts Pagina 3
Nadere informatieProgrammeren 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
Nadere informatieModulewijzer Tirdat01
Modulewijzer Tirdat01 W. Oele 25 augustus 2008 1 Inhoudsopgave 1 Inleiding en leerdoelen 3 2 Voorkennis 3 2.1 tirprg01 en tirprg02........................ 3 2.2 tirprg03.............................. 4
Nadere informatieis eigenlijk overbodig!
Array Declaratie Creatie Opvragen Wijzigen Lengte is eigenlijk overbodig! array: oject dat een rij waarden bevat, met speciale notaties Invoegen Achtervoegen String [ ] a; a = new String[10]; a[5] a[5]
Nadere informatieKlassen. Hoofdstuk Klassen
212 Hoofdstuk 12 Klassen blz. 213 blz. 214 12.1 Klassen Een klasse is een groepje methoden. Dat hebben we in de programma s tot nu toe wel gezien: we definieerden steeds een of meerdere klassen (in ieder
Nadere informatieUitwerking Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 10 november 2017, uur
Uitwerking Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 10 november 2017, 11.00-13.00 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het
Nadere informatieDIAGNOSTISCHE TOETS Softwaresystemen UITWERKING
DIAGNOSTISCHE TOETS Softwaresystemen datum: Donderdag van Week 7 UITWERKING Deze diagnostische toets bevat vragen over excepties en concurrency. Beantwoord de vragen zo goed mogelijk in 30 minuten Bespreek
Nadere informatieDatastructuren en algoritmen
Datastructuren en algoritmen Doelstelling Datastructures + algorithms = programs Boek van Niklaus Wirth: bedenker Pascal en Modula Datastructuur: structuur om informatie op te slaan Algoritme: voorschrift
Nadere informatieAPPLICATIEBOUW 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,
Nadere informatieGame 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.
Nadere informatieimport java.io.*; één klasse public class Hallo { public static void main (String[] a) ...met één functie System.out.println("Hallo!
Voorbeeld Java-programma import java.io.*; één klasse...met één functie...met één opdracht public class Hallo { public static void main (String[] a) { System.out.println("Hallo!"); accolades begrenzen
Nadere informatieDe sheets zijn gebaseerd op met name hoofdstuk. D. Bell en M. Parr, Java voor studenten, Prentice Hall,
sheets Programmeren 1 Java college 4, Walter Kosters De sheets zijn gebaseerd op met name hoofdstuk 8 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/
Nadere informatieInleiding tot Func.oneel Programmeren les 3
Inleiding tot Func.oneel Programmeren les 3 Kris Luyten, Jo Vermeulen {kris.luyten,jo.vermeulen}@uhasselt.be Exper.secentrum voor Digitale Media Universiteit Hasselt Currying Currying: een func.e met meerdere
Nadere informatieNAAM: 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
Nadere informatieAanvullende toets Gameprogrammeren Woensdag 5 januari 2011, uur
Dit tentamen is in elektronische vorm beschikbaar gemaakt door de TBC van A Eskwadraat. A Eskwadraat kan niet aansprakelijk worden gesteld voor de gevolgen van eventuele fouten in dit tentamen. Aanvullende
Nadere informatieProgrammeren 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
Nadere informatieProgrammeermethoden NA. Week 5: Functies (vervolg)
Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Functies Vorige week bekeken we functies: def
Nadere informatieOntwerp 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
Nadere informatieHoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.
Hoofdstuk 1: Inleiding Objectoriëntatie: 1. Objecten & klassen: samenwerking van componenten om bepaald doel te bereiken; herbruikbaarheid. 2. Encapsulation: afschermen gedragingen en kenmerken van de
Nadere informatieUitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, uur
Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, 11.00-13.00 uur 1. Deze opgave bestaat uit een aantal deelvragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan
Nadere informatieTEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR
TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2011-2012 Zaterdag 5 november 2011, 9u30 NAAM :... VRAAG 1: EVEN VEEL [5 PUNTEN] Schrijf een methode evenveel(), met twee argumenten,
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 3 feb. 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code gevraagd
Nadere informatieProgrammeren in C# Klassen schrijven
Programmeren in C# Klassen schrijven In dit hoofdstuk Klassestructuur Private variabelen Publieke methoden (public) Properties Constructormethodes Private methodes (private) Static methodes en properties
Nadere informatieSyntax van opdracht. opdracht. expressie. variabele. = expressie ; klasse naam. methode naam. property naam += object
Syntax van opdracht opdracht klasse naam methode naam ( expressie ) ; object expressie. property naam +=, variabele = expressie ; Static gewone methoden Bewerken een object Aanroep: object. methode ( )
Nadere informatieIn BlueJ. Doe onderstaande met muis/menu s:
In BlueJ Doe onderstaande met muis/menu s: Download en unzip het bestand sklok-run.zip en open het in BlueJ Maak een Schaakklok-object Voer herstart() uit voor dit object Vraag de resterende tijd op voor
Nadere informatieInformatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction
Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic
Nadere informatieEen 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
Nadere informatieVersie 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.
Nadere informatieUitwerking 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)
Nadere informatieTweede college algoritmiek. 12 februari Grafen en bomen
College 2 Tweede college algoritmiek 12 februari 2016 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices)
Nadere informatie