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

Save this PDF as:
 WORD  PNG  TXT  JPG

Maat: px
Weergave met pagina beginnen:

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

Transcriptie

1 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 waarvan de vereniging weer de originele verzameling is èn zodat de som van de elementen van de ene deelverzameling gelijk is aan de som van de elementen van de andere deelverzameling. Een voorbeeld van dit probleem is een blokkendoos met daarin een aantal blokken die allemaal een bepaalde hoogte hebben. Zijn er nu van de blokken twee even hoge torens te bouwen zonder dat er een blok overblijft? Dit probleem lijkt niet echt bijzonder, maar tot nu toe heeft nog nooit iemand er een efficiënt algoritme voor bedacht dat altijd het juiste resultaat geeft. In deze opdracht gaan we een speciaal algoritme voor dit probleem ontwerpen. Het algoritme is speciaal, omdat a. het geheel anders werkt dan de algoritmen die je tot nu toe bij programmeren A hebt gehad, en b. het in somige gevallen niet eindigt. Het algoritme werkt globaal als volgt. Er wordt een aantal start-oplossingen gegokt. Vervolgens worden er wat oplossingen veranderd volgens twee hieronder omschreven principes. Daarna worden enkele minder goede oplossingen vervangen door betere oplossingen. Dan wordt er gekeken of er een oplossing bij zit die optimaal is (twee even hoge torens) en als dat niet het geval is herhaalt dit proces zich. Genetische Algoritmen Mensen die bekend zijn met de evolutie-theorie van Darwin herkennen hierboven misschien een soort evolutie. Dit is goed mogelijk, want de bedenkers van dit 1

2 soort algoritmen hebben Darwins evolutie theorie als uitgangspunt genomen. Men noemt deze algoritmen dan ook genetische algoritmen. Bij genetische algoritmen worden (mogelijke) oplossingen voorgesteld als chromosomen. Een chromosoom is een rijtje genen die allemaal een bepaalde waarde hebben. Een verzameling chromosomen noemt men ook wel een generatie. De evolutie is nu een proces waarin de éne generatie uit de andere ontstaat door kleine veranderingen van de chromosomen en door vervanging van minder goede chromosomen door betere chromosomen (survival of the fittest). Het idee is nu een generatie van chromosomen (= oplossingen) te laten evolueren om zo steeds betere chromosomen te krijgen. Uiteindelijk kan dan een chromosoom gevonden worden die een geschikte oplossing representeert voor het betreffende probleem. Chromosomen, mutaties en cross-overs Een chromosoom kan op twee manieren veranderen. We zullen dit laten zien door middel van voorbeelden. Stel een chromosoom bestaat uit 6 genen en elk gen heeft de waarde 0 of een 1. Dan is een voorbeeld van een chromosoom. De eerste manier om een chromosoom te veranderen is door middel van eenmutatie. Een mutatie houdt in dat één of meerdere genen van het chromosoom een andere waarde krijgen, ofwel, gemuteerd worden. Stel dat het 1 e en 4 e gen van een andere waarde krijgen. Het resultaat is dan: Merk op dat iets anders niet mogelijk is, want elk gen heeft de waarde 0 of 1. Als de genen van een chromosoom meer dan twee mogelijke waarden hebben, dan moet ook de nieuwe waarde van het gen, al dan niet willekeurig, bepaald worden. In deze opgave zullen we alleen met chromosomen werken waarvan de genen òf de éne waarde òf de andere waarde hebben. Genen zijn in deze opgave dus tweewaardig. De tweede manier waarop chromosomen kunnen veranderen is door middel van een cross-over. Als twee chromosomen en volgens het crossover principe veranderen kan het resultaat bestaan uit de chromosomen: en In dit geval is de eerste helft van gecombineerd met de tweede helft van en andersom. Echter, het hoeft niet zo te zijn dat het punt waar de chromosomen gesplitst worden precies op de helft van de chromosomen ligt. Een ander resultaat van een cross-over zou dus kunnen zijn: en Nu zijn de chromosomen na het eerste gen gesplitst. Het is mogelijk de chromosomen op meerdere plaatsten te kruisen, maar wij zullen deze mogelijkheid buiten beschouwing laten. De datastructuren Omdat genen tweewaardig zijn zullen we chromosomen gebruiken waarin elk gen 2

3 een boolean is. De constante aantal_blokken geeft aan hoeveel blokken er in de verzameling zitten. De verzameling blokken wordt gerepresenteerd door een array van integers. Element i van dit array geeft de hoogte van blok i. Elk chromosoom heeft voor elk blok een gen en is dus een array ter lengte aantal_blokken. Voor de duidelijkheid definiëren we een constante chrom_lengte die de lengte van een chromosoom voorstelt, dus chrom_lengte = aantal_blokken. Een generatie bestaat uit pop_grootte (populatie grootte) chromosomen. pop_grootte is ook een constante en een generatie is dus een array ter lengte pop_grootte van chromosomen. We krijgen zo de volgende declaraties: const aantal_blokken = 20; {aatal blokken in de invoer verzameling} chrom_lengte = aantal_blokken; {lengte van een chromosoom } pop_grootte = 10; {aantal chromosomen in een generatie } type blokken_rij = array [1..aantal_blokken] of integer; chromosoom = array [1..chrom_lengte] of boolean; generatie = array [1..pop_grootte] of chromosoom; Random getallen Voordat we aan de implementatie kunnen beginnen, moeten we eerst nog een manier hebben om willekeurige getallen te genereren. Dit is nodig, omdat zowel bij een mutatie als bij een cross-over een willekeurige positie in de chromosomen moet worden bepaald. We gebruiken hiervoor de volgende function: function random(i: integer): integer; { Deze function levert een random integer op uit het interval [0..i- 1]. De globale variabele random_int wordt bij elke aanroep aangepast. } const modulus = 65536; factor = 25173; toename = 13849; begin random := (random_int div (modulus div i)) mod i; random_int := (factor*random_int + toename) mod modulus; end; (* random *) Om deze function te gebruiken in je programma moet je het volgende doen: 3

4 1. Een globale variabele random_int van het type integer declareren. 2. De function copiëren in je programma. 3. De variabele random_int een initiële waarde geven, voordat je de function random voor het eerst aanroept. De getallen die de function random oplevert, zijn niet echt willekeurig. We spreken dan ook van een pseudo-random generator. De resultaten van random zijn te beïnvloeden door de initiële waarde van random_int. Opgave 1 Schrijf een procedure die de hoogtes van de blokken inleest. Er mag vanuit worden gegaan dat er precies aantal_blokken hoogtes ingevoerd worden. De procedure heeft een blokken_rij als parameter. In deze rij moeten de ingelezen hoogtes komen te staan. Merk op dat een hoogte een positief getal moet zijn! Opgave 2 Schrijf een procedure die een chromosoom een willekeurige waarde geeft. Gebruik hiervoor de gegeven function, random. Deze function geeft een willekeurige integer als resultaat. Bedenk zelf een geschikte manier om van zo n integer een boolean te maken. Opgave 3 Schrijf een procedure die één willekeurig gen van een chromosoom muteert. Gebruik hiervoor weer de random-function. Schrijf ook een procedure die twee chromosomen op een willekeurige plaats kruist en zo een cross-over uitvoert. Een chromosoom representeert dus twee deelverzamelingen blokken. Noem deze verzamelingen T en F. De verzameling T bestaat uit de blokken waarvoor het corresponderende gen true is. De verzameling F bestaat uit de blokken waarvoor het corresponderende gen false is. De hoogte van de toren van verzameling T wordt nu berekend door de hoogtes van de blokken waarvoor het corresponderende gen true is te sommeren. De hoogte van de toren van verzameling F wordt op een analoge manier berekend. Opgave 4 Schrijf de function: function hoogte_toren(ch: chromosoom; b: boolean): integer; 4

5 { Deze function geeft de hoogte van de toren van verzameling T van ch als b = true en van F van ch als b = false. } Naast mutaties en cross-overs speelt er nog een ander principe een rol in de evolutie. Dit principe staat wel bekend onder de naam natuurlijke selectie. De bedoeling hiervan is dat sterkere chromosomen meer kans hebben te overleven dan zwakkere chromosomen. Bij ons probleem is een chromosoom sterker dan een ander chromosoom als het hoogteverschil tussen de T- en de F-toren van het chromosoom kleiner is dan het hoogteverschil tussen de T- en F-toren van het andere chromosoom. Opgave 5 Schrijf een function die gegeven een chromosoom het hoogteverschil tussen de T- en F-toren van dit chromosoom berekent. Hiervoor kan de function uit opgave 4 gebruikt worden, maar het is mogelijk een efficiëntere procedure te schrijven. Opgave 6 Als voor een chromosoom het hoogteverschil 0 is, is dat chromosoom een optimale oplossing voor het partitie probleem. Minder goede oplossingen zijn chromosomen met grotere hoogteverschillen. Een sterk chromosoom heeft dus een kleiner hoogteverschil dan een zwak chromosoom. Schrijf nu een function die de sterkte van een chromosoom geeft. We zijn nu al een eind op weg naar het uiteindelijke programma. We moeten nu alleen nog voor het volgende zorgen: Een nieuwe generatie maken van een oude generatie. Een selectie-mechanisme toevoegen, zodat zwakkere chromosomen verwijderd worden en sterkere verdubbeld. De evolutie simuleren. Een manier om het sterkste chromosoom in een generatie te bepalen, zodat gecontroleerd kan worden of er twee even hoge torens gevonden zijn. Een procedure die het uiteindelijke resultaat op een begrijpelijke manier afdrukt. 5

6 Wat betreft het maken van een nieuwe generatie waarschuwen we er voor dat de nieuwe generatie niet te veel moet afwijken van de oude. Hierdoor kan het namelijk zo zijn dat er naast de zwakke chromosomen ook veel sterke chromosomen verdwijnen. Het aantal cross-overs en mutaties moet dus niet te hoog zijn. Een mogelijke manier om te selecteren is: zoek de twee sterkste chromosomen en de twee zwakste en vervang de twee zwakste chromosomen door de sterkste twee. Een manier die minder gericht is op de aller sterkste is: kies twee paar chromosomen (willekeurig) en verdubbel van elk paar de sterkste ten koste van de zwakste. Deze laatste manier is enigszins te vergelijken met levende organismen. Wanneer twee organismen elkaar tegen komen, zal de sterkste van de twee de ander kunnen doden... De evolutie bestaat uit het afwisselen van de ene generatie chromosomen door de andere generatie. We kunnen het evolutie proces in een aantal stappen weergeven: 1. Maak nieuwe generatie, door middel van mutaties en cross-overs. 2. Voer selectie uit op nieuwe generatie. 3. Controleer of het sterkste chromosoom de gezochte oplossing is. 4. Zo nee, dan stap 1, zo ja, dan klaar. De evolutie stopt dus als er een optimaal chromosoom gevonden is. We kunnen echter een beetje soepeler zijn en de evolutie al laten stoppen als er een chromosoom gevonden is waarvan het hoogteverschil een bepaalde kleine waarde heeft, bijvoorbeeld 3 of minder. Dit is soms nodig, want er zijn verzamelingen blokken waarmee het niet mogelijk is twee even hoge torens te bouwen. Uiteindelijk geeft het evolutie-algoritme een resultaat. Dit is in eerste instantie een chromosoom. We willen echter een partitie van de verzameling blokken. Bedenk dus een manier om gegeven zo n chromosoom de verzamelingen T en F van dit chromosoom netjes af te drukken. Geef bij elke verzameling ook aan wat de hoogte is van de toren van die verzameling. Opgave 7 Schrijf nu een genetisch programma voor het partitie probleem. Test je programma met verschillende verzamelingen blokken. Probeer ook te onderzoeken wat het effect is van het aantal mutaties/cross-overs dat per evolutie-stap uitgevoerd wordt. 6

7 Beoordeling Het programma wordt beoordeeld op de werking, correctheid en efficiëntie van de algoritmen, duidelijkheid van de algoritmen, I/O en vooral ook op de leesbaarheid van de programmatekst. Naast de programmatekst moet ook voorbeeld invoer- en uitvoer ingeleverd worden. 7

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2 Controle structuren De algemene vorm: 1 bloks door middel van indentatie Keuze Herhaling if expressie :...... In de volgende vorm is het else gedeelte weggelaten: if expressie :... Het if keuze- of conditioneel

Nadere informatie

Hoofdstuk 6: Zelf functies maken

Hoofdstuk 6: Zelf functies maken Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, januari 2004 Hoofdstuk 6: Zelf functies maken 6.0 Leerdoel

Nadere informatie

Kunstmatige Intelligentie (AI) Hoofdstuk van Russell/Norvig = [RN] Genetische algoritmen. voorjaar 2016 College 11, 3 mei 2016

Kunstmatige Intelligentie (AI) Hoofdstuk van Russell/Norvig = [RN] Genetische algoritmen. voorjaar 2016 College 11, 3 mei 2016 AI Kunstmatige Intelligentie (AI) Hoofdstuk 4.1.4 van Russell/Norvig = [RN] Genetische algoritmen voorjaar 2016 College 11, 3 mei 2016 www.liacs.leidenuniv.nl/ kosterswa/ai/ 1 Introductie Er zijn allerlei

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

Verslag Opdracht 4: Magische Vierkanten

Verslag Opdracht 4: Magische Vierkanten Verslag Opdracht 4: Magische Vierkanten Stefan Schrama, Evert Mouw, Universiteit Leiden 2007-08-14 Inhoudsopgave 1 Inleiding 2 2 Uitleg probleem 2 3 Theorie 2 4 Aanpak 2 5 Implementatie 4 6 Experimenten

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

{ auteur, toelichting }

{ auteur, toelichting } Programmeren Blok A Trilogie van (programmeer)talen http://www.win.tue.nl/ wstomv/edu/ip0/ College Syntaxis (vormleer): Hoe ziet t eruit, hoe schrijf je t? Tom Verhoeff Technische Universiteit Eindhoven

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

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

Hoofdstuk 6: Zelf functies maken

Hoofdstuk 6: Zelf functies maken Programmeren in Microsoft Visual Basic 2010 Express, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Vespucci College, Marnix Gymnasium Rotterdam, december 2011 Hoofdstuk

Nadere informatie

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie

Nadere informatie

OEFENINGEN PYTHON REEKS 6

OEFENINGEN PYTHON REEKS 6 OEFENINGEN PYTHON REEKS 6 1. A) Schrijf een functie die een getal x en een getal y meekrijgt. De functie geeft de uitkomst van volgende bewerking als returnwaarde terug: x y x als x y x y y als x < y B)

Nadere informatie

Uitwerking Puzzel 93-1, Doelloos

Uitwerking Puzzel 93-1, Doelloos Uitwerking Puzzel 93-1, Doelloos Wobien Doyer Lieke de Rooij Volgens de titel is deze puzzel zonder doel, dus zonder bekende toepassing. Het doel is echter nul en dat is zeker in de wiskunde niet niks.

Nadere informatie

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester.

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester. In onderstaande oefeningen zijn kleuren gebruikt. Deze dienen aleen om de structuren makkelijker terug te kunnen herkennen. Ze worden niet standaard zo gebruikt. De dunne rood/roze balken zijn ook geen

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

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 ) OI 2010 Finale 12 Mei 2010 Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub VOORNAAM :....................................................... NAAM :..............................................................

Nadere informatie

II. ZELFGEDEFINIEERDE FUNCTIES

II. ZELFGEDEFINIEERDE FUNCTIES II. ZELFGEDEFINIEERDE FUNCTIES In Excel bestaat reeds een uitgebreide reeks van functies zoals SOM, GEMIDDELDE, AFRONDEN, NU enz. Het is de bedoeling om functies aan deze lijst toe te voegen door in Visual

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

Small Basic Programmeren Text Console 2

Small Basic Programmeren Text Console 2 Oefening 1: Hoogste getal Je leest een reeks positieve gehele getallen in totdat je het getal 0 (nul) invoert. Daarna stopt de invoer en druk je een regel af met het hoogste getal uit de reeks. Voorbeeld:

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

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

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

Turbo Pascal (deel 1)

Turbo Pascal (deel 1) Turbo Pascal (deel 1) MSX CLUB MAGAZINE 34 Erik van Bilsen Scanned, ocr ed and converted to PDF by HansO, 2001 Erik van Bilsen leert u het klappen van de Turbo Pascal zweep. Turbo Pascal toepassen Deze

Nadere informatie

Datum. Vraag het bedrag in BEF. Reken om naar EURO. Toon het bedrag in EURO. --- Vraag het bedrag in BEF--- --- Reken om naar EURO---

Datum. Vraag het bedrag in BEF. Reken om naar EURO. Toon het bedrag in EURO. --- Vraag het bedrag in BEF--- --- Reken om naar EURO--- 3UREOHPHQRSORVVHQPHW9%$WRHSDVVLQJHQELMGHHO Naam. NR : Klas. PC : Datum. 23*$9( Hieronder vind je het algoritme om een bedrag in BEF om te rekenen naar EURO. Zet het algoritme om in programmacode. Noem

Nadere informatie

TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR

TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2011-2012 Zaterdag 5 november 2011, 9u30 NAAM :... VRAAG 1: EVEN VEEL [5 PUNTEN] Schrijf een methode evenveel(), met twee argumenten,

Nadere informatie

De Leidsche Flesch Studievereniging voor Natuurkunde, Sterrenkunde, Wiskunde en Informatica sinds DLF Pointerworkshop

De Leidsche Flesch Studievereniging voor Natuurkunde, Sterrenkunde, Wiskunde en Informatica sinds DLF Pointerworkshop DLF Pointerworkshop Opgaven 2 maart 2016 XKCD # 371 In dit document staan een aantal oude tentamenopgaven om te oefenen voor het hertentamen PR Bij de selectie is rekening gehouden met de opgaven die het

Nadere informatie

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet. Les C-02: Werken met Programma Structuur Diagrammen 2.0 Inleiding In deze lesbrief bekijken we een methode om een algoritme zodanig structuur te geven dat er gemakkelijk programmacode bij te schrijven

Nadere informatie

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

Programmeeropgaven. Sem Prog DD

Programmeeropgaven. Sem Prog DD Programmeeropgaven Sem Prog DD EENVOUDIGE SEQUENTIES SomVanTweeGetallen Rechthoek Trein Trein: formulier Einstein Rapport Autokost Factuur CONSTANTEN Utopia Utopia KEUZESTRUCTUUR IF THEN ELSE END

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

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

Pascal uitgediept Data structuren

Pascal uitgediept Data structuren Pascal uitgediept Data structuren MSX Computer & Club Magazine nummer 68-juni/juli 1994 Herman Post Scanned, ocr ed and converted to PDF by HansO, 2001 In deze aflevering wordt bekeken hoe zelf een datastructuur

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

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

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

9 Meer over datatypen

9 Meer over datatypen 9 Meer over datatypen We hebben al gezien dat het gebruik van symbolische constanten de leesbaarheid van een programma kan verbeteren. Door een geschikte naam (identifier) voor een constante te definiëren,

Nadere informatie

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4:

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4: Katern 4 Bewijsmethoden Inhoudsopgave 1 Bewijs uit het ongerijmde 1 2 Extremenprincipe 4 3 Ladenprincipe 8 1 Bewijs uit het ongerijmde In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel

Nadere informatie

Hoofdstuk 5: Functies voor getallen en teksten

Hoofdstuk 5: Functies voor getallen en teksten Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, maart 2001 Hoofdstuk 5: Functies voor getallen en teksten

Nadere informatie

Hoofdstuk 7: Werken met arrays

Hoofdstuk 7: Werken met arrays Programmeren in Microsoft Visual Basic 2010 Express, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Vespucci College, Marnix Gymnasium Rotterdam, december 2011 Hoofdstuk

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

Verzamelingen, Lijsten, Functioneel Programmeren

Verzamelingen, Lijsten, Functioneel Programmeren Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Stage Ignatiuscollege, 17 mei 2010 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen

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

REEKS I. Zaterdag 6 november 2010, 9u

REEKS I. Zaterdag 6 november 2010, 9u TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2010-2011 REEKS I Zaterdag 6 november 2010, 9u NAAM :... VRAAG 1: MINSTENS [5 PUNTEN] Schrijf een methode minstens(), met twee

Nadere informatie

Opmerkingen en vragen aan Ultieme vraag: Hoe beïnvloedt dit de winstkansen?

Opmerkingen en vragen aan Ultieme vraag: Hoe beïnvloedt dit de winstkansen? 2IP05: Programmeren Blok A http://www.win.tue.nl/ wstomv/edu/2ip05/ 5 spelers, 2 dobbelstenen Probleem met dobbelspel College 1 Per ronde werpt elke speler 1 Kees Hemerik Tom Verhoeff Technische Universiteit

Nadere informatie

Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege.

Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege. Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege. Kijk het huiswerk van je collega s na en schrijf de namen van de nakijkers linksboven en het totaalcijfer rechts onder de namen

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord November 28, 2016 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te

Nadere 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

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken.

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. 6.3 VBA Syntax Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. Klik te tab Hulpmiddelen voor databases Klik in het groepsvak Macro op

Nadere informatie

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen.

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen. WIS14 1 14 Grafen 14.1 Grafen Gerichte grafen Voor een verzameling V is een binaire relatie op V een verzameling geordende paren van elementen van V. Voorbeeld: een binaire relatie op N is de relatie KleinerDan,

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

{ specificatie (contract) en toelichting }

{ specificatie (contract) en toelichting } Programmeren Blok A Drie aspecten van routines http://www.win.tue.nl/ wstomv/edu/2ip05/ College 5 Kees Hemerik Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 11 Leo van Iersel Technische Universiteit Delft 25 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 1 / 28 Vandaag Vraag Voor welke problemen

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

Algoritmiek. 2 februari Introductie

Algoritmiek. 2 februari Introductie College 1 Algoritmiek 2 februari 2017 Introductie 1 Introductie -1- docent: Rudy van Vliet rvvliet@liacs.nl assistent werkcollege: Bart van Strien bartbes@gmail.com website: http://www.liacs.leidenuniv.nl/~vlietrvan1/algoritmiek/

Nadere informatie

3. Structuren in de taal

3. Structuren in de taal 3. Structuren in de taal In dit hoofdstuk behandelen we de belangrijkst econtrolestructuren die in de algoritmiek gebruikt worden. Dit zijn o.a. de opeenvolging, selectie en lussen (herhaling). Vóór we

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

From Alife Agents to a Kingdom of Queens

From Alife Agents to a Kingdom of Queens From Alife Agents to a Kingdom of Queens Bob Wansink 27 Mei 2010 Deze notitie is een vrije vertaling en uitleg van het gelijknamige artikel in Intelligent Agent Technology: Systems, Methodologies, and

Nadere informatie

Probleem met dobbelspel. 2IP05: Programmeren Blok A. 5 spelers,2 dobbelstenen. wstomv/edu/2ip05/ Per ronde werpt elke speler 1

Probleem met dobbelspel. 2IP05: Programmeren Blok A. 5 spelers,2 dobbelstenen.  wstomv/edu/2ip05/ Per ronde werpt elke speler 1 2IP05: Programmeren Blok A http://www.win.tue.nl/ wstomv/edu/2ip05/ College 1 5 spelers,2 dobbelstenen Probleem met dobbelspel Per ronde werpt elke speler 1 Tom Verhoeff Technische Universiteit Eindhoven

Nadere informatie

Het programma ELGAMAL

Het programma ELGAMAL Het programma ELGAMAL Gerard Tel Universiteit Utrecht, Departement Informatica 21 oktober 2005 Dit boekje is een inhoudelijke beschrijving van het programma ELGAMAL dat door Gerard Tel is geschreven voor

Nadere informatie

Practicumopdracht 1: Elektronische agenda s

Practicumopdracht 1: Elektronische agenda s Practicumopdracht 1: Elektronische agenda s Het practicum Functioneel programmeren staat dit jaar in het teken van elektronische agenda s. Deze eerste van in totaal drie opdrachten bestaat uit het implementeren

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

Android apps met App Inventor 2 antwoorden

Android apps met App Inventor 2 antwoorden 2014 Android apps met App Inventor 2 antwoorden F. Vonk versie 1 11-11-2014 inhoudsopgave Mollen Meppen... - 2 - Schrandere Scholier... - 15 - Meteoor... - 21 - Dit werk is gelicenseerd onder een Creative

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

Ontwerp van Algoritmen: opgaven weken 3 en 4

Ontwerp van Algoritmen: opgaven weken 3 en 4 0 Ontwerp van Algoritmen: opgaven weken 3 en 4 Voor alle volgende opgaven over programmaatjes geldt de spelregel: formuleer altijd eerst alle bewijsverplichtingen. selectie 45. (tail distribution)(prima

Nadere informatie

Oefeningenexamen Informatica: juni 2015

Oefeningenexamen Informatica: juni 2015 Oefeningenexamen Informatica: juni 2015 Voornaam: Naam: IT-nummer: PC-nummer: Vul je naam, IT-nummer en PC-nummer (staat op de computer, bv. PC15) hierboven in. De examenbladen moeten mee afgegeven worden,

Nadere informatie

Het warmteverlies van het lichaamsoppervlak aan de wordt gegeven door de volgende formule:

Het warmteverlies van het lichaamsoppervlak aan de wordt gegeven door de volgende formule: Opgave 1. (4 punten) Inleiding: Een vleermuis is een warmbloedig zoogdier. Dat wil zeggen dat hij zijn lichaamstemperatuur op een konstante waarde moet zien te houden. Als de omgeving kouder is dan de

Nadere informatie

Programmeren. a. 0, 0, 0 b. 0, 0, 27 c. 15, 12, 0 d. 15, 12, 27

Programmeren. a. 0, 0, 0 b. 0, 0, 27 c. 15, 12, 0 d. 15, 12, 27 Programmeren 0. (1 punt.) Stel, een "afhankelijk kind" is een persoon is die jonger is dan 18 jaar, en hooguit 8.000 euro verdient. Welke van de onderstaande expressies definieert een afhankelijk kind?

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

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

Haskell: programmeren in een luie, puur functionele taal

Haskell: programmeren in een luie, puur functionele taal Haskell: programmeren in een luie, puur functionele taal Jan van Eijck jve@cwi.nl 5 Talen Symposium, 12 juli 2010 Samenvatting In deze mini-cursus laten we zien hoe je met eindige en oneindige lijsten

Nadere informatie

10 Meer over functies

10 Meer over functies 10 Meer over functies In hoofdstuk 5 hebben we functies uitgebreid bestudeerd. In dit hoofdstuk bekijken we drie andere aspecten van functies: recursieve functies dat wil zeggen, functies die zichzelf

Nadere informatie

les 2 toeval en waarschijnlijkheid

les 2 toeval en waarschijnlijkheid systemen ams blok 1 les 2 toeval en waarschijnlijkheid bestaat toeval? toevallig stond er deze week een artikel over toeval in de volkskrant maar was dit wel toeval? was het voorbestemd? wat is

Nadere informatie

Numerieke benadering van vierkantwortels

Numerieke benadering van vierkantwortels HP Prime Grafische Rekenmachine Numerieke benadering van vierkantwortels Doel: De waarde van een vierkantswortel met een recursieve rij benaderen, het schrijven van een klein programma. Sleutelwoorden:

Nadere informatie

De bouwstenen van het programmeren 1

De bouwstenen van het programmeren 1 De bouwstenen van het programmeren 1 I DE BOUWSTENEN VAN HET PROGRAMMEREN. Een programma is een beschrijving van acties (operaties, opdrachten) die moeten uitgevoerd worden. Deze acties spelen in op bepaalde

Nadere informatie

Begeleid Zelfstandig Leren (BZL)

Begeleid Zelfstandig Leren (BZL) Begeleid Zelfstandig Leren (BZL) De Beaalde Integraal - Riemannsommen 1 Rijvariabelen u en v van het grafisch rekentoestel.... 1.1 Rijen.... 1. Odracht 1... 1.3 Rekentoestel... 3 1.4 Odracht... 4 1.5 Odracht

Nadere informatie

Totaal

Totaal Programmeren Blok A Wat was het doel? http://www.win.tue.nl/ wstomv/edu/2ip05/ College 2 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology

Nadere informatie

De volgende vragen testen je kennis van de meest voorkomende vaktermen in de klassieke genetica. Welk woord ontbreekt in de volgende zinnen?

De volgende vragen testen je kennis van de meest voorkomende vaktermen in de klassieke genetica. Welk woord ontbreekt in de volgende zinnen? Populatiegenetica Versie 2006-2007 Vragen bij COO Belangrijke begrippen De volgende vragen testen je kennis van de meest voorkomende vaktermen in de klassieke genetica. Welk woord ontbreekt in de volgende

Nadere informatie

Monte-Carlo simulatie voor financiële optieprijzen Studiepunten : 2

Monte-Carlo simulatie voor financiële optieprijzen Studiepunten : 2 1 INLEIDING 1 Monte-Carlo simulatie voor financiële optieprijzen Studiepunten : 2 Volg stap voor stap de tekst en los de vragen op. Bedoeling is dat je op het einde van de rit een verzorgd verslag afgeeft

Nadere informatie

LES 2: Zwaartekracht gebruiken en springen

LES 2: Zwaartekracht gebruiken en springen LES 2: Zwaartekracht gebruiken en springen DOEL: Met het programma Stencyl zwaartekracht gebruiken om te kunnen springen. Start Stencyl Open het zelf gemaakte spel De Krokodil uit Les 1 Zoals je ziet is

Nadere informatie

Je moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig.

Je moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig. 6 Totaalbeeld Samenvatten Je moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig. Begrippenlijst: 21: complex getal reëel deel

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

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht.

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht. 4 Modulair rekenen Oefening 4.1. Merk op dat 2 5 9 2 = 2592. Bestaat er een ander getal van de vorm 25ab dat gelijk is aan 2 5 a b? (Met 25ab bedoelen we een getal waarvan a het cijfer voor de tientallen

Nadere informatie

POD1 - Hoofdstuk 1: Inleiding

POD1 - Hoofdstuk 1: Inleiding POD1 - Hoofdstuk 1: Inleiding 2/59 POD1 - Hoofdstuk 1: Inleiding Stijn Lievens (Stijn.Lievens@hogent.be) Noemie Slaats (Noemie.Slaats@hogent.be) Lieven Smits (Lieven.Smits@hogent.be) Martine Van Der Weeen

Nadere informatie

Uitwerkingen Sum of Us

Uitwerkingen Sum of Us Instant Insanity Uitwerkingen Sum of Us Opgave A: - Opgave B: Voor elk van de vier kubussen kun je een graaf maken die correspondeert met de desbetreffende kubus. Elk van deze grafen bevat drie lijnen.

Nadere informatie

Twaalfde college complexiteit. 11 mei 2012. Overzicht, MST

Twaalfde college complexiteit. 11 mei 2012. Overzicht, MST College 12 Twaalfde college complexiteit 11 mei 2012 Overzicht, MST 1 Agenda voor vandaag Minimum Opspannende Boom (minimum spanning tree) als voorbeeld van greedy algoritmen Overzicht: wat voor technieken

Nadere informatie

PRAKTICUMOPGAVE 1. De eerste prakticumopgave is het maken van een applet om een "Mandelbrotfiguur" te tekenen, zoals hieronder omschreven.

PRAKTICUMOPGAVE 1. De eerste prakticumopgave is het maken van een applet om een Mandelbrotfiguur te tekenen, zoals hieronder omschreven. 1 of 5 3-5-2006 14:58 PRAKTICUMOPGAVE 1 De eerste prakticumopgave is het maken van een applet om een "Mandelbrotfiguur" te tekenen, zoals hieronder omschreven. Het practicum moet individueel worden gemaakt

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

ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Voorbeeldtoetsen Lineaire Algebra Deliverable 3.10 Henk van der Kooij ONBETWIST Deliverable 3.

ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Voorbeeldtoetsen Lineaire Algebra Deliverable 3.10 Henk van der Kooij ONBETWIST Deliverable 3. ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Voorbeeldtoetsen Lineaire Algebra Deliverable 3.10 Henk van der Kooij ONBETWIST Deliverable 3.8 ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Inleiding

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

Introductie in R. http://www.math.montana.edu/stat/tutorials/r-intro.pdf http://www.math.montana.edu/stat/docs/splus_notes.ps

Introductie in R. http://www.math.montana.edu/stat/tutorials/r-intro.pdf http://www.math.montana.edu/stat/docs/splus_notes.ps Introductie in R R is een programmeer taal met een groot aantal voorgeprogrammeerde statistische functies. Het is de open source versie van S-plus. Wij gebruiken R dan ook omdat het gratis is. Documentatie

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

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

Breuksplitsen WISNET-HBO NHL. update juli 20014

Breuksplitsen WISNET-HBO NHL. update juli 20014 Breuksplitsen WISNET-HBO NHL update juli 20014 1 Inleiding Bij sommige opleidingen is het belangrijk dat er enige vaardigheid ontwikkeld wordt om grote breuken te manipuleren en om te zetten in een aantal

Nadere informatie

Info-books. Toegepaste Informatica. Deel 40 : Gegevensbeheer en algoritmen in Access HA40. Jos Gils Erik Goossens

Info-books. Toegepaste Informatica. Deel 40 : Gegevensbeheer en algoritmen in Access HA40. Jos Gils Erik Goossens Info-books HA40 Toegepaste Informatica Deel 40 : Gegevensbeheer en algoritmen in Access Jos Gils Erik Goossens Gegevensbeheer Alle landen uit Europa en Azië die minder dan 1 000 000 inwoners tellen (Zie

Nadere informatie

Informatica: C# WPO 9

Informatica: C# WPO 9 Informatica: C# WPO 9 1. Inhoud Functies (functies met return-waarde) 2. Oefeningen Demo 1: Som Demo 2: Min en max of array Demo 3: Retourneer array van randomwaarden A: Absolute waarde A: Afstand A: Aantrekkingskracht

Nadere informatie

Machten, exponenten en logaritmen

Machten, exponenten en logaritmen Machten, eponenten en logaritmen Machten, eponenten en logaritmen Macht, eponent en grondtal Eponenten en logaritmen hebben alles met machtsverheffen te maken. Een macht als 4 is niets anders dan de herhaalde

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

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