Informatica. Deel II & III: les 5. Von Neumann, basis- & slimme algoritmen. Jan Lemeire Informatica deel II & III februari mei 2015

Maat: px
Weergave met pagina beginnen:

Download "Informatica. Deel II & III: les 5. Von Neumann, basis- & slimme algoritmen. Jan Lemeire Informatica deel II & III februari mei 2015"

Transcriptie

1 Informatica Deel II & III: les 5 Von Neumann, basis- & slimme algoritmen Jan Lemeire Informatica deel II & III februari mei 2015 Parallel Systems: Introduction

2 Institute for Advanced Studies, New Jersey, USA

3 Hoofdstuk 4: Computerarchitectuur Jan Lemeire Pag. 3 / 61

4 De ivoren toren van IAS Institute for Advanced Studies (IAS) Voor de grote denkers/wetenschappers, maar niet ingenieurs Op de schoot bij Einstein (op de foto met Gödel, Bekend logicus) Informatica II: les 4 Jan Lemeire Pag. 4 / 61

5 John Von Neumann wilt een computer bouwen beter dan de ENIAC John Von Neumann Dit is echter tegen de statuten van het IAS, waar je enkel betaald wordt om te denken, niet om experimenten uit te voeren of iets te bouwen. Mede Informatica door II: zijn les 4 warme persoonlijkheid en populariteit mocht hij er toch aan beginnen in één van de kelders. Jan Lemeire Pag. 5 / 61

6 Programmeren = draadjes versteken, oftewel de hardware veranderen Informatica II: les 4 Jan Lemeire Pag. 6 / 61

7 Von Neumann verbetert: 1. Stored-program computer Een programma beschrijft wat de machine moet doen Programma ook opslaan in het geheugen (de software) Is ook input van de computer en data 2. Een architectuur voor de logische opdeling van de centrale verwerkingseenheid: de "Central Processing Unit" of CPU. De CPU is het hart van de computer. 3. De instructies van het programma worden één voor één uitgevoerd Informatica II: les 4 Jan Lemeire Pag. 7 / 61

8 Waarmaken van Leibniz s droom (9) Artificiële intelligentie (8) Communicatie & internet (7) Operating system (6) Computatietheorie & Software (5) Efficiënt productieproces (4) Hardware architectuur Electronica: (2) relais -schakeling, (3)geheugen (1) Digitaal & binair (0) Het idee Informatica deel III: technologie, historiek en economische aspecten

9 De Von Neumann-architectuur Jan Lemeire Pag. 9 / 61

10 Programma = sequentie van instructies Elke processorcyclus: uitvoeren van 1 instructie Inwendig aangegeven door kloksignaal Klokfrekwentie bepaalt aantal instructies/second (bvb 4GHz) Interne verloop voltages kloksignaal Informatica II: les 4 Jan Lemeire Pag. 10 / 61

11 Von Neumann-elementen Input Interface: binnenkomende gegevens Voorbeelden: toetsenbord, muis, barcodelezer, internet, Sensoren laten toe fysische grootheden binnen het meetbereik van computers te brengen Vbn: camera s, fotocellen, bewegingssensoren (cf Ipad, WII),... Interrupt ( java-event) vertelt control unit dat er input is Output Interface: uitgaande gegevens Voorbeelden: scherm, printer, internet, kassa, Actuatoren geven aan computers de mogelijkheid rechtstreeks hun fysische omgeving te beïnvloeden Vbn: motoren, elketromagneten, verwarmingselementen,... Informatica II: les 4 Jan Lemeire Pag. 11 / 61

12 Von Neumann-elementen Data Memory: geheugencellen voor binaire getallen. Elke cel van 1 byte (8 bits) krijgt een adres. Program Memory: opslag van programma. In de praktijk: deel van datageheugen Vroeger: ponskaarten, Toegang tot datageheugen: tot elk vakje, gegevens onmiddellijk beschikbaar Geheugen is een soort van schoolbord (scratchpad) waar de tussenresultaten van de berekeningen worden bijgehouden Voor bewerking wordt data uitgelezen en na bewerking geof overschreven Informatica II: les 4 Jan Lemeire Pag. 12 / 61

13 Data- en programmageheugen In veel computers vindt men maar één enkel geheugen: het programma- en het gegevensgeheugen zijn fysisch samengesmolten. Beide gaan immers om het bijhouden van bytes, een programma is ook een collectie bytes. Deze samensmelting laat toe om met éénzelfde type van computer zowel grote programma's met maar weinig gegevens, als kleine programma's met veel gegevens te verwerken. Vanzelfsprekend blijven beide geheugens logisch gescheiden: de ene wordt enkel gebruikt voor data, de andere enkel voor het opslaan van het programma. Er wordt voor gezorgd dat er geen data in het programmagedeelte geschreven kan worden en omgekeerd. Dit zou namelijk de bestaande inhoud (verkeerdelijk) overschrijven. Informatica II: les 4 Jan Lemeire Pag. 13 / 61

14 Von Neumann-elementen Arithmetic and Logical Unit (ALU) voert bewerkingen uit Op data van het geheugen Schrijft resultaten (ook data) terug naar het geheugen De ALU is het apparaat dat instaat voor de feitelijke verwerking van de informatie. Het is in staat rekenkundige bewerkingen uit te voeren, getallen te vergelijken, enz. De ALU krijgt de operanden (de te bewerken gegevens) uit het Informatica II: les 4 gegevensgeheugen en plaatst de resultaten van de bewerkingen er terug in. Jan Lemeire Pag. 14 / 61

15 Von Neumann-elementen Control unit houdt bij waar we zitten in het programma (Program Counter) for/while/methodes zorgen ervoor dat een deel van je programma meermaals uitgevoerd kan worden (iteraties) If maakt het mogelijk dat een deel niet uitgevoerd wordt De stuureenheid leest één voor één instructies uit het programmageheugen, decodeert ze en zendt de nodige stuursignalen naar de verschillende onderdelen van de computer om de uitvoering van de instructies te verzekeren. Zo wordt de operatie samen met de adressen van de operanden en het resultaat aan de ALU doorgegeven. De ALU leest de data uit het geheugen (adhv de opgegeven adressen), voert de berekening uit en schrijft Informatica II: les 4 het resultaat terug in het geheugen. Jan Lemeire Pag. 15 / 61

16 Voorbeeld: de machten van x Volgend programma wordt in het instructiegeheugen geladen. De Program Counter wordt op 23 gezet, de eerste lijn van het programma. De computer start met het uitvoeren van het programma en voert elke klok-tick 1 instructie uit. Elke variabele krijgt een plaats (adres) in het datageheugen. Jan Lemeire Pag. 16 / 61

17 Stap 1: laden van programma Jan Lemeire Pag. 17 / 61

18 Stap 2: lees toetsenbord 23 Jan Lemeire Pag. 18 / 61

19 Stap 3: initaliseer variabele Jan Lemeire Pag. 19 / 61

20 Stap 4: initaliseer variabele t Jan Lemeire Pag. 20 / 61

21 Stap 5: schrijf waarde Jan Lemeire Pag. 21 / 61

22 Stap 6: bereken product Jan Lemeire Pag. 22 / 61

23 Stap 7: verhoog teller Jan Lemeire Pag. 23 / 61

24 Stap 8: check condities Jan Lemeire Pag. 24 / 61

25 Herhaal stappen tot eindconditie Geheugen m = 7 ; t = 1 m = 49 ; t = 2 m = 343 ; t = 3 m = 2401 ; t = 4 m = ; t = 5 Op scherm Jan Lemeire Pag. 25 / 61

26 Vandaag 1. Von Neumann-architectuur 2. Newton s algoritme 3. Interfaces en abstracte klasses 4. Basisalgoritmen 5. Slimme algoritmen 6. Het Project

27 Basisalgoritmen Hoofdstuk 4

28 p Recursive Halving Informatica II: les 5 Jan Lemeire Pag. 28 / 61

29 Nulpunten zoeken: Newton s algoritme p. 59 (x 0, y 0 ): eerste gok y 0?y y 1 a x r x 1?x x 0 Informatica II: les 5 Jan Lemeire Pag. 30 / 61

30 Afgeleide van functie kennen interface Functie { /** geeft functiewaarde in opgegeven punt */ double f(double x); } interface FunctieMetAfgeleide extends Functie { /** geeft waarde van de afgeleide in opgegeven punt */ double afgeleide(double x); } Informatica II: les 5 Jan Lemeire Pag. 31 / 61

31 static int nbriteraties=0; public static double vindnulpuntmetnewton(functiemetafgeleide functie, int eerstegok){ final int MAX_ITERATIES = 150; final double PRECISIE = 0.001; double nulpunt = eerstegok; double fx = functie.f(nulpunt); nbriteraties=0; while (Math.abs(fx) > PRECISIE && nbriteraties < MAX_ITERATIES){ double dfx = functie.afgeleide(nulpunt); if (dfx == 0) throw new RuntimeException("Nulpunt met Newton: Afgeleide in "+nulpunt+" is nul waardoor Newton faalt."); System.out.println("["+nbrIteraties+"] Current = "+nulpunt+" fx="+fx+" dfx="+dfx+" => new = "+(nulpunt - fx/dfx)); nulpunt = nulpunt - fx/dfx; fx = functie.f(nulpunt); nbriteraties++; } if (nbriteraties >= MAX_ITERATIES) throw new RuntimeException("Nulpunt met Newton: convergeert niet, te veel iteraties, beste punt tot nu toe heeft waarde "+functie.f(nulpunt)+"!"); System.out.println("Newton nulpunt = "+nulpunt+" met fx="+fx); return nulpunt; } Informatica II: les 5 Jan Lemeire Pag. 32 / 61

32 p. 61 Mogelijke problemen Geen of trage convergentie Gradiënt geeft niet noodzakelijk de juiste richting aan Crash Afgeleide die nul is Informatica II: les 5 Jan Lemeire Pag. 33 / 61

33 Niet in cursus InterfaceOefening1 Informatica II: les 5 Jan Lemeire Pag. 34 / 61

34 Abstracte klasses en Interfaces p. 4 zijn abstract

35 KlasseOefening3 (package p. 28 testoefeningen): 1. Teken klassehiërarchie. 2. Welke overerving is niet mogelijk? 3. Duidt aan welke de concrete klassen zijn en welke de abstracte. Is er een abstracte klasse die een interface zou kunnen zijn? 4. Welke objecten kan ik dus niet aanmaken? 5. Bij het aanmaken van de objecten, duidt de constructors aan die opgeroepen worden. Per object kunnen dit meerdere constructors zijn! 6. Voor welke klasses mag je de default constructor oproepen? 7. Welke klasse heeft een foute constructor: roept geen geldige constructor van zijn superklasse op? 8. Welke implementatie wordt uitgevoerd bij het oproepen van de methoden f, g, en j? 9. Welke methodes moet ik zeker implementeren als ik een concrete klasse met superklasse K3 en interface K2 wil maken? Informatica II: les 5 Jan Lemeire Pag. 36 / 61

36 abstract class K1 { int a; K1(int a){ this.a=a; } void f(){ } abstract void j(); } interface class K2 { void g(); } abstract class K3 extends K1 { K3(int a){ super(a); } void f(){ } } class K4 extends K3 implements K2 { int x; K4(int x){ this.x = x; } public void g(){ } } class K5 extends K1 implements K2 { Informatica II: les 5 void j(){ } public static void main(string[] args) { K1 o1 = new K1(); K2 o2 = new K2(); K3 o3 = new K3(7); K4 o4 = new K4(); K5 o5 = new K5(); o4.f(); o4.g(); o5.j(); } Jan Lemeire Pag. 37 / 61

37 Basisalgoritmen vervolg Hoofdstuk 4

38 p. 62 Discrete simulaties $$$$$$$$$$ Informatica II: les 5 Jan Lemeire Pag. 39 / 61

39 Uitbreiden Alle fysische dingen: MovingObject klasse Informatica II: les 5 Jan Lemeire Pag. 40 / 61

40 p. 63 Regressie of curve fitting functie fout distance = angle angle angle distance = angle angle distance = angle 267 distance = angle distance = angle Je berekent welke vergelijking het best past ( fit ) op de data Informatica II: les 5 Jan Lemeire Pag. 41 / 61

41 NP-complete problemen

42 NP-compleet: traveling p. 64 salesman problem Meest efficiënte volgorde om alle steden af te lopen? 15! = mogelijke volgorden Informatica II: les 5 Jan Lemeire Pag. 43 / 61

43 NP-compleet Klasse van problemen Voor optimale oplossing: je moet alle mogelijkheden afgaan Er bestaan geen shortcuts! Informatica II: les 5 Jan Lemeire Pag. 44 / 61

44 Een goede oplossing Maar niet te bewijzen dat optimaal zie Informatica II: les 5 Jan Lemeire Pag. 45 / 61

45 Project

46 Projectonderwerp Voldoende programmatorische complexiteit Klassen & objecten Spelelement wordt meestal gekozen Mag: Creativiteit! Artificiële Intelligentie (A.I.): slim algoritme Hoofdstuk 5 Groepjes van 2-3 Informatica II: les 5 Jan Lemeire Pag. 47 / 61

47 Project: doelstellingen Programmeren Programmatorische complexiteit, gestructureerd programmeren Projectwerk, teamwork Creativiteit, ingenieuziteit Plezier Ontwikkelen probleemoplossende vaardigheden Informatica II: les 5 Jan Lemeire Pag. 48 / 61

48 Project: uitvoering Voor paasvakantie: keuze groep & onderwerp oefeningen o.a. GUI vrije sessies om aan project te werken Paasvakantie start keuze groep & onderwerp tussentijdse verdediging deadline projectverdediging Verplicht!! Informatica II: les 5 Jan Lemeire Pag. 49 / 61

49 Evaluatie Programmatorische complexiteit Correctheid Logische opdeling van code in klassen Gestructureerd programmeren 1 regel: geen redundantie 'Properheid' van code: Gebruik van zinvolle namen voor variabelen en functies Logische structuur van code documenteer vooral niet-triviale dingen Creativiteit Mondelinge verdediging Bonus voor excellentie, als het af is Informatica II: les 5 - Constantes - Functies/methodes - Parameterizatie Jan Lemeire Pag. 50 / 61

50 Laatste tips Ingenieur = efficiëntie Anderzijds: excellentie vergt net dat tikkeltje extra Probleemoplossende vaardigheden (debuggen) Als je probleem niet kan oplossen: VRAAG Blijf er niet bij zitten!! Referenties en gebruikte code opgeven! Anders: plagiaat Informatica II: les 5 Jan Lemeire Pag. 51 / 61

51 Slimme algoritmen Hoofdstuk 5

52 Beslissingsalgoritme Doel bereiken Aantal acties ter beschikking Actiesequentie bedenken om doel te bereiken Informatica II: les 5 Jan Lemeire Pag. 53 / 61

53 p. 66 Indeling volgens oplossingsmethode Type 1: De oplossing kan berekend worden met een formule (analytisch). Type 2: Je kunt de oplossing gericht zoeken of construeren (rechttoe-rechtaan). Type 3: Je gaat alle mogelijke actiesequenties af om een oplossing te vinden. Type 4: Door slimme keuzes (heuristieken) te maken, kan je verschillende actiesequenties uitsluiten. Type 5: Je leert al doende welke de juiste keuzes zijn. Informatica II: les 5 Jan Lemeire Pag. 54 / 61

54 Type 1: analytisch 1. Je kan oplossing berekenen met formule Analytisch Voorbeeld: nulpunten van kwadratische vergelijking Informatica II: les 5 Jan Lemeire Pag. 55 / 61

55 Type 2: gerichte constructie Je kan oplossing gericht zoeken met quasi-zekerheid om te arriveren Voorbeelden: nulpunt van een functie zoeken met benaderingsalgoritme priemgetallen met zeef van Erathosteness Berekening grootst-gemene deler Informatica II: les 5 Jan Lemeire Pag. 56 / 61

56 p. 67 De schuifpuzzel? Staat van puzzel: posities van stukjes Mogelijke acties: LEFT, UP, RIGHT, DOWN Niet alle 4 steeds mogelijk Informatica II: les 5 Jan Lemeire Pag. 57 / 61

57 Type 3: Alle mogelijkheden afgaan Je weet niet in welke richting de oplossing ligt. Voor sommige problemen is men er vrijwel zeker van dat je alle mogelijkheden af moet lopen (NP-complete problemen, zie later) Je genereert alle mogelijke sequenties van akties en kijkt welke tot een oplossing of tot de beste oplossing leidt. het scannen van de volledige zoekruimte is nodig... Informatica II: les 5 Jan Lemeire Pag. 58 / 61

58 Zoekruimte = zoekboom Initial UP LEFT UP LEFT DOWN UP LEFT RIGHT LEFT DOWN... DOWN LEFT RIGHT Informatica II: les 5 Jan Lemeire Pag. 59 / 61

59 p. 68 Doorploeteren zoekboom = Brute-force search 2 mogelijkheden: depth-first : a-b-e-j-k-c-f-g-l-m-n-d-h-o-p-i-q = backtracking breadth-first: a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q Informatica II: les 5 Jan Lemeire Pag. 60 / 61

60 Sudoku met backtracking Niet in cursus Informatica II: les 5 Jan Lemeire Pag. 61 / 61

Informatica. Deel II & III: les 5. Basis- & slimme algoritmen. Jan Lemeire Informatica deel II & III februari mei Parallel Systems: Introduction

Informatica. Deel II & III: les 5. Basis- & slimme algoritmen. Jan Lemeire Informatica deel II & III februari mei Parallel Systems: Introduction Informatica Deel II & III: les 5 Basis- & slimme algoritmen Jan Lemeire Informatica deel II & III februari mei 2016 Parallel Systems: Introduction Oefening Iets met een functie public class IetsMetFunctie

Nadere informatie

Informatica 2e semester

Informatica 2e semester Informatica Les 5 Basis- & slimme algoritmen Jan Lemeire Informatica 2 e semester februari mei 2017 Vandaag 1. Iets met functie 2. Interfaces en abstracte klasses 3. Newton s algoritme 4. Oefening op interfaces

Nadere informatie

Informatica 2e semester

Informatica 2e semester Informatica Les 6 Basis- & slimme algoritmen Jan Lemeire Informatica 2 e semester februari mei 2019 Vandaag 1. Iets met functie 2. Interfaces en abstracte klasses 3. Newton s algoritme 4. Oefening op interfaces

Nadere informatie

Informatica 2e semester

Informatica 2e semester Informatica Les 6 Basis- & slimme algoritmen Jan Lemeire Informatica 2 e semester februari mei 2018 Vandaag 1. Iets met functie 2. Interfaces en abstracte klasses 3. Newton s algoritme 4. Oefening op interfaces

Nadere informatie

Informatica. Deel II: les 4. geheugen abstractie - GUI Von Neumann. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Informatica. Deel II: les 4. geheugen abstractie - GUI Von Neumann. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction Informatica Deel II: les 4 geheugen abstractie - GUI Von Neumann Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Waarmaken van Leibniz s droom (10) Artificiële intelligentie

Nadere informatie

Informatica. 2 e semester: les 7. computerarchitectuur chips lineaire datastructuren. Jan Lemeire Informatica 2 e semester februari mei 2016

Informatica. 2 e semester: les 7. computerarchitectuur chips lineaire datastructuren. Jan Lemeire Informatica 2 e semester februari mei 2016 Informatica 2 e semester: les 7 computerarchitectuur chips lineaire datastructuren Jan Lemeire Informatica 2 e semester februari mei 2016 Parallel Systems: Introduction Vandaag 1. Deel III/4: computerarchitectuur

Nadere informatie

Hoofdstuk 2. De Von Neumann-architectuur

Hoofdstuk 2. De Von Neumann-architectuur Input Interface Output Interface Informatica Deel III Hoofdstuk 2 De Von Neumann-architectuur 2.1. Organisatie. De overgrote meerderheid der digitale computers zijn georganiseerd zoals weergegeven in fig.

Nadere informatie

Informatica 2e semester

Informatica 2e semester Informatica 2 e semester: les 7 computerarchitectuur chips lineaire datastructuren Jan Lemeire Informatica 2 e semester februari mei 2017 Vandaag 1. Deel III/4: computerarchitectuur 2. Stapel (hfst 3)

Nadere informatie

Informatica 2e semester

Informatica 2e semester Informatica 2 e semester: les 5 computerarchitectuur chips lineaire datastructuren Jan Lemeire Informatica 2 e semester februari mei 2019 Vandaag 1. Array-algoritmen vervolg (hfst 2) 2. Stapel (hfst 3)

Nadere informatie

Informatica. les 6. Slimme (deel II: hoofdstuk 5) versus intelligente (deel III: hoofdstuk 9) algoritmen

Informatica. les 6. Slimme (deel II: hoofdstuk 5) versus intelligente (deel III: hoofdstuk 9) algoritmen Informatica les 6 Slimme (deel II: hoofdstuk 5) versus intelligente (deel III: hoofdstuk 9) algoritmen Jan Lemeire Informatica deel II & III februari mei 2015 1 Is er een machine die even slim of zelfs

Nadere informatie

Waarmaken van Leibniz s droom

Waarmaken van Leibniz s droom Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais

Nadere informatie

Informatica. Deel II: les 2. Leibniz - erven - digitaal. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Informatica. Deel II: les 2. Leibniz - erven - digitaal. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction Informatica Deel II: les 2 Leibniz - erven - digitaal Jan Lemeire Informatica deel II februari mei 2013 Parallel Systems: Introduction Leibniz 1646 1716 Jan Lemeire Pag. 2 / 48 Calculemus! Berechnen wir!

Nadere informatie

Waarmaken van Leibniz s droom

Waarmaken van Leibniz s droom Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais

Nadere informatie

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic

Nadere informatie

Informatica 2e semester

Informatica 2e semester Informatica 2 e semester: les 5 computerarchitectuur chips lineaire datastructuren Jan Lemeire Informatica 2 e semester februari mei 2018 Vandaag 1. Deel III/4: computerarchitectuur 2. Array-algoritmen

Nadere informatie

Python (gem=1,86) Java (gem=1,57) Enquete cursus informatica 1e bachelors oefeningen beter aansluiten bij project?

Python (gem=1,86) Java (gem=1,57) Enquete cursus informatica 1e bachelors oefeningen beter aansluiten bij project? Enquete cursus informatica 1e bachelors 216-217 Python (gem=1,86) Java (gem=1,7) 3 3 2 2 1 1 3 2 1-1 -2-3 3 2 1-1 -2-3 2 Combinatie python va (gem=1,6) 1 Hoe is de overgang python2va 1 1 3 2 1-1 -2-3 3

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

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2015. Parallel Systems: Introduction

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2015. Parallel Systems: Introduction Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2015 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic

Nadere informatie

Addendum bij hoofdstuk 5 Generieke implementatie van de zoekalgoritmen

Addendum bij hoofdstuk 5 Generieke implementatie van de zoekalgoritmen Addendum bij hoofdstuk 5 Generieke implementatie van de zoekalgoritmen De implementatie wordt kort besproken in 5.2.6 1. Programmatie Zoekalgoritme Definitie van boom: we hebben geen binaire boom met exact

Nadere informatie

Muziek. Muziek. Analoog rekenen. Hoofdstuk 1: Van analoog naar digitaal. Analoog. Digitaal. Analoog. Gebruik makend van fysische grootheden Cf Babbage

Muziek. Muziek. Analoog rekenen. Hoofdstuk 1: Van analoog naar digitaal. Analoog. Digitaal. Analoog. Gebruik makend van fysische grootheden Cf Babbage Analoog rekenen Gebruik makend van fysische grootheden Cf Babbage Analoge electronica http://www.chem.uoa.gr/applets/appletopamps/appl_opamps2.html Hoofdstuk : Van analoog naar digitaal De rekenlat of

Nadere informatie

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak); Vaknaam: Programmeren I (Java) - Tentamen Module: 2 Datum/Tijd: 17 mrt 2015 / 18.30 20:30 Richting: ICT Code: IC011 Docent: E. Lieuw Boeken en aantekeningen NIET toegestaan. Kladpapier is wel toegestaan.

Nadere informatie

Modelleren en Programmeren

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

Nadere 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

Waarmaken van Leibniz s droom

Waarmaken van Leibniz s droom Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais

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. Deel II&III: les 4. geheugen set, stacks & queues - interfaces. Jan Lemeire Informatica deel II&III februari mei 2015

Informatica. Deel II&III: les 4. geheugen set, stacks & queues - interfaces. Jan Lemeire Informatica deel II&III februari mei 2015 Informatica Deel II&III: les 4 geheugen set, stacks & queues - interfaces Jan Lemeire Informatica deel II&III februari mei 2015 Parallel Systems: Introduction Waarmaken van Leibniz s droom (9) Artificiële

Nadere informatie

Hoe werkt een rekenmachine?

Hoe werkt een rekenmachine? Hoe werkt een rekenmachine? Uit welke hardware-componenten bestaat een rekenmachine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachine I Constante getallen Instructies van het type

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 18 december 2015 Overerving (inheritance) Constructors Overriding Inheritance demo Exceptions Zelf exceptions veroorzaken Overerving (inheritance) 2-dimensionaal

Nadere informatie

De computer als processor

De computer als processor De computer als processor DE FYSIEKE COMPUTER Componenten van de computerconfiguratie Toetsenbord Muis Scanner Microfoon (Extern geheugen) Invoerapparaten Uitvoerapparaten Monitor Printer Plotter Luidspreker

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

Abstracte klassen & Interfaces

Abstracte klassen & Interfaces Abstracte klassen & Interfaces Overerving public class Vierhoek {... Vierhoek public class Rechthoek extends Vierhoek {... public class Ruit extends Vierhoek {... Rechthoek Ruit Elke rechthoek is een vierhoek.

Nadere informatie

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo) informatica hardware overzicht moederbord CPU RAM GPU architectuur (vwo) 1 moederbord basis van de computer componenten & aansluitingen chipset Northbridge (snel) Southbridge ("traag") bussen FSB/HTB moederbord

Nadere informatie

Informatica 2e semester

Informatica 2e semester Informatica Les 4 arrays encapsulatie - geheugen Jan Lemeire Informatica 2 e semester februari mei 2017 Vandaag 1. Arrays 2. Oefening 3. Algoritmes met arrays 4. Encapsulatie 5. Klasse-oefening 6. Deel

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

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

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

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

Waarmaken van Leibniz s droom

Waarmaken van Leibniz s droom Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais

Nadere informatie

computerarchitectuur antwoorden

computerarchitectuur antwoorden 2017 computerarchitectuur antwoorden F. Vonk versie 1 2-8-2017 inhoudsopgave hardware... - 3 - CPU... - 3 - bussen... - 4 - bridges... - 4 - RAM... - 4 - hardware architectuur... - 5 - Dit werk is gelicenseerd

Nadere informatie

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten

Nadere 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

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

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

Informatica. Deel II&III: les 2. Leibniz - erven - digitaal. Jan Lemeire Informatica deel II&III februari mei Parallel Systems: Introduction

Informatica. Deel II&III: les 2. Leibniz - erven - digitaal. Jan Lemeire Informatica deel II&III februari mei Parallel Systems: Introduction Informatica Deel II&III: les 2 Leibniz - erven - digitaal Jan Lemeire Informatica deel II&III februari mei 2015 Parallel Systems: Introduction Leibniz 1646 1716 Informatica II: les 2 Jan Lemeire Pag. 2

Nadere informatie

Informatica 2e semester

Informatica 2e semester Informatica 2 e semester: les 7 Slimme (deel II: hoofdstuk 5) versus intelligente (deel III: hoofdstuk 9) algoritmen Jan Lemeire Informatica 2 e semester februari mei 2018 1 Is er een machine die even

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (2)

De Arduino-microcontroller in de motorvoertuigentechniek (2) De Arduino-microcontroller in de motorvoertuigentechniek (2) E. Gernaat (ISBN 978-90-79302-11-6) 1 Procescomputer 1.1 Microprocessoren algemeen De informatie-verwerking zoals is behandeld, is vrijwel geheel

Nadere informatie

2 Algemene opbouw van een computersysteem

2 Algemene opbouw van een computersysteem Procescomputer E. Gernaat 1 Microprocessoren algemeen Informatie-verwerking zoals behandeld is momenteel vrijwel geheel overgenomen door microprocessoren. Wanneer we voortborduren op het idee van combinatorische

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

TENTAMEN Programmeren 1 VOORBEELDUITWERKING

TENTAMEN Programmeren 1 VOORBEELDUITWERKING TENTAMEN Programmeren 1 vakcode: 213500 datum: 10 juli 2004 tijd: 9:00-12:30 uur VOORBEELDUITWERKING Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Niño/Hosch, en van de handleiding

Nadere 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

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

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

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2) De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 9 december 2015 Foreach String arrays Boomstructuren Interfaces Ingebouwde datastructuren Quiz Foreach Foreach Speciale versie van for om iets voor alle elementen

Nadere informatie

Hoofdstuk 9. Hashing

Hoofdstuk 9. Hashing Hoofdstuk 9 Hashing Het zoeken in een verzameling van één object is in deze cursus al verschillende malen aan bod gekomen. In hoofdstuk 2 werd uitgelegd hoe men een object kan zoeken in een array die veel

Nadere informatie

Informatica 2e semester

Informatica 2e semester Informatica 2 e semester: les 7 Slimme (deel II: hoofdstuk 5) versus intelligente (deel III: hoofdstuk 9) algoritmen Jan Lemeire Informatica 2 e semester februari mei 2019 1 Is er een machine die even

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

Hoe werkt een computer precies?

Hoe werkt een computer precies? Hoe werkt een computer precies? Met steun van stichting Edict Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Overview Introductie SIM-PL Simulatietool voor werking computer

Nadere informatie

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014 von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014 Herhaling: Booleaanse algebra (B = {0,1},., +, ) Elke Booleaanse functie f: B n B m kan met., +, geschreven worden Met Gates (electronische

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

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015 Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/2014-2015 Computersysteem Een systeem dat rekenkundige operaties, data manipulaties en beslissingen kan uitvoeren, aan de hand

Nadere informatie

Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma

Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma 3 Vereiste kennis Dit boek richt zich op het leren programmeren door het oefenen met programmeercodes. Veel theorie komt in het begin niet aan de orde. Dat is een grote uitdaging want het is niet makkelijk

Nadere informatie

Programmeermethoden NA. Week 5: Functies (vervolg)

Programmeermethoden NA. Week 5: Functies (vervolg) Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Functies Vorige week bekeken we functies: def

Nadere informatie

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Pipeline processor One cycle machine Calculator File of registers Assembly

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

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

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

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

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

Programmeren in Java 3

Programmeren in Java 3 26 september 2007 Deze les korte herhaling vorige les Unified Modelling Language notatie van een class afleiding pointers abstracte classes polymorphisme dubieuze(?) constructies interfaces Meer over class

Nadere informatie

Informatica 2e semester

Informatica 2e semester Informatica 2 e semester: les 6 Slimme (deel II: hoofdstuk 5) versus intelligente (deel III: hoofdstuk 9) algoritmen Jan Lemeire Informatica 2 e semester februari mei 2017 1 Is er een machine die even

Nadere informatie

Programmeren 1 20 januari 2012 Prof. T. Schrijvers

Programmeren 1 20 januari 2012 Prof. T. Schrijvers Programmeren 1 20 januari 2012 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet

Nadere informatie

6,1. Samenvatting door een scholier 1809 woorden 28 oktober keer beoordeeld. Informatica

6,1. Samenvatting door een scholier 1809 woorden 28 oktober keer beoordeeld. Informatica Samenvatting door een scholier 1809 woorden 28 oktober 2005 6,1 16 keer beoordeeld Vak Methode Informatica Turing informatica samenvatting. hst3: algoritme:een beschrijving van stappen die gedaan moeten

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

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

Kwis (3) class X { public void a() { System.out.println("x"); public static void main(string[] args) { X x = new X();

Kwis (3) class X { public void a() { System.out.println(x); public static void main(string[] args) { X x = new X(); Kwis (3) class X { public void a() { System.out.println("x"); class Y extends X { public void a() { System.out.println("y"); class Z extends Y { public void a() { System.out.println("z"); public static

Nadere informatie

COMPUTERVAARDIGHEDEN EN PROGRAMMEREN

COMPUTERVAARDIGHEDEN EN PROGRAMMEREN COMPUTERVAARDIGHEDEN EN PROGRAMMEREN 3 e les Prof. Dr. Frank De Proft 12 oktober 2004 Tweede les : Inleiding Computerwetenschappen vs. computervaardigheden - Algoritmen 1 Derde les : Enkele basisbegrippen»

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

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

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

Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek

Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek VTI St.- Laurentius Neem eerst de tekst in het boek door, doe dit enkele keren en probeer uiteraard te onthouden wat je leest. Los nadien de

Nadere informatie

Stacks and queues. Introductie 45. Leerkern 45. Terugkoppeling 49. Uitwerking van de opgaven 49

Stacks and queues. Introductie 45. Leerkern 45. Terugkoppeling 49. Uitwerking van de opgaven 49 Stacks and queues Introductie 45 Leerkern 45 6.1 Stacks 45 6.2 Queues 47 6.3 Double-ended queues 48 Terugkoppeling 49 Uitwerking van de opgaven 49 Bijlage: Diagrammen belangrijkste interfaces en klassen

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

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

NAAM: Programmeren 1 Examen 21/01/2011

NAAM: Programmeren 1 Examen 21/01/2011 Programmeren 1 21 januari 2011 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet

Nadere informatie

Object-oriented programmeren met BlueJ en Visual Studio

Object-oriented programmeren met BlueJ en Visual Studio Object-oriented programmeren met BlueJ en Visual Studio HA-2265-03 Nascholing Katholiek Onderwijs Vlaanderen Bert Cauwenberg & Lieven Pauwels Werkgroep Handel 2017 Guimardstraat 1, 1040 Brussel Guimardstraat

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

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

Planning. 1. Mini College. 2. Introductiecursus Imperatief Programmeren. 3. Crash and Compile (vanaf 17:00 uur)

Planning. 1. Mini College. 2. Introductiecursus Imperatief Programmeren. 3. Crash and Compile (vanaf 17:00 uur) Planning 1. Mini College 2. Introductiecursus Imperatief Programmeren 3. Crash and Compile (vanaf 17:00 uur) Geschiedinis van de Codemonkeys imperatief programmeren voor beginners Geschiedenis van de Codemonkey

Nadere informatie

Tentamen Inleiding Programmeren (IN1608WI), 2 februari 2012, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Tentamen Inleiding Programmeren (IN1608WI), 2 februari 2012, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Tentamen Inleiding Programmeren (IN1608WI), 2 februari 2012, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Gesloten boek tentamen, bij dit tentamen mag je geen gebmik maken van

Nadere informatie

Ontwerp van Informatiesystemen

Ontwerp van Informatiesystemen 1ste bach HIB Ontwerp van Informatiesystemen Prof. Verelst Q www.quickprinter.be uickprinter Koningstraat 13 2000 Antwerpen 112 2,50 Online samenvattingen kopen via www.quickprintershop.be Table of Contents

Nadere informatie

Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief

Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief Herman Geuvers Radboud Universiteit Nijmegen Technische Universiteit Eindhoven 1 Helden van de wiskunde:

Nadere informatie

Module 3: Scratch programmeren: is het logisch of is het niet logisch?

Module 3: Scratch programmeren: is het logisch of is het niet logisch? Module 3: Scratch programmeren: is het logisch of is het niet logisch? Inhoudsopgave Module 3: Scratch programmeren: is het logisch of is het niet logisch?...1 Wat is een computerprogramma eigenlijk?...2

Nadere informatie

In Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen.

In Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen. Leerlijn programmeren In Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen. Deze leerlijn is opgebouwd aan de

Nadere informatie

Inleiding Software Engineering! Unit Testing, Contracten, Debugger! 13 Februari 2014!

Inleiding Software Engineering! Unit Testing, Contracten, Debugger! 13 Februari 2014! Inleiding Software Engineering Unit Testing, Contracten, Debugger 13 Februari 2014 Beknopte info over Unit Testing en Contracten kan je vinden op het einde van dit document. Eclipse beschikt over een handige

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