Wat is de beste programmeertaal?

Maat: px
Weergave met pagina beginnen:

Download "Wat is de beste programmeertaal?"

Transcriptie

1 Wat is de beste programmeertaal? Profielwerkstuk Hoofdvak: Wiskunde Matthijs Melissen Stedelijk Gymnasium Breda Klas 6B December 2003 Begeleidend docent: dhr. Martens

2 Inhoudsopgave Inleiding... 4 Syntaxis...5 Wat is syntaxis?...5 Opdrachten... 5 Conclusie... 5 Commentaar... 6 Tot einde regel... 6 Van begin-commentaar tot einde-commentaar... 6 Conclusie... 6 Variabelen...7 Datatypes...7 Declareren... 8 Arrays...8 Records of structures...9 Conclusie... 9 Operatoren... 9 Toekenningsoperatoren...10 Rekenkundige operatoren String-operatoren Vergelijkingsoperatoren...10 Conclusie Programmavolgorde Groeperen...12 Keuze Goto Onbeperkte herhaling...14 Herhaling van tevoren vastgesteld aantal keren...14 Herhaling met controle vooraf Herhaling met controle achteraf...15 Herhaling binnen een array Conclusie Programmeerparadigma s

3 Wat zijn paradigma s? Imperatief programmeren Procedureel programmeren...17 Object-georiënteerd programmeren Functioneel programmeren Logisch programmeren Conclusie Conclusie Gebruikersomgeving Conclusie Toepassingsgebied Conclusie Historie...27 Hoe het begon De eerste talen...27 De moderne talen De jaren Conclusie Conclusie...30 Bronvermelding

4 Inleiding Zoals al in het voorwoord vermeld, zal ik in dit werkstuk verschillende programmeertalen met elkaar vergelijken, en kijken wat de beste programmeertaal is. Programmeren is het schrijven van een aantal opdrachten in een bepaalde computertaal, die de computer vertellen wat hij precies moet doen. Zo n computertaal wordt een programmeertaal genoemd. Er zijn enkele honderden van dit soort talen. Overigens, soms stelt men aan een programmeertaal de eis dat het programma, na eventueel gecompileerd (voor de processor leesbaar gemaakt) gemaakt te zijn, zonder speciale aanvullende software uitgevoerd kan worden. Talen waar specifieke aanvullende software voor nodig is worden scripttalen genoemd. Dit onderscheid wordt in dit werkstuk niet gemaakt: ook scripttalen worden hier onder de noemer programmeertalen geschaard. Sommige van die talen lijken erg op elkaar, terwijl andere totaal verschillen. In deze scriptie worden die onderlinge overeenkomsten en verschillen behandeld. Het gaat hierbij om de syntaxis (de regels van een programmeertaal) en de gebruikersomgeving. Verder komen de toepassingsgebieden van de talen aan bod, en ten slotte volgt de geschiedenis van programmeertalen. 4

5 Syntaxis Wat is syntaxis? Een programmeertaal heeft altijd specifieke regels, die met de grammaticaregels in een normale taal te vergelijken zijn. Het geheel van deze regels wordt de syntaxis of syntax van een taal genoemd. De regels in een programmeertaal zijn wel veel strikter dan die van een gewone taal: wij kunnen bij een fout tegen de grammatica meestel wel begrijpen wat er bedoeld wordt, maar een computer kan dit niet. Elke programmeertaal heeft een andere syntaxis. In dit hoofdstuk wil ik de overeenkomsten en verschillen tussen de syntaxis van verschillende talen laten zien. Verder probeer ik te onderzoeken welke taal de beste syntaxis heeft. Opdrachten De meeste programmeertalen bestaan uit een serie opdrachten. In assemblertaal, Basic, E, Fortran, Haskell en Lua staat elke opdracht op een nieuwe regel. De opdrachten worden dus gescheiden door regeleindes. Mocht je in Basic meerdere opdrachten op een regel willen, dan scheid je die met een dubbele punt. In de vrijwel alle nieuwere programmeertalen (Ada, Awk, B, Beta, C, C#, C++, E, Haskell, Java, JavaScript, merd, Modula-3, OCaml, Perl, PHP, Pike, PL/I, Pliant, Python, Ruby, sh, SML, Tcl) worden de opdrachten gescheiden door puntkomma s. Soms worden opdrachten gescheiden door een punt (Smalltalk), een spatie (Eiffel), of >> (Haskell). Opdrachten kunnen onderbroken worden door regeleindes (C, C++, Common Lisp, Java, JavaScript, Perl, PHP). Ze staan dan dus verspreid over twee of meer regels. In Basic kan dat ook, maar je moet dan wel een _ aan het einde van de regel, dus voor het regeleinde, zetten. Conclusie Er zijn dus grofweg twee methodes te onderscheiden, met elk hun eigen voor- en nadelen: de eerste is dat regeleindes expliciet moeten worden aangegeven. Dit maakt opdrachten over meerdere regels mogelijk, maar het einde-opdracht-teken mag niet vergeten worden, omdat het programma dan niet werkt. De tweede methode is een opdrachteinde aangeven door een 5

6 nieuwe regel. Dit heeft mijn voorkeur, want nu hoeft niet elke keer aan het sluitteken gedacht te worden, hoewel een opdracht nu wel op een regel moet passen. Commentaar Commentaar wordt gebruikt om stukken tekst in de programmacode te zetten die niet hoeven te worden uitgevoerd. Het kan gebruikt worden om informatie over de werking van delen van het programma te geven aan iemand die de code leest (of aan de programmeur zelf). Andere toepassingen van commentaar zijn de mogelijkheid informatie over bijvoorbeeld het copyright in de code te zetten, of om het programma te kunnen uitvoeren zonder bepaalde regels. Deze regels hoeven dan niet definitief te worden gewist, maar kunnen tot commentaar gemaakt worden. Er zijn twee typen commentaar: commentaar vanaf het commentaarteken tot het einde van de regel, of commentaar tussen de code begin commentaar en einde commentaar. Tot einde regel De meest voorkomende manieren om alles tot het einde van de regel commentaar te maken zijn # (Awk, E, Icon, merd, Perl, PHP, Pliant, Python, Ruby, sh, Tcl) en // (BCPL, C#, C++, C99, Dylan, E, Java, JavaScript, PHP, Pike). Ook -- (Ada, Cecil, Eiffel, Haskell, Lua, Sather, Simula), een puntkomma (assembler, Common Lisp, Emacs Lisp, Rebol, Scheme) en een procentteken (Erlang, Mercury, Oz, Postscript, Prolog, TeX) komen veel voor. Verder wordt in Basic het woord REM gebruikt, in Visual Basic de apostrof ( ), in Forth de backslash (\), in assembler en Fortran90 het uitroepteken en in Fortran een C of een *. Bij Fortran moet het commentaarteken wel in de eerste kolom staan. Van begin-commentaar tot einde-commentaar In de meeste talen is alles wat tussen /* en */ (B, C, C#, C++, Java, JavaScript, Mercury, PHP, Pike, PL/I, Dylan, Oz) staat commentaar. Er zijn een aantal varianten hierop, zoals (* *) bij Beta, Modula-3, OCaml, Pascal en SML. In Pascal wordt commentaar meestal tussen accolades gezet. Conclusie De verschillen tussen de manier waarop de verschillende talen met commentaar omgaan zijn vrij klein. Wel is het handig als een taal beide typen commentaar ondersteunt. Verder kan de methode van Pascal verwarring wekken, omdat accolades in veel andere talen voor het groeperen van opdrachten gebruikt worden. 6

7 Variabelen Terwijl een programma wordt uitgevoerd, worden er constant waarden opgeslagen in het geheugen. In assemblertaal gebeurt dat door de opdracht te geven een waarde, bijvoorbeeld de score in een spel, op te slaan op een bepaalde plek in het geheugen. Het was natuurlijk erg onhandig om te onthouden dat de score op bijvoorbeeld plek stond. Daarom hoefde in de latere programmeertalen een opgeslagen waarde niet meer met een getal aangesproken te worden, maar kon ook een letter gebruikt worden, bijvoorbeeld een s om de score aan te spreken. Nog weer later waren ook woorden van meerdere letters toegestaan. Zo kon de score gewoon met het woord score aangeduid worden. Datatypes Er zijn verschillende soorten variabelen. In sommige variabelen wordt tekst opgeslagen en in andere getallen. Het type van een variabele heet een datatype. Een getal is een van de meest voorkomende datatypes. De score in het bovenstaande voorbeeld is een voorbeeld van een getal. Soms wordt dit datatype nog opgedeeld in onder andere integers, gehele getallen, en floating-pointgetallen, getallen met decimalen. Een veelvoorkomend datatype is een tekst, ook wel string of char genaamd. Een string kan in de meeste talen elke willekeurige lengte hebben. Ook strings van nul, één of duizenden tekens zijn mogelijk. Strings worden meestal genoteerd door ze tussen dubbele aanhalingstekens te zetten. Dat gebeurt in de talen Ada, Awk, C, C#, C++, Common Lisp, Dylan, Eiffel, FL, Haskell, Java, Modula-3, OCaml, Oz, Pascal, Pike, Pliant, Python en SML. Alleen Beta, Perl, Ruby, sh en Smalltalk gebruiken enkele aanhalingstekens. JavaScript, Lua, Python, PHP en Xpath ondersteunen zowel enkele als dubbele aanhalingstekens. Soms wil je een variabele in een string zetten. Je wilt bijvoorbeeld eerst de tekst Je hebt, dan de score, en dan de tekst punten. In Perl, PHP, sh en Tcl kan de variabele gewoon binnen de aanhalingstekens gezet worden. Dat is natuurlijk erg makkelijk. In merd moet de variabele tussen accolades komen. Ook in Ruby moet dat, maar er moet wel een hekje voor. In de meeste andere talen kan dit niet. Daar is het nodig eerst de aanhalingstekens te sluiten en een opdracht geven om twee strings te verbinden. Is sommige talen bestaat er een apart datatype voor een string van een teken. Dit wordt een character of char genoemd. Meestal (in Ada, B, C, C#, C++, Eiffel, Haskell, OCaml, Pike) wordt een waarde tussen enkele aanhalingstekens gezet om aan te geven dat het een char is. 7

8 Alleen merd gebruikt hiervoor dubbele aanhalingstekens. Er zijn ook nog andere mogelijkheden, bijvoorbeeld een vraagteken vóór het karakter in Emacs Lisp en Ruby. Een boolean is een datatype dat slechts twee waarden kan aannemen: waar (true) en niet waar of onwaar (false). Niet alle programmeertalen kennen dit. Dan worden er vaak de 0 (onwaar) en 1 (waar) of 0 (waar) en -1 (onwaar) voor gebruikt. Declareren Maar hoe weet de programmeertaal nu welk datatype een variabele is? In Fortran is het eenvoudig: de variabelen waarvan de namen met de letters i tot en met n beginnen, waren gehele getallen. De rest zijn decimale getallen. In Basic moeten namen van gehele getallen eindigen op het procentteken, strings eindigen op een dollarteken en de rest is van het type floating-point. In de nieuwere talen komen er steeds meer datatypes. Het is dus onmogelijk geworden om het datatype aan de hand van de naam te onderscheiden. Daarom moet expliciet worden verteld van welk datatype een variabele is. Dit heet declareren. In Pascal moeten de declaraties voor de opdrachten staan. In nieuwere talen mogen ze ook tussen de opdrachten staan. De wijze waarop een variabele gedeclareerd moet worden is erg wisselend per programmeertaal. Meestal wordt een codewoord als let of var gebruikt. Declareren is aan de ene kant erg lastig: voor elke variabele die de programmeur wil gebruiken, is een declaratie nodig. Aan de andere kant is het ook nuttig, want het helpt fouten voorkomen: als een variabele als string gedefinieerd is, geeft het programma een foutmelding als er geprobeerd wordt een getal bij op te tellen. Arrays In sommige spellen die over internet gespeeld worden kunnen tientallen spelers meedoen. Al die spelers hebben natuurlijk een eigen score. Het zou erg onhandig zijn om een scorespeler1, een scorespeler2, een scorespeler3, enzovoorts allemaal apart te moeten declareren. Bovendien moeten ze bijvoorbeeld bij het begin van het spel allemaal apart op nul worden gezet. Voor dit soort toepassingen gebruikt men normaal gesproken array s. Een array is een variabele die meerdere waarden tegelijk kan bevatten. Zo kan hier bijvoorbeeld de array score gebruikt worden, die de scores van alle spelers bevat. De afzonderlijke variabelen, elementen genaamd, kunnen worden aangesproken met bijvoorbeeld score[1] voor speler 1. Deze methode wordt gebruikt in B, C, C#, C++, Dylan, E, Java, JavaScript, Lua, merd, 8

9 Modula-3, Pascal, Perl, PHP, Pike, Python en Ruby. Er zijn een paar talen die afwijken, zoals Ada met de syntaxis score(1), gewone haken in plaats van rechte haken. Het datatype is een eigenschap van de array en niet van de elementen. Alle elementen van een array hebben daardoor hetzelfde datatype. De elementen worden in de meeste talen tussen rechte haken gezet, gescheiden door komma s (E, Haskell, JavaScript, merd, Perl, Postscript, Prolog, Python, Ruby, SML). Alleen C, C++ en Lua gebruiken accolades. Lisp gebruikt ronde haken, maar voor de eerste haak moet een enkele aanhalingsteken. Records of structures In Pascal kent men ook records. Dit is te vergelijken met een record uit een database. Het record kent verschillende velden, die elk een ander datatype kunnen hebben. Zo kan van een persoon de voornaam, achternaam en leeftijd worden bijgehouden in één record. Ook in C is dit mogelijk, maar daar wordt het een struct of structure genoemd. Een element van een record of structure wordt in vrijwel alle talen benaderd met een punt tussen de naam van de structure en de naam van het element, bijvoorbeeld persoon1.voornaam. Conclusie Er zijn maar weinig fundamentele verschillen tussen de manier waarop programmeertalen met variabelen omgaan. Enkele datatypen extra maakt weinig uit, of gewone haken of rechte haken. Wel erg nuttig is de mogelijkheid om zelf datatypen de kunnen definiëren. In de paragraag over object-georiënteerd programmeren wordt daar nader op in gegaan. Wel een belangrijk punt is of declareren verplicht is. Of dat een voordeel is, hangt af van de grootte van het programma. Er is extra aandacht en moeite voor nodig, maar het maakt het programma wel een stuk duidelijker Operatoren Operatoren zijn symbolen om bewerkingen met variabelen uit te voeren. Zo is het mogelijk variabelen een waarde te geven, er rekenkundige bewerkingen mee uit te voeren en ze te vergelijken. 9

10 Toekenningsoperatoren Een toekenningsoperator wordt gebruikt om een waarde aan een variabele te geven. Meestal gebeurt dit met het teken = (Awk, B, Basic, C, C#, C++, Erlang, Icon, Java, JavaScript, Lua, Oz, Perl, PHP, Pike, s): met a = 1 krijgt de variabele a de waarde 1. Soms wordt := gebruikt, om verwarring te voorkomen met = in de betekenis van het vergelijken van twee waarden (Ada, BCPL, Cecil, Dylan, E, Eiffel, Modula-3, Pascal, Pliant, Sather, Simula, Smalltalk). In dat geval wordt a = 1 gebruikt om te kijken of a gelijk aan 1 is, en a := 1 om a de waarde 1 te geven. Andere vormen die voorkomen zijn <- (OCaml), : (BCPL, Rebol), def (E, Postscript), setq (Emacs Lisp) en setf / setq / set (Common Lisp). Rekenkundige operatoren Praktisch alle programmeertalen kennen de rekenkundige operators + (plus), - (min), * (keer) en / (gedeeld door). Ze worden op dezelfde manier als in de wiskunde gebruikt. Voor negatieve getallen wordt meestal een min gebruikt. Alleen Oz gebruikt een tilde. De meeste talen kennen ook bepaalde functies voor bijvoorbeeld worteltrekken, logaritmes en goniometrie. String-operatoren Het is in alle talen mogelijk twee strings samen te voegen. In de meeste talen (C#, C++, E, Eiffel, Java, JavaScript, merd, Pascal, Pike, Pliant, Python, Ruby) gaat dat met een plus-teken. In Perl en PHP wordt de punt hiervoor gebruikt, in Smalltalk de komma, in Lua twee punten, in Ada, Modula-3 en Visual Basic de &, in OCaml, en SML de ^, in Cecil, Icon en PL/I en in Haskell ++. In TCL kunnen de strings gewoon achter elkaar worden gezet. Vergelijkingsoperatoren Voorwaarden worden gebruikt om als een variabele een bepaalde waarde heeft het ene te doen, en als die variabele een andere waarde heeft iets anders te doen. Een voorwaarde kan waar (true) of onwaar (false) zijn. Stel, de variabele a is 1. De voorwaarde a > 3 is dan onwaar, en de voorwaarde a < 3 waar. In bijna alle talen komen voorwaarden tussen haakjes. Soms is dat verplicht, soms is het facultatief. Zoals we net zagen, is het mogelijk om te kijken of een variabele groter of kleiner dan een andere variabele is. Dit gebeurt bijna altijd met de wiskundige tekens < (kleiner dan) en > (groter dan). Kleiner of gelijk aan is <= en groter of gelijk aan is >=. Alleen Mercury en Oz 10

11 gebruiken voor kleiner of gelijk aan =<, om verwarring met een pijltje te voorkomen. Perl gebruikt lt (kleiner dan), gt (groter dan), le (kleiner of gelijk) en ge (groter of gelijk). Fortran gebruikt.lt.,.gt.,.le. en.ge.. Het is ook mogelijk om te kijken of variabele a gelijk is aan b, of ongelijk aan b. Het eerste wordt meestal gedaan met = (Eiffel, Fortran90, Pliant, Modula-2, Modula-3, BCPL, E, merd, Python, Ruby) of met == (Awk, B, C, C++, Java, OCaml, Perl, Pike, Tcl, PHP, JavaScript, Lua, Smalltalk, Dylan), om verwarring te voorkomen tussen is a gelijk aan B? en maak a gelijk aan B. Voor is niet gelijk aan wordt meestal!= gebruikt (Awk, B, C, C++, Java, OCaml, Perl, Pike, Tcl, PHP, JavaScript). Andere mogelijkheden zijn /= (Fortran), <> (Pliant, Beta, OCaml, SML, Visual Basic), # (Modula-2, Modula-3), ~= (Lua, BCPL), ~~ (Smalltalk), ~== (Dylan), /= (Haskell, Ada) en \= (Oz). JavaScript kent ook === en!== om variabelen waarvan de datatypes verschillen te vergelijken. Normaal is dat namelijk niet mogelijk: het is onzinnig om te kijken of 5 groter is dan a. PHP kent ook ===, maar geen!==. Je kunt ook voorwaarden omkeren. Zo kun je controleren of ze juist niet waar zijn. Dat gebeurt met het woord not in Ada, Beta, Common Lisp, Eiffel, Emacs Lisp, Forth, Haskell, Lua, merd, OCaml, Perl, Pliant, Python, Smalltalk, SML en Xpath, en met een uitroepteken in Awk, B, C, C#, C++, Java, JavaScript, Perl, PHP, Pike, Ruby, Tcl. De talen BCPL, Dylan en PL/I gebruiken een tilde (~). Om meerdere voorwaarden te controleren, gebruik je en en of. Meestal is en && en of (Awk, C, C#, C++, E, Haskell, Java, JavaScript, merd, OCaml, Perl, PHP, Pike, Ruby, Tcl). B, BCPL en Dylan gebruiken een enkele & en. Ook de woorden or en and komen veel voor. Ze worden gebruikt door Common Lisp, Emacs Lisp, Lua, Modula-2, Perl, PHP, Pliant, Postscript, Python, Ruby, Smalltalk, Ada, Beta, Eiffel, Forth, Pascal, SML en Xpath. OCaml is inconsequent en gebruikt or en &. Conclusie Het gebruik van operatoren is in de meeste gevallen vrij logisch. De meeste operatoren zijn overgenomen uit de wiskunde, en daarom ook gelijk in de meeste talen. De talen die andere symbolen dan de wiskundige gebruiken, werken daardoor erg onprettig. Wel een punt is het gebruik van het teken. Dit betekent zowel is gelijk aan als wordt, en computers zijn niet blij met dubbelzinnige symbolen. Daarom kiezen sommige talen ervoor 11

12 om = als wordt te interpreteren, en andere als is gelijk aan. De ene keuze is echter niet beter te noemen als de andere, Programmavolgorde Groeperen Vaak moet als de voorwaarde waar is niet één opdracht, maar meerdere opdrachten uitgevoerd worden. Die opdrachten moeten daartoe gegroepeerd worden, zodat ze als het ware als één opdracht beschouwd worden. Dit groeperen gebeurt meestal met accolades (C, C++, Haskell, Java, JavaScript, Perl, PHP). In veel andere talen, bijvoorbeeld Pascal, gebeurt dit met de codewoorden begin en end. Keuze In het vorige hoofdstuk is al uitgelegd dat voorwaarden gebruikt kunnen worden om een reeks opdrachten voorwaardelijk uit te voeren. In dit hoofdstuk wordt daar verder op in gegaan. De simpelste keuzeopdracht is if-then. Hiermee wordt een opdracht (of een aantal gegroepeerde opdrachten) alleen uitgevoerd als een voorwaarde waar is. De simpelste vorm van een if-then-constructie is: if C then B merd, OCaml, Pascal In dit geval wordt de opdracht B alleen uitgevoerd indien C waar is. Een andere vorm is: if C do B BCPL Bij sommige talen die geen groeperen kennen is het noodzakelijk een opdracht te geven die aangeeft dat de opdrachten vanaf dat punt weer onvoorwaardelijk uit moeten worden gevoerd: if C then B end Eiffel, Lua, Oz, Ruby IF C THEN B END Modula-2, Modula-3 if C then B end if Ada Soms komt de voorwaarde verplicht tussen haakjes. if (C) then B end Dylan In de meeste nieuwere talen is de then-opdracht helemaal verdwenen, omdat logisch is dat na if het codewoord then volgt. if (C) B Awk, B, C, C#, C++, Java, JavaScript, PHP, Pike if C B Pliant if (C) {B} Perl 12

13 Soms is de omgekeerde vorm, de opdrachten vóór de voorwaarde, ook toegestaan: B if C Perl, Ruby Vreemdere vormen zijn: if C: B if C?then? B C -> B C if b1 then <xsl:if test="c">b</xsl:if> C iftrue: B (if C B) Python Tcl FL Forth XSLT Smalltalk Common Lisp, Scheme Soms is het nodig om niet alleen bepaalde opdrachten uit te voeren als een voorwaarde waar is, maar ook andere opdrachten uit te voeren als de voorwaarde niet waar is. Dit kan met een if-then-else-constructie. Meestal is de constructie hetzelfde als de if-then constructie. Het enige verschil is dat er nu het codewoord else staat achter de voorwaarden die uitgevoerd worden, als de constructie wel waar is. Dit wordt gevolgd door de opdrachten die uitgevoerd moeten worden als de voorwaarde niet waar is. De meest voorkomende vorm is: if (voorwaarde) opdrachten 1 else opdrachten2 Dit werkt in Awk, B, C, C#, C++, Java, JavaScript en Pike. Als de voorwaarde waar is, wordt opdrachten1 uitgevoerd, als de voorwaarde niet waar is, wordt opdrachten2 uitgevoerd. Er zijn in andere talen wat variaties. Zo mogen de haakjes soms weggelaten worden, komt het woord then soms tussen de voorwaarde en de opdrachten en komt er soms een woord endif op het einde. Goto De oudste opdracht om de opdrachten niet op volgorde uit te hoeven voeren is goto. Met deze opdracht wordt naar een bepaald regelnummer gesprongen. Een label is een regel met daarop een woord dat de naam van de regel aangeeft. 13

14 Deze opdracht is in de meeste talen verdwenen, omdat het gebruik ervan leidt tot een onoverzichtelijk programma: je kunt niet in een oogopslag zien in welke volgorde het programma wordt uitgevoerd. De opdracht ziet er in alle talen die hem gebruiken hetzelfde uit: Goto Ada, B, Basic, BCPL, C, C#, C++, Cobol, Fortran, Perl Onbeperkte herhaling Het is in sommige talen mogelijk een of meerdere opdrachten een oneindig aantal keren uit te laten voeren. In principe zal zo n programma dus nooit stoppen. In merd en Ruby gaat dit met de opdracht Loop. In Ada ook, maar hier moeten de te herhalen opdrachten worden afgesloten met de opdracht End loop, en in Modula-3 met End. In talen die geen opdracht voor onbeperkte herhaling kennen, kan dit bereikt worden door een herhaling met controle vooraf te gebruiken, die nooit waar zal worden. Je kunt bijvoorbeeld herhalen tot 1 = 2. Omdat 1 nooit 2 is, zal de lus altijd doorlopen blijven worden. Herhaling van tevoren vastgesteld aantal keren Sommige talen kennen een speciale mogelijkheid om één of meerdere opdrachten een van tevoren vastgesteld aantal keren te laten herhalen. Dit gebeurt met een speciale tellervariabele, die het aantal keren dat er herhaald is telt. In Basic gaat dat als volgt: FOR i = a TO b STEP c opdracht(en) Hier is i de teller-variabele, die loopt van waarde a tot waarde b, met stapjes van c: je kunt ook tellen. In veel nieuwe talen (Awk, C, C#, C++, Java, JavaScript, Perl, PHP, Pike, Tcl) is de syntaxis als volgt: for (initiatie; voorwaarde; ophoging) opdracht(en) Eerst wordt de initiatie-opdracht uitgevoerd. Dit kan bijvoorbeeld zijn: geef i waarde 0. Als de voorwaarde vervolgens waar is, worden de opdracht(en) uitgevoerd. Daarna wordt de opdracht ophoging uitgevoerd, bijvoorbeeld door bij i de waarde 1 op te tellen. Vervolgens wordt weer gecontroleerd of volgorde waar is. Zodra de voorwaarde niet meer waar is, wordt gestopt met deze lus. Dit is een vrij belangrijke uitbreiding ten opzicht van Basic, want nu hoeft de ophoging niet perse lineair te zijn. Het is bijvoorbeeld ook mogelijk de tellervariabele elke lus te vermenigvuldigen met een getal. 14

15 Ook bij dit commando kan opdracht(en) een losse opdracht of meerdere gegroepeerde opdrachten zijn. Herhaling met controle vooraf Bij deze herhaling worden een of meerdere opdrachten net zo lang herhaald als een voorwaarde waar is. Meestal gebeurt dat als volgt: while voorwaarde opdracht(en) Hier worden de opdrachten uitgevoerd zolang de voorwaarde waar is. Om precies te zijn: eerst wordt de voorwaarde gecontroleerd. Is deze waar, dan worden de opdrachten uitgevoerd. Vervolgens wordt de voorwaarde opnieuw gecontroleerd. Zodra de voorwaarde bij een controle niet waar is, dan gaat het programma verder met alles wat er na dit stuk code komt. Herhaling met controle achteraf Bij deze herhaling worden een of meerdere opdrachten net zo lang herhaald totdat of zolang (afhankelijk van de taal) de voorwaarde waar is, maar de opdrachten worden altijd eerst één keer uitgevoerd. In C, C++, Java en Perl gebeurt dat als volgt: do opdrachten until voorwaarde Hier worden de opdrachten uitgevoerd totdat of zolang de voorwaarde waar is. Om precies te zijn: eerst worden de opdrachten uitgevoerd. Dan wordt de voorwaarde gecontroleerd. Is deze niet waar, dan worden de opdrachten opnieuw uitgevoerd. Vervolgens wordt de voorwaarde opnieuw gecontroleerd. Zodra de voorwaarde bij een controle waar is, dan gaat het programma verder met alles wat er na dit stuk code komt. In Awk, C#, JavaScript, Pike, en Ruby is het precies andersom: zolang de voorwaarde waar is, wordt de lus doorlopen, maar als hij een keer niet waar is stopt de lus. Voorbeeld: do opdrachten while (voorwaarde) Herhaling binnen een array Er is in veel talen een speciale lus die alle elementen van een array doorloopt. De syntaxis is verschillend. Merd, Pliant en Ruby gebruiken het codewoord each. E, JavaScript, Python en Ruby gebruiken for in. Lua, Perl, Pike, PHP en Tcl kennen het woord foreach, C++ heeft for_each en Scheme for-each. Het codewoord forall wordt door Postscript en Oz gebruikt, do door Smalltalk en do_all door Eiffel. 15

16 De lus begint altijd met het codewoord, gevolgd door gegroepeerde opdrachten die een bepaalde bewerking op het element van de array uitvoeren. Conclusie Ook in dit hoofdstuk zijn er niet echt schokkende verschillen tussen de talen. Er zijn wel kleine afwijkingen in de precieze syntaxis, maar de concepten zijn hetzelfde. Hoe opdrachten gegroepeerd worden, is wel een vrij belangrijk verschil. In sommige talen moet hier voor altijd een begin-end-constructie voor gebruikt worden. Het gebruik van bijvoorbeeld accolades is hier efficiënter. Programmeerparadigma s Wat zijn paradigma s? Er zijn verschillende typen programmeertalen, die elk gebruik maken van andere concepten en een andere manier vragen om tegen een probleem aan te kijken. Die verschillende typen talen heten paradigma s. In figuur 1 staan de verschillende paradigma s schematisch weergegeven. Figuur 1 Het meest voorkomende paradigma is het imperatieve paradigma. Een onderdeel daarvan is het procedurele paradigma. Daarvan is object-georiënteerd programmeren weer een onderdeel. Bijna alle voorbeelden in voorgaande paragrafen komen uit imperatieve talen. Naast het imperatieve paradigma staat het declaratieve paradigma. In tegenstelling tot imperatieve programmeertalen geef je bij functionele programmeertalen geen serie opdrachten, maar het doel dat je wilt bereiken, met een serie definities. Er zijn twee types declaratieve programmeertalen: functionele en logische. In de volgende paragrafen worden de verschillende paradigma s besproken. Imperatief programmeren Imperatief betekent bevelend: bij dit type programmeertalen geven we bevelen aan de processor. De computer voert de bevelen, ook wel opdrachten of instructies genoemd, in de programmacode van boven naar beneden uit. Wel is het mogelijk om gedeelten code meerdere 16

17 keren uit te voeren, delen voorwaardelijk uit te voeren of de opdracht te geven naar een andere regel te springen. De meeste programmeertalen zijn imperatief. Procedureel programmeren Het procedurele programmeerparadigma is een uitbreiding op het imperatieve. De eigenschappen van puur imperatieve talen zijn dus ook van toepassing op procedurele talen. Het procedurele paradigma is er op gebaseerd dat in een programma een aantal taken vaak veelvuldig uitgevoerd moeten worden. Daarom wordt er van zo n taak die vaker uitgevoerd moet worden een deelprogramma gemaakt. De naam van zo n deelprogramma verschilt per programmeeraal. In assembler, Fortran en Basic heet het bijvoorbeeld een subroutine, in Algol en Pascal een procedure, in C en PHP een functie en in C++ en Java een methode. Het deelprogramma kan zo vaak als nodig is aangeroepen worden door het hoofdprogramma. Het aanroepen van een deelprogramma heet een call of functieaanroep. In C en Java wordt het hoofdprogramma zelf ook beschouwd als een functie, genaamd main. Het starten van het programma staat dan gelijk aan het aanroepen van de main-functie. Het komt vaak voor dat een taak meerdere keren uitgevoerd moet worden, maar telkens op een net iets andere manier. Het kan bijvoorbeeld voorkomen dat er 7 cirkels getekend moeten worden, maar wel met 7 verschillende kleuren en met 7 andere kleuren opgevuld. Ook hier kan gebruik worden gemaakt van deelprogramma s. In zo n geval wordt bij de functieaanroep opgegeven welke kleur de cirkelomtrek moet hebben, en met welke kleur de cirkel ingekleurd moet worden. De waarden die met de functieaanroep mee worden gegeven, in dit geval omtrekkleur en invulkleur, worden parameters of argumenten genoemd. De functieaanroep gebeurt meestal met de naam van de functie, gevolgd door de parameters gescheiden door komma s tussen komma s: tekencirkel(rood, groen) (Ada, Awk, Awk, B, C, C#, C++, Dylan, E, Eiffel, Java, JavaScript, Lua, Mercury, merd, Modula-3, Pascal, Perl, PHP, Pike, Python, Ruby, Xpath) De haakjes en komma s ontbreken bij Haskell, OCaml, Pliant, SML, Tcl: tekencirkel rood groen Bij Scheme, Oz en Lisp komt alles tussen haakjes: (tekencirkel rood groen) Bij Forth, Postscript en Smalltalk is de syntaxis andersom: rood tekencirkel FL en Pliant gebruiken een dubbele punt: tekencirkel: rood 17

18 In Haskell, OCaml, BCPL en merd, overigens geen procedurele maar functionele talen, wordt een functie meer op een wiskundige manier aangegeven. In Haskell gebeurt dat bijvoorbeeld op de volgende wijze: tekencirkel rood groen = Eerst komt de naam van de functie, dan de naam van de argumenten en dan, in dit voorbeeld op de plaats van de puntjes, de functie zelf. De functie zelf wordt ook met een codewoord aangegeven. Meestal komt eerst het codewoord, vervolgens de functienaam, dan de parameters (meestal tussen haakjes) en dan de gegroepeerde opdrachten. In Perl is het codewoord sub. In Python en Ruby is het def. In Awk, Visual Basic, JavaScript, Ada en Pascal wordt het woord function gebruikt. Soms is het handig als een deelprogramma een resultaat terug geeft aan het hoofdprogramma. Je kan bijvoorbeeld honderd keer een wortel uit moeten rekenen en daar een deelprogramma voor schrijven, maar daar heb je niets aan als het deelprogramma de waarde niet aan het hoofdprogramma door geeft. Het teruggeven van een waarde gebeurt in praktisch alle talen met de opdracht return, gevolgd door de variabele die teruggegeven moet worden. In sommige talen is de naam van een deelprogramma dat geen waarde teruggeeft en een die dat wel doet verschillend. Zo heet het eerste in Basic een subroutine en in Pascal een procedure, maar heet het tweede in beide talen een functie. Deelprogramma s kunnen ook elkaar aanroepen. Zo kan het hoofdprogramma een functie aanroepen die een vierkant tekent, en die functie kan op zijn beurt weer een functie die een lijn tekent aanroepen. Een functie kan zelfs zichzelf aanroepen! Dat heet recursie. Er moet dan wel voor gezorgd worden dat de functie zich maar een beperkt aantal keer aanroept. Variabelen die gedeclareerd worden in het deelprogramma, kunnen meestal alleen aangesproken worden binnen dat deelprogramma en variabelen uit het hoofdprogramma zijn niet binnen de deelprogramma s de lezen of te wijzigen. Je kunt in de meeste talen wel variabelen declareren die in alle functies te lezen en wijzigen zijn: globale variabelen. Bij procedurele talen kan ook gebruik worden gemaakt van zogenaamde abstracte datatypes (ADT). Deze bestaat altijd twee delen. Het eerste deel is een structure. Het tweede deel zijn 18

19 functies die als eerste parameter de structure hebben, en dus de structure bewerken. Men kan nu nieuwe variabelen hiervan maken. De structure moet bewerkt worden via de functie, en niet rechtstreeks. Het voordeel van deze werkwijze is dat de programmeur die het hoofdprogramma schrijft niet hoeft te weten hoe de functies precies werken, alleen hoe hij ze moet gebruiken. Stel, je hebt een spel waaraan meerdere spelers mee kunnen doen. Je kunt nu een abstract datatype speler aanmaken. Je maakt vervolgens net zoveel variabelen hiervan als er spelers zijn. Wil je nu bijvoorbeeld 100 punten geven aan speler 5, dan hoef je niet te weten waar de puntentelling wordt bijgehouden, maar je kunt gewoon bijvoorbeeld de functie geefpunten, die al door iemand anders gemaakt is, aanroepen: geefpunten(speler[5], 100) Object-georiënteerd programmeren Object-georiënteerd programmeren of object orientated programming (OOP) is een onderdeel van het procedurele paradigma. Het vervangt abstracte datatypes. Abstracte datatypen heten nu klassen of classes. De functies heten nu methoden. Een klasse valt te beschouwen als een blauwdruk van een object: van een klasse kunnen een aantal objecten worden gemaakt, net als er een aantal variabelen van een bepaald datatype gemaakt kunnen worden. Het aanmaken van een nieuwe klasse gebeurt in bijna alle talen met de opdracht new. Het verschil met abstracte datatypes is dat de methodes nu officieel bij de klasse horen. Het datatype als eerste parameter ontbreekt nu dus. De attributen mogen binnen de methode direct worden aangesproken. Daarbuiten kan dat niet, om de overzichtelijkheid te bewaren. Een klasse begint meestal met het woord class (C#, C++, Haskell, Java, MzScheme, OCaml, PHP, Pike, Python, Ruby), gevolgd door de methoden en variabelen, meestal binnen accolades. Er zijn vergelijkbare codewoorden in andere talen, zoals Defclass in Common Lisp, en Subclass in Smalltalk. Om een methode van een andere klasse aan te spreken, geef je eerst de naam van de klasse, gevolgd door de methode. Meestal zijn de klasse- en de methodenaam gescheiden door een punt (Beta, C#, C++, Cecil, Delphi-Kylix, Eiffel, Icon, Java, JavaScript, merd, Modula-3, Python, Ruby, Sather, Visual Basic). Alleen OCaml gebruikt een hekje, Lua een dubbele punt, Pliant en Tcl een spatie, E een pijltje (<-) en C++, Perl, PHP en Pike een pijltje de andere kant op (->). Het is mogelijk een klasse te maken die een uitbreiding (extensie) is op een klasse. Dit heet een subklasse. In de nieuwe klasse kunnen alle attributen en methodes van de oude klasse 19

20 gebruikt worden. Dit heet overerving of inheritence. Voordeel hiervan is dat wijzigingen in de hoofdklasse meteen worden overgenomen in de subklasse. In C++ is het mogelijk dat een subklasse meerdere superklassen heeft. Dit lijkt handig, maar het lijdt tot problemen als een klasse twee superklasses heeft die zelf weer een gemeenschappelijke superklasse hebben. Erft de subklasse nu elke methode van de gemeenschappelijke klasse een- of tweemaal? Om dit soort problemen te vermijden is in Java maar een superklasse toegestaan. Een klasse die een uitbreiding is op een andere klasse wordt op steeds verschillende manieren gemaakt. class nieuwe_klasse extends oude_klasse (Java) class nieuwe_klasse : oude_klasse (C++) class nieuwe_klasse(oude_klasse): (Python) class nieuwe_klasse < oude_klasse end (Ruby) class nieuwe_klasse inherit oude_klasse end (Eiffel) class nieuwe_klasse :< oude_klasse (Beta) parent oude_klasse: nieuwe_klasse (Smalltalk) Attributen en methoden kunnen voor alle klassen toegankelijk zijn (public), of alleen voor andere methoden binnen dezelfde klasse (private). In C++ mogen ook subklassen privateattributen en -methoden gebruiken. In Java mag dat niet, behalve als er in plaats van private een derde type, protected, wordt gebruikt. Als meerdere programmeurs aan een programma werken, of als een programma erg groot wordt, kan het lastig worden het overzicht van een programma te houden. De kans is dan erg groot, dat per ongeluk twee functies dezelfde naam krijgen, en dat leidt uiteraard tot foutmeldingen omdat het programma niet weet welk van de twee functies bedoeld wordt. Dit wordt in de objectgeoriënteerde talen opgelost door functies in klassen te plaatsen. In Java kun je zelfs klassen weer onderbrengen in zogenaamde packages. Nadeel is wel dat ook bij eenvoudige programma s gebruik van klassen gemaakt moet worden. Over het algemeen wordt de inmiddels in onbruik geraakte taal Simula uit 1975 als eerste OOP-taal beschouwd, maar ADT was al langer bekend. Ook Smalltalk uit 1980 was een vroege taal van dit concept. 20

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

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

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

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

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

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

Geavanceerde Programmeertechnologie. Prof. dr. Kris Luyten Jo Vermeulen

Geavanceerde Programmeertechnologie. Prof. dr. Kris Luyten Jo Vermeulen Geavanceerde Programmeertechnologie Prof. dr. Kris Luyten Jo Vermeulen Wat mag je verwachten? Je wordt efficiënter als software ontwikkelaar Je kan je weg vinden in nieuwe programmeertalen van verschillende

Nadere informatie

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double. Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort

Nadere informatie

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

Verder zijn er de nodige websites waarbij voorbeelden van objectgeoriënteerd PHP (of Objec Oriented PHP, OO PHP) te vinden zijn.

Verder zijn er de nodige websites waarbij voorbeelden van objectgeoriënteerd PHP (of Objec Oriented PHP, OO PHP) te vinden zijn. Objectgeoriënteerd PHP (versie 5) Kennisvereisten: Ervaring met programmeren in PHP met MySQL Je weet wat een class of klasse is Je weet wat een instantie van een klasse (een object) is Je weet wat een

Nadere informatie

Programmeren in Java

Programmeren in Java 4 september 2015 Even voorstellen Naam: Wessel Oele(39) Email: W.Oele@hr.nl Website: http://med.hro.nl/oelew Kop van Zuid Rotterdam, 3 juni 2007 Overzicht van modules programmeren in Java In totaal 4 modules

Nadere informatie

Programmeren in Java 3

Programmeren in Java 3 2 september 2007 voor deeltijdstudenten Kop van Zuid Rotterdam, 3 juni 2007 Even voorstellen Naam: Wessel Oele(31) Docent bij opleiding technische informatica Kamer: I210 (tweede verdieping, links de gang

Nadere informatie

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

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

Een eerste applicatie

Een eerste applicatie Een eerste applicatie 2.1 Inleiding Programmeren in Visual Basic.NET doe je niet alleen door regels met code te schrijven. Je begint met het ontwerpen van een venster in de design mode met allerlei controls,

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

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

1 Inleiding in Functioneel Programmeren

1 Inleiding in Functioneel Programmeren 1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp

Nadere informatie

1.Noem de vijf categorieën waarin programmeertalen kunnen worden ingedeeld en geef van elke categorie één voorbeeld.

1.Noem de vijf categorieën waarin programmeertalen kunnen worden ingedeeld en geef van elke categorie één voorbeeld. Module 4 programmeren 1.Noem de vijf categorieën waarin programmeertalen kunnen worden ingedeeld en geef van elke categorie één voorbeeld. Machinecode Assembleertalen: assembly Hogere programmeertalen:

Nadere informatie

Hoofdstuk 5: Functies voor getallen en teksten

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

Nadere informatie

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

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele Informatica Objectgeörienteerd leren programmeren Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode Objectgeörienteerd

Nadere informatie

Turbo Pascal (deel 1)

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

Nadere informatie

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

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

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

Programmeren in Java les 3

Programmeren in Java les 3 4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een

Nadere informatie

eerste voorbeelden in Java

eerste voorbeelden in Java Beginselen van programmeren 2 eerste voorbeelden in Java vereisten: een editor: om programma in te tikken en te bewaren een Java compiler: zet ingetikte (bron-) programma om naar byte-code een Java Virtuele

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

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

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

Nadere informatie

II. ZELFGEDEFINIEERDE FUNCTIES

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

Nadere informatie

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

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

Inhoud leereenheid 8. Programmeren in JavaLogo (1) Introductie 73. Leerkern 75. Samenvatting 94. Zelftoets 95. Terugkoppeling 97

Inhoud leereenheid 8. Programmeren in JavaLogo (1) Introductie 73. Leerkern 75. Samenvatting 94. Zelftoets 95. Terugkoppeling 97 Inhoud leereenheid 8 Programmeren in JavaLogo (1) Introductie 73 Leerkern 75 1 Inleiding 75 1.1 Wat is programmeren? 75 1.2 Logo, Java en JavaLogo 76 2 Eerste programma s 77 2.1 Pen en Tekenblad 77 2.2

Nadere informatie

Modulewijzer tirprog02/infprg01, programmeren in Java 2

Modulewijzer tirprog02/infprg01, programmeren in Java 2 Modulewijzer tirprog02/infprg01, programmeren in Java 2 W. Oele 17 november 2009 1 Inhoudsopgave 1 Inleiding 3 2 Studiehouding 3 3 Voorkennis 4 4 Inhoud van deze module 5 5 Leermiddelen 5 6 Theorie en

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

Inleiding tot computers en programmeertalen

Inleiding tot computers en programmeertalen wat is informatica (eng. computer science)? Beginselen van programmeren 1 Inleiding tot computers en programmeertalen informatica is een wetenschap van abstractie: creëren van het juiste model voor een

Nadere informatie

Simon de schildpad. 2015 J van Weert 1

Simon de schildpad. 2015 J van Weert 1 Programmeren met Simon Simon de schildpad 2015 J van Weert 1 Inleiding: Wat is programmeren eigenlijk? Een computer doet niets zonder een programma. Die programma s worden geschreven door mensen: programmeurs.

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

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

Vorig jaar in 5v cluster, tot en met OO hoofdstukken, geen problemen. Nu in mengcluster, tot OO hoofdstukken, wel problemen bij 4h leerlingen

Vorig jaar in 5v cluster, tot en met OO hoofdstukken, geen problemen. Nu in mengcluster, tot OO hoofdstukken, wel problemen bij 4h leerlingen Eerste programmeertaal Leren programmeren vs. een programmeertaal leren In Nijmegen: Algol68 als basis voor o.a. Modula-2 en C Voor Codi/Boxmeer: Pascal, Java, HTML/PHP Niet helemaal tevreden over Java

Nadere informatie

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer

Nadere informatie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie Leren Programmeren met Visual Basic 6.0 Les 3+4 Hoofdstuk 4 : De Selectie Visual Basic 6.0 1 Basisstructuren (herhaling) Sequentie (HK2) : Alle opdrachten gewoon na mekaar uitvoeren. Hier worden geen keuzes

Nadere informatie

{ auteur, toelichting }

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

Nadere informatie

Hoofdstuk 2: Werken met variabelen

Hoofdstuk 2: Werken met variabelen Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, februari 2001 Hoofdstuk 2: Werken met variabelen 2.0

Nadere informatie

Het relaas van de beginnende programmeur. Het hoe en waarom van de assistent

Het relaas van de beginnende programmeur. Het hoe en waarom van de assistent Het relaas van de beginnende programmeur Het hoe en waarom van de assistent 1. Help, mijn code doet niks... Mogelijke oplossingen: Heb je op run geduwd (groene pijltje)? Zolang je niet op 'run' duwt, kent

Nadere informatie

Bijlage D. Binair rekenen

Bijlage D. Binair rekenen Bijlage D Binair rekenen Bits, bytes en computerwoorden Alle huidige computersystemen zijn gebaseerd op digitale logica. Elk geheugenelement kent een geladen en een niet-geladen positie. Vaak wordt dit

Nadere informatie

DELPHI VOOR ELEKTRONICI. Deel 2: Een rekenmachine programmeren CURSUS

DELPHI VOOR ELEKTRONICI. Deel 2: Een rekenmachine programmeren CURSUS DELPHI VOOR ELEKTRONICI CURSUS Deel 2: Een rekenmachine programmeren Herman Bulle met dank aan Anton Vogelaar In het vorige artikel hebben we de programmeeromgeving van Delphi geïntroduceerd en zijn er

Nadere informatie

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd Inhoudsopgave 1 Inleiding... 1 2 Toekenning- en herhalingsopdrachten (for loop)... 2 2.1 De wet van Ohm... 3 2.2 De spaarrekening... 3 2.3 De transformator... 3 3 Keuze- en herhalingsopdrachten (if, switch,

Nadere informatie

Simon de schildpad. 2012 J van Weert 1

Simon de schildpad. 2012 J van Weert 1 Programmeren met Simon Simon de schildpad 2012 J van Weert 1 Inleiding: Wat is programmeren eigenlijk? Een computer doet niets zonder een programma. Die programma s worden geschreven door mensen: programmeurs.

Nadere informatie

Kennismaken Greenfoot

Kennismaken Greenfoot HOOFDSTUK 1 Kennismaken met Greenfoot onderwerpen: de interface van Greenfoot, omgaan met objecten, methodes aanroepen, een scenario uitvoeren concepten: object, klasse, methode-aanroep, parameter, retourwaarde

Nadere informatie

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89.

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89. Inhoud leereenheid 7c JavaScript: Objecten en functies Introductie 59 Leerkern 60 1 Functies 60 1.1 Syntax - samenvatting 60 1.2 Functies definiëren 61 1.3 Functie als parameter (facultatief) 64 1.4 Functie

Nadere informatie

Derde Delphi Programma verkenning

Derde Delphi Programma verkenning Derde Delphi Programma verkenning In deze opdracht gaan we een aantal typische componenten en gegevenstypen van Windows en Delphi verkennen. We bouwen een eenvoudige rekenmachine en ondertussen leer je

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

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur 1. deze opgave telt voor 30% van het totaal. Schrijf een compleet programma, dat door de gebruiker vanaf

Nadere informatie

Aan het eind van deze lesbrief wordt uitgelegd wat het nut van OOP is en vind je een aantal oefenopdrachten.

Aan het eind van deze lesbrief wordt uitgelegd wat het nut van OOP is en vind je een aantal oefenopdrachten. Doel van deze lesbrief Deze lesbrief is bedoeld om je op de hoogte te brengen van de basisbegrippen die gangbaar zijn bij object georiënteerd programmeren (OOP). In deze lesbrief kom je korte codefragmenten

Nadere informatie

Een eenvoudig algoritme om permutaties te genereren

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

Nadere informatie

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl Excel reader Beginner Gemiddeld Auteur Bas Meijerink E-mail bas@excel-programmeur.nl Versie 01D00 Datum 01-03-2014 Inhoudsopgave Introductie... - 3 - Hoofdstuk 1 - Databewerking - 4-1. Inleiding... - 5-2.

Nadere informatie

WELKOM BIJ BOMBERBOT! LES 1: WAT IS PROGRAMMEREN LES 1: WAT IS PROGRAMMEREN WAAR GAAT DEZE LES OVER? INTRODUCTIE

WELKOM BIJ BOMBERBOT! LES 1: WAT IS PROGRAMMEREN LES 1: WAT IS PROGRAMMEREN WAAR GAAT DEZE LES OVER? INTRODUCTIE WELKOM BIJ BOMBERBOT! Bij onze lessen horen ook nog een online game, waarin de leerlingen de concepten die ze geleerd krijgen direct moeten toepassen, en een online platform, waarin u de voortgang van

Nadere informatie

Hoofdstuk 1: Een eerste Visual Basic project

Hoofdstuk 1: Een eerste Visual Basic project Programmeren in Microsoft Visual Basic 2010 Express, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Vespucci College, Marnix Gymnasium Rotterdam, december 2011 Hoofdstuk

Nadere informatie

PROGRAMMEERTALEN EN -PARADIGMA S. Universiteit Utrecht

PROGRAMMEERTALEN EN -PARADIGMA S. Universiteit Utrecht PROGRAMMEERTALEN EN -PARADIGMA S Jeroen Fokker Informatica-instituut Universiteit Utrecht Willem van der Vegt Chr. Hogeschool Windesheim Zwolle 1 2 INHOUDSOPGAVEInleiding Geschiedenis van programmeertalen

Nadere informatie

HvA Instituut voor Interactieve Media ActionScript 3.0

HvA Instituut voor Interactieve Media ActionScript 3.0 PPRO 1: OEFENINGEN LES 1 Hierbij de werkgroepoefeningen behorend bij het practicum week 1. Lees de stukken uitleg aandachtig door, zonder deze informatie zullen de principes in de oefeningen moeilijk te

Nadere informatie

Hoofdstuk 0. Van Python tot Java.

Hoofdstuk 0. Van Python tot Java. Hoofdstuk 0. Van Python tot Java. In dit eerste hoofdstuk maken we de overstap van Python naar Java. We bespreken de verschillen en geven wat achtergrondinformatie. In het volgende hoofdstuk gaan we dieper

Nadere informatie

VI. Klassen en objecten

VI. Klassen en objecten VI. Klassen en objecten Klassen en objecten vormen het fundament van OOP. We zullen dus uitgebreid aandacht besteden aan klassen en objecten. U kunt Java niet begrijpen zonder goed met klassen en objecten

Nadere informatie

Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur

Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur 1. (2 punten per deelvraag) Deze opgave bestaat uit een aantal tekstvragen. Houd het antwoord kort: een

Nadere informatie

Hoofdstuk 1: Een eerste Visual Basic project

Hoofdstuk 1: Een eerste Visual Basic project Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, februari 2001 Hoofdstuk 1: Een eerste Visual Basic

Nadere informatie

Opdracht 4: Overzichtelijker en generieker

Opdracht 4: Overzichtelijker en generieker Opdracht 4: Overzichtelijker en generieker Algoritmisch Denken en Gestructureerd Programmeren in Greenfoot c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Op dit werk is een creative commons licentie van

Nadere informatie

talstelsels F. Vonk versie 1 30-7-2013

talstelsels F. Vonk versie 1 30-7-2013 2013 talstelsels F. Vonk versie 1 30-7-2013 inhoudsopgave 1. inleiding... - 2-2. binair... - 4-3. hexadecimaal... - 10-4. octaal (vwo)... - 17-5. bonus opgaves... - 20-6. wat heb je geleerd... - 21 - Dit

Nadere informatie

Verzamelingen, Lijsten, Functioneel Programmeren

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

Nadere informatie

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

Java. Basissyllabus. Egon Pas

Java. Basissyllabus. Egon Pas Java Basissyllabus Egon Pas 2011 BeanPole bvba Gasmeterlaan 92-9000 Gent BTW BE 472.902.516 Tel: + 32 9 224 42 17 Fax: + 32 9 223 62 88 www.beanpole.be info@beanpole.be 1 Programmeren 1.1 Hoe werkt een

Nadere informatie

Nu een leuk stukje wiskunde ter vermaak (hoop ik dan maar). Optellen van oneindig veel getallen

Nu een leuk stukje wiskunde ter vermaak (hoop ik dan maar). Optellen van oneindig veel getallen Nu een leuk stukje wiskunde ter vermaak (hoop ik dan maar). Optellen van oneindig veel getallen Ter inleiding: tellen Turven, maar: onhandig bij grote aantallen. Romeinse cijfers: speciale symbolen voor

Nadere informatie

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze

Nadere informatie

Online c++ leren programmeren:

Online c++ leren programmeren: Online c++ leren programmeren: Inhoud 1)Waar vind ik een c++ compiler?... 2 2)Hoe start ik een programma in c++?... 2 3)Een eerste c++ programma:... 3 Een eerste programma schrijven:... 3 Mijn eerste programma

Nadere informatie

Hoofdstuk 20: Wiskundige functies

Hoofdstuk 20: Wiskundige functies Hoofdstuk 20: Wiskundige functies 20.0 Introductie Er is een uitgebreid aanbod aan wiskundige functies in Excel, variërend van het simpele + teken tot de esoterische statistiek functies voor een correlatie

Nadere informatie

Overerving & Polymorfisme

Overerving & Polymorfisme Overerving & Polymorfisme Overerving Sommige klassen zijn speciaal geval van andere klasse Docent is een speciaal geval van werknemer, dwz. elke docent is ook werknemer Functionaliteit van docent = functionaliteit

Nadere informatie

Inhoud hoofdstuk 1. Tekenen in JavaLogo. Introductie. Leerkern. Leereenheid 1 Tekenen in JavaLogo

Inhoud hoofdstuk 1. Tekenen in JavaLogo. Introductie. Leerkern. Leereenheid 1 Tekenen in JavaLogo Inhoud hoofdstuk 1 Tekenen in JavaLogo Introductie Leerkern 1 Eerste programma s 1.1 Pen en tekenblad 1.2 Een volledig JavaLogo-programma 1.3 Pen en tekenblad nader bekeken 2 Extra methoden 2.1 Zelf methoden

Nadere informatie

http://www.liacs.nl/home/kosters/java/

http://www.liacs.nl/home/kosters/java/ sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/

Nadere informatie

Turbo Pascal deel 3 MSX CLUB MAGAZINE 36. Erik van Bilsen. Scanned, ocr ed and converted to PDF by HansO, 2001

Turbo Pascal deel 3 MSX CLUB MAGAZINE 36. Erik van Bilsen. Scanned, ocr ed and converted to PDF by HansO, 2001 Turbo Pascal deel 3 MSX CLUB MAGAZINE 36 Erik van Bilsen Scanned, ocr ed and converted to PDF by HansO, 2001 In deze aflevering van de cursus gaan we scrollen en wel smooth-scroll in maar liefst vier richtingen.

Nadere informatie

A.C. Gijssen. 0.3 PHP en MySQL

A.C. Gijssen. 0.3 PHP en MySQL PHP en MySQL A.C. Gijssen 0.3 PHP en MySQL PHP en MySQL 0.4 Inhoudsopgave Voorwoord Deel 1 Over PHP 1.1 Inleiding...13 1.2 Wat is PHP?...14 1.3 De geschiedenis van PHP...15 1.4 Editor...16 1.5 PHP en websites...17

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

HP Prime: Spreadsheet App

HP Prime: Spreadsheet App HP Prime Graphing Calculator HP Prime: Spreadsheet App Meer over de HP Prime te weten komen: http://www.hp-prime.nl De Spreadsheet-App op de HP Prime Misschien heb je al eens gewerkt met een spreadsheet,

Nadere informatie

Hoofdstuk 3: Keuzestructuren

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

Nadere informatie

Een inleiding in de Unified Modeling Language 67

Een inleiding in de Unified Modeling Language 67 Een inleiding in de Unified Modeling Language 67 1.4.5. Toepassing 5: Klasse Kaart. De opdracht bestaat erin algemene klassen te maken zodanig dat het mogelijk wordt om het even welk kaartspel te maken.

Nadere informatie

Programmeerstructuren met App Inventor

Programmeerstructuren met App Inventor Programmeerstructuren met App Inventor Kevin Krul, Universiteit Utrecht Roncalli, Bergen op Zoom Inhoud: Les 1: Introductie tot App Inventor, when statement en variabelen. Les 2: Introductie if-statement

Nadere informatie

Haskell: programmeren in een luie, puur functionele taal

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

Nadere informatie

Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft

Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale

Nadere informatie

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

Info-books. Toegepaste Informatica. Handleiding. Deel 40c : Gegevensbeheer en algoritmen in Access. HA40c. Jos Gils Erik Goossens Info-books HA40c Toegepaste Informatica Handleiding Deel 40c : Gegevensbeheer en algoritmen in Access Jos Gils Erik Goossens Veldlengte Het maximale aantal tekens dat in een veld kan ingevoerd worden.

Nadere informatie

Stel dat u 15 tellers nodig heeft. Dat kunt u een array van tellers als volgt declareren:

Stel dat u 15 tellers nodig heeft. Dat kunt u een array van tellers als volgt declareren: V. Arrays A. Wat zijn arrays? Een array is een verzameling van variabelen. Ze hebben allen dezelfde naam en hetzelfde type. Men kan ze van elkaar onderscheiden door een volgnummer, index genoemd. Enkele

Nadere informatie

FUNCTIONEEL PROGRAMMEREN WEEK 1

FUNCTIONEEL PROGRAMMEREN WEEK 1 FUNCTIONEEL PROGRAMMEREN WEEK 1 T. Busker Bron: Kris Luyten en Jo Vermeulen - Expertise Centrum voor Digitale Media - Universiteit Hasselt Functioneel programmeren? Alles via functies Alles via expressies

Nadere informatie

Hoofdstuk 9: Menu s toevoegen

Hoofdstuk 9: Menu s toevoegen Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, maart 2005 Hoofdstuk 9: Menu s toevoegen 9.0 Leerdoel

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

10. Controleopdrachten

10. Controleopdrachten Computeralgebra met Maxima 10. Controleopdrachten 10.1. Functies en operatoren voor lijsten/vectoren/arrays Een van de eenvoudigste maar belangrijkste lusachtige functies is de makelist opdracht. Voor

Nadere informatie

1. REGELS VAN DEELBAARHEID.

1. REGELS VAN DEELBAARHEID. REKENEN VIJFDE KLAS Luc Cielen 1. REGELS VAN DEELBAARHEID. Deelbaarheid door 10, 100, 1000 10: het laatste cijfer (= cijfer van de eenheden) is 0 100: laatste twee cijfers zijn 0 (cijfers van de eenheden

Nadere informatie

Dynamiek met VO-Script

Dynamiek met VO-Script Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software bert@dla-architect.nl Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries

Nadere informatie

T3 in het wild While Juni 2004. Tom de Valk 0115665 Tom Evers 0115525 Sjors Meekels 0138630

T3 in het wild While Juni 2004. Tom de Valk 0115665 Tom Evers 0115525 Sjors Meekels 0138630 T3 in het wild While Juni 2004 Tom de Valk 0115665 Tom Evers 0115525 Sjors Meekels 0138630 INHOUDSOPGAVE Inleiding... 2 1. WHILE OO... 3 1.1 Afbakening... 3 1.2 Uitbreidingen... 3 2. Syntax... 4 3. Semantiek...

Nadere informatie

Zelftest Programmeren in Java

Zelftest Programmeren in Java Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test

Nadere informatie

Blog-Het gebruik van variabelen in Excel VBA

Blog-Het gebruik van variabelen in Excel VBA Blog-Het gebruik van variabelen in Excel VBA Versie : 2012.01.31.1 (Blog http://www.reinder.eu) Dank voor de leuke reacties op het vorige blog en ook dank voor de kritische noot over het nivo dat de gebruiker

Nadere informatie

Formulieren maken met Dreamweaver CS 4/CS 5

Formulieren maken met Dreamweaver CS 4/CS 5 Formulieren maken met Dreamweaver CS 4/CS 5 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit

Nadere informatie

DOMjudge teamhandleiding

DOMjudge teamhandleiding judge DOMjudge teamhandleiding Samenvatting /\ DOM DOM judge Hieronder staat de belangrijkste informatie kort samengevat. Dit is bedoeld om snel aan de slag te kunnen. We raden echter ten zeerste aan dat

Nadere informatie