Modelleren en Programmeren
|
|
- Gabriël Jonker
- 6 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Modelleren en Programmeren Jeroen Bransen 6 december 2013
2 Terugblik
3 Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse
4 Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in Methoden Objecten Klasse
5 Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in Methoden Objecten zijn gegroepeerd in Klasse
6 Programma en geheugen Opdrachten Methoden zijn gegroepeerd in Variabelen Objecten zijn gegroepeerd in zijn gegroepeerd in Klasse
7 Programma en geheugen Opdrachten Methoden zijn gegroepeerd in Variabelen Objecten zijn gegroepeerd in zijn gegroepeerd in hebben als type Klasse
8 Programma en geheugen Opdrachten veranderen Variabelen Methoden zijn gegroepeerd in Objecten zijn gegroepeerd in zijn gegroepeerd in hebben als type Klasse
9 Programma en geheugen Opdrachten veranderen Variabelen zijn gegroepeerd in zijn gegroepeerd in Methoden bewerken Objecten zijn gegroepeerd in hebben als type Klasse
10 Constructor Constructor bevat stukje code dat uitgevoerd wordt bij creatie van object
11 Constructor Constructor bevat stukje code dat uitgevoerd wordt bij creatie van object Wordt gebruikt om object te initialiseren
12 Constructor Constructor bevat stukje code dat uitgevoerd wordt bij creatie van object Wordt gebruikt om object te initialiseren Java maakt standaard een constructor die alle variabelen op 0 (standaardwaarde) zet
13 Constructor Constructor bevat stukje code dat uitgevoerd wordt bij creatie van object Wordt gebruikt om object te initialiseren Java maakt standaard een constructor die alle variabelen op 0 (standaardwaarde) zet Constructor is vergelijkbaar met methode, maar moet dezelfde naam als klasse hebben en heeft geen resultaat
14 Constructor Constructor bevat stukje code dat uitgevoerd wordt bij creatie van object Wordt gebruikt om object te initialiseren Java maakt standaard een constructor die alle variabelen op 0 (standaardwaarde) zet Constructor is vergelijkbaar met methode, maar moet dezelfde naam als klasse hebben en heeft geen resultaat Net als een methode mag een constructor parameters hebben
15 Constructor Constructor bevat stukje code dat uitgevoerd wordt bij creatie van object Wordt gebruikt om object te initialiseren Java maakt standaard een constructor die alle variabelen op 0 (standaardwaarde) zet Constructor is vergelijkbaar met methode, maar moet dezelfde naam als klasse hebben en heeft geen resultaat Net als een methode mag een constructor parameters hebben Kan dus gebruikt worden om waarden voor variabelen mee te geven
16 this keyword De variabele this is een speciale variabele die naar het huidige object wijst
17 this keyword De variabele this is een speciale variabele die naar het huidige object wijst Wordt vaak gebruikt in constructor of methode verschil te maken tussen variabelen met dezelfde naam
18 this keyword De variabele this is een speciale variabele die naar het huidige object wijst Wordt vaak gebruikt in constructor of methode verschil te maken tussen variabelen met dezelfde naam Kan ook gebruikt worden om methoden aan te roepen of om als argument mee te geven
19 Object constructor public class Persoon { String naam; int leeftijd; int lengte; public Persoon(String naam, int leeftijd, int lengte) { this.naam = naam; this.leeftijd = leeftijd; this.lengte = lengte; // Als iemand jarig is wordt hij 1 jaar ouder public void vierverjaardag() { leeftijd++;
20 Gebruik van object public class PersoonMain { public static void main(string[] args) { // Maak de personen aan Persoon[] personen = { new Persoon("Sinterklaas", 417, 181), new Persoon("Cornelis", 22, 176), new Persoon("Marleen", 19, 170) ; // Iemand is jarig vandaag personen[0].vierverjaardag(); // Print leeftijden uit for(int i = 0; i < personen.length; i++) { System.out.println(personen[i].naam + " is " + personen[i].leeftijd + " jaar");
21 Call-by-reference en call-by-value
22 Wat print dit programma? public class CallBy { public static void main(string[] args) { // Variabele i met waarde 2 int i = 2; // Hoog i 1 op add1(i); // Print op scherm System.out.println(i); public static void add1(int i) { i++;
23 Call-by-value Een parameter is een losse variabele, die alleen bestaat binnen die methode
24 Call-by-value Een parameter is een losse variabele, die alleen bestaat binnen die methode Bij aanroep wordt de waarde (value) in die variabele opgeslagen
25 Call-by-value Een parameter is een losse variabele, die alleen bestaat binnen die methode Bij aanroep wordt de waarde (value) in die variabele opgeslagen Wijzigen van de parameter heeft dus geen effect buiten de functie
26 Call-by-value Een parameter is een losse variabele, die alleen bestaat binnen die methode Bij aanroep wordt de waarde (value) in die variabele opgeslagen Wijzigen van de parameter heeft dus geen effect buiten de functie Dit noemen we call-by-value en wordt in Java voor simpele typen gebruikt
27 Wat print dit programma? public class CallBy { public static void main(string[] args) { int[] i = new int[1]; i[0] = 2; add1(i); System.out.println(i[0]); public static void add1(int[] i) { i[0]++;
28 Call-by-reference Een array of object wordt in een variabele opgeslagen als verwijzing
29 Call-by-reference Een array of object wordt in een variabele opgeslagen als verwijzing Bij aanroep wordt de verwijzingen (reference) opgeslagen in de parameter
30 Call-by-reference Een array of object wordt in een variabele opgeslagen als verwijzing Bij aanroep wordt de verwijzingen (reference) opgeslagen in de parameter Wijzigen van object/array waar parameter naar verwijst heeft dus wel effect buiten de functie
31 Call-by-reference Een array of object wordt in een variabele opgeslagen als verwijzing Bij aanroep wordt de verwijzingen (reference) opgeslagen in de parameter Wijzigen van object/array waar parameter naar verwijst heeft dus wel effect buiten de functie Dit noemen we call-by-reference en wordt in Java voor objecten en arrays gebruikt
32 Call-by-reference Een array of object wordt in een variabele opgeslagen als verwijzing Bij aanroep wordt de verwijzingen (reference) opgeslagen in de parameter Wijzigen van object/array waar parameter naar verwijst heeft dus wel effect buiten de functie Dit noemen we call-by-reference en wordt in Java voor objecten en arrays gebruikt Maar: de verwijzing zelf aanpassenheeft dan weer geen effect (voorbeeld op volgende slide)
33 Call-by overzicht public class CallBy { public static void main(string[] args) { int i = 2; int[] j = { 2 ; int[] k = { 2 ; Persoon p = new Persoon("Sinterklaas", 417, 181); add1(i, j, k, p); System.out.println(i); // Print 2 System.out.println(j[0]); // Print 3 System.out.println(k[0]); // Print 2 System.out.println(p.leeftijd); // Print 418 static void add1(int a, int[] b, int[] c, Persoon p) { a++; // heeft geen effect b[0]++; // heeft wel effect c = new int[1]; c[0]++; // heeft geen effect p.leeftijd++; // heeft wel effect
34 Objecten en geheugen
35 Variabelen in geheugen Primitieve waarden:
36 Variabelen in geheugen Primitieve waarden: Arrays:
37 Variabelen in geheugen Primitieve waarden: Arrays: Objecten:
38 De lege verwijzing Een variabele met array/object type verwijst naar ander stuk geheugen
39 De lege verwijzing Een variabele met array/object type verwijst naar ander stuk geheugen Dat andere stuk geheugen wordt met new gemaakt
40 De lege verwijzing Een variabele met array/object type verwijst naar ander stuk geheugen Dat andere stuk geheugen wordt met new gemaakt Maar wat nou als we nog geen new hebben gebruikt?
41 De lege verwijzing Een variabele met array/object type verwijst naar ander stuk geheugen Dat andere stuk geheugen wordt met new gemaakt Maar wat nou als we nog geen new hebben gebruikt? Een verwijzing naar niks is null
42 De lege verwijzing Een variabele met array/object type verwijst naar ander stuk geheugen Dat andere stuk geheugen wordt met new gemaakt Maar wat nou als we nog geen new hebben gebruikt? Een verwijzing naar niks is null We kunnen null gebruiken om te controleren of er een verwijzing is
43 Voorbeeld met null public class NullPointer { Persoon p; // Hier nog andere code public void printleeftijd() { System.out.println(p.naam + " is " + p.leeftijd); // In een ander bestand: public class NullPointerMain { public static void main(string[] args) { NullPointer np = new NullPointer(); np.printleeftijd();
44 Voorbeeld met null public class NullPointer { Persoon p; // Hier nog andere code public void printleeftijd() { if(p == null) System.out.println("Persoon is niet aangemaakt"); else System.out.println(p.naam + " is " + p.leeftijd); // In een ander bestand: public class NullPointerMain { public static void main(string[] args) { NullPointer np = new NullPointer(); np.printleeftijd();
45 Gelijkheid van objecten
46 Nog een klein puzzeltje public class ObjectEquality { public static void main(string[] args) { String a = "a"; String b = "b"; String x = a + b; String y = a + b; System.out.println(x == y);
47 Gelijkheid van objecten Strings zijn ook objecten
48 Gelijkheid van objecten Strings zijn ook objecten Met == controleren we of variabelen dezelfde waarde hebben
49 Gelijkheid van objecten Strings zijn ook objecten Met == controleren we of variabelen dezelfde waarde hebben Maar bij objecten is de waarde de verwijzing
50 Gelijkheid van objecten Strings zijn ook objecten Met == controleren we of variabelen dezelfde waarde hebben Maar bij objecten is de waarde de verwijzing Dus == controleert of de variabelen naar hetzelfde object verwijzen
51 Gelijkheid van objecten Strings zijn ook objecten Met == controleren we of variabelen dezelfde waarde hebben Maar bij objecten is de waarde de verwijzing Dus == controleert of de variabelen naar hetzelfde object verwijzen x en y zijn niet hetzelfde object!
52 Gelijkheid van objecten Strings zijn ook objecten Met == controleren we of variabelen dezelfde waarde hebben Maar bij objecten is de waarde de verwijzing Dus == controleert of de variabelen naar hetzelfde object verwijzen x en y zijn niet hetzelfde object! Ze representeren alleen dezelfde string
53 Correcte versie public class ObjectEquality { public static void main(string[] args) { String a = "a"; String b = "b"; String x = a + b; String y = a + b; System.out.println(x.equals(y)); // dit print true
54 Meer controlestructuren
55 Break Keyword break breekt een for of while meteen af
56 Break Keyword break breekt een for of while meteen af Bijvoorbeeld: public class Break { public static void main(string[] args) { // Dit print 0, 1, 2 en 3 (elk op een regel) for(int i = 0; i < 10; i++) { if(i == 4) break; System.out.println(i);
57 Continue Keyword continue gaat naar de volgende iteratie van een for of while
58 Continue Keyword continue gaat naar de volgende iteratie van een for of while Bij een for wordt de teller zoals altijd opgehoogd
59 Continue Keyword continue gaat naar de volgende iteratie van een for of while Bij een for wordt de teller zoals altijd opgehoogd Kan ook voor het afbreken van de herhaling zorgen als expressie onwaar wordt
60 Continue Keyword continue gaat naar de volgende iteratie van een for of while Bij een for wordt de teller zoals altijd opgehoogd Kan ook voor het afbreken van de herhaling zorgen als expressie onwaar wordt Bijvoorbeeld: public class Continue { public static void main(string[] args) { // Dit print 0, 1, 2, 3, 5, 6, 7, 8 en 9 for(int i = 0; i < 10; i++) { if(i == 4) continue; System.out.println(i);
61 Object als String printen Dit doet niet wat we willen: Persoon p = new Persoon("Sinterklaas", 417, 181); System.out.println("p = " + p);
62 Object als String printen Dit doet niet wat we willen: Persoon p = new Persoon("Sinterklaas", 417, 181); System.out.println("p = " + p); Bij het omzetten naar een String wordt de tostring methode aangeroepen
63 Object als String printen Dit doet niet wat we willen: Persoon p = new Persoon("Sinterklaas", 417, 181); System.out.println("p = " + p); Bij het omzetten naar een String wordt de tostring methode aangeroepen Voor onze eigen klasse kunnen we die zelf implementeren
64 Object als String printen Dit doet niet wat we willen: Persoon p = new Persoon("Sinterklaas", 417, 181); System.out.println("p = " + p); Bij het omzetten naar een String wordt de tostring methode aangeroepen Voor onze eigen klasse kunnen we die zelf implementeren En dan dus zelf kiezen wat we zien, in plaats van de standaard implementatie
65 Object als String printen public class Persoon { String naam; int leeftijd; int lengte; public Persoon(String naam, int leeftijd, int lengte) { this.naam = naam; this.leeftijd = leeftijd; this.lengte = lengte; public String tostring() { return naam + " (" + leeftijd + ")";
66 Recursie
67 Recursie Om recursie te begrijpen, moet je eerst recursie begrijpen
68 Recursie Om recursie te begrijpen, moet je eerst recursie begrijpen Recursieve functie roept zichzelf aan
69 Recursie Om recursie te begrijpen, moet je eerst recursie begrijpen Recursieve functie roept zichzelf aan Minstens 1 parameter moet kleiner worden
70 Recursie Om recursie te begrijpen, moet je eerst recursie begrijpen Recursieve functie roept zichzelf aan Minstens 1 parameter moet kleiner worden Herhalingsconstructies (for, while) kunnen ook recursief worden beschreven
71 Factorial voorbeeld // A simple example of recursion. public class Factorial { // This is a recursive function. public static int factr(int n) { int result; if(n==1) return 1; result = factr(n-1) * n; return result; // This is an iterative equivalent. public static int facti(int n) { int t, result; result = 1; for(t=1; t <= n; t++) result *= t; return result;
72 Mutuele recursie
73 Mutuele recursie Twee (of meerdere) functies die elkaar aanroepen
74 Mutuele recursie Twee (of meerdere) functies die elkaar aanroepen Functies roepen indirect zichzelf aan
75 Mutuele recursie Twee (of meerdere) functies die elkaar aanroepen Functies roepen indirect zichzelf aan Ook hier moet er een parameter kleiner worden om oneindige recursie tegen te gaan
76 Even en oneven voorbeeld // Mutuele recursie voorbeeld public class MutualRecursion { public static boolean even(int x) { if(x == 0) return true; return oneven(x-1); public static boolean oneven(int x) { if(x == 0) return false; return even(x-1); public static void main(string[] args) { System.out.println("7 is even: " + even(7));
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)
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 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));
Nadere informatieModelleren 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 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 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 18 december 2015 Overerving (inheritance) Constructors Overriding Inheritance demo Exceptions Zelf exceptions veroorzaken Overerving (inheritance) 2-dimensionaal
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 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 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 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 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 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde
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 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 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 informatieJavascript oefenblad 1
Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de
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 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 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 informatieKleine 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
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 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 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 informatieTentamen Inleiding Programmeren in Java
Tentamen Inleiding Programmeren in Java Vakcode: 2lI0L7 Datum: 4 februari 2005 Tijd: 13.30-17.00 uur Algemeen: Dit tentamen bestaat uit 4 opgaven, waarvoor in totaal 100 punten verdiend kunnen worden.
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 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 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 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 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 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 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 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 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 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 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 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 informatieJava Programma structuur
Java Programma structuur public class Bla // div. statements public static void main(string argv[]) // meer spul Voortgezet Prog. voor KI, week 4:11 november 2002 1 Lijsten Voorbeelden 2, 3, 5, 7, 13 Jan,
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 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 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 informatieDynamisch Programmeren. Het Rugzakprobleem
INLEIDING Dynamisch Programmeren 1 Dynamisch Programmeren Section Page Inleiding................................................. 1 1 Oplossing................................................ 2 2 Subprobleem.............................................
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 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 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 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 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 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 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 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 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 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 informatieVoorbeeld: Simulatie van bewegende deeltjes
Voorbeeld: Simulatie van bewegende deeltjes Simulatie - object Ruimte - objecten Deeltje - objecten Button - objecten Simulatie Samenhang van objecten sim geërfd van Form stap zelf gedeclareerd auto r1
Nadere informatieObjectgeoriënteerd programmeren in Java 1
Objectgeoriënteerd programmeren in Java 1 CPP Javaprogrammeur Bijeenkomst 3 Leereenheden 7, 8, 9 De Java API Java bevat een grote bibliotheek standaardklassen: de Java API Voorbeelden java.lang basisklassen
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 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 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 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 informatieZelftest Inleiding Programmeren
Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze
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 informatieREEKS II. Zaterdag 6 november 2010, 11u
TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2010-2011 REEKS II Zaterdag 6 november 2010, 11u NAAM :... VRAAG 1: AFSTAND [5 PUNTEN] In deze oefening gaan we opzoek naar identieke
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 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 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 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 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 informatieWiskundige Analyse I. Hoofdstuk 1. Vraag 1.1 Het beginvoorwaardenprobleem. x 2 y + xy + x 2 y = 0, y(0+) = 1, y (0+) = 0. bezit een unieke oplossing.
Hoofdstuk 1 Wiskundige Analyse I Vraag 1.1 Het beginvoordenprobleem x 2 y + xy + y = 0, y(0+) = 1, y (0+) = 0 bezit een unieke oplossing. vals Vraag 1.2 Het beginvoordenprobleem x 2 y + xy + x 2 y = 0,
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 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 informatieRecursie. public static int faculteit( int n ){ // Deze functie berekent n! // pre: n = N en n >= 0 // post: faculteit = N!
Recursie Faculteit: in de wiskunde: n! is gedefiniëerd als: 0! = 1 n! = n (n 1)! in Java: public static int faculteit( int n ) // Deze functie berekent n! // pre: n = N en n >= 0 // post: faculteit = N!
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 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 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 informatieSPOJ oplossingen Gilles Callebaut 7 augustus 2015
SPOJ oplossingen 2012-2013 Gilles Callebaut 7 augustus 2015 DISCLAIMER Oefeningen zijn niet altijd correct of optimaal. Gelieve de oefeningen enkel te gebruiken ter ondersteuning. Van kopiëren leer je
Nadere informatieObjective-C Basis. 23 april 2005, Eindhoven Patrick Machielse
Objective-C Basis 23 april 2005, Eindhoven Patrick Machielse patrick@hieper.nl Algemeen // extensies Objective-C code in bestanden met.m extensie // commentaar moet! /* Alles hiertussen wordt genegeerd
Nadere informatieUitwerkingen 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
Nadere informatieInformatica: 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
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 informatieUitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur
Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, 8.30-10.30 uur 1. Een Intent-object wordt gebruikt voor communicatie (a) van een Activity naar een bijbehorende View
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 informatieInformatie over. 5VWO DT51: JavaLogo. Casper Bezemer. Toetsweek 1 13 oktober 2016
Informatie over 5VWO DT51: JavaLogo Casper Bezemer Toetsweek 1 13 oktober 2016 1 Informatie Voor toets DT51 wordt jou gevraagd Java(Logo) programma s te schrijven. De eerste opdracht is een Krimpfiguur,
Nadere informatieModelleren 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
Nadere informatieBeginselen 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,
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 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 informatieProgrammeren 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
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 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 informatie10 Meer over functies
10 Meer over functies In hoofdstuk 5 hebben we functies uitgebreid bestudeerd. In dit hoofdstuk bekijken we drie andere aspecten van functies: recursieve functies dat wil zeggen, functies die zichzelf
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 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 informatieDergelijke functionaliteit kunnen we zelf ook aan eigen code toevoegen.
Indexers in C#.Net In deze tutorial ga ik het hebben over indexers. Bij het gebruik van bijvoorbeeld een ArrayList object, kan je de gegevens uit deze collectie opvragen als ware het een array. // ArrayList
Nadere informatieDerde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, uur
Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, 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 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 informatieDeeltentamen Grammatica s en ontleden 22 december 2005
Tentamen Grammatica s en ontleden 22 december 2005 1 Deeltentamen Grammatica s en ontleden 22 december 2005 Let op: opgave 1 t/m 4 tellen voor (slechts) 5 punten mee, opgave 5 voor maar liefst 50 punten,
Nadere informatieKompas. zijn klasse. protected override void OnDraw(Canvas canv) { base.ondraw(canv);
Kompas class KompasView : View, ISensorEventListener { Bitmap b; float Schaal; float Hoek; public KompasView(Context belooft c) : methodes base(c) { b = BitmapFactory.DecodeResource(...UU...); SensorManager
Nadere informatieTentamen 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.
Nadere informatieHOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10
CPP 1 van 10 ADSdt 1-2009 TENTAMENVOORBLAD Voor aanvang van het tentamen s.v.p. de tentamengegevens goed doorlezen om eventuele misverstanden te voorkomen!! Naam student : Studentnummer : Groep : Studieonderdeel
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 informatie