Modelleren en Programmeren

Save this PDF as:
 WORD  PNG  TXT  JPG

Maat: px
Weergave met pagina beginnen:

Download "Modelleren en Programmeren"

Transcriptie

1 Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver

2 Ingebouwde datastructuren

3 Ingebouwde datastructuren Java heeft een hoop ingebouwde datastructuren

4 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

5 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

6 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

7 Set Een set of verzameling kennen we uit de wiskunde

8 Set Een set of verzameling kennen we uit de wiskunde Rijtje dingen zonder dubbelen en volgorde maakt niet uit

9 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

10 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

11 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")); }

12 Ingebouwde datastructuren Door alleen de interface te kennen, kunnen we deze gebruiken!

13 Ingebouwde datastructuren Door alleen de interface te kennen, kunnen we deze gebruiken! Andere nuttige datastructuren:

14 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

15 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)

16 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

17 Meer boomstructuren

18 Boomstructuren

19 Boomstructuren Zulke bomen kunnen we als volgt representeren:

20 Boomstructuren Zulke bomen kunnen we als volgt representeren: Boom bestaat uit top-knoop

21 Boomstructuren Zulke bomen kunnen we als volgt representeren: Boom bestaat uit top-knoop Knoop bevat een getal

22 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

23 Boomstructuren public class Knoop { // Knoop bevat waarde int waarde; } // Knoop bevat maximaal 2 kinderen, // die zelf ook weer knopen zijn Knoop links; Knoop rechts;

24 Boomstructuren

25 Boomstructuren Zulke bomen kunnen we als volgt representeren:

26 Boomstructuren Zulke bomen kunnen we als volgt representeren: Boom bestaat uit top-knoop

27 Boomstructuren Zulke bomen kunnen we als volgt representeren: Boom bestaat uit top-knoop Knoop is een van de volgende:

28 Boomstructuren Zulke bomen kunnen we als volgt representeren: Boom bestaat uit top-knoop Knoop is een van de volgende: Een plus met precies 2 kinderen die elk bomen zijn

29 Boomstructuren Zulke bomen kunnen we als volgt representeren: Boom bestaat uit top-knoop Knoop is een van de volgende: Een plus met precies 2 kinderen die elk bomen zijn Een min met 1 kind dat ook een boom is

30 Boomstructuren Zulke bomen kunnen we als volgt representeren: Boom bestaat uit top-knoop Knoop is een van de volgende: Een plus met precies 2 kinderen die elk bomen zijn Een min met 1 kind dat ook een boom is Een blad met een getal erin

31 Eerste poging // Dit is niet handig... public class Knoop { int waarde; boolean isplus; boolean ismin; Knoop links; Knoop rechts; }

32 Beter idee Maak een aparte klasse voor elk type knoop

33 Beter idee Maak een aparte klasse voor elk type knoop Zo scheiden we de verschillende opties

34 Beter idee Maak een aparte klasse voor elk type knoop Zo scheiden we de verschillende opties En wordt de code een stuk duidelijker!

35 Bladeren public class Blad { int waarde; } public Blad(int waarde) { this.waarde = waarde; } public int resultaat() { return waarde; }

36 Min public class Min { // Wat moet dit type zijn???? kind; } public Min(??? kind) { this.kind = kind; } public int resultaat() { return -kind.resultaat(); }

37 Nog beter idee Maak een aparte klasse voor elk type knoop

38 Nog beter idee Maak een aparte klasse voor elk type knoop Maak een interface voor Boom-typen

39 Nog beter idee Maak een aparte klasse voor elk type knoop Maak een interface voor Boom-typen Laat elke klasse die interface implementeren

40 Boom interface public interface Boom { public int resultaat(); }

41 Bladeren public class Blad implements Boom { int waarde; } public Blad(int waarde) { this.waarde = waarde; } public int resultaat() { return waarde; }

42 Min public class Min implements Boom { // Kind is een boom (kan blad zijn // of een ingewikkelder type) Boom kind; } public Min(Boom kind) { this.kind = kind; } public int resultaat() { return -kind.resultaat(); }

43 Plus public class Plus implements Boom { Boom links; Boom rechts; } public Plus(Boom links, Boom rechts) { this.links = links; this.rechts = rechts; } public int resultaat() { return links.resultaat() + rechts.resultaat(); }

44 Access specifiers

45 Wat kan hier fout gaan? public class Breuk { int teller, noemer; } public Breuk(int teller, int noemer) { this.teller = teller; this.noemer = noemer; } public double todouble() { return (double)teller / (double)noemer; }

46 Oplossing public class Breuk { int teller, noemer; } public Breuk(int teller, int noemer) { if(noemer == 0) { this.teller = 0; this.noemer = 1; } else { this.teller = teller; this.noemer = noemer; } } public double todouble() { return (double)teller / (double)noemer; }

47 Of toch geen oplossing? public static void main(string[] args) { Breuk br = new Breuk(1, 4); } // Dit print 0.25 System.out.println(br.toDouble()); // Maar dit gaat fout... br.noemer = 0; System.out.println(br.toDouble());

48 Access specifiers Specificeren welke code variabelen mag bewerken en functies mag aanroepen

49 Access specifiers Specificeren welke code variabelen mag bewerken en functies mag aanroepen public betekent dat iedereen toegang heeft

50 Access specifiers Specificeren welke code variabelen mag bewerken en functies mag aanroepen public betekent dat iedereen toegang heeft private betekent alleen code binnen die klasse

51 Access specifiers Specificeren welke code variabelen mag bewerken en functies mag aanroepen public betekent dat iedereen toegang heeft private betekent alleen code binnen die klasse Standaard is public

52 Goede oplossing public class Breuk { private int teller, noemer; } public Breuk(int teller, int noemer) { if(noemer == 0) { this.teller = 0; this.noemer = 1; } else { this.teller = teller; this.noemer = noemer; } } public double todouble() { return (double)teller / (double)noemer; }

53 Gebruikersinvoer

54 Gebruikersinvoer Via args kunnen we commandline-argumenten verkrijgen

55 Gebruikersinvoer Via args kunnen we commandline-argumenten verkrijgen Maar wat als we gebruiker tijdens het programma wat willen laten invoeren?

56 Gebruikersinvoer Via args kunnen we commandline-argumenten verkrijgen Maar wat als we gebruiker tijdens het programma wat willen laten invoeren? Verschillende opties:

57 Gebruikersinvoer Via args kunnen we commandline-argumenten verkrijgen Maar wat als we gebruiker tijdens het programma wat willen laten invoeren? Verschillende opties: Invoer uit console lezen via System.in

58 Gebruikersinvoer Via args kunnen we commandline-argumenten verkrijgen Maar wat als we gebruiker tijdens het programma wat willen laten invoeren? Verschillende opties: Invoer uit console lezen via System.in Invoer via een textbox in een venster verkrijgen

59 Invoer uit console System.in kan gebruikt worden om invoer te lezen

60 Invoer uit console System.in kan gebruikt worden om invoer te lezen System.in.read() geeft volgend karakter uit invoer

61 Invoer uit console System.in kan gebruikt worden om invoer te lezen System.in.read() geeft volgend karakter uit invoer Niet zo handig

62 Invoer uit console System.in kan gebruikt worden om invoer te lezen System.in.read() geeft volgend karakter uit invoer Niet zo handig Scanner klasse kan hierbij helpen

63 Scanner klasse Aanmaken van Scanner object: new Scanner(System.in)

64 Scanner klasse Aanmaken van Scanner object: new Scanner(System.in) Verschillende methoden om volgende stukje invoer te lezen:

65 Scanner klasse Aanmaken van Scanner object: new Scanner(System.in) Verschillende methoden om volgende stukje invoer te lezen: nextline(): tekst tot einde van deze regel

66 Scanner klasse Aanmaken van Scanner object: new Scanner(System.in) Verschillende methoden om volgende stukje invoer te lezen: nextline(): tekst tot einde van deze regel next(): tekst tot eerstvolgende spatie/enter

67 Scanner klasse Aanmaken van Scanner object: new Scanner(System.in) Verschillende methoden om volgende stukje invoer te lezen: nextline(): tekst tot einde van deze regel next(): tekst tot eerstvolgende spatie/enter nextint(): leest invoer als getal

68 Scanner klasse Aanmaken van Scanner object: new Scanner(System.in) Verschillende methoden om volgende stukje invoer te lezen: nextline(): tekst tot einde van deze regel next(): tekst tot eerstvolgende spatie/enter nextint(): leest invoer als getal nextdouble(): leest invoer als kommagetal

69 Scanner klasse Aanmaken van Scanner object: new Scanner(System.in) Verschillende methoden om volgende stukje invoer te lezen: nextline(): tekst tot einde van deze regel next(): tekst tot eerstvolgende spatie/enter nextint(): leest invoer als getal nextdouble(): leest invoer als kommagetal etc.

70 Scanner klasse Aanmaken van Scanner object: new Scanner(System.in) Verschillende methoden om volgende stukje invoer te lezen: nextline(): tekst tot einde van deze regel next(): tekst tot eerstvolgende spatie/enter nextint(): leest invoer als getal nextdouble(): leest invoer als kommagetal etc. Na aanroep van al deze methoden is stukje invoer verwerkt, en bij nogmaals aanroepen krijgen we dus het stukje erna

71 Scanner klasse Aanmaken van Scanner object: new Scanner(System.in) Verschillende methoden om volgende stukje invoer te lezen: nextline(): tekst tot einde van deze regel next(): tekst tot eerstvolgende spatie/enter nextint(): leest invoer als getal nextdouble(): leest invoer als kommagetal etc. Na aanroep van al deze methoden is stukje invoer verwerkt, en bij nogmaals aanroepen krijgen we dus het stukje erna Scanner kan ook gebruikt worden voor lezen uit bestanden

72 Scanner voorbeeld import java.util.scanner; public class ScannerTest { public static void main(string[] args) { Scanner sc = new Scanner(System.in); } } System.out.print("Voer je naam in: "); String naam = sc.nextline(); System.out.print("Voer je leeftijd in: "); int leeftijd = sc.nextint(); if(leeftijd < 18) { System.out.println(naam + ", je bent te jong"); } else { System.out.println(naam + ", je krijgt toegang."); }

73 Codestijl

74 Boolean vergelijking Dit werkt maar is niet zo mooi: if (waarde == true) { // Hier wat code }

75 Boolean vergelijking Dit werkt maar is niet zo mooi: if (waarde == true) { // Hier wat code } waarde is al een boolean, dus beter is: if (waarde) { // Hier wat code }

76 Gebruik van else if (n > 10) { // Hier wat code } if (n <= 10) { // Hier wat andere code }

77 Gebruik van else if (n > 10) { // Hier wat code } if (n <= 10) { // Hier wat andere code } Een van beide alternatieven is altijd waar, maar dat is niet meteen duidelijk. Zo wel: if (n > 10) { // Hier wat code } else { // Hier wat andere code }

78 Geen compiler-error!= correct if(array[i]!= (0 1)) { // Deze code wordt uitgevoerd als // de waarde niet gelijk is aan 0 of 1 }

79 Geen compiler-error!= correct if(array[i]!= (0 1)) { // Deze code wordt uitgevoerd als // de waarde niet gelijk is aan 0 of 1 } De of ( ) werkt hier op 2 int s

80 Geen compiler-error!= correct if(array[i]!= (0 1)) { // Deze code wordt uitgevoerd als // de waarde niet gelijk is aan 0 of 1 } De of ( ) werkt hier op 2 int s Dat hebben we nog nooit gezien, maar is de bitwise of

81 Geen compiler-error!= correct if(array[i]!= (0 1)) { // Deze code wordt uitgevoerd als // de waarde niet gelijk is aan 0 of 1 } De of ( ) werkt hier op 2 int s Dat hebben we nog nooit gezien, maar is de bitwise of Voor 0 en 1 is het resultaat daarvan 1

82 Geen compiler-error!= correct if(array[i]!= (0 1)) { // Deze code wordt uitgevoerd als // de waarde niet gelijk is aan 0 of 1 } De of ( ) werkt hier op 2 int s Dat hebben we nog nooit gezien, maar is de bitwise of Voor 0 en 1 is het resultaat daarvan 1 Dus dit controleert of array[i] ongelijk is aan 1

83 Verkorte if-notatie Een vaak voorkomend patroon: if (a < 10) b = 5; else b = a;

84 Verkorte if-notatie Een vaak voorkomend patroon: if (a < 10) b = 5; else b = a; Kan korter worden geschreven: b = a < 10? 5 : a;

85 Verkorte if-notatie variabele = b? e1 : e2;

86 Verkorte if-notatie variabele = b? e1 : e2; Hierbij moet b een expressie van type boolean zijn

87 Verkorte if-notatie variabele = b? e1 : e2; Hierbij moet b een expressie van type boolean zijn En e1 en e2 van hetzelfde type als variabele

88 Verkorte if-notatie variabele = b? e1 : e2; Hierbij moet b een expressie van type boolean zijn En e1 en e2 van hetzelfde type als variabele Als b evalueert naar true dan variabele = e1;

89 Verkorte if-notatie variabele = b? e1 : e2; Hierbij moet b een expressie van type boolean zijn En e1 en e2 van hetzelfde type als variabele Als b evalueert naar true dan variabele = e1; Anders variabele = e2;

90 Verkorte if-notatie variabele = b? e1 : e2; Hierbij moet b een expressie van type boolean zijn En e1 en e2 van hetzelfde type als variabele Als b evalueert naar true dan variabele = e1; Anders variabele = e2; Hoeft niet per se toekenning te zijn, maar mag ook in functieaanroep of complexere expressie staan, bijvoorbeeld: f(10 + (a == 0? 0 : 7 / a))

91 Meerdere opties voor dezelfde variabele if (a == 1) { // Hier wat code } else if (a == 2) { // Hier wat andere code } else if (a == 3) { // Hier weer andere code } else if (a == 4) { // Hier ook code } else { // En hier nog code }

92 Switch switch (a) { case 1: // Hier wat code break; case 2: // Hier wat andere code break; case 3: // Hier weer andere code break; case 4: // Hier ook code break; default: // En hier nog code }

93 Packages

94 Packages In Java komt de klassenaam overeen met bestandsnaam

95 Packages In Java komt de klassenaam overeen met bestandsnaam Java-equivalent van directorystructuur zijn packages

96 Packages In Java komt de klassenaam overeen met bestandsnaam Java-equivalent van directorystructuur zijn packages Directorynamen gescheiden door punt in plaats van slash

97 Packages In Java komt de klassenaam overeen met bestandsnaam Java-equivalent van directorystructuur zijn packages Directorynamen gescheiden door punt in plaats van slash Dus: klasse Scanner in package java.util is het bestand java/util/scanner.java

98 Packages In Java komt de klassenaam overeen met bestandsnaam Java-equivalent van directorystructuur zijn packages Directorynamen gescheiden door punt in plaats van slash Dus: klasse Scanner in package java.util is het bestand java/util/scanner.java De klasse heet dus eigenlijk java.util.scanner

99 Packages In Java komt de klassenaam overeen met bestandsnaam Java-equivalent van directorystructuur zijn packages Directorynamen gescheiden door punt in plaats van slash Dus: klasse Scanner in package java.util is het bestand java/util/scanner.java De klasse heet dus eigenlijk java.util.scanner Om typewerk te besparen doen we import

100 SAT-solver

101 Organisatorisch Opdracht in tweetallen

102 Organisatorisch Opdracht in tweetallen Begin op tijd!

103 Organisatorisch Opdracht in tweetallen Begin op tijd! Gezamenlijk cijfer betekent ook dat de bedoeling is dat jullie elk evenveel bijdragen

104 SAT-solver Gegeven een formule uit propositielogica, vindt een valuatie die de formule waar maakt

105 SAT-solver Gegeven een formule uit propositielogica, vindt een valuatie die de formule waar maakt Bijvoorbeeld: p ( p q)

106 SAT-solver Gegeven een formule uit propositielogica, vindt een valuatie die de formule waar maakt Bijvoorbeeld: p ( p q) De formule is waar wanneer p waar is en q onwaar

107 SAT-solver Gegeven een formule uit propositielogica, vindt een valuatie die de formule waar maakt Bijvoorbeeld: p ( p q) De formule is waar wanneer p waar is en q onwaar Basisidee: probeer alle mogelijkheden

108 Toepassingen Planningsproblemen (bv. treinschema)

109 Toepassingen Planningsproblemen (bv. treinschema) Roostering (bv. roosters op middelbare school)

110 Toepassingen Planningsproblemen (bv. treinschema) Roostering (bv. roosters op middelbare school) Software-verificatie (voldoet programma aan bepaalde eigenschappen?)

111 Toepassingen Planningsproblemen (bv. treinschema) Roostering (bv. roosters op middelbare school) Software-verificatie (voldoet programma aan bepaalde eigenschappen?) Logische problemen (bv. sudoku oplossen)

112 Toepassingen Planningsproblemen (bv. treinschema) Roostering (bv. roosters op middelbare school) Software-verificatie (voldoet programma aan bepaalde eigenschappen?) Logische problemen (bv. sudoku oplossen) Etc...

113 SAT-solver p ( p q)

114 SAT-solver p ( p q) vervulbaar? p = true p = false q = true q = false q = true q = false nee ja! nee nee

115 SAT-solver (iets slimmer) p ( p q) vervulbaar? p = true p = false q = true nee q = false ja! nee

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

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

Nadere informatie

http://www.liacs.nl/home/kosters/java/

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/

Nadere informatie

IMP Uitwerking week 13

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

Nadere informatie

Overerving & Polymorfisme

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

Nadere informatie

Java Les 3 Theorie Herhaal structuren

Java Les 3 Theorie Herhaal structuren Java Les 3 Theorie Herhaal structuren Algemeen Een herhaal structuur een is programmeertechniek waarbij bepaalde Java instructies worden herhaald net zo lang tot een bepaalde voorwaarde is bereikt. Een

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

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 tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

Javascript oefenblad 1

Javascript 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 informatie

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

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

Nadere informatie

Variabelen en statements in ActionScript

Variabelen en statements in ActionScript Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer

Nadere informatie

voegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is

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

Nadere informatie

Programmeren in Java les 3

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

Nadere informatie

Lessen Java: Reeks pag. 1

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

Nadere informatie

Hoofdstuk 0. Van Python tot Java.

Hoofdstuk 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 informatie

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

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

Nadere informatie

Verslag. Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers

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

Nadere informatie

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 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 informatie

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

HOOFDSTUK 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 informatie

Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing

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,

Nadere informatie

NAAM: Programmeren 1 Examen 29/08/2012

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

Nadere informatie

Tentamen in2705 Software Engineering

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

Nadere informatie

Zelftest Programmeren in Java

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

Nadere informatie

colleges recursieve datastructuren college 9 prioriteit van operatoren prioriteit in recursive descent parser

colleges recursieve datastructuren college 9 prioriteit van operatoren prioriteit in recursive descent parser colleges recursieve datastructuren college 9 interpreteren: waarde van bomen bepalen transformeren: vorm van bomen veranderen parseren herkennen van expressie in de tekst herkennen van functies onderwerp

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

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

Nadere informatie

Een gelinkte lijst in C#

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

Nadere informatie

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET Visual Basic.NET M. den Besten 0.3 VB. NET Inhoud Voorwoord Deel 1 Visual Basic.NET 1.1 Inleiding...13 1.2 De programmeertaal Visual Basic.NET...14 1.3 Microsoft Visual Basic 2010 Express Edition...15

Nadere informatie

Scala. Korte introductie. Sylvia Stuurman

Scala. 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 informatie

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 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 informatie

eerste voorbeelden in Java

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

Nadere informatie

public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B;

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

Nadere informatie

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 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 informatie

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Als 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 informatie

Datastructuren: stapels, rijen en binaire bomen

Datastructuren: 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 informatie

Modelleren en Programmeren

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

Nadere informatie

VAN HET PROGRAMMEREN. Inleiding

VAN HET PROGRAMMEREN. Inleiding OVERZICHT VAN HET PROGRAMMEREN Inleiding Als je leert programmeren lijkt het nogal overweldigend om die eerste stappen te doorworstelen. Er zijn dan ook heel wat programmeertalen (Java, Ruby, Python, Perl,

Nadere informatie

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse

Objective-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 informatie

VI. Klassen en objecten

VI. Klassen en objecten VI. Klassen en objecten Klassen en objecten vormen het fundament van OOP. We zullen dus uitgebreid aandacht besteden aan klassen en objecten. U kunt Java niet begrijpen zonder goed met klassen en objecten

Nadere informatie

Objectgeoriënteerd programmeren in Java 1

Objectgeorië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 informatie

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Syntax- (compile), runtime- en logische fouten Binaire operatoren Inhoud Syntax- (compile), runtime- en logische fouten Binaire operatoren Operaties op numerieke datatypen Evaluatie van expressies, bindingssterkte Assignment operaties en short-cut operatoren Controle

Nadere informatie

Zelftest Inleiding Programmeren

Zelftest 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 informatie

Design patterns Startbijeenkomst

Design patterns Startbijeenkomst Design patterns Startbijeenkomst Harrie Passier Docenten Sylvia Stuurman (1 e examinator) Sylvia.Stuurman@ou.nl Harrie Passier (2 e examinator) Harrie.Passier@ou.nl Aarzel niet vragen te stellen! Rooster

Nadere informatie

Informatie over. 5VWO DT51: JavaLogo. Casper Bezemer. Toetsweek 1 13 oktober 2016

Informatie 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 informatie

Oefeningen Java Oplossingen

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");

Nadere informatie

1 Inleiding in Functioneel Programmeren

1 Inleiding in Functioneel Programmeren 1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp

Nadere informatie

Elementary Data Structures 3

Elementary 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 informatie

De sheets zijn gebaseerd op met name hoofdstuk. D. Bell en M. Parr, Java voor studenten, Prentice Hall,

De 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 informatie

voorwaardelijke en selectie opdrachten

voorwaardelijke en selectie opdrachten inhoud Beginselen van programmeren 6 de voorwaardelijke opdracht (if) boolese uitdrukkingen en variabelen ingeneste if-opdrachten de keuze opdracht (switch) voorwaardelijke en selectie opdrachten 1 2 enkele

Nadere informatie

Programmeren I. 26 augustus Algemene Richtlijnen. Richtlijnen Programmeren 1

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

Nadere informatie

OEFENINGEN PYTHON REEKS 1

OEFENINGEN 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 informatie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie

recursie 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 informatie

Een fragment wordt afgeleid van de basis klasse "Fragment".

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

Nadere informatie

Java. Basissyllabus. Egon Pas

Java. Basissyllabus. Egon Pas Java Basissyllabus Egon Pas 2011 BeanPole bvba Gasmeterlaan 92-9000 Gent BTW BE 472.902.516 Tel: + 32 9 224 42 17 Fax: + 32 9 223 62 88 www.beanpole.be info@beanpole.be 1 Programmeren 1.1 Hoe werkt een

Nadere informatie

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 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

Nadere informatie

Voortgezet Prog. voor KI

Voortgezet Prog. voor KI Voortgezet Prog. voor KI Docent: Michael Wilkinson IWI 142 tel. 050-3638140 (secr. 3633939) Frank Brokken RC 352 tel. 050-3633688 Voorkennis: Inleiding Programmeren voor KI (nieuwe stijl) Stof: Practicum

Nadere informatie

Robocode. Inleiding tot programmeren

Robocode. Inleiding tot programmeren Robocode Inleiding tot programmeren Inhoud Doel cursus Java-controlestructuren Robotje programmeren Doel cursus Inleiding Java Robocode Java Object-gerichte programmeertaal Sun 1991 http://java.sun.com

Nadere informatie

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

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

Nadere informatie

Tentamen Programmeren in C (EE1400)

Tentamen 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 informatie

DOMjudge teamhandleiding

DOMjudge teamhandleiding judge DOMjudge teamhandleiding Samenvatting /\ DOM DOM judge Hieronder staat de belangrijkste informatie kort samengevat. Dit is bedoeld om snel aan de slag te kunnen. We raden echter ten zeerste aan dat

Nadere informatie

Datastructuren en algoritmen

Datastructuren 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 informatie

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008 judge Teamhandleiding DOMjudge (versie..0mukp) 31 mei 008 /\ DOM DOM judge Inhoudsopgave 1 Inleiding Samenvatting.1 Inlezen en wegschrijven............................... Insturen van oplossingen...............................3

Nadere informatie

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer

Nadere informatie

Functioneel programmeren

Functioneel programmeren Functioneel programmeren Practicumopgave 2: Mastermind Het doel van deze opgave is het implementeren van het spel Mastermind; zie http://nl.wikipedia.org/wiki/mastermind voor een uitleg. Het spel is klein

Nadere informatie

Een expressie zoals leeftijd>=65 wordt een boolean expressie genoemd. Een boolean expressie kan dus de waarde true of de waarde false geven

Een expressie zoals leeftijd>=65 wordt een boolean expressie genoemd. Een boolean expressie kan dus de waarde true of de waarde false geven 2. Selectiestatements 2.1 Het if-statement Selectiestatements heb je in de module WO.PHP.basis al geleerd. Het zijn de coderegels met if( ) en swich( ). De syntax (schrijfwijze) van deze code wijkt niet

Nadere informatie

INFITT01 - Internettechnologie WEEK 8

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

Nadere informatie

Uitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, uur

Uitwerking 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 informatie

Programmeren in Java 3

Programmeren 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 informatie

OBJECT SPAGHETTI : PATTERNS BIEDEN UITKOMST? Wat is het probleem nou eigenlijk? public class CoffeeDrinker { private CoffeeProducer mycoffeeproducer;

OBJECT SPAGHETTI : PATTERNS BIEDEN UITKOMST? Wat is het probleem nou eigenlijk? public class CoffeeDrinker { private CoffeeProducer mycoffeeproducer; OBJECT SPAGHETTI : PATTERNS BIEDEN UITKOMST? Object georiënteerde (OO) systemen kennen vele voordelen ten opzichte van traditionele procedurele systemen. Zo zouden OO systemen flexibeler en beter onderhoudbaar

Nadere informatie

compileren & interpreteren - compileren: vertalen (omzetten) - interpreteren: vertolken

compileren & interpreteren - compileren: vertalen (omzetten) - interpreteren: vertolken compileren & interpreteren - compileren: vertalen (omzetten) - interpreteren: vertolken - belangrijkste punten: - ontleden van de programmatekst - bijhouden van de datastructuren Data Structuren en Algoritmen

Nadere informatie

PO: Informatica Olympiade 2013-2014

PO: Informatica Olympiade 2013-2014 PO: Informatica Olympiade 2013-2014 Wat is de Informatica Olympiade? De Nederlandse Informatica Olympiade (NIO) is een programmeerwedstrijd voor de bovenbouw van het Voortgezet onderwijs. Het is een onderdeel

Nadere informatie

Java spiekbrief. Commentaar. Definitie van een methode. Types. Variabelendeclaratie. Definitie van een klasse. Namen. Definitie van een veld

Java 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 informatie

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89.

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89. Inhoud leereenheid 7c JavaScript: Objecten en functies Introductie 59 Leerkern 60 1 Functies 60 1.1 Syntax - samenvatting 60 1.2 Functies definiëren 61 1.3 Functie als parameter (facultatief) 64 1.4 Functie

Nadere informatie

import java.io.*; één klasse public class Hallo { public static void main (String[] a) ...met één functie System.out.println("Hallo!

import 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 informatie

Kennismaken Greenfoot

Kennismaken Greenfoot HOOFDSTUK 1 Kennismaken met Greenfoot onderwerpen: de interface van Greenfoot, omgaan met objecten, methodes aanroepen, een scenario uitvoeren concepten: object, klasse, methode-aanroep, parameter, retourwaarde

Nadere informatie

HOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10

HOGESCHOOL 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 informatie

Genetische algoritmen in Java met JGAP

Genetische algoritmen in Java met JGAP Genetische algoritmen in Java met JGAP Inleiding JGAP, uitgesproken als "jee-gep", is een framework voor het implementeren van genetische algoritmen en het gebruik ervan in Java. Genetische algoritmen

Nadere informatie

4EE11 Project Programmeren voor W. College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e

4EE11 Project Programmeren voor W. College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 4EE11 Project Programmeren voor W College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Grotere programma s ontwerpen/maken Datastructuren en algoritmes 2 Evolutie,

Nadere informatie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie Leren Programmeren met Visual Basic 6.0 Les 3+4 Hoofdstuk 4 : De Selectie Visual Basic 6.0 1 Basisstructuren (herhaling) Sequentie (HK2) : Alle opdrachten gewoon na mekaar uitvoeren. Hier worden geen keuzes

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord en Leonie Bosveld December 19, 2016 Vandaag Naar aanleiding van de opdrachten Zelle hoofdstuk 11 Boolean variabelen: niet checken met == Fout: if clicked == True

Nadere informatie

TENTAMEN Programmeren 1

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

Nadere informatie

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 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 informatie

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. 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 informatie

Chris de Kok 223548 TDI 3. Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren

Chris de Kok 223548 TDI 3. Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren Chris de Kok 223548 TDI 3 Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren Inhoud Inleiding... 3 Black box / White box... 3 XP... 3 SimpleTest... 3 Eclipse plugin... 4 GroupTest...

Nadere informatie

Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel:

Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel: Eenvoudig voorbeeld. Er wordt verondersteld dat er met VS 2008 EXPRESS gewerkt wordt. Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel: (Sommige schermafdrukken zijn afkomstig

Nadere informatie

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd Inhoudsopgave 1 Inleiding... 1 2 Toekenning- en herhalingsopdrachten (for loop)... 2 2.1 De wet van Ohm... 3 2.2 De spaarrekening... 3 2.3 De transformator... 3 3 Keuze- en herhalingsopdrachten (if, switch,

Nadere informatie

Hoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.

Hoofdstuk 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 informatie

Zo vind u hierin de volgende documentatie over de klasse Applet: +----java.awt.panel. +----java.applet.applet

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

Nadere informatie

Opdracht 3: Betere oplossingen

Opdracht 3: Betere oplossingen Opdracht 3: Betere oplossingen Algoritmisch Denken en Gestructureerd Programmeren in Greenfoot c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Op dit werk is een creative commons licentie van toepassing.

Nadere informatie

Lab Webdesign: Javascript 11 februari 2008

Lab Webdesign: Javascript 11 februari 2008 H3: HERHALINGSLUSSEN EN LOGICA Om de voorbeelden niet nodeloos lang te maken, zullen we in het vervolg niet altijd de SCRIPT-tags en de HTML-commentaarregels herhalen. Om de JavaScript-opdrachten --de

Nadere informatie

Katholieke Hogeschool Kempen ASP

Katholieke Hogeschool Kempen ASP Katholieke Hogeschool Kempen Campus Geel Departement Handelswetenschappen en Bedrijfskunde 3de jaar Toegepaste Informatica ASP www.projectchatroom.be Yorkim Parmentier 3TI4 Andy Geluykens 3TI4 Academiejaar

Nadere informatie

Inhoud leereenheid 4. Inleiding JavaScript. Introductie 99. Leerkern 100. Zelftoets 108. Terugkoppeling 109

Inhoud leereenheid 4. Inleiding JavaScript. Introductie 99. Leerkern 100. Zelftoets 108. Terugkoppeling 109 Inhoud leereenheid 4 Inleiding JavaScript Introductie 99 Leerkern 100 1 Leren programmeren in JavaScript 100 2 Chapter 1: Introduction 101 3 Chapter 2, paragrafen 1 t/m 5 102 4 Chapter 2, paragrafen 6

Nadere informatie

Dynamiek met VO-Script

Dynamiek met VO-Script Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software bert@dla-architect.nl Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries

Nadere informatie

van PSD naar JavaScript

van PSD naar JavaScript 2015 van PSD naar JavaScript F. Vonk versie 2 19-9-2015 inhoudsopgave 1. inleiding... - 2-2. ontwikkelomgeving... - 3-3. programmeerconcepten... - 4 - statement... - 4 - sequentie... - 4 - variabele en

Nadere informatie

Programmeren in Java 3

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:

Nadere informatie

Labo 1 Programmeren II

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

Nadere informatie

Opdracht 3: Betere oplossingen

Opdracht 3: Betere oplossingen Opdracht 3: Betere oplossingen Algoritmisch Denken en Gestructureerd Programmeren in Greenfoot c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Op dit werk is een creative commons licentie van toepassing.

Nadere informatie

Een unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest.

Een unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest. WAT IS EEN UNIT TEST? Een unit test is een test om de functionaliteit van stukken code te controleren. Een goede unit test waarborgt een consistente werking van een klein onderdeel (een unit ) van de broncode.

Nadere informatie

[8] De ene 1 is de andere niet

[8] De ene 1 is de andere niet [8] De ene 1 is de andere niet Volg mee via 08_Types.py In de volgende leerfiche gaan we rekenen met Python. Dat kan je in een programma doen, maar dat kan je ook gewoon vanuit het Shell-venster doen.

Nadere informatie

Het relaas van de beginnende programmeur. Het hoe en waarom van de assistent

Het relaas van de beginnende programmeur. Het hoe en waarom van de assistent Het relaas van de beginnende programmeur Het hoe en waarom van de assistent 1. Help, mijn code doet niks... Mogelijke oplossingen: Heb je op run geduwd (groene pijltje)? Zolang je niet op 'run' duwt, kent

Nadere informatie

Hoofdstuk 2. Week 4: Datastructuren. 2.1 Leesopdracht. 2.2 Bomen. 2.3 Definitie

Hoofdstuk 2. Week 4: Datastructuren. 2.1 Leesopdracht. 2.2 Bomen. 2.3 Definitie Hoofdstuk 2 Week 4: Datastructuren 2.1 Leesopdracht In het hoorcollege komen lijsten en bomen aan de orde. De eerste datastructuur komt in het boek in bladzijden 317-333 aan de orde. In dit dictaat komt

Nadere informatie

Blog-Het gebruik van variabelen in Excel VBA

Blog-Het gebruik van variabelen in Excel VBA Blog-Het gebruik van variabelen in Excel VBA Versie : 2012.01.31.1 (Blog http://www.reinder.eu) Dank voor de leuke reacties op het vorige blog en ook dank voor de kritische noot over het nivo dat de gebruiker

Nadere informatie

INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCAPPEN

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

Nadere informatie