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

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

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

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

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

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

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

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

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

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

Een korte samenvatting van enkele FORTRAN opdrachten

Een korte samenvatting van enkele FORTRAN opdrachten Een korte samenvatting van enkele FORTRAN opdrachten Inhoud 1 Introductie 3 2 De structuur van een FORTRAN programma 3 3 Datatypen, variabelen en declaraties 3 4 Expressies-volgorde van uitwerking 4 5

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

Lab Webdesign: Javascript 3 maart 2008

Lab Webdesign: Javascript 3 maart 2008 H5: OPERATORS In dit hoofdstuk zullen we het hebben over de operators (of ook wel: operatoren) in JavaScript waarmee allerlei rekenkundige en logische bewerkingen kunnen worden uitgevoerd. Daarbij zullen

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

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

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

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

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

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

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

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

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

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

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

slides6.pdf 16 nov

slides6.pdf 16 nov Inhoud Inleiding Algemeen 5 Waarom programmeertalen? Geschiedenis Abstractiemechanismen Programmeertalen Piet van Oostrum 16 november 2001 INL/Alg-5 1 X INL/Alg-5 1 X Machinecode Voor- en nadelen assemblercode

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

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

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

Programmeren (1) Examen NAAM:

Programmeren (1) Examen NAAM: Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien) en geef zowel klad als net af. Bij heel wat vragen moet je zelf Java-code schrijven. Hou dit kort en bondig. Je hoeft

Nadere informatie

Modelleren & Programmeren. Jeroen Fokker

Modelleren & Programmeren. Jeroen Fokker Modelleren & Programmeren Jeroen Fokker Wat heb je nodig? Collegediktaat kopen bij A-Eskwadraat (BBG-238) of zelf downloaden en uitprinten www.cs.uu.nl / docs / vakken / KI1V13009 Solis-id met password

Nadere informatie

Mobiel programmeren. Jeroen Fokker

Mobiel programmeren. Jeroen Fokker Mobiel programmeren Jeroen Fokker Wat heb je nodig? Website Met collegediktaat en software www.cs.uu.nl / docs / vakken / b1mop Laptop bring your own device Microsoft Visual Studio Community 2015 of Xamarin

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

Inhoudsopgave Voorwoord 5 Voordat je begint 6 Wat heb je nodig? 7 De website bij het boek 7 Voor ouders, verzorgers en leraren

Inhoudsopgave Voorwoord 5 Voordat je begint 6 Wat heb je nodig? 7 De website bij het boek 7 Voor ouders, verzorgers en leraren Inhoudsopgave Voorwoord... 5 Voordat je begint... 6 Wat heb je nodig?... 7 De website bij het boek... 7 Voor ouders, verzorgers en leraren... 8 Vervolgboeken over programmeren... 8 1. Aan de slag met Python

Nadere informatie

College Introductie

College Introductie College 2016-2017 Introductie Doaitse Swierstra (Jeroen Bransen) Utrecht University September 13, 2016 Waarom is FP anders? in plaats van opdrachten die na elkaar moeten worden uitgevoerd, definiëren we

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

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

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

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

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

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

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

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

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

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

Nadere informatie

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

[8] De ene 1 is de andere niet

[8] De ene 1 is de andere niet [8] De ene 1 is de andere niet Volg mee via 08_Types.py In de volgende leerfiche gaan we rekenen met Python. Dat kan je in een programma doen, maar dat kan je ook gewoon vanuit het Shell-venster doen.

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

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

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

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

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

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

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 OEFENINGEN PYTHON REEKS 1 Vraag 1: Python als een eenvoudige rekenmachine Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3) en

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

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

Hoofdstuk 6: Zelf functies maken

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

Nadere informatie

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

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

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 13 november 2015 Expressies Functies Ingebouwde functies Variabelenbereik Inleveropgave 1 Terugblik Programma is een lijst van opdrachten Terugblik Programma is

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

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

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

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

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

3. Structuren in de taal

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

Nadere informatie

DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO

DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO DE ASTRO PI PROGRAMMEREN DOCENTENHANDLEIDING 1 Deze handleiding is bedoeld om leerlingen te ondersteunen bij de Astro Pi Challenge, waarbij leerlingen een programma voor de Astro Pi-computer in het ISS

Nadere informatie

PYTHON REEKS 1: BASICS. Mathias Polfliet

PYTHON REEKS 1: BASICS. Mathias Polfliet PYTHON REEKS 1: BASICS Mathias Polfliet mpolflie@etrovub.be EENVOUDIGE REKENMACHINE 2 soorten getallen Getallen Z -> integers (gehele getallen) Getallen R -> floating points (reële getallen) Door beperkte

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

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Vrijdag 22 januari 2010 Toelichting Dit is een open boek tentamen. Communicatie en het gebruik van hulpmiddelen zijn niet toegestaan.

Nadere informatie

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

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

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14 Python Vraag 1: Expressies en types Integrated Development Environment (IDE): Ø Wing 101 (gratis te downloaden op www.wingware.com) Oefeningen in de shell >> noemen we de prompt Python commando s = expressies

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

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

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

Afhankelijk van wanneer je het programma uitvoert, zie je een van de volgende resultaten:

Afhankelijk van wanneer je het programma uitvoert, zie je een van de volgende resultaten: Hoofdstuk 4 Voorwaarden en vertakkingen Laten we eens teruggaan naar ons eerste programma. Zou het niet leuk zijn als we in plaats van het algemene Hallo wereld, afhankelijk van de tijd van de dag, Goedemorgen

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

{ 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

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

VBA voor Doe het Zelvers deel 20

VBA voor Doe het Zelvers deel 20 VBA voor Doe het Zelvers deel 20 Handleiding van Auteur: leofact Augustus 2015 handleiding: VBA voor Doe het Zelvers deel 20 Vorige aflevering In het vorige deel werd besproken hoe je de structuur en vensteropbouw

Nadere informatie

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

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

Nadere informatie

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

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

Nadere informatie

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

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

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

Modelleren en Programmeren

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

Nadere informatie

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Informatie. Voorbeeld. Voorbeeld: toegangsprijs

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Informatie. Voorbeeld. Voorbeeld: toegangsprijs 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

REKENVAARDIGHEID BRUGKLAS

REKENVAARDIGHEID BRUGKLAS REKENVAARDIGHEID BRUGKLAS Schooljaar 008/009 Inhoud Uitleg bij het boekje Weektaak voor e week: optellen en aftrekken Weektaak voor e week: vermenigvuldigen Weektaak voor e week: delen en de staartdeling

Nadere informatie

Informatie voor de leerkracht Introductie nieuw concept (pagina 1) Programmeren met Bomberbot (pagina 1)

Informatie voor de leerkracht Introductie nieuw concept (pagina 1) Programmeren met Bomberbot (pagina 1) Leerlingen herkennen dat de moderne technologie om ons heen geprogrammeerd is door mensen. Leerlingen begrijpen dat een computer-programma bestaat uit een set instructies die een computer uitvoert en dat

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

DE INTERACTIEVE SHELL

DE INTERACTIEVE SHELL Hoofdstuk2 De interactieve shell 6 Hoofdstuk 2 DE INTERACTIEVE SHELL In dit hoofdstuk behandelen we: Integers (gehele getallen) en getallen met drijvende komma Expressies Waarden Operatoren Het evalueren

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

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

Deeltentamen Grammatica s en ontleden 22 december 2005

Deeltentamen Grammatica s en ontleden 22 december 2005 Tentamen Grammatica s en ontleden 22 december 2005 1 Deeltentamen Grammatica s en ontleden 22 december 2005 Let op: opgave 1 t/m 4 tellen voor (slechts) 5 punten mee, opgave 5 voor maar liefst 50 punten,

Nadere informatie

Modulewijzer Tirdat01

Modulewijzer Tirdat01 Modulewijzer Tirdat01 W. Oele 25 augustus 2008 1 Inhoudsopgave 1 Inleiding en leerdoelen 3 2 Voorkennis 3 2.1 tirprg01 en tirprg02........................ 3 2.2 tirprg03.............................. 4

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

De standaard programmeertaal

De standaard programmeertaal C De standaard programmeertaal Oorsprong CPL stond voor Combined Programming Language of Cambridge Programming Language. Ze stamt uit 1963, maar de eerste compiler arriveerde pas rond 1970. De taal was

Nadere informatie

Android apps met App Inventor 2 antwoorden

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

Nadere informatie

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