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

Maat: px
Weergave met pagina beginnen:

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

Transcriptie

1 Informatica 2 e semester: les 7 computerarchitectuur chips lineaire datastructuren Jan Lemeire Informatica 2 e semester februari mei 2016 Parallel Systems: Introduction

2 Vandaag 1. Deel III/4: computerarchitectuur 2. Stapel (hfst 3) 3. Wachtrij (hfst 3) 4. Gelinkte lijst (hfst 6) 5. Deel III/5: Productieproces

3 Institute for Advanced Studies, New Jersey, USA

4 Hoofdstuk 4: Computerarchitectuur Jan Lemeire Pag. 4 / 77

5 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) Jan Lemeire Pag. 5 / 77

6 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 7 warme persoonlijkheid en populariteit mocht hij er toch aan beginnen in één van de kelders. Jan Lemeire Pag. 6 / 77

7 Programmeren = draadjes versteken, oftewel de hardware veranderen Jan Lemeire Pag. 7 / 77

8 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 Jan Lemeire Pag. 8 / 77

9 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

10 De Von Neumann-architectuur Jan Lemeire Pag. 10 / 77

11 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 Jan Lemeire Pag. 11 / 77

12 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,... Jan Lemeire Pag. 12 / 77

13 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 Jan Lemeire Pag. 13 / 77

14 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. Jan Lemeire Pag. 14 / 77

15 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 gegevensgeheugen en plaatst de resultaten van de bewerkingen er terug in. Jan Lemeire Pag. 15 / 77

16 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): we springen achteruit in het programma om dit stukje code opnieuw uit te voeren (program counter wordt verminderd) If maakt het mogelijk dat een deel niet uitgevoerd wordt: als de conditie niet waar is springen we met de program counter vooruit om de code over te slaan. 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 instructieoperanden en het resultaat aan de ALU doorgegeven. De ALU leest de data uit het geheugen (adhv de opgegeven operandadressen), voert de berekening uit en schrijft het resultaat terug in het geheugen. Jan Lemeire Pag. 16 / 77

17 Voorbeeld: de machten van x Scanner scanner = new Scanner(System.in); System.out.print("Geef een getal:"); int x = scanner.nextint(); int m = x; int t = 0; do { System.out.println(m); m = m * x; t++; } while (m < 1000 && t < 20); Zoals we in hoofdstuk 6 gaan zien wordt deze javacode niet rechtsstreeks uitgevoed. Ze moet eerst in de taal van processor (machinetaal of assembler genoemd) omgezet worden. Zoals op de volgende slide Jan Lemeire Pag. 17 / 77

18 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. 18 / 77

19 Stap 1: laden van programma Jan Lemeire Pag. 19 / 77

20 Stap 2: lees toetsenbord 23 Jan Lemeire Pag. 20 / 77

21 Stap 3: initaliseer variabele Jan Lemeire Pag. 21 / 77

22 Stap 4: initaliseer variabele t Jan Lemeire Pag. 22 / 77

23 Stap 5: schrijf waarde Jan Lemeire Pag. 23 / 77

24 Stap 6: bereken product Jan Lemeire Pag. 24 / 77

25 Stap 7: verhoog teller Jan Lemeire Pag. 25 / 77

26 Stap 8: check condities Jan Lemeire Pag. 26 / 77

27 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. 27 / 77

28 Stapel Stack

29 Push Pop Pop Pop Push Push Push Pop p. 12 De stapel of stack Twee operaties: dingen opleggen en afnemen ORANGE BLUE YELLOW BLUE YELLOW BLUE YELLOW BLUE GREEN YELLOW BLUE YELLOW BLUE BLUE Fig.1.5. Last-in, first-out stack last-in, first-out (lifo) structuur Jan Lemeire Pag. 29 / 77

30 interface van stack Wat willen we er mee doen? Pop Push isempty isfull Headers van de methods (interface): void push(int element) int pop() boolean isempty() boolean isfull() Jan Lemeire Pag. 30 / 77

31 import java.nio.bufferoverflowexception; import java.nio.bufferunderflowexception; p. 13 public class Stack { int[] data; int pointer=0; // wijst naar het eerste vrije element public Stack(int capacity){ data = new int[capacity]; } public void push(int element){ if (pointer == data.length) // check of vol throw new BufferOverflowException(); data[pointer] = element; pointer++; } public int pop(){ if (pointer == 0) // check of leeg throw new BufferUnderflowException(); pointer--; return data[pointer]; } public boolean isempty(){ return pointer == 0; } public boolean isfull(){ return pointer == data.length; Jan Lemeire Pag. 31 / 77 }

32 Vraagjes Je zou ook een pointer kunnen bijhouden naar het bovenste element van de stack, waarbij je met -1 aanduid dat hij leeg is. Wat verandert er aan de code? Voeg een size() methode toe die aangeeft hoeveel elementen er op de stack zijn. Nu werkt ie enkel met integers. Hoe generiek maken, t.t.z. bruikbaar voor elk type? zie volgende datastructuur Jan Lemeire Pag. 32 / 77

33 Waarom niet gewoon een array gebruiken? 1. Code van stack komt overal in je programma terecht 2. Moeilijk om fouten met stack op te sporen 3. Je geeft niet aan wat je met de array wilt doen 4. Een collega-programmeur kan de array of pointer aanpassen Consistentie om zeep helpen Voorbeeld van het Encapsulatieprincipe Jan Lemeire Pag. 33 / 77

34 Je programma wordt dan:... int[] data = new int[capacity]; int pointer=0;... Stack stack = new Stack(3); if (pointer == data.length) throw new BufferOverflowException(); data[pointer] = element; stack.push(element); pointer++;... if (pointer == 0) throw new BufferUnderflowException(); pointer--; element = stack.pop(); element = data[pointer];... Jan Lemeire Pag. 34 / 77

35 Wachtrij Queue

36 p. 15 Wachtrij of Fifo-queue Fifo = First-in, first out Jan Lemeire Pag. 36 / 77

37 Internetknopen Zie deel III hoofdstuk 8 Switch: knooppunt Router: bepaalt ook route van pakketje Als queue vol: packetdrop Verlies van gegevens Moeten opnieuw verstuurd worden Jan Lemeire Pag. 37 / 77

38 Fifo-queue Basisoperaties: add() get() Jan Lemeire Pag. 38 / 77

39 Implementatie met array 2 pointers nodig eerste eerste eerste data data data laatste laatste laatste eerste eerste data data laatste laatste en... boolean voor te weten of vol/leeg Jan Lemeire Pag. 39 / 77

40 ublic class FIFOQueue<T>{ T[] data; int eerste=0; // pointer naar eerste element (als niet leeg) int laatste=0; // pointer naar de plaats voor het volgend element boolean full = false; // als queue vol is public FIFOQueue(int capacity){ data = (T[]) new Object[capacity]; } public void add(t waarde){ if (full) throw new BufferOverflowException(); data[laatste] = waarde; laatste++; if (laatste == data.length) laatste = 0; if (laatste == eerste) full = true; } public T get(){ if (isempty()) throw new BufferUnderflowException(); T waarde = data[eerste]; data[eerste] = null; eerste++; if (eerste == data.length) eerste = 0; if (full) Jan Lemeire Pag. 40 / 77 full = false; public boolean isempty(){ return!full && laatste == eerste; } public boolean isfull(){ return full; }

41 Gelinkte lijst Linked list

42 Jan Lemeire Pag. 42 / 77

43 p. 53 Linked List Flexibel toevoegen en verwijderen J A V A Jan Lemeire Pag. 43 / 77

44 p. 55 Geheugengebruik Array J A V A Linked List J A V A Geordend in t begin Door elkaar na enkele veranderingen J A V A 8 N J A V A 8 N A B Jan Lemeire Pag. 44 / 77

45 public class LinkedList <T> { class Link<T>{ T data; Link<T> next; } Link(T data){ this.data = data; this.next = null; } Link(T data, Link<T> next){ this.data = data; this.next = next; } } Link<T> first; public LinkedList(){ first = null; } Jan Lemeire Pag. 45 / 77

46 Java s LinkedList Constructor Summary LinkedList() Constructs an empty list. LinkedList(Collection<? extends E> c) Constructs a list containing the elements of the specified collection, in the order they are returned by the collection's iterator. Method Summary boolean add(e e) Appends the specified element to the end of this list. Jan Lemeire Pag. 46 / 77

47 Toevoegen van een bepaald element aan het einde public void append(t data){ Link<T> el = new Link<T>(data); if (first == null){ first = el; } else { // zoek laatste link Link<T> last = first; while (last.next!= null) last = last.next; last.next = el; } } Jan Lemeire Pag. 47 / 77

48 Printen van lijst public String tostring(){ Link<T> link = first; String str = "["; boolean eerste = true; while (link!= null){ if (eerste) eerste = false; else str+=", "; str += link.data; link = link.next; // ga naar volgende } str+="]"; return str; } Jan Lemeire Pag. 48 / 77

49 Vinden van een bepaald element public T get(int index){ int i=0; Link<T> link = first; while (link!= null && i < index){ link = link.next; i++; } if (link == null) return null; else return link.data; } Nadeel: heel de lijst moet doorlopen worden Bij arrays kan je onmiddelijk naar de index springen! Jan Lemeire Pag. 49 / 77

50 Vinden van het i de element Niet in cursus Array = beginvakje + i Linked List J A V A J A V A Je bent niet zeker van waar het zich bevindt J A V A 8 N J A V A 8 N A B Jan Lemeire Pag. 50 / 77

51 Inlassen van een element p. 59 public void insert(t data, int index){ Link<T> newlink = new Link<T>(data); if (index == 0){ // wordt eerste element newlink.next = first; first = newlink; } else { int i=0; Link<T> link = first; while (link!= null && i < index - 1){ link = link.next; i++; } if (link == null) throw new IllegalArgumentException("Insert at "+index+" impossible; list has only "+(i+1)+" elements."); newlink.next = link.next; link.next = newlink; } } Jan Lemeire Pag. 51 / 77

52 Inlassen van een element Jan Lemeire Pag. 52 / 77

53 Verwijderen van een element public void remove(int index){ if (index == 0){ if (first == null) throw new IllegalArgumentException("Removal of first element impossible; list has no elements."); first = first.next; } else { int i=0; Link<T> link = first; while (link!= null && i < index - 1){ link = link.next; i++; } if (link == null link.next == null) throw new IllegalArgumentException("Removal of element "+index+" impossible; list has only "+(i+1)+" elements."); link.next = link.next.next; } } Jan Lemeire Pag. 53 / 77

54 Verwijderen van een element link first J A V N A Jan Lemeire Pag. 54 / 77

55 Dubbele gelinkte lijst DoubleLinkedList first current last J A V A Voordelen: einde gemakkelijk te vinden houdt huidige positie bij Toepassing: word Jan Lemeire Pag. 55 / 77

56 Hoofdstuk 5: Het productieproces Jan Lemeire Pag. 56 / 77

57

58 Optische computer? Maar Ook aan de VUB wordt er onderzoek gedaan naar een optische computer. Ik zie echter twee grote problemen waardoor deze waarschijnlijk nooit op de markt zal komen. Jan Lemeire Pag. 58 / 77

59 Probleem 1: Electrische computer heeft al een hele ontwikkelingsproces doorgemaakt Een alternatief moet wedijveren met de huidige processorkracht, de ontwikkeling van deze werd gefinancierd door de verkoop van minder krachtige processoren. Een alternatief heeft deze mogelijkheid niet Jan Lemeire Pag. 59 / 77

60 Aanverwant thema: de beste technologie is niet de beste optie voor de markt De eerste iphone of ipad die Apple op de markt bracht was niet het beste wat Apple te bieden had, maar ze was wel goed genoeg om de markt te veroveren. Zo kon Apple later met een verbeterde versie uitpakken (bvb betere camera) en weer langs de kassa passeren Tip: wacht minstens tot 2 e versie

61 Probleem 2 Geen goedkoop, eenvoudig productieproces lenzen zijn foutgevoelig, niet te miniaturiseren Electrische computer heeft dat wel, gebruik makend van micro-electronica Jan Lemeire Pag. 61 / 77

62 Wel: communicatienetwerken gaan via licht Glasvezel The world s cable map: Ook voor communicatie in computersystemen Jan Lemeire Pag. 62 / 77

63 De doorbraak van de computertechnologie Von Neuman met één van de eerste computers. Rechts de achterkant met de vacuümbuizen. De vacuümbuizen worden vervangen door chips Jan Lemeire Pag. 63 / 77

64 Informatica II: les 4 Componenten op een bordje met ingebakken connectielijnen

65 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 Elektronica: (2) relais -schakeling, (3)geheugen (1) Digitaal & binair (0) Het idee Informatica deel III: technologie, historiek en economische aspecten

66 Alle componenten op een chip In plaats van losse componenten die geconnecteerd moeten worden, wordt er 1 plaatje gemaakt waarvan delen gemuteerd zijn tot geleiders of halfgeleiders. Zo worden er weerstanden, capaciteiten en transistoren ingebakken in het plaatje alsook de connectoren die de componenten connecteren. Er wordt gestart met een wafer van silicium (element Si atoomnummer 14). Vervolgens wordt er adhv mallen geëtst in het wafer en worden er andere elementen geïnjecteerd (dopering genoemd) zodat een geleider of halfgeleider ontstaat. Jan Lemeire Pag. 66 / 77

67 Zand bevat het wonderlijke Silicium, de basis van de chip Jan Lemeire Pag. 67 / 77

68 Silicium- wafer Etsen en doperen met geleidend en halfgeleidend materiaal Jan Lemeire Pag. 68 / 77

69 Etsen van wafer adhv mal Eenvoudig productieproces te miniaturiseren tot 10 nanometer Jan Lemeire Pag. 69 / 77

70 Een oudtje : de Intel 4004 microprocessor (1971) NMOS-technologie 1000 transistors 1 MHz operation 1000 transistoren op 1MHz klokfrekwentie

71 Op 40 jaar van tot transistoren op 20x20mm Jan Lemeire Pag. 71 / 77

72 Moederbord Jan Lemeire Pag. 72 / 77

73 Moederbord Jan Lemeire Pag. 73 / 77

74 Zelf toevoegen van RAMgeheugen Jan Lemeire Pag. 74 / 77

75 Chip design Het aanmaken van een chip gebeurt volautomatisch vertrekkende van je ontwerp van het electronisch circuit. Voor het ontwerp bestaat modern software. Jan Lemeire Pag. 75 / 77

76 Miniaturisatie Breedte van de geleidende lijntjes op de chip

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. Deel II: les 5. productieproces & stacks/queues/linked lists. Jan Lemeire Informatica deel II februari mei 2014

Informatica. Deel II: les 5. productieproces & stacks/queues/linked lists. Jan Lemeire Informatica deel II februari mei 2014 Informatica Deel II: les 5 productieproces & stacks/queues/linked lists Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Hoofdstuk 6: Het productieproces Jan Lemeire Pag.

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

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

Informatica. Deel II & III: les 5. Von Neumann, basis- & slimme algoritmen. Jan Lemeire Informatica deel II & III februari mei 2015 Informatica Deel II & III: les 5 Von Neumann, basis- & slimme algoritmen Jan Lemeire Informatica deel II & III februari mei 2015 Parallel Systems: Introduction Institute for Advanced Studies, New Jersey,

Nadere informatie

Informatica. Deel II&III: les 7. AI linked lists - chips. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Informatica. Deel II&III: les 7. AI linked lists - chips. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction Informatica Deel II&III: les 7 AI linked lists - chips Jan Lemeire Informatica deel II februari mei 2015 Parallel Systems: Introduction Hoofdstuk 9: Artificiële intelligentie Jan Lemeire Pag. 2 / 77 Waarmaken

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

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

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

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 2e semester

Informatica 2e semester Informatica 2 e semester: les 8 Software & binaire bomen Jan Lemeire Informatica 2 e semester februari mei 2018 Informatica 2e semester: HOC 8 Vandaag 1. Overzicht datastructuren 2. Binaire bomen 3. Chips

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

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

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

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

Een gelinkte lijst in C#

Een gelinkte lijst in C# Een gelinkte lijst in C# In deze tutorial ga demonstreren hoe je een gelinkte lijst kan opstellen in C#. We gaan een klasse schrijven, die een gelijkaardige functionaliteit heeft als een ArrayList, namelijk

Nadere informatie

Computerarchitectuur en netwerken. Memory management Assembler programmering

Computerarchitectuur en netwerken. Memory management Assembler programmering Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 10 september 2018 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management

Nadere informatie

Informatica. Deel II: les 3. Electronica Arrays. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Informatica. Deel II: les 3. Electronica Arrays. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction Informatica Deel II: les 3 Electronica Arrays Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Leibniz droom De Calculus ratiocinator Een logisch denkend apparaat 1646 1716

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

Stacks and queues. Hoofdstuk 6

Stacks and queues. Hoofdstuk 6 Hoofdstuk 6 Stacks and queues I N T R O D U C T I E In dit hoofdstuk worden drie datastructuren stack, queue en deque behandeld. Om deze datastructuren te implementeren, worden onder andere arrays en linked

Nadere informatie

Elementary Data Structures 3

Elementary Data Structures 3 Elementary Data Structures 3 Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 29 september 2014 ODE/FHTBM Elementary Data Structures 3 29 september 2014 1/14 Meer

Nadere informatie

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

Lineaire data structuren. Doorlopen van een lijst

Lineaire data structuren. Doorlopen van een lijst Lineaire data structuren array: vast aantal data items die aaneensluitend gestockeerd zijn de elementen zijn bereikbaar via een index lijst: een aantal individuele elementen die met elkaar gelinkt zijn

Nadere informatie

Theorie Informatica. Inhoud: 1. Systeem 2. Programmeren 3. Informatiesystemen 4. Internet 5. Besturingssystemen 6. Theorie bij praktijk

Theorie Informatica. Inhoud: 1. Systeem 2. Programmeren 3. Informatiesystemen 4. Internet 5. Besturingssystemen 6. Theorie bij praktijk Theorie Informatica Inhoud: 1. Systeem 2. Programmeren 3. Informatiesystemen 4. Internet 5. Besturingssystemen 6. Theorie bij praktijk 1 1. Systeem CPU = Central Processor Unit Het voert alle processen

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

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int

Nadere informatie

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

Inleiding Programmeren 2

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

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

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

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

Nadere informatie

Datastructuren: stapels, rijen en binaire bomen

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

Nadere informatie

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

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

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. Schrijf je naam onderaan op elk blad. 2.

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

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

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

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

Computerarchitectuur en netwerken. Memory management Assembler programmering

Computerarchitectuur en netwerken. Memory management Assembler programmering Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 12 september 2016 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management

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

Informatica 2e semester

Informatica 2e semester Informatica Les 3 Elektronica Interfaces - Overschrijven Jan Lemeire Informatica 2 e semester februari mei 2018 Informatica 2e semester: HOC 3 Vandaag 1. Deel III: hoofdstuk 1 binair rekenen 2. Deel III:

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

Tentamen Computersystemen

Tentamen Computersystemen Tentamen Computersystemen baicosy6 2e jaar bachelor AI, 2e semester 21 oktober 213, 9u-11u OMHP D.9 vraag 1 Van een Single Cycle Harvard machine hebben de componenten de volgende propagation delay time:

Nadere informatie

Java virtuele machine JVM

Java virtuele machine JVM Implementatie Java Java virtuele machine JVM Java programma vertaald naar byte code instructies Byte code instructies uitgevoerd door JVM JVM is processor architectuur kan in principe in hardware worden

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

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

Dergelijke functionaliteit kunnen we zelf ook aan eigen code toevoegen.

Dergelijke functionaliteit kunnen we zelf ook aan eigen code toevoegen. Indexers in C#.Net In deze tutorial ga ik het hebben over indexers. Bij het gebruik van bijvoorbeeld een ArrayList object, kan je de gegevens uit deze collectie opvragen als ware het een array. // ArrayList

Nadere 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

7,3. Samenvatting door een scholier 1961 woorden 16 januari keer beoordeeld. Informatica Informatica actief

7,3. Samenvatting door een scholier 1961 woorden 16 januari keer beoordeeld. Informatica Informatica actief Samenvatting door een scholier 1961 woorden 16 januari 2009 7,3 126 keer beoordeeld Vak Methode Informatica Informatica actief Hoofdstuk 3 Gespecialiseerde computers: kun je alleen voor een bepaalde functie

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

public boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber

public boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden

Nadere informatie

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011 15 november 2011 Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree

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

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

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

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

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

Java Programma structuur

Java Programma structuur Java Programma structuur public class Bla // div. statements public static void main(string argv[]) // meer spul Voortgezet Prog. voor KI, week 4:11 november 2002 1 Lijsten Voorbeelden 2, 3, 5, 7, 13 Jan,

Nadere informatie

Tentamen in2705 Software Engineering

Tentamen in2705 Software Engineering Tentamen in2705 Software Engineering Voorbeeld (bijna tweemaal te groot) U mag meenemen naar dit tentamen: Lethbridge, afdrukken PPT slides, afdrukken handouts. 1. De TU wil een nieuw systeem ontwikkelen

Nadere informatie

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

computerarchitectuur F. Vonk versie

computerarchitectuur F. Vonk versie 2017 computerarchitectuur F. Vonk versie 1 2-8-2017 inhoudsopgave 1. inleiding... - 3-2. hardware... - 4-3. moederbord... - 5-4. CPU... - 7-5. bussen... - 12-6. bridges... - 15-7. RAM... - 16-8. hardware

Nadere informatie

Cursus Programmeren en Dataverwerking.

Cursus Programmeren en Dataverwerking. Cursus Programmeren en Dataverwerking http://hay.github.io/codecourse Vanavond (18.00-21.30) Introductierondje Algemene introductie (60-90m) Iets over bits en bytes Iets over programmeurs en programmeertalen

Nadere informatie

Datastructuren en algoritmen

Datastructuren en algoritmen Datastructuren en algoritmen Doelstelling Datastructures + algorithms = programs Boek van Niklaus Wirth: bedenker Pascal en Modula Datastructuur: structuur om informatie op te slaan Algoritme: voorschrift

Nadere informatie

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

Verslag: Computer. Naam: Tyrone Ste Luce. Klas: M4B

Verslag: Computer. Naam: Tyrone Ste Luce. Klas: M4B Verslag: Computer Naam: Tyrone Ste Luce Klas: M4B Inhoud 1. Inleiding 2. Binaire taal 3. Besturingssysteem 4. Hardware 5. Cmos en Bios 6. De processor 7. Internet 1. Inleiding Wanneer is de computer uitgevonden?

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

BEGINNER JAVA Inhoudsopgave

BEGINNER JAVA Inhoudsopgave Inhoudsopgave 6 Configuratie Hallo wereld! Praten met de gebruiker Munt opgooien Voorwaarden Lussen......6 Configuratie Met deze Sushi kaarten ga je een simpel spel maken met één van de meest populaire

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

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

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

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

Nadere informatie

Javascript oefenblad 1

Javascript oefenblad 1 Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de

Nadere informatie

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

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

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

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

Nadere informatie

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

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

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

-Een stukje geschiedenis van de PC (personal computer)

-Een stukje geschiedenis van de PC (personal computer) -Een stukje geschiedenis van de PC (personal computer) De pc is bedacht in 1833 Door gebrek aan onderdelen kwam de eerst werkende PC 100 jaar later Gewicht: 35 ton (35.000 kilo!) en kamervullend. Zie de

Nadere informatie

int getaantalpassagiers{): void setaantalpassagiers(int aantalpassagiers);

int getaantalpassagiers{): void setaantalpassagiers(int aantalpassagiers); bestand voertuig.h biz. 1 van 2 #ifndef VOERTUIG H #define VOERTUIG H #include using std::string; class Voertuig { public: Voertuig(); Voertuig(const string& inschrijvingsnumrner, const string&

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord December 17, 2018 Vandaag Naar aanleiding van de opdrachten Zelle hoofdstuk 11 Boolean variabelen: niet checken met == Fout: if clicked == True : gohome () Goed:

Nadere informatie

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Scope van variabelen {3.9} Class ontwerpen en maken,

Nadere informatie

Een.NET-besturingssysteemtoolkit. Discovering Cosmos. Sijmen J. Mulder

Een.NET-besturingssysteemtoolkit. Discovering Cosmos. Sijmen J. Mulder Een.NET-besturingssysteemtoolkit Discovering Cosmos Sijmen J. Mulder Agenda Boek 1 Cosmos: a very short introduction Boek 2 Modern Operating Systems Pauze Boek 3 The Design and Implementation of the Cosmos

Nadere informatie

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd:

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd: SAMENVATTING HOOFDSTUK 1 Een computersysteem De twee meest gebruikte modellen computers zijn: * Desktop * Laptop Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd: Systeemkast Beeldscherm

Nadere informatie

scc = b) CD AB

scc = b) CD AB Computerarchitectuur en -organisatie (213030) Dinsdag 21 januari 2040, 13.30 17.00 uur 7 bladzijden met 8 opgaven 4 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam,

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

Jörg R. Hörandel Afdeling Sterrenkunde http://particle.astro.ru.nl/goto.html?prog1516

Jörg R. Hörandel Afdeling Sterrenkunde http://particle.astro.ru.nl/goto.html?prog1516 Jörg R. Hörandel Afdeling Sterrenkunde http://particle.astro.ru.nl/goto.html?prog1516 1 Jörg R. Hörandel Afdeling Sterrenkunde http://particle.astro.ru.nl/goto.html?prog1516 2 wiskunde om 8:45 in HG00.023

Nadere informatie

17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies

17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies 17 Operaties op bits In hoofdstuk 1 is gezegd dat C oorspronkelijk bedoeld was als systeemprogrammeertaal om het besturingssysteem UNIX te implementeren. Bij dit soort toepassingen komt het voor dat afzonderlijke

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

Oefeningen Interpretatie I Reeks 6 : Registermachines

Oefeningen Interpretatie I Reeks 6 : Registermachines Oefeningen Interpretatie I Reeks 6 : Registermachines Deze oefeningenreeks behandelt het beschrijven van computationele processen aan de hand van registermachineprogrammaʼs. Registermachines manipuleren

Nadere informatie

Theorie Informatica. Inhoud: 1. Systeem 2. Programmeren 3. Informatiesystemen 4. Internet 5. Besturingssystemen 6. Theorie bij praktijk

Theorie Informatica. Inhoud: 1. Systeem 2. Programmeren 3. Informatiesystemen 4. Internet 5. Besturingssystemen 6. Theorie bij praktijk Theorie Informatica Inhoud: 1. Systeem 2. Programmeren 3. Informatiesystemen 4. Internet 5. Besturingssystemen 6. Theorie bij praktijk 1 1. Systeem CPU = Central Processor Unit Het voert alle processen

Nadere informatie

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

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

Nadere informatie

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

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

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie www.arduino.cc Arduino en DDS DDS chips DDS = Direct Digital (frequency) Synthesis Output = sinusvormig signaal Maximum frequentie = ½ klokfrequentie Frequentie bepaald door tuning word Grootste fabrikant:

Nadere informatie