Programmeeropdracht 1 Mastermind Algoritmiek, voorjaar 2019

Maat: px
Weergave met pagina beginnen:

Download "Programmeeropdracht 1 Mastermind Algoritmiek, voorjaar 2019"

Transcriptie

1 Programmeeropdracht 1 Mastermind Algoritmiek, voorjaar 2019 Inleiding Donald en Kim spelen een spelletje Mastermind. Donald probeert de geheime code van Kim te raden. Kim wil dat zo moeilijk mogelijk maken, en schuwt daarbij vals spel niet. Zo nodig verandert hij de code, als hij denkt dat de Donald met de gokken die hij uitvoert te dicht in de buurt komt van de code. Natuurlijk is het niet de bedoeling dat dit opvalt, dus Kim moet dit zó doen dat alle eerdere antwoorden die hij verstrekt heeft op de gokken van Donald, consistent zijn met de nieuwe code. Donald heeft wel een vermoeden van deze praktijk, maar kan het niet bewijzen. Het enige wat hij kan doen, is om slimme gokken te doen, waarmee hij zelfs bij vals spel van Kim zo snel mogelijk de code kan kraken. Omdat de Donald zelf niet slim genoeg is om slimme gokken te verzinnen, roept hij jouw hulp in. Kun jij voor hem bepalen welke gokken hij het best kan doen? Mastermind We beschouwen varianten van het standaard Mastermind spel. Voor de standaard spelregels, zie Wikipedia Nederlands en/of Engels. In onze versie van het spel hebben we een variabel aantal kleuren, een variabel aantal gaatjes op een rij, en een variabel aantal rijen op het bord. Deze zijn allemaal op te geven door de gebruiker (binnen bepaalde grenzen). Een belangrijke reden hiervoor is dat het brute force onderdeel van deze opdracht voor de standaard aantallen extreem veel tijd kan kosten. Met kleinere aantallen kost het minder tijd. We noteren de kleuren met cijfers vanaf 0. Bij een spel met zes kleuren gebruiken we dus 0,1,...,5. Als er vier gaatjes op een rij zijn, wordt een mogelijke gok dan bijvoorbeeld: Verder mag in een patroon (de geheime code van Kim of een gok van de Donald) dezelfde kleur meerdere keren voorkomen. Ook 3031 is dus bijvoorbeeld een geldige code of een geldige gok. Dit betekent wel dat je zorgvuldig te werk moet gaan bij het berekenen van de antwoorden van Kim op de gokken van Donald. Als bijvoorbeeld de code 3031 is, en de gok is 3313, dan moet het antwoord één rood pin en twee witte pinnen zijn. Immers, de eerste 3 staat op de juiste positie, en levert een rode pin op. Een van de andere twee 3 en in de gok levert een witte pin, en de 1 levert ook een witte pin. Voor u beschikbaar Op de website van het vak is een skeletprogramma beschikbaar, waarin een klasse Mastermind wordt gedefinieerd, die door het hoofdprogramma gebruikt wordt om het spel te spelen en experimenten te doen. Het programma wordt gecompileerd met het commando make. Vervolgens kun je het met het commando./mastermind runnen. Je krijgt dan een menu aangeboden, met de keuze om het spel te spelen of experimenten te doen. Bedoeling is om de TODO s in de gegeven bestanden, in eerste instantie mastermind.cc en mastermind.h, maar ook main.cc uit te voeren. 1

2 In eerste instantie moet je de gebruiker de gelegenheid geven om het spel handmatig te spelen: een geheime code voor Kim opgeven, en vervolgens gokken voor Donald doen, waarbij het programma het resultaat (= antwoord) berekent dat correspondeert met de opgegeven code van Kim. Zo n resultaat is een combinatie (goedepositie, goedekleur), overeenkomend met respectievelijk het aantal rode en witte pinnen. Een aantal functies die je moet implementeren spreken voor zich, of worden toegelicht in het skeletprogramma. Van drie functies geven we nu een nadere toelichting: int Mastermind::optimalegok (consistent, aantalstanden, optgok) Bepaal, uitgaande van de huidige stand, met een min-max algoritme een optimale gok voor Donald. Dat wil zeggen: een gok die ervoor zorgt dat hij nog zo min mogelijk gokken/stappen nodig heeft om de code te kraken, zelfs bij zo slecht mogelijke antwoorden (= resultaten) van Kim, dus zelfs als Kim zijn geheime code stiekem (maar wel consistent met eerdere antwoorden) verandert. Het algoritme werkt brute-force: het loopt steeds in principe alle mogelijke gokken en alle mogelijke antwoorden af. Het heet een min-max algoritme, omdat Donald het aantal gokken probeert te minimaliseren: van alle mogelijke gokken kiest hij er een die hem zo snel mogelijk bij de oplossing brengt. Aan de andere kant probeert Kim het aantal gokken te maximaliseren: van alle mogelijke antwoorden geeft hij een antwoord waarmee Donald nog zo veel mogelijk gokken/stappen nodig heeft om de code te kraken. Of in andere woorden: Kim verandert de code zodanig dat dit (voor Donald) slechte antwoord eruit komt. Zoals eerder gezegd moet het antwoord van Kim wel consistent zijn met eerdere antwoorden: er moet daadwerkelijk een code bestaan die bij de gegeven gokken de gegeven antwoorden oplevert. De functie optimalegok moet recursief zijn. In de laatste slides van college 3 wordt een grove opzet van de functie geschetst. Je mag je recursieve zoektocht naar de gevolgen van een mogelijke gok afbreken als je het aantal rijen van het spel gevuld zou hebben. Dat kun je dus als een mogelijk stopcriterium van de recursie gebruiken. De functie retourneert het minimale aantal gokken dat Donald nodig heeft (vanaf de huidige stand). De optimale gok die daaraan bijdraagt wordt in de parameter optgok mee teruggegeven. De parameter aantalstanden wordt opgehoogd met het aantal standen dat hiervoor wordt bekeken. Ten slotte bepaalt de parameter consistent of Donald alleen maar consistente gokken mag doen, of niet. Dat wil zeggen: gokken die consistent zijn met eerdere antwoorden, en dus in principe gelijk kunnen zijn aan de geheime code. Als je alleen consistente gokken beschouwt, hoef je minder werk te doen. Het is echter niet per se zo, dat Donald met louter consistente gokken het minimale aantal gokken doet. Je zou je namelijk kunnen voorstellen dat je met een inconsistente gok meer informatie over de geheime code kunt krijgen dan met een consistente gok. int Mastermind::goedegok (consistent, goedegok) Bepaal, uitgaande van de huidige stand, een goede(niet per se optimale) gok voor Donald. Concreet: een gok die ervoor zorgt dat er zo min mogelijk codes over blijven die consistent zijn met alle gokken tot nu toe, en de bijbehorende antwoorden (=resultaten), zelfs bij zo slecht mogelijke antwoorden van Kim, dus zelfs als Kim zijn geheime code stiekem (maar wel consistent met eerdere antwoorden) verandert. De functie goedegok moet niet-recursief zijn. De functie kijkt feitelijk maar één stap van Donald (een gok) en één stap van Kim (een antwoord) diep. In de laatste slides van college 3 wordt een grove opzet van de functie geschetst. 2

3 De functie retourneert het aantal codes dat consistent is met alle gokken tot nu toe (inclusief de goede gok). De goede gok zelf wordt in de parameter goedegok 1 mee teruggegeven. Ten slotte bepaalt de parameter consistent of Donald alleen maar consistente gokken mag doen, of niet (zie bij optimalegok). doeexperimenten() Code voor een deel van de experimenten die gedaan moeten worden voor het verslag. Dan hoef je ze niet handmatig te doen, en hoeven de nakijkers ook niet alles handmatig te controleren. Zie verderop. Gebruik een stapel (mag ook in een array ge-implementeerd zijn) voor de huidige stand: de serie gokken en bijbehorende resultaten die al gedaan zijn. Daarmee kun je controleren of een gok of een code nog consistent is met de eerdere gokken en resultaten. 2 Zoals eerder gezegd noteren we de code en de gokken als rijtjes cijfers. Wanneer de gebruiker een code of een gok invoert, moet je nog wel controleren of de ingevoerde string de juiste lengte heeft en allemaal geldige karakters bevat. In het skeletprogramma staat al netjes een constante EersteKleurKar = 0 gegeven. Gebruik deze constante ook daadwerkelijk bij je controles. Van ingevoerde integers moet je controleren of ze binnen de geldende grenzen vallen. Hiervoor kun je gebruik maken van de functie integerinbereik in het bestand standaard.h. Vergeet in de functies optimalegok en goedegok bij het uitproberen van gokken niet, om na het uitproberen de gok (zonodig) weer ongedaan te maken. Algemene opmerkingen Maak / behoud een verstandige klassenstructuur. Je klassen mogen alleen public membervariabelen en methoden hebben, die buiten de klasse bekend moeten zijn. Andere membervariabelen en methoden moeten private zijn. Als er in je klassen dynamisch geheugen wordt gealloceerd, denk dan ook aan een destructor. Het is verstandig om eerst een geschikte datastructuur te bedenken om de geheime code, gokken en resultaten in op te slaan, en vervolgens enkele eenvoudige functies te implementeren, bijvoorbeeld de constructoren (en de destructor), en de methodes setcode, drukaf, eindstand en doegok, en deze te testen. Functies mogen niet te lang zijn (maximaal 35 regels). Gebruik constantes waar dat zinvol is, zoals ook in het skeletprogramma al gebeurt. Het werkende programma mag er op het scherm eenvoudig uitzien, maar moet wel duidelijk zijn. De enige te gebruiken headerfiles zijn in principe iostream, iomanip, cstring, string, vector en ctime. 1 Het is wellicht verwarrend dat de parameter dezelfde naam heeft als de functie. Verander desgewenst de naam van de parameter. 2 Strict genomen functioneert de stapel dan niet als een stapel: je kijkt immers ook naar andere elementen dan de top van de stapel. 3

4 Boven elke functie moet een commmentaarblokje komen met daarin een (zeer) korte beschrijving van wat de functie doet. Noem daarin tevens de gebruikte parameters: geef hun betekenis en geef aan hoe ze eventueel veranderd worden door de functie. Geef bij memberfuncties ook aan wat deze met de membervariabelen van het object doen. Let verder op de layout (consequent inspringen) en op het overige commentaar bij de programmacode (zinvol en kort). Het programma moet onder Linux bij LIACS getest zijn en werken. Verslag Het verslag moet getypt zijn in L A TEX, en moet bevatten: Een korte introductie, met uitleg over het spel en de opdracht. Een paragraaf waarin je uitlegt hoe je in je methodes optimalegok en goedegok op een systematische wijze alle mogelijke gokken en alle mogelijke resultaten (= antwoorden) afloopt. Een paragraaf met de (eventueel handgetekende) toestand-actie-ruimte die doorzocht wordt in de methode optimalegok voor een spel met twee kleuren en twee gaatjes, waarbij tevoren nog geen gok gedaan is, en waarbij alleen consistente gokken worden gedaan. Een actie bestaat hier uit een consistente gok van Donald met een mogelijk (consistent) antwoord van Kim. Elke toestand bestaat uit een stapel met de tot dan toe gedane gokken met bijbehorende resultaten. Die stapel hoef je niet expliciet te tekenen, als je de acties maar expliciet tekent. Uit symmetrie-overwegingen hoef je voor de eerste gok van Donald alleen 00 en 01 in de toestand-actie-ruimte op te nemen. Hoeveel toestanden kent de totale toestand-actie-ruimte bij een spel met twee kleuren en twee gaatjes? Komt dit overeen met het aantal standen dat je methode optimalegok oplevert? Zo nee, verklaar het verschil. Een paragraaf met een beschrijving van enkele experimenten en de resultaten daarvan. Gebruik je programma om voor een spel met drie kleuren, drie gaatjes en vier rijen, uitgaande van de begintoestand, een optimale gok te bepalen met alleen consistente gokken, en met niet alleen consistente gokken. Hoeveel standen worden in beide gevallen bekeken, wat zijn de gevonden optimale gokken, en hoeveel tijd (in seconden, milliseconden,...) kosten de zoektochten? voor een spel met zes kleuren, vier gaatjes en tien rijen, uitgaande van de begintoestand, een goede gok te bepalen. Als het goed is, zijn er met die goede gok (bij een zo slecht mogelijk resultaat) nog 256 codes mogelijk. Wat is de gevonden goede gok, en hoeveel tijd kost deze zoektocht? voor (opnieuw) een spel met zes kleuren, vier gaatjes en tien rijen, met als geheime code 1025, daadwerkelijk de hierboven bepaalde goede gok uit te voeren, en daarna opnieuw een goede gok te bepalen, 4

5 met alleen consistente gokken, en met niet alleen consistente gokken. Wat is in beide gevallen de gevonden goede gok, wat is het aantal codes dat daarmee (bij een zo slecht mogelijk resultaat) nog mogelijk is, en hoeveel tijd kosten de zoektochten? voor zo veel mogelijk combinaties van aantal kleuren en aantal gaatjes, met vijf rijen, uitgaande van de begintoestand, een optimale gok te bepalen met alleen consistente gokken. Geef de benodigde rekentijden in een overzichtelijke tabel. Je mag de zoektocht afbreken als de rekentijd voor een combinatie groter wordt dan tien minuten. Voor dit laatste experiment moet je in ieder geval code opnemen in de functie doeexperimenten in het bestand main.cc. Een verstandige volgorde voor het aflopen van combinaties (aantal kleuren, aantal gaatjes) is door eerst alle combinaties te nemen waarbij aantalkleuren+aantalgaatjes=2 (één combinatie), dan alle combinaties waarbij aantalkleuren+aantalgaatjes=3, dan alle combinaties waarbij aantalkleuren+aantalgaatjes=4, enzovoort. Een appendix met je complete programma (alle.cc/.h bestanden). Bonus Je kunt een bonus van in totaal 1 punt verdienen, als je na elke uitgevoerde gok met bijbehorend resultaat bijhoudt welke codes nog mogelijk zijn, welke codes dus consistent zijn met alle gokken en resultaten tot nu toe; deze consistente codes gebruikt om de methodes optimalegok en goedegok te versnellen; in je verslag beschrijft hoe je in je programma de consistente codes bijhoudt, en hoe je daarmee de methodes optimalegok en goedegok versnelt. Aanvullingen / tips Eventuele verdere aanvullingen of tips bij de programmeeropdracht komen op de website van het vak Daar is ook een subpagina met onder andere een template voor het L A TEX-verslag. De behaalde cijfers komen te zijner tijd in Blackboard te staan. In te leveren Mail je programma (alle.cc/.h bestanden en Makefile samen in één.zip,.tgz of.tar.gz bestand) en een PDF van je verslag (inclusief het programma!) 5

6 naar Zorg dat het onderwerp van je mail begint met [ALGO], dat scheelt de docent een hoop gezoek. Vermeld overal duidelijk de namen van de makers. Uiterste (!) inleverdatum: donderdag 28 maart 2019, uur. Voor studenten Informatica en Economie: donderdag 28 maart 2019, uur. Voor studenten Bioinformatica: dinsdag 2 april 2019, uur. Als je tot een van deze laatste twee groepen behoort, en gebruik maakt van de latere deadline, vermeld dat dan bij je inzending. Je kunt maximaal twee weken te laat inleveren, maar dan gaat er wel per (deel van een) week een punt van het cijfer af. Zie de website voor de exacte regeling. Normering: werking 5 punten; commentaar en layout 1 punt; modulaire opbouw en OOP 1 punt; verslag 3 punten, bonus 1 punt. Het maximale cijfer is (ook met bonus) een 10. 6

Programmeeropdracht 2 Toernooi Algoritmiek, voorjaar 2019

Programmeeropdracht 2 Toernooi Algoritmiek, voorjaar 2019 Programmeeropdracht 2 Toernooi Algoritmiek, voorjaar 2019 Inleiding Al meer dan twintig jaar organiseert Karlijn aan het eind van het jaar een toernooi bij de volleybalclub, het zogenaamde oliebollentoernooi.

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

Practicumopgave 3: SAT-solver

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

Introductie in C++ Jan van Rijn. September 2013

Introductie in C++ Jan van Rijn. September 2013 Introductie in C++ Jan van Rijn September 2013 Inhoud Classes Overerving Const correctness Standard C++ library Templates Classes Voordelen van classes: Modelleren Modulariteit Informatie afschermen Makkelijk(er)

Nadere informatie

Containers stapelen. M.L. Koning april 2013

Containers stapelen. M.L. Koning april 2013 Technische Universiteit Eindhoven 2WH03 - Modelleren C Containers stapelen L. van Hees 0769244 M.L. Koning 0781346 2 april 2013 Y.W.A Meeuwenberg 0769217 1 Inleiding De NS vervoert dagelijks grote hoeveelheden

Nadere informatie

Tiende college algoritmiek. 26 april Gretige algoritmen

Tiende college algoritmiek. 26 april Gretige algoritmen Algoritmiek 01/10 College 10 Tiende college algoritmiek april 01 Gretige algoritmen 1 Algoritmiek 01/10 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag

Nadere informatie

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010 Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2009-2010 16 juni, 2010 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief

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

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

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

Dit document bevat informatie over make bij het eerstejaars college Programmeermethoden, Universiteit Leiden, najaar 2010, zie

Dit document bevat informatie over make bij het eerstejaars college Programmeermethoden, Universiteit Leiden, najaar 2010, zie Dit document bevat informatie over make bij het eerstejaars college Programmeermethoden, Universiteit Leiden, najaar 2010, zie www.liacs.nl/home/kosters/pm/ Met dank aan allen die aan deze tekst hebben

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

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

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

Programmeermethoden. Pointers. Walter Kosters. week 10: november kosterswa/pm/

Programmeermethoden. Pointers. Walter Kosters. week 10: november kosterswa/pm/ Programmeermethoden Pointers Walter Kosters week 10: 13 17 november 2017 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Introductie Een pointer is in feite gewoon een geheugenadres. Het geheugen kun

Nadere informatie

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

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

Programmeren (1) Examen NAAM:

Programmeren (1) Examen NAAM: Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien) en geef zowel klad als net af. Bij heel wat vragen moet je zelf Java-code schrijven. Hou dit kort en bondig. Je hoeft

Nadere informatie

Informatica: C# WPO 10

Informatica: C# WPO 10 Informatica: C# WPO 10 1. Inhoud 2D arrays, lijsten van arrays, NULL-values 2. Oefeningen Demo 1: Fill and print 2D array Demo 2: Fill and print list of array A: Matrix optelling A: Matrix * constante

Nadere informatie

DomJudge-Practicum. Open Dag UU

DomJudge-Practicum. Open Dag UU 1 Introductie DomJudge-Practicum Open Dag UU Bij veel vakken die je volgt tijdens je studie informatica aan de UU, moet je programmeeropdrachten maken. Soms moet je die inleveren zodat ze door de docent

Nadere informatie

7 Omzetten van Recursieve naar Iteratieve Algoritmen

7 Omzetten van Recursieve naar Iteratieve Algoritmen 7 Omzetten van Recursieve naar Iteratieve Algoritmen Het lijkt mogelijk om elke oplossings-algoritme, die vaak in eerste instantie recursief geformuleerd werd, om te zetten in een iteratieve algoritme

Nadere informatie

WISKUNDE B -DAG 2002 1+ 1 = 2. maar en hoe nu verder? 29 november 2002

WISKUNDE B -DAG 2002 1+ 1 = 2. maar en hoe nu verder? 29 november 2002 - 0 - WISKUNDE B -DAG 2002 1+ 1 = 2 maar en hoe nu verder? 29 november 2002 De Wiskunde B-dag wordt gesponsord door Texas Instruments - 1 - Inleiding Snel machtverheffen Stel je voor dat je 7 25 moet uitrekenen.

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

Vierde college algoritmiek. 1 maart Toestand-actie-ruimte Brute Force

Vierde college algoritmiek. 1 maart Toestand-actie-ruimte Brute Force Algoritmiek 2019/Toestand-actie-ruimte Vierde college algoritmiek 1 maart 2019 Toestand-actie-ruimte Brute Force 1 Algoritmiek 2019/Toestand-actie-ruimte Torens van Hanoi Voorbeeld 3: Torens van Hanoi

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in

Nadere informatie

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search Algoritmiek 2018/Toestand-actie-ruimte Vierde college algoritmiek 2 maart 2018 Toestand-actie-ruimte Exhaustive Search 1 Algoritmiek 2018/Toestand-actie-ruimte Kannen Voorbeeld 4: Kannenprobleem We hebben

Nadere informatie

Universiteit Utrecht Faculteit Wiskunde en Informatica. Examen Optimalisering op maandag 18 april 2005, uur.

Universiteit Utrecht Faculteit Wiskunde en Informatica. Examen Optimalisering op maandag 18 april 2005, uur. Universiteit Utrecht Faculteit Wiskunde en Informatica Examen Optimalisering op maandag 18 april 2005, 9.00-12.00 uur. De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Schrijf

Nadere informatie

Programmeermethoden. Arrays. Walter Kosters. week 7: oktober kosterswa/pm/

Programmeermethoden. Arrays. Walter Kosters. week 7: oktober kosterswa/pm/ Programmeermethoden Walter Kosters week 7: 15 19 oktober 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Nonogrammen Japanse puzzels (Nonogrammen) zien er zo uit: 1 1,1 1 1,1 1 0 1,1 0 1,1 3 7 7 7 7 7 7

Nadere informatie

Uitwerking tentamen Algoritmiek 10 juni :00 13:00

Uitwerking tentamen Algoritmiek 10 juni :00 13:00 Uitwerking tentamen Algoritmiek 10 juni 2014 10:00 13:00 1. Dominono s a. Toestanden: n x n bord met in elk hokje een O, een X of een -. Hierbij is het aantal X gelijk aan het aantal O of hooguit één hoger.

Nadere informatie

Handleiding bij de Booktest Generator

Handleiding bij de Booktest Generator Handleiding bij de Booktest Generator Het programma voor het maken van toetsen bij boeken. (c) 2005/2009 Visiria Uitgeversmaatschappij Twisk Inleiding Onze dank voor het aanvragen van de Booktest Generator.

Nadere informatie

Hoofdstuk 7: Werken met arrays

Hoofdstuk 7: Werken met arrays Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, januari 2004 Hoofdstuk 7: Werken met arrays 7.0 Leerdoel

Nadere informatie

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Vrijdag 22 januari 2010 Toelichting Dit is een open boek tentamen. Communicatie en het gebruik van hulpmiddelen zijn niet toegestaan.

Nadere informatie

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. 1 Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. Voordat je leert programmeren, moet je jouw pc zo instellen dat

Nadere informatie

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, uur

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, uur Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, 10.00 13.00 uur Opgave 1. a. Een toestand wordt bepaald door: het aantal lucifers op tafel, het aantal lucifers in het bezit van Romeo,

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

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS)

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) Vereiste voorkennis Voldoende kennis van het besturingssysteem (in deze handleiding wordt uitgegaan van Windows) De basisprincipes van programmeren Vereiste

Nadere informatie

Achtste college algoritmiek. 8 april Dynamisch Programmeren

Achtste college algoritmiek. 8 april Dynamisch Programmeren Achtste college algoritmiek 8 april 2016 Dynamisch Programmeren 1 Werkcollege-opgave Dutch Flag Problem Gegeven een array gevuld met R, W, en B. Reorganiseer dit array zo dat van links naar rechts eerst

Nadere informatie

Practicumhandleiding. (versie 2010)

Practicumhandleiding. (versie 2010) (versie 2010) Belangrijk! In deze handleiding treft u alle informatie aan die nodig is voor de uitvoering van het practicum. Behalve de organisatie van het practicum zelf en een korte beschrijving van

Nadere informatie

Opdracht 3: Baanintegratie: Planeet in een dubbelstersysteem

Opdracht 3: Baanintegratie: Planeet in een dubbelstersysteem PLANETENSTELSELS - WERKCOLLEGE 3 EN 4 Opdracht 3: Baanintegratie: Planeet in een dubbelstersysteem In de vorige werkcolleges heb je je pythonkennis opgefrist. Je hebt een aantal fysische constanten ingelezen,

Nadere informatie

AFO 142 Titel Aanwinsten Geschiedenis

AFO 142 Titel Aanwinsten Geschiedenis AFO 142 Titel Aanwinsten Geschiedenis 142.1 Inleiding Titel Aanwinsten Geschiedenis wordt gebruikt om toevoegingen en verwijderingen van bepaalde locaties door te geven aan een centrale catalogus instantie.

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

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra Algoritmiek 017/Gretige Algoritmen Tiende college algoritmiek 13/1 april 017 Gretige Algoritmen Algoritme van Dijkstra 1 Algoritmiek 017/Gretige Algoritmen Muntenprobleem Gegeven onbeperkt veel munten

Nadere informatie

9. Strategieën en oplossingsmethoden

9. Strategieën en oplossingsmethoden 9. Strategieën en oplossingsmethoden In dit hoofdstuk wordt nog even terug gekeken naar alle voorgaande hoofdstukken. We herhalen globaal de structuren en geven enkele richtlijnen voor het ontwerpen van

Nadere informatie

Faculteit Economie en Bedrijfskunde

Faculteit Economie en Bedrijfskunde Faculteit Economie en Bedrijfskunde Op dit voorblad vindt u belangrijke informatie omtrent het tentamen. Voordat u met het tentamen t: lees dit voorblad! Tentamen: V&O IV: Programmeren Tentamendatum &

Nadere informatie

ACCEPETEREN RESERVERING

ACCEPETEREN RESERVERING E-mail Templates In i-reserve is het mogelijk gestandaardiseerde e-mails te verzenden. Het verzenden van dergelijke mails kan volledig worden geautomatiseerd: u maakt dan gebruik van zogenaamde automatische

Nadere informatie

Een eenvoudig algoritme om permutaties te genereren

Een eenvoudig algoritme om permutaties te genereren Een eenvoudig algoritme om permutaties te genereren Daniel von Asmuth Inleiding Er zijn in de vakliteratuur verschillende manieren beschreven om alle permutaties van een verzameling te generen. De methoden

Nadere informatie

[14] Functies. Volg mee via 14_Functies-1.py. We beginnen met een eenvoudig voorbeeldje:

[14] Functies. Volg mee via 14_Functies-1.py. We beginnen met een eenvoudig voorbeeldje: [14] Functies Een goede programmeur doet altijd zijn best om zoveel mogelijk aan hergebruik van code te doen. Je probeert in je programma code te gebruiken die iemand anders heeft gemaakt, of code die

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

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Algoritmisch Denken: Dodo s Bit Parity

Algoritmisch Denken: Dodo s Bit Parity Algoritmisch Denken: Dodo s Opdrachtomschrijving: Jouw opdracht, als je deze accepteert, is om Mimi (een Dodo) te leren een bit parity fout te ontdekken en te herstellen. Leerdoelen: Ik kan een correct

Nadere informatie

FCB Loopbaanplein in vogelvlucht

FCB Loopbaanplein in vogelvlucht FCB Loopbaanplein in vogelvlucht Het FCB Loopbaanplein helpt werknemers verder in hun loopbaan. Of dat nu bij de huidige werkgever is, in de huidige branche of juist daarbuiten. De gratis zelftesten van

Nadere informatie

Tweede college algoritmiek. 12 februari Grafen en bomen

Tweede college algoritmiek. 12 februari Grafen en bomen College 2 Tweede college algoritmiek 12 februari 2016 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices)

Nadere informatie

Het Eindfeest. Algoritmiek Opgave 6, Voorjaar

Het Eindfeest. Algoritmiek Opgave 6, Voorjaar 1 Achtergrond Het Eindfeest Algoritmiek Opgave 6, Voorjaar 2017 1 Om het (successvol) afsluiten van Algoritmiek te vieren, is er een groot feest georganiseerd. Jij beschikt als enige van je vrienden over

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 27 november 2015 Recursie Objecten Constructors Aanpassen variabelen this keyword Recursie Recursie Recursieve functie roept zichzelf (direct of indirect) aan

Nadere informatie

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 7 november 2014, uur

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 7 november 2014, uur Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 7 november 2014, 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 informatie

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/

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

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 13 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));

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

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding: Programmeren A Genetisch Programma voor het Partitie Probleem begeleiding: Inleiding Het Partitie Probleem luidt als volgt: Gegeven een verzameling van n positieve integers, vindt twee disjuncte deelverzamelingen

Nadere informatie

Labo 2 Programmeren II

Labo 2 Programmeren II Labo 2 Programmeren II L. Schoofs K. van Assche Gebruik Visual Studio 2005 om een programma te ontwikkelen dat eenvoudige grafieken tekent. Deze opgave heb je vorig academiejaar reeds in Java geïmplementeerd.

Nadere informatie

Statistiek voor Natuurkunde Opgavenserie 1: Kansrekening

Statistiek voor Natuurkunde Opgavenserie 1: Kansrekening Statistiek voor Natuurkunde Opgavenserie 1: Kansrekening Inleveren: 12 januari 2011, VOOR het college Afspraken Serie 1 mag gemaakt en ingeleverd worden in tweetallen. Schrijf duidelijk je naam, e-mail

Nadere informatie

Datastructuren: stapels, rijen en binaire bomen

Datastructuren: stapels, rijen en binaire bomen Programmeermethoden : stapels, rijen en binaire bomen Walter Kosters week 12: 26 30 november 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 en Vierde programmeeropgave Othello programmeren we als volgt:

Nadere informatie

Access voor beginners - hoofdstuk 25

Access voor beginners - hoofdstuk 25 Access voor beginners - hoofdstuk 25 Handleiding van Auteur: OctaFish Oktober 2014 Werken met Klassemodules Tot nu toe heb ik in de cursus Access veel gewerkt met formulieren, en met procedures en functies.

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2009 2010, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Scratch. Gemaakt door: Déjan van Noordt en Leroy van den Driesche Leerlingen HAVO 5 SG Spieringshoek Als onderdeel voor het vak Informatica

Scratch. Gemaakt door: Déjan van Noordt en Leroy van den Driesche Leerlingen HAVO 5 SG Spieringshoek Als onderdeel voor het vak Informatica Scratch sdas Gemaakt door: Déjan van Noordt en Leroy van den Driesche Leerlingen HAVO 5 SG Spieringshoek Als onderdeel voor het vak Informatica Inhoud Wat is scratch?... 2 Deel 1: Account aanmaken... 2

Nadere informatie

Tentamen Programmeren in C (EE1400)

Tentamen Programmeren in C (EE1400) TU Delft Tentamen Programmeren in C (EE1400) 3 feb. 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code gevraagd

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

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

Negende college algoritmiek. 15 april Dynamisch Programmeren

Negende college algoritmiek. 15 april Dynamisch Programmeren Negende college algoritmiek 15 april 2016 Dynamisch Programmeren 1 algemeen Uit college 8: DP: - nuttig bij problemen met overlappende deelproblemen - druk een oplossing van het probleem uit in oplossingen

Nadere informatie

Project Paper: Tiling problem

Project Paper: Tiling problem Project Paper: Tiling problem Groep 11: Said Hattachi, Ismael el Hadad Hakim, Muttalip Küçük Januari 015 Abstract Dit artikel beschrijft een heuristiek waarmee een veld op een systematische wijze gevuld

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke

Nadere informatie

Programmeren in C++ Efficiënte zoekfunctie in een boek

Programmeren in C++ Efficiënte zoekfunctie in een boek Examen Software Ontwikkeling I 2e Bachelor Informatica Faculteit Wetenschappen Academiejaar 2010-2011 21 januari, 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief de hints/opmerkingen)!

Nadere informatie

Cursus Algoritmiek - - najaar 2005

Cursus Algoritmiek - - najaar 2005 Cursus Algoritmiek - - najaar 2005 Practicumopdracht 10 : Verkeerslichten-simulator N.B. Voordat je deze opdracht maakt, moet je eerst het elektronische cursusevaluatieformulier, dat je op de cursus-web-pagina

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

Mastermind met acht kleuren

Mastermind met acht kleuren Geschreven voor het vak: Wiskunde gedoceerd door H. Mommaerts Onderzoekscompetentie Mastermind met acht kleuren Auteurs: Tom Demeulemeester Pieter Van Walleghem Thibaut Winters 6LWIi 22 april 2014 1 Inleiding

Nadere informatie

Factuur Lay-out / Factuur Template

Factuur Lay-out / Factuur Template Factuur Lay-out / Factuur Template In i-reserve is het mogelijk facturen te verzenden. De facturen worden als pdf bijlage per e-mail naar de klant verzonden. In deze tutorial wordt beschreven hoe u een

Nadere informatie

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni 2011

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni 2011 Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2010-2011 21 juni 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief

Nadere informatie

Tweede Programmeeropgave Numerieke Wiskunde 1 De golfplaat Uiterste inleverdatum : vrijdag 16 mei 2003

Tweede Programmeeropgave Numerieke Wiskunde 1 De golfplaat Uiterste inleverdatum : vrijdag 16 mei 2003 Tweede Programmeeropgave Numerieke Wiskunde 1 De golfplaat Uiterste inleverdatum : vrijdag 16 mei 2003 I Doelstelling en testcase In deze programmeeropgave zullen we een drietal numerieke integratiemethoden

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 [email protected] en [email protected]

Nadere informatie

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft I ' Tentamen Objectgeorienteerd Programmeren TI 1200 1 februari 2012 9.00-12.00 Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit

Nadere informatie

Aanmaningen in CASHWin

Aanmaningen in CASHWin (NB.) Gebruikers van CASH Financieel of CASH CompactPro kunnen kiezen uit twee mogelijkheden om aanmaningen te maken. In CASH Compact is alleen de 'handmatige' functie opgenomen. CASH beschikt over twee

Nadere informatie

Inleiding programmeren

Inleiding programmeren Inleiding programmeren Docent: José Lagerberg Assistenten: Robin de Vries, Jordy Perlee, Dimitri Belfor, Stephen Swatman, Erik Kooistra, Daan Kruis, Daniel Louwrink Cursusinformatie: https://staff.fnwi.uva.nl/j.m.lagerberg

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

Het omzetten van reguliere expressies naar eindige automaten, zie de vakken Fundamentele Informatica 1 en 2.

Het omzetten van reguliere expressies naar eindige automaten, zie de vakken Fundamentele Informatica 1 en 2. Datastructuren 2016 Programmeeropdracht 3: Patroonherkenning Deadlines. Woensdag 23 november 23:59, resp. vrijdag 9 december 23:59. Inleiding. Deze opdracht is gebaseerd op Hoofdstuk 13.1.7 in het boek

Nadere informatie

Combinatoriek groep 2

Combinatoriek groep 2 Combinatoriek groep 2 Recursie Trainingsdag 3, 2 april 2009 Homogene lineaire recurrente betrekkingen We kunnen een rij getallen a 0, a 1, a 2,... op twee manieren definiëren: direct of recursief. Een

Nadere informatie

Tiende college algoritmiek. 14 april Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS

Tiende college algoritmiek. 14 april Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS Algoritmiek 2016/Dynamisch Programmeren Tiende college algoritmiek 14 april 2016 Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS 1 Algoritmiek 2016/Dynamisch Programmeren Houtzaagmolen

Nadere informatie

Handleiding helpdesk. Datum: 08-10-2014 Versie: 1.0 Auteur: Inge van Sark

Handleiding helpdesk. Datum: 08-10-2014 Versie: 1.0 Auteur: Inge van Sark Datum: 08-10-2014 Versie: 1.0 Auteur: Inge van Sark Inhoudsopgave Inhoudsopgave... 2 1. Beheer helpdesk... 3 1.1. Settings... 3 1.2. Applicaties... 4 1.3. Prioriteiten... 5 1.4. Gebruik mailtemplates...

Nadere informatie