MMI. The Digital World 4. Peter van Kranenburg

Maat: px
Weergave met pagina beginnen:

Download "MMI. The Digital World 4. Peter van Kranenburg"

Transcriptie

1 MMI The Digital World 4 Peter van Kranenburg

2 Intro Vandaag: Terugblik vorige week Leren programmeren Algoritmes

3 Terugblik Hogere-orde programmeertalen maken het schrijven van code eenvoudiger. Je hoeft vrijwel nooit assemblercode te schrijven. De eenvoud is echter betrekkelijk: een bug zit in een klein hoekje. een omvangrijke hoeveelheid code wordt al snel onoverzichtelijk. Veel functionaliteit is al geïmplementeerd en beschikbaar. Het besturingssysteem verzorgt (o.a.) het aansturen van de hardware.

4

5 Leren Programmeren Een programmeertaal heeft: 1. syntax : de structuur van wat uitgedrukt wordt. 2. semantiek : de betekenis van wat uitgedrukt wordt. 3. Lexicon : de woordenschat Syntax is gedefinieerd door een verzameling productieregels. De set regels wordt een grammatica genoemd.

6 Leren Programmeren: grammatica Een (contextvrije) grammatica wordt gedefinieerd door: Een set eindsymbolen Een set tussensymbolen Een set productieregels met de vorm NTS ts, waarbij NTS : tussensymbool ts : string met eindsymbool en tussensymbolen Een startsymbool (één van de tussensymbolen)

7 Leren Programmeren: grammatica NTS ts Voorbeeld van een grammatica met twee regels: Eindsymbolen: a en b Tussensymbolen: S S Startsymbool: S regel 2 Productieregels: 1. S a bs regel 2 2. S bs bbs bba is een geldige expressie in deze taal. bbbba ook bba regel 1 syntaxboom parse tree bab niet

8 Leren Programmeren: grammatica NTS ts Voorbeeld: Eindsymbolen: e, j, 3 Tussensymbolen: T Startsymbool: T Productieregels: 1. T etj 2. T jt 3. T 3 T jt jetj jejtj jej3j regel 2 regel 1 regel 2 regel 3 Een van de niet-eindsymbolen is het startsymbool. Deze representeert de gehele expressie. In dit geval is het T.

9 Leren Programmeren: grammatica NTS ts Voorbeeld: Eindsymbolen: 3, 5, 8 Tussensymbolen: S, A, B Startsymbool: S Productieregels: 1. S SS 3. S BA 4. B 3A 5. A 5 6. A is een geldige expressie in deze taal.

10 Leren Programmeren: grammatica Voorbeeld: getallen in JavaScript. Uit de standaard (iets andere notatie):

11 Leren Programmeren: grammatica Getallen in JavaScript (vervolg).

12 Leren Programmeren: grammatica Voorbeeld: 3.48e10 ( = 3,48 x = )

13 Leren Programmeren: grammatica Voorbeeld: 3.48e10

14 Leren Programmeren: grammatica Voorbeeld: 3.48e10

15 Leren Programmeren: grammatica Voorbeeld: 3.48e10

16 Leren Programmeren: grammatica Voorbeeld: 3.48e10

17 Leren Programmeren: grammatica Voorbeeld: 3.48e10

18 Leren Programmeren: grammatica Voorbeeld: 3.48e10

19 Leren Programmeren: grammatica Voorbeeld: 3.48e10

20 Leren Programmeren: grammatica Voorbeeld: 3.48e10

21 Leren Programmeren: grammatica Voorbeeld: 3.48e10

22 Leren Programmeren: grammatica Voorbeeld: 3.48e10

23 Leren Programmeren: grammatica Voorbeeld: 3.48e10

24 Leren Programmeren: grammatica Voorbeeld: 3.48e10

25 Leren Programmeren: grammatica Voorbeeld: 3.48e10

26 Leren Programmeren: grammatica Voorbeeld: 3.48e10

27 Leren Programmeren: grammatica Voorbeeld: 3.48e10

28 Leren Programmeren: grammatica De syntax van een programmeertaal wordt geheel en ondubbelzinnig vastgelegd door een dergelijke grammatica. Zie: ST/Ecma-262.pdf voor de grammatica van JavaScript. (De standaard heet officiëel ECMAScript).

29 Leren Programmeren: Semantiek Semantiek: De betekenis van de expressies. Voorbeeld: wederom getallen in de JavaScript standaard:

30

31

32

33 Leren Programmeren Een compiler gebruikt de grammatica om de programmeercode te ontleden in elementen. Vervolgens wordt de betekenis van de elementen uitgevoerd. Daar moet de programmeur van de compiler voor zorgen.

34

35 Leren Programmeren: JavaScript JavaScript wordt uitgevoerd door een webbrowser. Een JavaScript-programma wordt dus ingebed in een web-pagina. Voorbeeld: <html> <body> <script> alert( Hello, world ); </script> </body> <html> HTML JavaScript HTML

36 Leren Programmeren: JavaScript <html> <body> <script> alert( Hello, world ); </script> </body> <html> Sla deze code op in een tekstbestand met de extensie.html Open het bestand in een browser. Of gebruik een online tool. Bijvoorbeeld:

37 Leren Programmeren: JavaScript <html> <body> <script> alert( Hello, world ); </script> </body> <html> Roept functie alert() aan.

38 Leren Programmeren: JavaScript <html> <body> <script> alert( Hello, world ); </script> </body> <html>

39 Leren Programmeren: JavaScript var username; username = prompt("what s your name?"); alert("hello, " + username); 3 statements statement: een uitvoerbare instructie

40 Leren Programmeren: JavaScript var username; username = prompt("what s your name?"); alert("hello, " + username); Declareert een variabele (label voor een geheugenplaats). Declareren: Er wordt een geheugenlocatie aangevraagd om iets op te slaan. Het is nog niet duidelijk wat er opgeslagen gaat worden. Het is zelfs niet duidelijk wat voor soort data er opgeslagen gaat worden (getal, tekst, lijst, ). Wel krijgt de locatie een naam, in dit geval: username.

41 Leren Programmeren: JavaScript Variabelen kunnen verschillende soorten data bevatten: var x = 3; getal var x = 3.14; getal var x = "Hello, world!"; string (tekst) var x = "3"; string (tekst) var x = ["Saab", "Volvo", "BMW"]; lijst

42 Leren Programmeren: JavaScript var username; username = prompt("what s your name?"); alert("hello, " + username); Roept functie prompt() aan.

43 Leren Programmeren: JavaScript var username; username = prompt("what s your name?"); alert("hello, " + username); Roept functie prompt() aan.

44 Leren Programmeren: JavaScript Toekenning var username; username = prompt("what s your name?"); alert("hello, " + username); Roept functie prompt() aan. Hierna bevat de variabele username de tekst die de gebruiker heeft ingevoerd.

45 Leren Programmeren: JavaScript var username; username = prompt("what s your name?"); alert("hello, " + username); Roept functie alert() aan.

46 Leren Programmeren: JavaScript "Hello, " + username Als de operator + wordt gebruikt voor tekst-strings, krijgt deze de betekenis: aaneenschakelen. "Hello, " + "John" "Hello, John" "1"+"2"+"3"+"4" "1234"

47 Leren Programmeren: JavaScript Program flow Conditionals: ALS DAN ANDERS var b = 3; if (b > 0) alert("groter dan nul"); Conditional: Als b groter dan nu, dan alert

48 Leren Programmeren: JavaScript Program flow Conditionals: ALS DAN ANDERS if ( condition ) block else block block : { statement1; statement2; statement n; }

49 Leren Programmeren: JavaScript Program flow if ( condition ) block; else block; Conditionals: ALS DAN ANDERS var b = parseint(prompt("geef een getal")); if (b > 0) alert("groter dan nul"); else alert("kleiner of gelijk aan nul");

50 Leren Programmeren: JavaScript var b = parseint(prompt("geef een getal")); Vraag gebruiker een getal (tekst) Maak er een getal van Sla het resultaat op in variabele b

51 Leren Programmeren: JavaScript Program flow if ( condition ) block; else block; Conditionals: ALS DAN ANDERS var b = parseint(prompt("geef een getal")); if (b > 0) alert("groter dan nul"); else alert("kleiner of gelijk aan nul");

52 Leren Programmeren: JavaScript Loop (lus): statements een aantal keer herhalen. var n = parseint(prompt("geef een getal")); var res = 1; var input = n; while ( n > 0 ) { res = res * n; Lus: Zolang n groter is dan nul, doe {.} n = n - 1; } alert ( input + "! is " + res);

53 Leren Programmeren: JavaScript Functie: stukje code met een naam. function fact(n) { var res = 1; while ( n > 0 ) { res = res * n; n = n - 1; } return res; }

54 Leren Programmeren: JavaScript Functie: stukje code met een naam. function fact(n) { } Naam Uit te voeren opdrachten Invoer: 1 variabele n

55 Leren Programmeren: JavaScript Functie: stukje code met een naam. function fact(n) { var res = 1; while ( n > 0 ) { res = res * n; n = n - 1; } return res; } De functie geeft een waarde terug.

56 Leren Programmeren: JavaScript Functie: stukje code met een naam. De functie fact() kan nu gebruikt worden. Bijvoorbeeld: var i = 10; while ( i > 0 ) { var f = fact(i); alert(i + "! is " + f); i = i - 1; }

57 Leren Programmeren: JavaScript In Javascript is witruimte (spaties, tabs, regeleinden) optioneel en betekenisloos. We gebruiken dit alleen voor de leesbaarheid. function fact(n) { var res = 1; while ( n > 0 ) { res = res * n; n = n - 1; } return res; } Doet hetzelfde als function fact(n){var res=1;while(n>0){res=res*n;n=n- 1;}return res;}

58

59 Algoritmes INVOER Algoritme (Procedure) UITVOER Algoritme: Een procedure/stappenplan om iets uit te rekenen. Neemt invoer Genereert uitvoer Bestaat uit stappenplan voor berekening Heeft geheugen ter beschikking voor invoer, uitvoer en tussenresultaten

60 Algorithms INVOER Algoritme (Procedure) UITVOER Kernighan (p.56): Careful, precise, unambiguous, sequence of steps. Each step is expressed in basic operations whose meaning is completely specified. Guaranteed to compute a result correctly. No ambiguity about what anything means. The nature of the input (and output) data is given. All possible situations are covered: the algorithm never encounters a situation where it doesn t know what to do next. Has to stop eventually.

61 Algoritmes Voorbeeld: Maximum van een lijst getallen. INVOER Lijst getallen Algoritme (Procedure) UITVOER Grootste getal 1, 2, 3 5, 8, 3, 4, 1 0, 5, 0,

62 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Hoe doe ik dit stap voor stap? ALGORITME voor lijst met één getal {a}: 1. max = a 2. return max

63 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Hoe doe ik dit stap voor stap? ALGORITME voor lijst met twee getallen {a, b}: 1. max = a 2. if b > max: max = b 3. return max

64 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Hoe doe ik dit stap voor stap? ALGORITME voor lijst met drie getallen {a, b, c}: 1. max = a 2. if b > max: max = b 3. if c > max: max = c 4. return max

65 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Hoe doe ik dit stap voor stap? ALGORITME voor lijst met vier getallen {a, b, c, d}: 1. max = a 2. if b > max: max = b 3. if c > max: max = c 4. if d > max: max = d 5. return max

66 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Hoe doe ik dit stap voor stap? ALGORITME voor n getallen {x 1, x 2,, x n }: 1. max = x 1 2. for t in {x 2, x 3,, x n }: 3. if t > max : max = t 4. return max Pseudocode

67 Algoritmes Voorbeeld: Maximum van een lijst getallen. Implementatie in JavaScript: function grootste(lijst) { max = lijst[0]; for ( i = 1; i < lijst.length; i = i + 1) { if ( lijst[i] > max ) max = lijst[i]; } return max; }

68 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Hoeveel stappen heb ik eigenlijk nodig?

69 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Hoeveel stappen heb ik eigenlijk nodig? ALGORITME voor lijst met één getal {a}: 1. max = a 1 stap 2. return max

70 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Hoeveel stappen heb ik eigenlijk nodig? ALGORITME voor lijst met twee getallen {a, b}: 1. max = a 2 stappen 2. if b > max: max = b 3. return max

71 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Hoeveel stappen heb ik eigenlijk nodig? ALGORITME voor lijst met drie getallen {a, b, c}: 1. max = a 2. if b > max: max = b 3 stappen 3. if c > max: max = c 4. return max

72 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Hoeveel stappen heb ik eigenlijk nodig? ALGORITME voor lijst met vier getallen {a, b, c, d}: 1. max = a 2. if b > max: max = b 3. if c > max: max = c 4 stappen 4. if d > max: max = d 5. return max

73 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Hoeveel stappen heb ik eigenlijk nodig? ALGORITME voor n getallen {x 1, x 2,, x n }: 1. max = x 1 2. for t in {x 2, x 3,, x n }: 3. if t > max : max = t 4. return max n stappen

74 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Wat is de verhouding tussen n en het aantal stappen? Uiterst belangrijke vraag!

75 Algoritmes Voorbeeld: Maximum van een lijst getallen. VRAAG: Wat is de verhouding tussen n en het aantal stappen? Aantal stappen om max van n getallen te vinden = n Lineaire verhouding

76 Algoritmes complexiteit: de verhouding tussen n en het aantal benodigde stappen. Herinner: n is het aantal elementen in de invoer. Verschillende soorten verhoudingen: De factor die gaat overheersen als n heel groot wordt (-> oneindig) ORDE VAN GROOTTE van het aantal benodigde stappen Constant: a (a is een constante) Logaritmisch log(n) Lineair: n Polynomiaal: Exponentieel: n a a n Factoriaal: n!

77 Algoritmes complexiteit: de verhouding tussen n en de ordegrootte van het aantal benodigde stappen. Bijvoorbeeld als a=2: Constant: Logaritmisch Lineair: Polynomiaal: Exponentieel: Factoriaal: Altijd 2 stappen n 2 keer zo groot -> 1 stap erbij n 4 keer zo groot -> 2 stappen erbij n 2 keer zo groot -> aantal stappen 2 keer zo groot n 3 keer zo groot -> aantal stappen 3 keer zo groot n 2 keer zo groot -> aantal stappen 4 keer zo groot n 3 keer zo groot -> aantal stappen 9 keer zo groot 1 element erbij -> aantal stappen 2 keer zo groot 2 elementen erbij -> aantal stappen 4 keer zo groot 1 element erbij -> aantal stappen n keer zo groot 2 elementen erbij -> aantal stappen n*(n-1) keer zo groot

78 Algoritmes Terminologie: Polynomiaal met a=2 : Kwadratisch (n 2 ) Polynomiaal met a=3 : Kubisch (n 3 )

79 Algoritmes Voorbeeld kwadratisch algoritme: selection sort Doel: een lijst met n getallen sorteren. Idee: Zoek steeds het kleinste getal en zet dat vooraan.

80 Algoritmes N.B Deze slide is gewijzigd t.o.v. het college Selection sort: voorbeeld met 5 getallen Aantal stappen om kleinste te vinden: = 15 Voor een lijst van n getallen geldt: n(n+1)/2 vergelijkingen. Dat is in de ordegrootte van n 2.

81 Algoritmes Exponentiële complexiteit (of meer) is problematisch is meer dan 18 triljoen!

82 Algoritmes Belangrijke vraag: Is het mogelijk te bewijzen dat een probleem geen oplossing met polynomiale tijd-complexiteit heeft? Zo ja, dan kun je stoppen met zoeken naar een algoritme dat het probleem in polynomiale tijd oplost.

83 Algoritmes Er is theorie voor beslis-problemen. Beslisprobleem: Uitkomst is JA of NEE. INVOER Algoritme (Procedure) UITVOER JA of NEE Bijvoorbeeld: Is het gemiddelde van deze lijst getallen groter dan 10? Kruisen deze twee lijnsegmenten? Is x een even getal? etc.

84 Algoritmes Reductie: Probleem L1 kan tot probleem L2 worden gereduceerd als er een extra bewerking T op de invoer van L1 gedaan kan worden, zodat de resulterende invoer voor L2 gebruikt kan worden, terwijl de uitvoer hetzelfde is als die voor L1 (herinner: JA of NEE). INVOER voor L1 Algoritme voor L1 UITVOER voor L1 INVOER voor L1 T INVOER voor L2 Algoritme voor L2 UITVOER voor L1

85 Algoritmes Reductie INVOER voor L1 Algoritme voor L1 UITVOER voor L1 INVOER voor L1 T INVOER voor L2 Algoritme voor L2 UITVOER voor L1 T heeft ook een tijd-complexiteit

86 Algoritmes Er is een klasse (groep) problemen waarvoor geldt: Een oplossing kan in polynomiale tijd worden gevonden. Een oplossing kan in polynomiale tijd worden gecontroleerd. Deze klasse heet P

87 Algoritmes Er is een klasse (groep) problemen waarvoor geldt: Een oplossing kan in niet-deterministisch polynomiale tijd worden gevonden. Een oplossing kan in polynomiale tijd worden gecontroleerd. Deze klasse heet NP niet-deterministisch polynomiaal: als het algoritme een keuze moet maken, worden alle mogelijkheden tegelijk uitgevoerd (in plaats van ná elkaar). Dit kan alleen door een denkbeeldige machine gedaan worden.

88 Algoritmes Er is een klasse problemen in NP waarvoor geldt dat elk ander probleem in NP naar een probleem in deze klasse gereduceerd kan worden in polynomiale tijd. Deze klasse heet NP-Volledig (NP-Complete). Als je voor één van deze problemen een algoritme vindt dat in polynomiale tijd een antwoord geeft, heb je een dus ook een algoritme dat alle problemen in NP in polynomiale tijd kan oplossen. Zo'n algoritme is nog niet ontdekt. Zie: Cook, Stephen A. "The complexity of theorem-proving procedures." Proceedings of the third annual ACM symposium on Theory of computing. ACM, 1971.

89 Algoritmes Een openstaande vraag in de Informatica: P = NP? Eén van de 'milleniumproblemen'. Je kunt $1 miljoen verdienen als je het oplost. Zie ook bijvoorbeeld:

90 Algoritme Voorbeeld: Handelsreiziger (Travelling salesman): Ik wil een aantal steden bezoeken via de wegen die tussen de steden lopen. Welke route moet ik nemen zodat ik de kortst mogelijke afstand afleg, maar wel alle steden bezoek? Geen oplossing in polynomiale tijd bekend. De 'beslisvariant' van dit probleem is in set NP-Volledig.

91 Tentamen Drie soorten vragen. Kennis-vragen Welke programmeertaal werd eerder ontwikkeld, Java of Fortran? Wat is een lineair algoritme? Vaardigheid-vragen Getalconversies (dec->bin, bin->hex, etc) Geheugenrepresentatie Inzicht-vragen Waarom werkt dit toy-cpu programma niet?

92

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

(On)Doenlijke problemen

(On)Doenlijke problemen Fundamentele Informatica In3 005 Deel 2 College 1 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie Technologie en Systemen Overzicht Inleiding - Relatie Deel 1 en Deel 2 - Doenlijke

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

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking tentamen Analyse van Algoritmen, 29 januari Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4

Nadere informatie

TW2020 Optimalisering

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

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 7 Leo van Iersel Technische Universiteit Delft 21 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 21 oktober 2015 1 / 20 Deze week: algoritmes en complexiteit

Nadere informatie

NP-Volledigheid. Wil zo snel mogelijke algoritmes om problemen op te lossen. De looptijd is polynomiaal: O n k - dat is heel erg mooi

NP-Volledigheid. Wil zo snel mogelijke algoritmes om problemen op te lossen. De looptijd is polynomiaal: O n k - dat is heel erg mooi NP-Volledigheid Wil zo snel mogelijke algoritmes om problemen op te lossen Gezien: selectie [O(n)], DFS [O(n + m)], MaxFlow [O nm n + m ], MST [O(n + m)], etc De looptijd is polynomiaal: O n k - dat is

Nadere informatie

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

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

Nadere informatie

JavaScript. 0 - Wat is JavaScript? JavaScript toevoegen

JavaScript. 0 - Wat is JavaScript? JavaScript toevoegen 0 - Wat is JavaScript? JavaScript is hele andere koek dan Scratch. Het wordt ook door professionele programmeurs gebruikt. Doordat er veel mensen gebruik maken van JavaScript is er veel informatie over

Nadere informatie

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

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet

Nadere informatie

van PSD naar JavaScript

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

Nadere informatie

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

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

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

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk. HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 7 Leo van Iersel Technische Universiteit Delft 26 oktober 2016 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 1 / 28 Deze week: analyseren van algoritmes Hoe

Nadere informatie

1 Complexiteit. of benadering en snel

1 Complexiteit. of benadering en snel 1 Complexiteit Het college van vandaag gaat over complexiteit van algoritmes. In het boek hoort hier hoofdstuk 8.1-8.5 bij. Bij complexiteitstheorie is de belangrijkste kernvraag: Hoe goed is een algoritme?

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

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

Twaalfde college complexiteit. 7 mei NP-volledigheid IV Cook-Levin Savitch 1

Twaalfde college complexiteit. 7 mei NP-volledigheid IV Cook-Levin Savitch 1 college 12 Twaalfde college complexiteit 7 mei 2019 NP-volledigheid IV Cook-Levin Savitch 1 Turing machine {0 n 1 n n 0} q Y 0/b, +1 b/b, 0 q N 0/0, +1 1/1, +1 b/b, 1 q 1 q 2 q 0 1/1, 0 b/b, +1 0/0, 0

Nadere informatie

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

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

Nadere informatie

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

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

PHP. Les 4 : Variabelen

PHP. Les 4 : Variabelen PHP Les 4 : Variabelen Interessante links: o http://www.dbzweb.be/moermant/ o http://php.net/manual/en/function.echo.php o http://www.w3schools.com/php/default.asp Wat zijn variabelen? Variabelen zijn

Nadere informatie

Vierde college algoritmiek. 23/24 februari Complexiteit en Brute Force

Vierde college algoritmiek. 23/24 februari Complexiteit en Brute Force Algoritmiek 2017/Complexiteit Vierde college algoritmiek 23/24 februari 2017 Complexiteit en Brute Force 1 Algoritmiek 2017/Complexiteit Tijdcomplexiteit Complexiteit (= tijdcomplexiteit) van een algoritme:

Nadere informatie

Benaderingsalgoritmen

Benaderingsalgoritmen Benaderingsalgoritmen Eerste hulp bij NP-moeilijkheid 1 Herhaling NP-volledigheid (1) NP: er is een polynomiaal certificaat voor jainstanties dat in polynomiale tijd te controleren is Een probleem A is

Nadere informatie

Software 1. php mysql. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2010-2011 semester 1

Software 1. php mysql. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2010-2011 semester 1 Software 1 php mysql bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2010-2011 semester 1 Alain Simons alain.simons@artesis.be Basis php 1. Introductie 2.

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

Hand-out Introduction to Programming, werkcollege 4 Alex Reuneker (a.reuneker@hhs.nl), 2012

Hand-out Introduction to Programming, werkcollege 4 Alex Reuneker (a.reuneker@hhs.nl), 2012 Hand-out Introduction to Programming, werkcollege Alex Reuneker (a.reuneker@hhs.nl), 0. Geneste if-statements (herhaling werkcollege ) If in if in if : Er kunnen meerdere if-statements genest worden. Dat

Nadere informatie

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

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

Nadere informatie

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11 Web building gevorderden: CSS & JavaScript Karel Nijs 2008/11 Webbuilding gevorderden les 3 JavaScript intro JavaScript invoegen JavaScript statements JavaScript popup berichten JavaScript functies JavaScript

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

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007 Uitgebreide uitwerking Tentamen Complexiteit, mei 007 Opgave. a. Een beslissingsboom beschrijft de werking van het betreffende algoritme (gebaseerd op arrayvergelijkingen) op elke mogelijke invoer. In

Nadere informatie

Automaten & Complexiteit (X )

Automaten & Complexiteit (X ) Automaten & Complexiteit (X 401049) Inleiding Jeroen Keiren j.j.a.keiren@vu.nl VU University Amsterdam Materiaal Peter Linz An Introduction to Formal Languages and Automata (5th edition) Jones and Bartlett

Nadere informatie

Java Les 3 Theorie Herhaal structuren

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

Nadere informatie

Programmeren: Visual Basic

Programmeren: Visual Basic PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Algemene Kennis: 01. Programmeren Programmeren is het schrijven van een computerprogramma, een concrete verzameling instructies

Nadere informatie

UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS

UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS Laatste aanpassing: 15 oktober 2003 Inhoudsopgave 1 Bestandsnamen 3 2 Organizatie Bestanden 3 3 Indentatie

Nadere informatie

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW: 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

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

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

Nadere informatie

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

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

Nadere informatie

syntax, semantiek & lay-out

syntax, semantiek & lay-out 2016 syntax, semantiek & lay-out F. Vonk versie 1 23-8-2016 inhoudsopgave 1 inleiding... - 3-2 syntax... - 4-3 semantiek... - 8-3.1 instructie... - 8-3.2 sequentie... - 9-3.3 selectie... - 9-3.4 herhaling...

Nadere informatie

Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.

Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal. Programmeertalen Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal. Taal // machine De geschiedenis van de programmeertalen loopt parallel met de geschiedenis

Nadere informatie

Een spoedcursus python

Een spoedcursus python Een spoedcursus python Zoals je in de titel misschien al gezien hebt, geven wij een spoedcursus Python. Door deze cursus leer je alle basics, zoals het rekenen met Python en het gebruik van strings. Het

Nadere informatie

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara MINICURSUS PHP Op dit lesmateriaal is een Creative Commons licentie van toepassing. 2017-2018 Sebastiaan Franken en Rosalie de Klerk Bambara PHP Cursus Deze cursus is om de eerste stappen in de wereld

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

Thinking of Development

Thinking of Development Thinking of Development College 2 Imperatief programmeren Arjan Scherpenisse arjan.scherpenisse@kmt.hku.nl @acscherp Dit college Programmeren, wat is dat dan? De programmeur als vormgever Pseudocode Scratch

Nadere informatie

Opdrachten herhalen. public void tekenscherm (object o, PEA pea) { int x; x = 1; zolang de voorwaarde geldig is

Opdrachten herhalen. public void tekenscherm (object o, PEA pea) { int x; x = 1; zolang de voorwaarde geldig is Opdrachten herhalen public void tekenscherm (object o, PEA pea) { int x; x = 1; while ( x

Nadere informatie

algoritmiek - antwoorden

algoritmiek - antwoorden 2016 algoritmiek - antwoorden F. Vonk versie 1 28-8-2016 inhoudsopgave eenvoudige algoritmes... - 3 - complexe algoritmes... - 7 - zoeken (vwo)... - 10 - sorteren (vwo)... - 12 - Dit werk is gelicenseerd

Nadere informatie

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen dat er zowel typografische als inhoudelijke onvolkomenheden

Nadere informatie

Hoofdstuk 7: Werken met arrays

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

Nadere informatie

Elfde college complexiteit. 23 april NP-volledigheid III

Elfde college complexiteit. 23 april NP-volledigheid III college 11 Elfde college complexiteit 23 april 2019 NP-volledigheid III 1 TSP Als voorbeeld bekijken we het Travelling Salesman/person Problem, ofwel het Handelsreizigersprobleem TSP. Hiervoor geldt: TSP

Nadere informatie

Inhoud. Informatica. Hoofdstuk 5 Scripting. Context. Editor voor Programmeercode. Scripting 1

Inhoud. Informatica. Hoofdstuk 5 Scripting. Context. Editor voor Programmeercode. Scripting 1 5.1 5.2 1rste BAC Biologie Hoofdstuk 5 Inhoud Inleiding Programeerconstructies functies variabelen (toekenning) statements (print, ) controlestructuren (if, while, until, for) Oefeningen 5.3 5.4 "functionzero.zip"

Nadere informatie

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek Divide & Conquer: Verdeel en Heers vervolg Algoritmiek Algoritmische technieken Vorige keer: Divide and conquer techniek Aantal toepassingen van de techniek Analyse met Master theorem en substitutie Vandaag:

Nadere informatie

Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.

Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal. Programmeertalen Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal. Taal // machine De geschiedenis van de programmeertalen loopt parallel met de geschiedenis

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

Programmeermethoden NA. Week 3: Controlestructuren

Programmeermethoden NA. Week 3: Controlestructuren Programmeermethoden NA Week 3: Controlestructuren Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Inleveren opdracht 1 Lever digitaal sxxxxxxx-syyyyyyy-opdr1.py

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

Functies. Huub de Beer. Eindhoven, 4 juni 2011

Functies. Huub de Beer. Eindhoven, 4 juni 2011 Functies Huub de Beer Eindhoven, 4 juni 2011 Functies: je kent ze al Je hebt al verschillende PHP functies gebruikt: pi() om het getal π uit te rekenen. sin( 0.453 ) om het de sinus van het getal 0.453

Nadere informatie

Automaten & Complexiteit (X )

Automaten & Complexiteit (X ) Automaten & Complexiteit (X 401049) Beschrijven van reguliere talen Jeroen Keiren j.j.a.keiren@gmail.com VU University Amsterdam 5 Februari 2015 Talen Vorig college: Talen als verzamelingen Eindige automaten:

Nadere informatie

Logica voor Informatica

Logica voor Informatica Logica voor Informatica 13 Programma verificatie Wouter Swierstra University of Utrecht 1 Programmeertalen en logica Bij logische programmeertalen hebben we gezien dat we rechstreeks met (een fragment

Nadere informatie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 22 februari 2009 INDUCTIE & RECURSIE Paragrafen 4.3-4.6 Discrete Structuren Week 3:

Nadere informatie

Programmeren in Access met VBA

Programmeren in Access met VBA Programmeren in Access met VBA Kosten: 750,- excl. BTW per deelnemer Duur: 2 dagen Max Deelnemers: 8 U leert tijdens deze training alle concepten van de programmeertaal VBA (Visual Basic for Applications)

Nadere informatie

Programmeren in Access 2016 met VBA

Programmeren in Access 2016 met VBA Programmeren in Access 2016 met VBA Kosten: 750,- excl. BTW per deelnemer Duur: 2 dagen Max Deelnemers: 8 Je leert tijdens deze training alle concepten van de programmeertaal VBA (Visual Basic for Applications)

Nadere informatie

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

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

Nadere informatie

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken 2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TU/E) en Centrum Wiskunde & Informatica (CWI) 20 februari 2014 http://homepages.cwi.nl/~iersel/2wo12/ l.j.j.v.iersel@gmail.com

Nadere informatie

Tentamen combinatorische optimalisatie Tijd:

Tentamen combinatorische optimalisatie Tijd: Tentamen combinatorische optimalisatie 26-05-2014. Tijd: 9.00-11.30 Tentamen is met gesloten boek. Beschrijf bij elke opgave steeds het belangrijkste idee. Notatie en exacte formulering is van minder belang.

Nadere informatie

Lab Webdesign: Javascript 11 februari 2008

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

Nadere informatie

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

Automaten. Informatica, UvA. Yde Venema

Automaten. Informatica, UvA. Yde Venema Automaten Informatica, UvA Yde Venema i Inhoud Inleiding 1 1 Formele talen en reguliere expressies 2 1.1 Formele talen.................................... 2 1.2 Reguliere expressies................................

Nadere informatie

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

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

Nadere informatie

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

Inleiding Visual Basic en VBA. Karel Nijs 2009/01

Inleiding Visual Basic en VBA. Karel Nijs 2009/01 Inleiding Visual Basic en VBA Karel Nijs 2009/01 Leswijze Eerst wat theorie Begeleid met (korte) oefeningen Ms Excel 2003 Online hulp: http://www.ozgrid.com/vba/ http://msdn.microsoft.com/en-us/library/sh9ywfdk(vs.80).aspx

Nadere informatie

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 6

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 6 Inhoud eindtoets Eindtoets Introductie 2 Opgaven 3 Terugkoppeling 6 1 Formele talen en automaten Eindtoets I N T R O D U C T I E Deze eindtoets is bedoeld als voorbereiding op het tentamen van de cursus

Nadere informatie

Bij dit hoofdstukken horen geen opgaven.

Bij dit hoofdstukken horen geen opgaven. 6. Programmeertalen Een computer begrijpt eigenlijk alleen maar binaire code (bestaande uit 1 en 0). Om hem/haar makkelijk opdrachten te geven zijn programmeertalen ontwikkeld. Deze moeten een goed gedefinieerde

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

Inleiding tot programmeren: Javascript

Inleiding tot programmeren: Javascript Inleiding tot programmeren: Javascript Een definitie JavaScript is een scripttaal met objectgeoriënteerde mogelijkheden. Deze geïnterpreteerde programmeertaal is vooral gericht op het gebruik in webpagina

Nadere informatie

Oefententamen 2. Tijd: 2 uur. Maximaal aantal punten: 30. Naam: Studentnummer:

Oefententamen 2. Tijd: 2 uur. Maximaal aantal punten: 30. Naam: Studentnummer: Oefententamen 2 C Naam: Studentnummer: Tijd: 2 uur Maximaal aantal punten: 30 Menselijke compiler (10 punten) 0. (1 punt) Stel, je haalt het tentamen als je tenminste een 5.5 gemiddeld hebt gehaald voor

Nadere informatie

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie Complexiteit 2016/04 College 4 Vierde college complexiteit 16 februari 2016 Beslissingsbomen en selectie 1 Complexiteit 2016/04 Zoeken: samengevat Ongeordend lineair zoeken: Θ(n) sleutelvergelijkingen

Nadere informatie

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

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

Nadere informatie

Small Basic Programmeren Text Console 2

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

Nadere informatie

Reguliere Expressies

Reguliere Expressies Reguliere Expressies Een reguliere expressie (regexp, regex, regxp) is een string (een woord) die, volgens bepaalde syntaxregels, een verzameling strings (een taal) beschrijft Reguliere expressies worden

Nadere informatie

9 Meer over datatypen

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

Nadere informatie

Informatietechnologie 2. JavaScript. Inleidende les. Kristof Michiels

Informatietechnologie 2. JavaScript. Inleidende les. Kristof Michiels Informatietechnologie 2 JavaScript Inleidende les Kristof Michiels In deze presentatie JavaScript: inleiding Variabelen Wiskundige bewerkingen Booleans: true of false Voorwaardelijke statements 2 / 54

Nadere informatie

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting?

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting? Inhoud Computervaardigheden Hoofdstuk 4 Scripting (Let op: dit is enkel voor studenten Biologie.) Dit hoofdstuk bekijkt heel kort de basis van scripting. - Opstellen van functies. - Conditionele code.

Nadere informatie

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

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

Nadere informatie

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

Het voert eenvoudige instructies uit die achter elkaar in het geheugen van de machine zijn opgeslagen.

Het voert eenvoudige instructies uit die achter elkaar in het geheugen van de machine zijn opgeslagen. Antwoorden door een scholier 1809 woorden 28 september 2006 3,6 14 keer beoordeeld Vak Informatica Samenvatting Informatica 6.1) Van kleine instructies naar grote processen Noem 2 termen voor het centrale

Nadere informatie

Lab Webdesign: Javascript 11 februari 2008

Lab Webdesign: Javascript 11 februari 2008 H2: BASISBEGRIPPEN In dit hoofdstuk zullen er enkele basisbegrippen worden behandelt PLAATSING VAN JAVASCRIPT-CODE DE SCRIPT-TAG De script-tag geeft aan dat er gebruik zal worden gemaakt van een scripttaal.

Nadere informatie

Verzamelingen deel 2. Tweede college

Verzamelingen deel 2. Tweede college 1 Verzamelingen deel 2 Tweede college herhaling Deelverzameling: AB wil zeggen dat elk element van A ook in B te vinden is: als x A dan x B Er geldt: A=B AB en BA De lege verzameling {} heeft geen elementen.

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

Programmeren met Arduino-software

Programmeren met Arduino-software Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en

Nadere informatie

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

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

Nadere informatie

Algoritmen en Datastructuren 1. Functies

Algoritmen en Datastructuren 1. Functies Algoritmen en Datastructuren 1 Functies Rad van Fortuin score = 0 huidigespeler++ draai rad bankroet verlies beurt joker huidigespeler++ jokers++ rad else score += bedrag * k rad/klinker toon gok medeklinker

Nadere informatie

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? 1 Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? Voordat je begint met programmeren, moet je Ruby installeren.

Nadere informatie

Programmeren: Visual Basic

Programmeren: Visual Basic PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Document Afbaking 01. VERSCHILLENDE PROGRAMMEERTALEN 02. PROGRAMMEER PAKKETTEN 03. GUI 03.1 GUI ELEMENTEN 03.2 GUI EIGENSCHAPPEN

Nadere informatie

Het computationeel denken van een informaticus Maarten van Steen Center for Telematics and Information Technology (CTIT)

Het computationeel denken van een informaticus Maarten van Steen Center for Telematics and Information Technology (CTIT) Het computationeel denken van een informaticus Maarten van Steen Center for Telematics and Information Technology (CTIT) 2-2-2015 1 Computationeel denken vanuit Informatica Jeannette Wing President s Professor

Nadere informatie

Info-books. Toegepaste Informatica. Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) AL20. Jos Gils Erik Goossens

Info-books. Toegepaste Informatica. Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) AL20. Jos Gils Erik Goossens Info-books AL20 Toegepaste Informatica Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) Jos Gils Erik Goossens Hoofdstuk 6 Lusstructuren of iteraties 6.1 Probleemstelling Het gebeurt dikwijls

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

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren

Nadere informatie

Les C-04 Programmeren

Les C-04 Programmeren Les C-04 Programmeren 4.1 Programmeertalen In les B-03 is uitgelegd hoe de processor van een moderne computer geprogrammeerd dient te worden: programmacode wordt omgezet in assemblercode, die vervolgens

Nadere informatie

Tentamen Programmeren in C (EE1400)

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

Nadere informatie