Over Objectoriëntatie (v1.1)

Maat: px
Weergave met pagina beginnen:

Download "Over Objectoriëntatie (v1.1)"

Transcriptie

1 (v1.1) J.P. Sturkenboom 30 januari 2012 Dit betreft een eerste versie van dit document. Meld fouten via of bij jouw docent in het werkcollege. Tegenover elke eerste keer dat een fout gemeld wordt staat een chocoladereep naar keuze uit de automaat op de 6 e verdieping. This work is licensed under a Creative Commons License.

2 Inleiding object- georiënteerd programmeren In het vak Programmeren ga je kennismaken met de taal Actionscript, een objectgeoriënteerde programmeertaal die gebruikt wordt om functionaliteit aan Adobe Flash applicaties toe te voegen. Misschien vind je het heel leuk om te gaan programmeren en is dit precies waarom je voor Interactieve Media hebt gekozen. Het kan natuurlijk ook dat je helemaal geen zin hebt in het vak omdat je verwacht dat het niet jouw ding is. In beide gevallen zal je in de loop van de komende weken toch behoorlijk wat regels code gaan ontwikkelen en het is hierbij handig als je een aantal zaken goed op een rijtje hebt. Om een begin te maken met het object-georiënteerd programmeren van applicaties in de taal Actionscript dient eerst een helder beeld verkregen te worden van de fundamenten, de terminologie en de abstracte concepten die in deze manier van programmeren gebruikt worden. In dit inleidend schrijven komen de verschillende fundamenten van het object-georiënteerd programmeren aan bod. Allereerst zal behandeld worden wat de betekenis van de term object-georiënteerd programmeren is, hoe deze formeel gedefinieerd is en hoe we deze term in het dagelijks spreken gebruiken of gaan gebruiken. Vervolgens wordt gekeken naar de specifieke eigenschappen van een object-georiënteerde programmeertaal. De fundamenten van elke programmeertaal die aan bod komen zijn bibliotheken, klassen, methoden en variabelen. Schrik niet, deze termen worden allemaal uitgelegd. Na deze inleiding op programmeertheorie, waar in de colleges en werkgroepen veelvuldig aan zal worden gerefereerd, gaan we in op de praktijk. We kijken uitgebreid naar het basisrecept van een klasse in AS en er wordt aan de hand van code toegelicht hoe de eerder behandelde theoretische concepten verwezenlijkt worden in deze programmeertaal. Het lezen van code is een essentieel onderdeel bij het leren programmeren, door naar andermans code te kijken leer je hoe dingen gedaan worden, deze kan je dan vervolgens zelf inzetten. 1 Objecten zullen vervolgens worden ontleed door de aandacht te richten op achtereenvolgens eigenschappen en methoden. Eigenschappen zijn de kenmerken van objecten en in methoden wordt de functionaliteit van een object beschreven. Object Oriëntatie Actionscript is blijkbaar een object-georiënteerde programmeertaal, wat houdt dit nu precies in? Laten we eerst eens naar de betekenis van de term kijken. Allereerst is er de term object; in het dagelijks leven gebruiken we deze term om alles wat tastbaar is, de dingen om ons heen, aan te duiden. Voorbeelden van dingen die we gebruikelijk in ons hoofd hebben als we over een object spreken, dingen die we van nature aan duiden als object zijn bijvoorbeeld: een appel, een radiator, een 1 Ik durf te beweren dat elke programmeur ooit is begonnen met het lenen van stukken code van anderen. Bij Interactieve Media hebben we zoals je weet strenge regels met betrekking tot plagiëren van teksten, deze regels gelden net zo goed voor code. Je mag code overnemen mits je aangeeft waar de code vandaan komt. 2

3 geodriehoek, een beeldhouwwerk, een jampot en andere fysieke dingen. Wellicht zijn er meer zaken die vallen onder de term object. Een goed begin van het begrijpen van een woord is om dat woord op te zoeken in het woordenboek, Van Dale zegt er het volgende over: ob ject het; o -en voorwerp (1, 2) Als we vervolgens kijken hoe voorwerp uitgelegd wordt staat er: voor werp het; o -en 1) iets wat men waarneemt, aanvat, bewerkt, liefheeft, haat enz. 2) (taalkundig) naam van dat zinsdeel dat een persoon, zaak enz. noemt die naast het onderwerp bij het gebeuren betrokken is: lijdend ~ zinsdeel dat de handeling ondergaat, bv. Jan in Piet belt Jan ; meewerkend ~ bv. Jan in Piet geeft Jan een duw Daar staan een heleboel werkwoorden achter elkaar, waarnemen duidt op iets wat we zien via de zintuigen, je vat iets aan als je het kunt pakken of kunt meenemen, bewerken is het maken van een aanpassing aan een bestaand iets, liefhebben is als je ergens dicht bij wilt zijn of je ergens goed bij voelt, omgekeerd is haten als je het liefst ergens ver vandaan blijft of er een slecht gevoel bij hebt. Voorbeelden van objecten kunnen dus blijkbaar gegeven worden door fysiek waarneembare zaken op te noemen, onze natuurlijke notie van het woord object blijkt juist. Daarnaast vallen ook abstractere begrippen als: een bankrekening (ik kan mijn bankrekening bewerken), mijn internetverbinding (deze heb ik lief), een URL (ik kan een URL bewerken) en een geometrische vorm (deze kan ik ergens in waarnemen) onder de term object. In moeilijke termen zou je kunnen stellen dat een object al datgene is waarop wij als subject betrekking kunnen hebben, datgene waar wij als mens onze aandacht op kunnen richten (maar dit wordt wel erg filosofisch). In programmeerland wordt de term object op nagenoeg dezelfde wijze gehanteerd. Daarna volgt de term georiënteerd, wat wordt hier doorgaans mee bedoeld? Je kunt een oriëntatiejaar volgen aan hogescholen of universiteiten, je kunt je gevoel voor oriëntatie kwijt raken, bijvoorbeeld in de jungle of in een vreemde stad en in projectwerk spreken we over een oriëntatiefase. Ook kan je, zoals je nu aan het doen bent, je in een theorie oriënteren. In Van Dale staat: ge ori ën teerd bn 1 gericht naar 2 gezind: communistisch ~ Dit zegt nog niet heel erg veel, de eerste uitleg is gericht naar. Daar kunnen we wellicht iets mee. De tweede uitleg: gezind, doet voor wat wij nodig hebben erg vreemd aan, het past niet in de betekenis die wij zoeken. Laten we verder kijken naar de uitleg van het woord gericht. ge richt bn, bw met een bepaalde richting: ~ schieten, rich ten richtte, h gericht 1 in een bepaalde richting stellen, plaatsen, brengen: een stuk geschut ~ op de vijand 2 in een bepaalde richting laten gaan: de steven, de koers ~ naar ergens heen varen 3 sturen, zenden: een brief, aan mij gericht; het woord tot iemand ~ aan- of toespreken 3

4 Oriëntatie heeft dus kennelijk te maken met een bepaalde richting, een gericht zijn op iets. In het voorbeeld gericht schieten ben je gericht op een bepaald doel. Je kunt iets in een bepaalde richting laten gaan, in Van Dale wordt als voorbeeld de koers van een boot gebruikt maar je kunt natuurlijk ook in een bepaalde richting fietsen of lopen. Georiënteerd zijn betekent in dit opzicht gericht zijn, er is een richting bepaald, het is duidelijk waar we naar toe gaan. Tenslotte volgt de term programmeren, hierover stelt Van Dale het volgende: pro gram me ren -meerde, h geprogrammeerd 1 (computer) programma s maken 2 (radio, tv) een planning maken van de uit te zenden programma s De eerste uitleg is meteen een schot in de roos, het maken van computer programma s is wat wordt bedoeld met de term programmeren, veel meer hoeft daar niet aan toegevoegd te worden. We hebben nu de drie losse termen met behulp van een woordenboek aan een klein hermeneutisch 2 onderzoek onderworpen, laten we ze nu achter elkaar zetten en trachten te komen tot een mooie, definitieachtige volzin. Object-georiënteerd programmeren als samengevoegde term houdt bezien het voorgaande het volgende in: Ontwikkelen of maken van (computer)programma s waarbij de ontwikkelaar gericht is op het gebruik van al dan niet abstracte voorwerpen. We waren begonnen bij het begrip object georiënteerd programmeren en hebben nu door middel van een woordenboek een uitleg van wat dit betekend. Maar hebben we hiermee al grip op de term? Het lijkt zo te zijn dat de essentie van de vraag nog niet beantwoord is. We zullen verder op zoek moeten gaan. Object-georiënteerd programmeren is een manier van werken, een wijze van oplossen van programmeerproblemen. Een object-georiënteerde programmeertaal is een programmeertaal waarin deze stijl van programmeren op een goede manier ondersteund wordt. Actionscript is een taal waarin de object-georiënteerde stijl in meer of minder mate ondersteund is. Dat klinkt erg interessant, maar hoe wordt dit in de praktijk gebracht? Om duidelijk antwoord te kunnen geven op die vraag begin ik met een voorbeeld dat we ook in de filosofie tegenkomen. 3 Bekijk het volgende figuur: Aardbei Aardbei 2 In een hermeneutisch onderzoek wordt gezocht naar de juiste uitleg van bepaalde woorden of teksten. Wat we net gedaan hebben is een onderzoek naar de betekenis van de term objectgeoriënteerd programmeren. Je kunt zeggen dat hermeneutiek uitlegkunde is. 3 De theorie die hier bedoeld wordt is de type/token theorie: Wetzel, L. ( April). Types and Tokens. Retrieved from Stanford Encyclopedia of Philosophy: 4

5 Hoeveel woorden tel je? In het ene opzicht kan je stellen dat er één woord in de rechthoek staat, in een ander opzicht staan er twee woorden. Waarin ligt precies het verschil? Dit ligt in de benadering van de woorden als klasse of als instantie. 4 Bezien vanuit de positie van de klasse staat er één woord in de rechthoek, namelijk het woord aardbei, een klasse is een abstract en uniek ding. Met abstract wordt bedoeld dat je nooit in echte wereld een klasse tegen zult komen, het is een denkbeeldig iets, een afgeleide van zaken die je in de echte wereld tegen komt, klassen zijn uniek in de zin dat er nooit twee exact hetzelfde zijn, de uniciteit maakt dat we over überhaupt over klasse spreken. Instanties zijn daarentegen concrete particularia, bezien vanuit de positie van instantie staan er twee woorden in de rechthoek, namelijk tweemaal het woord aardbei. De relatie tussen klasse en instantie is als volgt, een klasse kan maar één keer voor komen. Als ergens twee aardbeien liggen zeggen we niet, daar liggen een aaardbei en een baardbei, we zeggen dan: daar liggen twee voorwerpen van de klasse aardbei. De instantie is een exemplaar van een bepaalde klasse, een instantie heeft dus een bepaalde klasse. Er kunnen oneindig veel instanties zijn van één enkele klasse, stel je een aardbeienveld voor, er zijn vele instanties van aardbeien, maar ze zijn allemaal van de klasse aardbei. In object-georiënteerd programmeren spreken we over klassen en objecten, objecten zijn instanties van klassen. Net als bij voorgaand voorbeeld kunnen van een klasse meerdere objecten gemaakt worden, omgekeerd zijn objecten altijd van een bepaalde klasse, je zou kunnen zeggen van een bepaald type. Hoe die klassen en objecten er precies uitzien gaan we verderop bekijken onder het kopje classificatie, laten we eerst nog iets dieper ingaan op het principe van indelen gebaseerd op objecten. Een hiërarchische indeling Wij mensen zijn gewend de wereld systematisch in te delen. Een van de eerste personen die inzag dat alle dingen om ons heen te vatten zijn in een systeem was de filosoof Aristoteles. In zijn boek Categoriae (Over de categorieën) wordt alles zo algemeen mogelijk geduid, dat wil zeggen dat de dingen worden benoemd en ingedeeld naar hun klassen en kenmerken, de eerste vier door Aristoteles onderkende categorieën zijn substantie bijvoorbeeld paard of steen, kwantiteit bijvoorbeeld zes of twee meter, kwaliteit bijvoorbeeld wit of grammaticaal en relatie bijvoorbeeld beter of groter dan. 5 In de moderne wetenschap zijn nog steeds vele kenmerken van deze theorie te herkennen, als je biologie gehad hebt op de middelbare school herinner je wellicht de indeling in soort (genus) en geslacht (species) van alle dieren en plantensoorten. Bij het vak Nederlands vind je de indeling van woorden in werkwoorden, bijvoeglijk naamwoorden, lidwoorden en 4 Omdat programmeertalen hoofdzakelijk Engels georiënteerd zijn worden deze termen vaak in het Engels toegepast, de vertalingen zijn respectievelijk class en instance. De term object is uitwisselbaar, je schrijft deze in beide talen hetzelfde en de uitspraak komt ook overeen. Je doet er goed aan om deze termen in zowel Nederlands als Engels te leren gebruiken. 5 kijk voor een Engelse vertaling van Aristoteles categorieënleer op de volgende url: 5

6 zo voorts. Bij scheikunde leer je dat alles wat je ziet op te delen is in moleculen die bestaan uit een specifiek aantal basisbouwblokken, de atomen. Als je goed kijkt zie je overal een bepaalde systematiek, een vastgestelde hiërarchische indeling terug. Deze systematische indeling geeft ons grip op de wereld om ons heen. We kunnen gemakkelijker praten over ingewikkelde zaken door afspraken te maken over de hiërarchische structuur. Hoe systematisch onze manier van indelen is, blijkt uit het succes van het 20 questions principe waarmee in 20 vragen kan worden vastgesteld aan welk ding je denkt 6. Het principe werkt als volgt: Stel je een verzameling voor waarin alle dingen vertegenwoordigd zijn, dit is de verzameling waar mee begonnen wordt. De ondervraagde neemt een ding in gedachten en beantwoord de 20 vragen naar waarheid. Door een vraag te stellen kunnen een heleboel dingen uitgesloten worden, als vraag 1 met dier beantwoord wordt vallen alle dingen die geen dier zijn bijvoorbeeld planten of koffiekopjes af en wordt de groep met dingen die nog meespelen een heel stuk kleiner. Door vervolgens naar kenmerken van de overgebleven verzameling te vragen kunnen steeds meer dingen weggestreept worden, net zo lang tot er nog maar één ding in de verzameling zit, meestal is dit het geval na het stellen van maximaal 20 vragen. Als dit het geval is stopt het spel en wordt verteld welk laatste ding er over is, vaak heeft het spel op dit punt geraden welk ding de ondervraagde in gedachten had. Problemen kunnen ontstaan wanneer verkeerde antwoorden gegeven worden, in plaats van de verzameling te verkleinen, vergroot dan de verzameling mogelijke dingen, het spel heeft dan meer vragen nodig om het betreffende ding te duiden. Het principe werkt enkel omdat wij alle dingen die we kennen opdelen in soorten en vervolgens rangschikken op basis van eigenschappen. Hieronder zijn de stappen van het 20 questions principe schematisch weergegeven. Het 20 questions principe zie je ook terug in het Nederlandse gezelschapsspel Wie is het. Door vragen te stellen streep je mogelijke karakters weg en ontdek je langzaam het karakter dat je tegenstander uitgekozen heeft. Als er nog maar een mogelijkheid over is kan vastgesteld worden dat dit het gekozen karakter is en is het spel gewonnen en verloren. Een ander voorbeeld, stel je voor dat we geen systematisch systeem van indeling hebben maar enkel op basis van uiterlijke kenmerken kunnen beschrijven wat we bedoelen. Eigenlijk is dit een onmogelijke opgave, om überhaupt ook maar iets onder woorden te kunnen brengen heb je al taal nodig. Toch zal ik bij wijze van voorbeeld proberen zonder universele uitdrukkingen te gebruiken een situatie te beschrijven. Iemand legt binnen dit systeem van uiterlijke kenmerken uit hoe je sneller dan te voet kunt reizen: 6 als je dit wilt uitproberen kijk dan op 6

7 Het kan natuurlijk ook sneller dan de snelheid waarop wij ons voortbewegen, dan zult u echter gebruik moeten maken van een bepaald geval dat zich laat kenmerken doordat het zich voortbeweegt op vier van de dingen waar wij er maar twee van hebben, oh ja, er hangt aan de achterkant een heen en weer zwaaiend voorwerp aan. Het geval is zo n drie keer groter dan ons en is in staat hoge snelheden te behalen. Hier kunt u in principe direct bovenop gaan zitten, het loont echter om een daartoe speciaal gemaakt ding op de bovenzijde van het geval te plaatsen, dat zit een stuk zachter. Ook is het handig om een constructie in de opening aan de voorzijde te plaatsen waarmee het geval een stuk beter te controleren is. Het is gemakkelijker om de eerdergenoemde zaken aan te duiden als respectievelijk paard, zadel en tuig, dan ontstaat er in ieder geval geen verwarring over wat we precies bedoelen. 7 Zo is het nou ook in objectgeoriënteerd programmeren, omdat in het verleden gebleken is dat programmacode de eigenschap heeft al snel zeer verwarrend te worden, is besloten de taal overzichtelijk in te delen in objecten, dit scheelt programmeurs vele uren in het praten over code. Zelfs als een applicatie vele tienduizenden regels code beslaat blijft het toch nog mogelijk om op een heldere manier te communiceren omdat alle objecten van een bepaald type zijn en een heldere naam krijgen. In het zojuist gegeven voorbeeld is het door toevoeging van drie woorden direct helder waar het verhaal over gaat: Het kan natuurlijk ook sneller dan lopend, dan zult u echter gebruik moeten maken van een paard. Hier kunt u in principe direct bovenop gaan zitten, het loont echter om een zadel op de bovenzijde van het paard te plaatsen, dat zit een stuk zachter. Ook is het handig om een tuig te plaatsen waarmee het paard een stuk beter te controleren is. Zo ontstaat er in ieder geval geen verwarring over het type beest waar op gereden kan worden. Het toevoegen van termen helpt! Fundamenten van OOP programmeertalen Het hoogste hiërarchische niveau in een object-georiënteerde programmeertaal als Actionscript is het bibliotheek niveau. 8 Alle dingen die je kunt gebruiken in programmeurjargon spreken we over klassen zijn in deze bibliotheek verzameld in een logisch hiërarchische indeling. De indeling heeft veel weg van de bestanden en mappen op je computer. Zo is het bestand waarin het document dat je nu leest staat, op mijn computer opgeslagen als InleidingProgrammeren.docx de extensie 7 De afbeelding van de draak komt van: 8 Gezien de eerder genoemde Engelse oriëntatie van programmeertalen wordt doorgaans de Engelse term library gebruikt om naar de bibliotheek van Actionscript te verwijzen. 7

8 .docx betekent dat het een bestand is dat door Microsoft Word gebruikt wordt. Het bestand staat in de map p10-11 Programmeren die zelf weer in de map Interactieve Media in de map Documenten staat. Deze indeling maak ik bewust zodat over tien jaar nog steeds teruggevonden kan worden wat in het betreffende jaar als onderwijsmateriaal gebruikt is. Doorgaans wordt de locatie van zo n bestand een pad genoemd, paden worden als volgt weergegeven: Documenten/Interactieve Media/p10-11 Programmeren/InleidingProgrammeren.docx Deze indeling komt je waarschijnlijk bekend voor en dit komt heel goed uit. De indeling van de Actionscript bibliotheek lijkt hier namelijk sprekend op, er is een vergelijkbare mappenstructuur met daarin de bestanden waar de objecten in beschreven staan. Bekijk het volgende voorbeeld waarin het pad naar het bestand voor het object Camera in de Actionscript bibliotheek weergegeven wordt. flash.media.camera Deze indeling geeft weer dat het bestand Camera.as in de map media staat, die vervolgens weer in de map flash staat. De verschillen met de standaard manier waarop een map weergegeven wordt zijn 1) dat er punten worden gebruikt in plaats van slashes om de mappen en bestanden te scheiden en 2) dat er nooit een bestandsextensie wordt gebruikt omdat alle bestanden in de Actionscript bibliotheek automatisch moeten eindigen op.as. Zo een bestand dat eindigt op de extensie.as noemen we een klassedefinitie of kortweg klasse. De klasse als blauwdruk voor objecten Een klasse definitie in Actionscript is een moeilijk voor te stellen iets, daarom worden er in het volgende gedeelte een aantal analogieën gegeven voor de klasse. Er wordt begonnen met de analyse van een begrip uit ons dagelijks taalgebruik, een voetbal. Deze analyse leidt tot een opsomming welke gebruikt kan worden om een ontwerp voor een voetbal te maken, een technische tekening. Een reproductie van technische tekening van een ontwerp noemt men een blauwdruk. De eigenschappen van de blauwdruk worden opgesomd en er wordt uitgelegd waarom een klasse in Actionscript lijkt op een blauwdruk. Daarna volgt een kort voorbeeld waarbij ik gebruik maak van de Nintendo Game Boy. Hierna dalen we rustig af naar het codeniveau, we gaan bekijken hoe het basisrecept voor een klasse in Actionscript er uit ziet. Als we een begrip wat we dagelijks hanteren analyseren dan doen we dat doorgaans door een opsomming te geven van alle eigenschappen. Laten we als voorbeeld eens naar een voetbal kijken: Officiële voetbal anno 1970: moet rond zijn en deze vorm behouden is gemaakt van leer (goedgekeurd materiaal) heeft een diameter tussen de 69 en 71 cm heeft een gewicht tussen de 400 en 450 gr 8

9 is opgepompt tussen de 8.6 en de 15.7 psi heeft geen afwijkingen bij luchtstromen (!) is bestand zijn tegen ruwe behandeling is bruikbaar zijn bij slecht weer is zichtbaar bij slechte lichtomstandigheden Dit lijkt een redelijk volledige opsomming van de eigenschappen van een voetbal. 9 Iemand met een ballenproductiebedrijf zou op basis van dit lijstje een ontwerp kunnen maken voor een bal die aan deze voorschriften voldoet. We doen een gedachtenexperiment: Stel je een bedrijf van het oude stempel voor. Dit bedrijf is enige jaren na het ontstaan van de sport voetbal, omstreeks 1850, begonnen met het produceren van de bij dit spel benodigde materialen. Naast een hele reeks aan doelnetten, schoenen en scheenbeschermers zijn ze voornamelijk gespecialiseerd in officiële wedstrijdvoetballen. In de loop der jaren zijn vele honderden ballen geproduceerd. Het bedrijf heeft anno 1970 vestigingen over de hele wereld wat voor een sportbedrijf exceptioneel is te noemen. Omdat er een nieuwe standaard voor wedstrijdballen is aangenomen staat het bedrijf op het punt om een nieuw model in productie te nemen. Omdat elke vestiging dezelfde kwaliteitsvoetbal moet produceren is het noodzakelijk een gedegen ontwerp te maken en ervoor te zorgen dat iedereen dit ontwerp aanhoudt. De ontwerptekening wordt gereproduceerd zodat er voor elke vestiging een exemplaar is, de techniek die hiervoor gebruikt wordt is het maken van een blauwdruk. Door middel van deze film-reproductietechniek wordt de tekening gekopieerd naar meerdere blauwdrukken. Elke vestiging die zich aan de specificaties houdt kan op deze wijze hetzelfde type bal produceren. Laten we met dit verhaal in ons achterhoofd een tweetal vragen bekijken: Zou je zeggen dat elke bal die op basis van de blauwdruk geproduceerd wordt dezelfde bal is? Ik heb goede hoop dat deze vraag je ergens aan doet denken, deze vraag lijkt namelijk erg op het voorbeeld waarin een rechthoek twee maal het woord aardbei bevat wat je eerder in dit schrijven tegen bent gekomen. Als je op de vraag ja antwoord dan denk je op het niveau van de klasse, elke bal is in dit opzicht van hetzelfde type. Antwoord je daarentegen nee dan denk je op het niveau van instanties, elke bal is een uniek ding. Zou je zeggen dat de bal hetzelfde ding is als de blauwdruk voor de bal? Ik heb goede hoop dat je hier nee op zult antwoorden. Als je toch ja antwoord is het handig je voor te stellen als er zeg, een stuk of honderd voetballen op basis van de blauwdruk geproduceerd zijn en dat vervolgens de blauwdruk iets aangepast wordt. Veranderen de ballen dan mee, volgens mij niet. De ballen zijn weliswaar op basis van de blauwdruk gemaakt, ze zijn echter niet hetzelfde als de blauwdruk. Vanaf het moment dat de bal gemaakt is staat deze los van de blauwdruk. Om de precieze eigenschappen van de bal te onderzoeken kan je nog steeds naar de 9 We vooronderstellen echter wel dat zaken als vorm, diameter, gewicht, oppompen, afwijkingen, ruw, slecht en zichtbaar al bekend zijn bij de persoon die dit lijstje leest en interpreteert. In onze dagelijkse taal gebruiken we erg vaak dit soort uitgebreide concepten die we als kind allemaal een keer hebben geleerd. Als je beseft hoe uitgebreid sommige van dit soort concepten zijn kan je afleiden dat het aanleren van een taal nogal wat voeten in de aarde heeft. 9

10 blauwdruk kijken, deze geeft gedetailleerd weer hoe de bal was vlak na de productie. De slijtplekken die de bal door eventueel gebruik heeft staan hier echter niet op vermeld. Uit dit gedachtenexperiment heb je kunnen afleiden wat de eigenschappen van een blauwdruk precies zijn. 1. De blauwdruk kan gezien worden als constructieplan. 2. Een blauwdruk beschrijft de eigenschappen van het te produceren object, je kunt door bestuderen van een blauwdruk een voorstelling maken van het product wat op basis van de blauwdruk gemaakt kan worden. 3. Aan de hand van een blauwdruk kan een materiaallijst samengesteld worden, je kunt door systematisch alles na te lopen bepalen wat er benodigd is om het product te maken. Je zult je inmiddels afvragen waarom er zo n uitgebreid verhaal over de blauwdruk gehouden wordt terwijl dit schrijven over programmeren gaat. Welnu, als je in Actionscript een programma schrijft dan doe je dat in een zogenaamde klasse. Deze klasse bevat een complete beschrijving in programmeercodes van het type object wat op basis van de klasse gemaakt kan worden. Alle eigenschappen van het object staan in de klasse vastgelegd, hierbij kan je denken aan zaken als de kleur en de hoogte of breedte van het object. Naast eigenschappen staan ook alle functies van het object vastgelegd, zo kan bijvoorbeeld vastgelegd zijn wat er gebeurt als er op het object geklikt wordt. Als een programma uitgevoerd wordt dan worden op basis van zo n klasse objecten aangemaakt. Stel je voor dat we een klasse hebben die de naam bal heeft waarin de eigenschappen voor een rode bal van 100 x 100 pixels staat vastgelegd, omdat dit een heel eenvoudige klasse is zijn er verder geen functies. We kunnen een programma schrijven wat 100 van deze ballen produceert en op het scherm zet. Er hoeft maar één klasse bal te zijn om oneindig veel objecten van het type bal aan te maken. Zie je hoe deze klasse lijkt op de blauwdruk uit het vorige voorbeeld? Een klasse lijkt op een blauwdruk omdat ze beiden 1) een beschrijving geven voor de constructie van objecten, 2) een compleet overzicht bieden van de eigenschappen van een object en 3) als een soort boodschappenlijstje gezien kunnen worden. Voordat we naar echte programmacode gaan kijken nog een laatste voorbeeld. Ik heb goede hoop te mogen geloven dat iedereen die dit stuk leest weet wat een Nintendo Game Boy is. Bekijk de volgende twee afbeeldingen: 10

11 De Game Boy aan de linkerkant is de originele versie. Deze is gemaakt op basis van het ontwerp zoals dat bij Nintendo gemaakt is. Op basis van dit ontwerp zijn ongeveer 118 miljoen apparaten gemaakt. De Game Boy aan de rechterkant is een zogenaamde mod die is uitgevoerd door een steampunkfanaat. Deze persoon heeft een originele Game Boy aangepast door mechanisch uitziende onderdelen toe te voegen. Het resultaat, de mod, werkt op dezelfde wijze als het origineel maar ziet er totaal anders uit. Bekijk met deze twee objecten, de originele Game Boy en de mod, de volgende twee vragen: 1. Wordt een ontwerp aangepast als een object veranderd? 2. Wordt een object aangepast als het ontwerp veranderd? Als er aanpassingen aan een object plaatsvinden, moet dan ook het ontwerp aangepast worden? Natuurlijk niet, het zou nogal wat voeten in de aarde hebben als Nintendo bij elke aanpassing die een gebruiker aan zijn gekochte apparaat maakt alle ontwerpen op de schop zou moeten nemen. Als een apparaat eenmaal geproduceerd is kan het aangepast worden zonder dat het ontwerp aangepast hoeft te worden. Er zijn natuurlijk gevallen denkbaar waarin dit wel gebeurd, stel dat Apple een probleem constateert en besluit dat een bepaalde functie van de iphone anders uitgevoerd moet worden, en er wordt een prototype aanpassing uitgevoerd op een apparaat. Dan kan, als de aanpassing het geconstateerde probleem verhelpt, besloten worden het ontwerp aan te passen. Hoe zit het met de tweede vraag, wordt een object aangepast op het moment dat het ontwerp verander? Ook in dit geval moeten we nee antwoorden. Het zou nogal wat zijn als alle apparaten zouden veranderen zodra Nintendo aan het ontwerp zit. Je zou in dat geval nooit meer een nieuw apparaat hoeven aanschaffen omdat het mee veranderd! Je zou een prototype kunnen kopen wat automagisch geüpgraded wordt zodra het ontwerp aangepast wordt. Nee, het aanpassen van een ontwerp heeft wat meer voeten in de aarde. Toen Toyota merkte dat er in het remsysteem van de Prius een foutje zat moesten alle voertuigen teruggeroepen worden zodat de aanpassing doorgevoerd kon worden. Welnu, een klasse in Actionscript heeft veel weg van een blauwdruk. Op basis van een klasse maak je objecten aan, de blauwdruk kan dus gezien worden als constructieplan voor een object. Ook beschrijft een klasse de eigenschappen van het te produceren object, als je een klasse leest kan je een voorstelling hebben van hoe het object er uit komt te zien. Tenslotte kan je in een klasse aflezen welke zaken benodigd zijn om het 11

12 object te maken. Dit zijn exact de eigenschappen van de blauwdruk zoals we die eerder beschreven hebben! Hoe ziet zo n klasse er precies uit? Het is hoog tijd dat we naar een stukje code gaan kijken. Net als het basisrecept voor een XHTML-pagina dat jullie bij het vak Internetstandaarden zijn tegengekomen is er voor een klasse in Actionscript ook een basisrecept, doorgaans wordt dit raamwerk-code of in het Engels skeleton-code genoemd. Omdat jullie gebruik maken van Adobe Flash Builder wordt deze raamwerk-code automagisch voor je aangemaakt. Grofweg kan een klasse ingedeeld worden in drie gedeelten, deze indeling is altijd hetzelfde, anders ontstaan er foutmeldingen. Deze grove indeling zie je in het schema hieronder. Merk op dat er een soort nest-structuur is, je kunt dit vergelijken met het nesten van HTML tags. De buitenste laag bevat de locatie van de klasse in de mappenstructuur van jouw project. Vervolgens de benodigdheden, de afhankelijkheden van de klasse. 10 Zie afhankelijkheid als volgt, als je een spijker in een plank wilt slaan dan heb je tenminste i) een plank, ii) een spijker en iii) een hamer nodig. In een Actionscript klasse moeten deze zaken als een soort boodschappenlijstje opgesomd worden om er zeker van te zijn dat we niets missen. Na de afhankelijkheden wordt vastgelegd hoe de betreffende klasse heet. Deze naam moet overeenkomen met de naam van het bestand. Als het bestand RodeBal.as heet, dan moet de klasse automagisch ook de naam RodeBal dragen. Deze eerste twee niveau s kan je vergelijken met het HTML <head></head> element. Tenslotte worden de eigenschappen en methoden van de klasse vastgelegd, dit derde niveau is te vergelijken met het HTML <body></body> element alhoewel er in een Actionscript klasse veel meer gebeurt dan het opmaken die je gewend bent uit HTML. Hieronder een voorbeeld van deze raamwerk-code. Bestand: RaamwerkCode.as package { import flash.display.sprite; public class RaamwerkCode extends Sprite { public function RaamwerkCode() { } 10 Deze benodigdheden of afhankelijkheden heten in het Engels dependencies 12

13 } } Er zijn in deze code drie niveaus te herkennen. Het buitenste niveau is dat van de package: package { } Achter het woord package staat het pad naar het.as bestand. Dit houdt in dat je hieraan kunt aflezen in welke map op de harde schijf het bestand hoort te staan. Packages bieden een manier om de vele klassen die je in een groot programma maakt te kunnen groeperen op soort. Zoals we eerder gezien hebben geef je de mappen in juiste volgorde weer door deze te scheiden met een punt. Een map met de naam dieren in de map iam in de map hva in de map nl geef je in Actionscript weer als nl.hva.iam.dieren. Hierin zie je meteen de conventie 11 van het gebruiken van de omgekeerde url. Door deze methode te hanteren blijft je eigen code-bibliotheek op orde. Gebruik de url van het project waar je aan werkt dan lopen de zaken nooit door elkaar en kan je oude code gemakkelijk terugvinden. Standaard staan je bestanden in de hoofdmap van je programmeerprojectje, in dat geval is er geen mappenstructuur om aan te geven en wordt deze weggelaten. Op tweede niveau wordt een boodschappenlijstje opgesomd. Je kunt aan de import opdracht zien dat er zaken van buiten het bestand wordt aangeroepen. Ook wordt op dit niveau de naam en het type van de klasse aangeduid: import flash.display.sprite; public class RaamwerkCode extends Sprite { } Bij de import opdrachten gebruik je dezelfde puntnotatie als bij de package. Je ziet in het voorbeeld hierboven dat het bestand Sprite.as uit de package flash.display wordt geïmporteerd, dit is een standaard klasse uit de Actionscript library en bevat een soort basis voor classes die je zelf aanmaakt. Een regel verder zie je dat de klasse benoemd wordt. De naam RaamwerkCode is zelf gekozen, je mag je klassen in Actionscript zelf een naam geven. Hier zie je meteen de tweede conventie, doorgaans worden klassen met een hoofdletter aangeduid. Dit is wederom niet 11 Een conventie is een soort afspraak, het is niet verplicht je hieraan te houden maar in de praktijk wordt eigenlijk nooit van deze afspraak afgeweken. 13

14 verplicht maar is wel erg handig. Als iets een hoofdletter heeft weet je automatisch dat het om een klasse gaat! Het woord extends geeft aan dat deze klasse een uitbreiding is op de Sprite klasse. De Sprite biedt een groot aantal standaardinstellingen en wordt eigenlijk altijd op deze manier gebruikt. Het derde niveau is het niveau van eigenschappen en methoden. Eigenschappen worden opgeslagen in variabelen en methoden worden opgeslagen in functies. In het voorbeeld zie je nog geen eigenschappen staan, er staat wel een methode en direct een hele speciale: public function RaamwerkCode() { } Wellicht is je opgevallen dat deze functie exact dezelfde naam draagt als de klasse. Dit geeft aan dat deze automatisch wordt uitgevoerd als er een object op basis van deze klasse wordt aangemaakt. Omdat deze functie bijna altijd programmeeropdrachten bevat die zorg dragen voor de constructie van het object, het opbouwen van het object, draagt deze functie nog een speciale aanduiding. Deze functie wordt de constructor genoemd en is in een klasse de enige functie die qua naamgeving begint met een hoofdletter. Alle andere functies beginnen met een kleine letter, opnieuw is dit een zogenaamde conventie. Methoden zijn voor onze wijze van programmeren zo belangrijk dat deze wel wat extra aandacht mogen krijgen. Methoden Zoals in het hoorcollege is gezegd is er geen verschil tussen functies en methoden. Het zijn twee woorden die hetzelfde principe aanduiden. Een methode is een manier om een aantal programmeeropdrachten te groeperen zodat deze makkelijk herhaaldelijk aangeroepen kan worden. Ik zal proberen een helder voorbeeld te geven. Stel dat we een rc-auto 12 hebben waarbij een aantal dingen gebeuren zodra je naar voren rijd. De zaken die tegelijk gebeuren zijn: 1. De motor gaat naar voren draaien 2. De verlichting in de cabine gaat aan 3. Er klinkt een grommend motorgeluid uit een luidspreker Het zou erg vervelend zijn als je op je afstandsbediening elke keer drie knopjes tegelijk in moet drukken. Daarom zitten deze drie gekoppeld aan één pookje waarmee je door vooruit te bewegen alle drie de zaken kunt laten gebeuren. Ditzelfde principe pas je toe door een serie opdrachten in een functie te groeperen. Een functie in Actionscript herken je aan een werkwoord (=conventie) 12 rc-auto staat voor remote controlled auto, een op afstand bestuurbare auto. 14

15 en de ronde haakjes. Op de volgende pagina vind je een voorbeeld: public function vooruitrijden() { } kabineverlichting = true; hoofdmotor.draaivooruit(); grommendmotorgeluid.play(); Wat wellicht opvalt is dat binnen deze functie vooruitrijden( ) opnieuw twee functies worden aangeroepen. Dat is heel gebruikelijk, een volgende conventie luid dat een functie beknopt moet zijn. Je kunt je wellicht voorstellen dat om de motor van onze rc-auto vooruit te laten draaien een aantal electronische handelingen uitgevoerd moeten worden. Deze kunnen opnieuw gegroepeerd worden in een functie. Op deze wijze trek je de code uit elkaar om het geheel voor jezelf overzichtelijk te maken. Het bedenken van de meest nette structuur voor de functies van jouw programma heeft nogal wat voeten in de aarde. Gelukkig krijg je van Adobe een hele bibliotheek met standaard klassen welke je zo kunt gebruiken. Voor een programma hoef je dus niet alles zelf te programmeren maar kun je gebruik maken van de standaard klassen. In de tweede werkgroep krijg je een overzicht van veelgebruikte klassen en de functies die in deze klasse gebruikt kunnen worden. De methoden op een standaard klasse kan je, als je daar behoefte aan hebt, aanpassen naar je eigen smaak. Om het voorbeeld aan te houden, stel dat je je rcauto wilt aanpassen en er miniatuur helly schijnwerpers op wilt monteren die met het rijden ook aangezet worden. Je kunt dan een functie overschrijven met je eigen functie. Dit principe heet override en is een erg moeilijk principe waar we in ons vak waarschijnlijk niet aan toe komen. De bovenste regel in de gegeven voorbeeldcode: kabineverlichting = true; maakt geen gebruik van een methode maar van een eigenschap. Net als methoden zijn ook eigenschappen het waard om even apart onder de loep te nemen. Eigenschappen In het hoorcollege heb je gehoord dat zowel het woord eigenschap als het woord variabele dezelfde zaak aanduid. Een eigenschap is onderdeel van een klasse, maar een eigenschap is eigenlijk niet meer dan een naam welke verwijst naar een ding van een bepaalde soort (ook een klasse). Net als bij de methoden zijn ook veel standaard eigenschappen aanwezig in de Actionscript bibliotheek. Om het principe van variabelen toe te lichten gebruik ik het volgende voorbeeld. import flash.display.sprite; 15

16 public class Auto extends Sprite { } public var kabineverlichting:boolean; public var bandenspanning:number; public var maximumsnelheid:number; public var benzineverbruik:number; public var productiedatum:date; Hier zie je op de daartoe bestemde plaats, net na de naamgeving van de klasse, een opsomming van een vijftal eigenschappen. Je herkent een eigenschap een het woord var wat een verkorte manier is van schrijven van het woord variabele. Elke variabele heeft een datatype, is van een bepaalde soort. Je ziet achter de dubbele punt :, welke staat voor van het type, het datatype van de variabelen staan. In het voorbeeld staat dus een variabele productiedatum van het type Date. Merk op dat alle datatypen beginnen met een hoofdletter! Wat betekende dit ook alweer? Er is een conventie dat alle namen voor klassen met een hoofdletter geschreven worden. De datatypen zijn zelf dus ook beschreven in een klasse! De eigenschappen van een klasse zijn dus verwijzingen naar objecten van een andere klasse! In het gebruikte voorbeeld van de voetbal kan je je wellicht een klasse Voetbal voorstellen waarin een variabele luchtdruk bestaat waarin de luchtdruk bijgehouden wordt. Deze variabele is van het datatype Number, de Number staat zelf ook weer in een klasse, deze staat in het bestand Number.as beschreven. Dit is een erg lastig principe, het is nog het makkelijkst te onthouden als: Alles in een Actionscript programma is een object wat gemaakt is op basis van een klasse! Nou zie je dus waarom er wordt gesproken over object georiënteerd programmeren! Overzicht Met name het laatste stuk over methoden en eigenschappen ging erg snel. Het is niet erg als je dit niet in een keer begrijpt, hier wordt in de lessen veel aandacht aan besteed. Je hebt nu enigszins een basis om te beginnen met lezen in het boek Actionscript 3.0 Animation; Making things move. Om een aantal bijzondere tekens in de taal te benadrukken heb ik op de volgende pagina s een uitleg over de syntaxis van Actionscript opgenomen. Kijk deze eens rustig door. Eventueel kan je dit gebruiken als snel naslagwerk als je een teken niet kunt plaatsen. Ik besef me terdege dat dit schrijven verre van volledig is, het betreft een levend document wat in de loop van de jaren aangevuld zal worden en hopelijk elk jaar 16

17 een stukje beter wordt. Als je suggesties hebt voor zaken die behandeld zouden moeten worden sta ik open voor suggesties. Laat me dit weten via of spreek me persoonlijk aan in de wandelgang of na een college. 17

18 Syntaxis, de grammatica van programmeertalen Zoals gezegd is het lezen van code noodzakelijk bij het leren programmeren. Om die code te kunnen lezen moet worden uitgelegd uit welke tekens een taal in basis bestaat en waar deze voor dienen. Opnieuw kunnen we als voorbeeld terugspringen naar HTML waarin de tekens <, >, /, =,, en daarnaast een hoop sleutelwoorden als title, id, class, enzovoorts gebruikt worden. We hebben in het vak Internetstandaarden ook CSS gezien waarin weer andere tekens, namelijk #,., {, } en daarnaast sleutelwoorden als width, height, background-color, enzovoorts betekenis hebben. Deze tekens, sleutelwoorden en regels waaruit een taal bestaat wordt de syntaxis genoemd. 13 De syntaxis van de taal Actionscript 3.0 is als volgt: 14 Hoofdlettergevoeligheid Actionscript is een hoofdlettergevoelige taal. 15 Aanduidingen die maar een hoofdletter van elkaar verschillen zijn in Actionscript dus absoluut verschillend. Bekijk het volgende voorbeeld: var getaleen:int; var getaleen:int; In het voorbeeld worden twee variabelen aangemaakt, wat dit precies zijn behandelen we later nog. De variabelen krijgen achtereenvolgens de naam getaleen en getaleen, voor Actionscript zijn dit twee absoluut gescheiden dingen. Puntnotatie Door middel van de punt kunnen de eigenschappen en methoden van een object door middel van een instantienaam aangesproken worden. Om dit te doen schrijf je eerst de instantienaam, vervolgens de punt en tenslotte de functie of eigenschap die je wilt aanspreken. Neem de volgende klassedefinitie: class PuntVoorbeeld { public var eigenschap1:string; public function methode1():void { } 13 De Engelse vertaling van syntaxis is makkelijker, syntax 14 Voor het samenstellen van het overzicht van de syntaxis is de structuur gebruikt zoals weergegeven op (bezocht op 2 september 2010) 15 De Engelse vertaling van hoofdlettergevoelig is case sensitive 18

19 } Met behulp van de puntnotatie kunnen de eigenschap punt1 en de functie puntfunctie aangesproken worden zoals in het volgende voorbeeld: var puntvb:puntvoorbeeld = new PuntVoorbeeld(); puntvb.eigenschap1 = Hallo wereld! ; puntvb.methode1(); Daarnaast worden zoals eerder uitgelegd de paden naar klassedefinities in de Actionscript bibliotheek ook met de puntnotatie aangegeven. Hieronder een verwijzing naar de klasse MouseEvent in de map events in de map flash en een verwijzing naar de klasse Sprite in de map display in de map flash. flash.events.mouseevent flash.display.sprite Letterlijke tekens Met letterlijke tekens worden tekens bedoeld die een directe betekenis dragen, ze verwijzen dus niet naar een waarde zoals variabelen dat doen maar zijn hun eigen waarde, ze zijn letterlijk. Hieronder een opsomming letterlijke tekens: 42 Hallo -6 5,8 null undefined true false Letterlijke tekens kunnen gegroepeerd worden om samengestelde letterlijke tekens te vormen. Rijen of arrays met letterlijke tekens worden ingesloten door blokhaken 19

20 [ ] en gebruiken komma s om elementen te scheiden. 16 In het volgende voorbeeld worden twee arrays getoond die zijn aangemaakt door middel van de notatie met blokhaken. Let op, dit is niet de enige manier om een array aan te maken! var woordenrij:array = [ aap, noot, mies, wim, zus, jet ]; var getallenrij:array = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 146]; Naast de array kunnen verschillende letterlijke tekens ook gegroepeerd worden in een object. In plaats van blokhaken worden dan accolades { }gebruikt. Hieronder wordt een object kleuren gemaakt met drie eigenschappen, rood, groen en blauw: var kleuren:object = {rood:0xff0000, groen:0x00ff00, blauw:0x0000ff}; Puntkomma De puntkomma wordt in Actionscript gebruikt om een instructie te beëindigen. Misschien is je in de eerdere codevoorbeelden al opgevallen dat nagenoeg elke regel eindigt met een puntkomma. Als je een heleboel instructies tegelijk geeft snapt de computer het niet meer, met behulp van de puntkomma kan je aangeven welk stuk code bij welke instructie hoort. Een voordeel van dit gebruik van puntkomma s is dat je code ook voor ons mensen een stuk beter leesbaar wordt. Ronde haakjes Rondje haakjes worden in Actionscript op verschillende manieren toegepast. Allereerst worden ronde haakjes gebruikt om een of meer parameters door te geven aan functies of methoden. In het voorbeeld wordt de tekenreeks Hallo wereld! doorgegeven aan de functie trace. trace( Hallo wereld! ); De tweede manier waarop ronde haakjes toegepast worden lijkt op wat je gewend bent als je op de middelbare school wiskunde hebt gehad. Je kunt met haakjes invloed uitoefenen op de volgorde waarop bepaalde berekeningen worden uitgevoerd. In het voorbeeld zie je twee berekeningen die naar de functie trace worden doorgestuurd. trace(2+3*4); // geeft 14 trace((2+3)*4) // geeft De Engelse vertaling van rijen is arrays in de tekst zal verder deze Engelse vertaling gebruikt worden omdat de klassedefinitie ook Array heet. 20

21 Commentaar In Actionscript worden twee soorten commentaar toegepast: commentaar bestaande uit een enkele regel enerzijds en commentaar van meerdere regels anderzijds. Commentaar bestaande uit een enkele regel begint met twee slashes (//) waarachter tot het eind van de regel commentaar geschreven kan worden. var foo:int = 25; // Een regel commentaar Commentaar van meerdere regels wordt ingesloten tussen slash + sterretje (/*) en sterretje + slash (*/). Alles wat tussen deze tekens in staat wordt door Actionscript gezien als commentaar. Deze vorm van commentaar wordt vaak gebruikt om stukjes code aan of uit te zetten. Hieronder een voorbeeld. /* Een stuk commentaar dat over meerdere regels doorloopt kan op deze wijze aangegeven worden */ Sleutelwoorden Er is een redelijk grote hoeveelheid woorden met een speciale betekenis in Actionscript, deze woorden mogen niet gebruikt worden als bijvoorbeeld variabele-, of classnaam. Als je script raar reageert en je hebt echt ALLES gecontroleerd, kijk dan ook nog even door deze lijst om zeker te stellen dat je niet een van de sleutelwoorden verkeerd probeert te gebruiken. De sleutelwoorden zijn: as, break, case, catch, class, const, continue, default, delete, do, else, extends, false, finally, for, function, if, implements, import, in, instanceof, interface, internal, is, native, new, null, package, private, protected, public, return, super, switch, this, throw, to, true, try, typeof, use, var, void, while, with each, get, set, namespace, include, dynamic, final, native, override, static, abstract, boolean, byte, cast, char, debugger, double, enum, export, float, goto, intrinsic, long, prototype, short, synchronized, throws, to, transient, type, virtual, volatile 21

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

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

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

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

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

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

Werkschrift : Hoe werk ik op WikiKids?

Werkschrift : Hoe werk ik op WikiKids? Werkschrift : Hoe werk ik op WikiKids? WERKBOEK WIKIKIDS Welkom bij het werkboek van WikiKids. In dit werkboek staan opdrachten waarmee je stap voor stap leert werken met WikiKids. Er staan 15 opdrachten

Nadere informatie

HANDLEIDING DOIT BEHEER SYSTEEM

HANDLEIDING DOIT BEHEER SYSTEEM HANDLEIDING DOIT BEHEER SYSTEEM ALGEMENE INFORMATIE Het Doit beheer systeem is een modulair opgebouwd systeem waarin modules makkelijk kunnen worden toegevoegd of aangepast, niet iedere gebruiker zal dezelfde

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

WELKOM BIJ BOMBERBOT! LES 2: SEQUENTIES I LES 2: SEQUENTIES I WAAR GAAT DEZE LES OVER? INTRODUCTIE

WELKOM BIJ BOMBERBOT! LES 2: SEQUENTIES I LES 2: SEQUENTIES I 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

Werkgroep 2. First things first, but not necessarily in that order. Dr. Who

Werkgroep 2. First things first, but not necessarily in that order. Dr. Who Werkgroep 2 First things first, but not necessarily in that order. Dr. Who Vragen? Ik snap die ENTER_FRAME methode niet helemaal? 2 Behandeling van huiswerk Klassikaal uitwerken van vraagstuk 1 t/m 5 De

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

Zo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders.

Zo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders. Spirograaf in Python Een kunstwerk maken Met programmeren kun je alles maken! Ook een kunstwerk! In deze les maken we zelf een kunstwerk met Python. Hiervoor zal je werken met herhalingen en variabelen.

Nadere informatie

Zorg dat je een onderwerp kiest, waarvan je echt meer wilt weten. Dat is interessanter, leuker en makkelijker om mee bezig te zijn.

Zorg dat je een onderwerp kiest, waarvan je echt meer wilt weten. Dat is interessanter, leuker en makkelijker om mee bezig te zijn. Werkstukwijzer Deze werkstukwijzer helpt je om een werkstuk in elkaar te zetten. Je vult eerst een formulier in. Op dit formulier komt te staan waar je werkstuk over gaat en hoe je het aanpakt. Met behulp

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

Werkstukken maken op PCBO-Het Mozaiek Groep 6

Werkstukken maken op PCBO-Het Mozaiek Groep 6 We gaan een werkstuk maken en je mag het helemaal zelf doen. Het is helemaal jouw eigen werkstuk. Maar om je even goed op weg te helpen hebben we hieronder alle stapjes even op een rij gezet. Wat moet

Nadere informatie

Aan de slag met Twitter

Aan de slag met Twitter Aan de slag met Twitter Registreren De URL (het adres op het internet) om te registreren is: https://twitter.com/signup In dit voorbeeld is er een Twitter 1 account aangemaakt voor een woning die te koop

Nadere informatie

Lesbrief 14. Naar personeelszaken.

Lesbrief 14. Naar personeelszaken. http://www.edusom.nl Thema Op het werk Lesbrief 14. Naar personeelszaken. Wat leert u in deze les? Wanneer u zeggen en wanneer jij zeggen. Je mening geven en naar een mening vragen. De voltooide tijd gebruiken.

Nadere informatie

Meehelpen met de ontwikkeling van nieuwe of verbetering van bestaande spellen. Pag. 1 www.edubas.nl

Meehelpen met de ontwikkeling van nieuwe of verbetering van bestaande spellen. Pag. 1 www.edubas.nl Meehelpen met de ontwikkeling van nieuwe of verbetering van bestaande spellen. Pag. 1 Versie 1.0 februari 2015 Start-versie Over dit document In dit document probeer is duidelijk te maken hoe de spellen

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

Ben jij een kind van gescheiden ouders? Dit werkboekje is speciaal voor jou!

Ben jij een kind van gescheiden ouders? Dit werkboekje is speciaal voor jou! Hallo Ben jij een kind van gescheiden ouders? Dit werkboekje is speciaal voor jou Als je ouders uit elkaar zijn kan dat lastig en verdrietig zijn. Misschien ben je er boos over of denk je dat het jouw

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

Huiswerk Spreekbeurten Werkstukken

Huiswerk Spreekbeurten Werkstukken Huiswerk Spreekbeurten Werkstukken - 2 - Weer huiswerk? Nee, deze keer geen huiswerk, maar een boekje óver huiswerk! Wij (de meesters en juffrouws) horen jullie wel eens mopperen als je huiswerk opkrijgt.

Nadere informatie

3 Hoogbegaafdheid op school

3 Hoogbegaafdheid op school 3 Hoogbegaafdheid op school Ik laat op school zien wat ik kan ja soms nee Ik vind de lessen op school interessant meestal soms nooit Veel hoogbegaafde kinderen laten niet altijd zien wat ze kunnen. Dit

Nadere informatie

PhotoShop. Les 1 - Werken met lagen, kleuren en transparantie

PhotoShop. Les 1 - Werken met lagen, kleuren en transparantie PhotoShop Les 1 - Werken met lagen, kleuren en transparantie Een digitale foto is een eigenlijk een simpel ding. Als je hem van heel erg dichtbij bekijkt is het niets meer dan een aantal rijen en kolommen

Nadere informatie

Omzeil het gebruik van mappen en bestanden over Wiki s en het werken in de 21 e eeuw

Omzeil het gebruik van mappen en bestanden over Wiki s en het werken in de 21 e eeuw Omzeil het gebruik van mappen en bestanden over Wiki s en het werken in de 21 e eeuw In de whitepaper waarom u eigen documenten niet langer nodig heeft schreven we dat het rondmailen van documenten geen

Nadere informatie

Als eerste bedankt voor het aanschaffen van deze PDF waarin ik je handige tips en trucs zal geven over het schrijven van een handleiding.

Als eerste bedankt voor het aanschaffen van deze PDF waarin ik je handige tips en trucs zal geven over het schrijven van een handleiding. Bedankt! Als eerste bedankt voor het aanschaffen van deze PDF waarin ik je handige tips en trucs zal geven over het schrijven van een handleiding. Graag zou ik je willen vragen mij een email te sturen

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

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

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

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12 Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal

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

TELEPORTEREN MET VARIABELEN

TELEPORTEREN MET VARIABELEN 2 TELEPORTEREN MET VARIABELEN Ben je zover dat je de kracht van Python kunt gebruiken om jouw Minecraft wereld te beheersen? In dit hoofdstuk krijg je een korte rondleiding langs de basisbegrippen van

Nadere informatie

Hoe maak je een werkstuk?

Hoe maak je een werkstuk? Hoe maak je een werkstuk? Je gaat een werkstuk maken. Maar hoe zit een werkstuk nou eigenlijk in elkaar? Hoe moet je beginnen? En hoe kies je nou een onderwerp? Op deze vragen en nog vele anderen krijg

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

JONG HOEZO ANDERS?! EN HOOGGEVOELIG. Informatie, oefeningen en tips voor hooggevoelige jongeren

JONG HOEZO ANDERS?! EN HOOGGEVOELIG. Informatie, oefeningen en tips voor hooggevoelige jongeren Ellen van den Ende in samenwerking met Mariëtte Verschure JONG EN HOOGGEVOELIG HOEZO ANDERS?! Informatie, oefeningen en tips voor hooggevoelige jongeren Uitgeverij Akasha Inhoud Hooggevoelig, hoezo anders?!

Nadere informatie

RV 07 R.K. Basisschool de Vlinder groep 8 Stockholm 3 / 8 3124 SG Schiedam Tel.: 010-4717036 / 010-2470164

RV 07 R.K. Basisschool de Vlinder groep 8 Stockholm 3 / 8 3124 SG Schiedam Tel.: 010-4717036 / 010-2470164 R.K. Basisschool De Vlinder RV 07 R.K. Basisschool de Vlinder groep 8 Stockholm 3 / 8 3124 SG Schiedam Tel.: 010-4717036 / 010-2470164 GOEDE STUDIEGEWOONTEN Bij goed studeren (leren) of huiswerk maken

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

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

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

Tipboekje. Herman Jozefschool. Groep 8

Tipboekje. Herman Jozefschool. Groep 8 Tipboekje Herman Jozefschool Groep 8 Inhoudsopgave Tips: Woordsoorten Werkwoorden, Lidwoorden,Zelfstandige naamwoorden en eigen namen Bijvoeglijke naamwoorden,voorzetsels,vragende voornaamwoorden Bezittelijke

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

IMP Uitwerking week 13

IMP Uitwerking week 13 IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het

Nadere informatie

Meten van mediawijsheid. Bijlage 6. Interview. terug naar meten van mediawijsheid

Meten van mediawijsheid. Bijlage 6. Interview. terug naar meten van mediawijsheid Meten van mediawijsheid Bijlage 6 Interview terug naar meten van mediawijsheid Bijlage 6: Het interview Individueel interview Uitleg interview Ik zal je uitleggen wat de bedoeling is vandaag. Ik ben heel

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

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax, Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt

Nadere informatie

Z I N S O N T L E D I N G

Z I N S O N T L E D I N G - 1 - Z I N S O N T L E D I N G Waarom is zinsontleding zo belangrijk? Elke scholier op de middelbare school maar ook de kinderen op de lagere school, komen veelvuldig met zinsontleding in aanraking, eigenlijk

Nadere informatie

Uitleg boekverslag en boekbespreking

Uitleg boekverslag en boekbespreking Uitleg boekverslag en boekbespreking groep 7 schooljaar 2014-2015 Inhoudsopgave: Blz. 3 Blz. 3 Blz. 3 Blz. 4 Blz. 6 Blz. 7 Blz. 7 Stap 1: Het lezen van je boek Stap 2: Titelpagina Stap 3: Inhoudsopgave

Nadere informatie

Bijlage interview meisje

Bijlage interview meisje Bijlage interview meisje Wat moet er aan de leerlingen gezegd worden voor het interview begint: Ik ben een student van de Universiteit van Gent. Ik wil met jou praten over schrijven en taken waarbij je

Nadere informatie

Omschrijf bij ieder onderdeel van de methode de betekenis ervan. Java kent twee groepen van klassen die een GUI kunnen maken: awt en swing.

Omschrijf bij ieder onderdeel van de methode de betekenis ervan. Java kent twee groepen van klassen die een GUI kunnen maken: awt en swing. irkel (met Jpanel) ij de onderstaande opdracht behoort het bestand Panels: JPanels_1.java (map Panel) in de map irkel. pplicaties in Java hebben altijd een publieke klasse waarin een methode main voorkomt.

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

2. Syntaxis en semantiek

2. Syntaxis en semantiek 2. Syntaxis en semantiek In dit hoofdstuk worden de begrippen syntaxis en semantiek behandeld. Verder gaan we in op de fouten die hierin gemaakt kunnen worden en waarom dit in de algoritmiek zo desastreus

Nadere informatie

Handleiding bij de Booktest Generator

Handleiding bij de Booktest Generator Handleiding bij de Booktest Generator Het programma voor het maken van toetsen bij boeken. (c) 2005/2009 Visiria Uitgeversmaatschappij Twisk Inleiding Onze dank voor het aanvragen van de Booktest Generator.

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

JavaScript. 0 - Wat is JavaScript? JavaScript toevoegen

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

Nadere informatie

Object Oriented Programming

Object Oriented Programming Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming

Nadere informatie

Hoe leer ik uit... Naam: Klas:

Hoe leer ik uit... Naam: Klas: Hoe leer ik uit... Naam: Klas: 1 Inhoud Woorden... 3 Flashcards... 3 Opschrijven... 3 WRTS... 3 Tekenen... 4 Stones... 5 Flashcards Opschrijven - WRTS... 5 Het thema van de Stone... 5 Stukjes combineren...

Nadere informatie

Wat ga je in deze opdracht leren? Meer leren over: soorten vragen, vraagwoorden, signaalwoorden en sleutelwoorden

Wat ga je in deze opdracht leren? Meer leren over: soorten vragen, vraagwoorden, signaalwoorden en sleutelwoorden Wat ga je in deze opdracht leren? Meer leren over: soorten vragen, vraagwoorden, signaalwoorden en sleutelwoorden Soorten vragen, vraagwoorden, signaal- en sleutelwoorden Schema 1 Soorten vragen Open vraag

Nadere informatie

Een overtuigende tekst schrijven

Een overtuigende tekst schrijven Een overtuigende tekst schrijven Taalhandeling: Betogen Betogen ervaarles Schrijftaak: Je mening geven over een andere manier van herdenken op school instructieles oefenlesles Lesdoel: Leerlingen kennen

Nadere informatie

HvA Instituut voor Interactieve Media ActionScript 3.0

HvA Instituut voor Interactieve Media ActionScript 3.0 PACT 1: WERKGROEPOEFENINGEN WEEK 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

Nadere informatie

Practicum Interactieve Video 18 januari 2008 - Beta Dag Vrije Universiteit Amsterdam door Winoe Bhikharie. Deel 1: Spelen met Interactieve Video

Practicum Interactieve Video 18 januari 2008 - Beta Dag Vrije Universiteit Amsterdam door Winoe Bhikharie. Deel 1: Spelen met Interactieve Video Practicum Interactieve Video 18 januari 2008 - Beta Dag Vrije Universiteit Amsterdam door Winoe Bhikharie In dit practicum krijg je een introductie over interactieve video. Met interactieve video wordt

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

Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken

Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken Handleiding JCreator Inhoud Een Workspace en een eerste project maken Een tweede project maken De editor van JCreator Aanpassen van de basis-directory Documentatie over klassen en methoden van de JDK Bestand

Nadere informatie

Wat is PDD-nos? VOORBEELDPAGINA S. Wat heb je dan? PDD-nos is net als Tourette een neurologische stoornis. Een stoornis in je hersenen.

Wat is PDD-nos? VOORBEELDPAGINA S. Wat heb je dan? PDD-nos is net als Tourette een neurologische stoornis. Een stoornis in je hersenen. Wat is PDD-nos? 4 PDD-nos is net als Tourette een neurologische stoornis. Een stoornis in je hersenen. Eigenlijk vind ik stoornis een heel naar woord. Want zo lijkt het net of er iets niet goed aan me

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

Grenzeloze vrijheid? Discussiebijeenkomst tienerclub

Grenzeloze vrijheid? Discussiebijeenkomst tienerclub Grenzeloze vrijheid? Discussiebijeenkomst tienerclub Leeftijd: 12-16 jaar Tijdsduur: 1 uur Doelen - De jongeren denken na over de betekenis van de muur tussen Israël en de Palestijnse gebieden in het dagelijks

Nadere informatie

Februari 2012 Workshop Eviont

Februari 2012 Workshop Eviont Het Brein heeft een doel nodig! Februari 2012 Workshop Eviont Het Brein heeft een doel nodig! Inhoudsopgave INHOUDSOPGAVE...2 LEESWIJZER...3 INLEIDING...4 STAP 1: HET KADER...5 STAP 2: STATE, GEDRAG EN

Nadere informatie

Programmeren in Java 3

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

Nadere informatie

Les 3. Familie, vrienden en buurtgenoten

Les 3. Familie, vrienden en buurtgenoten www.edusom.nl Opstartlessen Les 3. Familie, vrienden en buurtgenoten Wat leert u in deze les? Een gesprek voeren over familie, vrienden en buurtgenoten. Antwoord geven op vragen. Veel succes! Deze les

Nadere informatie

HTML Graphics. Hans Roeyen V 3.0

HTML Graphics. Hans Roeyen V 3.0 HTML Graphics Hans Roeyen V 3.0 19 maart 2015 Inhoud 1. HTML5 Canvas... 3 1.1. Het Canvas element... 3 2. SVG Element... 9 2.1. SVG vergeleken met Canvas... 9 2.2. Een cirkel tekenen met SVG... 10 2.2.1.

Nadere informatie

Werkwoorden zijn woorden die aangeven wat iets of iemand doet, is of wordt.

Werkwoorden zijn woorden die aangeven wat iets of iemand doet, is of wordt. DEEL 1: werkwoorden 1. Werkwoorden Werkwoorden zijn woorden die aangeven wat iets of iemand doet, is of wordt. Voorbeelden: komen, gaan, zwemmen, lopen, zijn enz. 1.1 Vormen van het werkwoord Werkwoorden

Nadere informatie

Inhoudsopgave. Stappen 1 Ervaringen 2 Wireframes 3 PIOTR TEKIEN HKU GAME ART GAR-1B

Inhoudsopgave. Stappen 1 Ervaringen 2 Wireframes 3 PIOTR TEKIEN HKU GAME ART GAR-1B Inhoudsopgave Stappen 1 Ervaringen 2 Wireframes 3 PIOTR TEKIEN HKU GAME ART GAR-1B PORTFOLIO 1 - STAPPEN Stappen INTRODUCTIE Voordat ik over mijn stappen vertel, wil ik kort toelichten dat ik eerder een

Nadere informatie

Hoe maak je een werkstuk?

Hoe maak je een werkstuk? Hoe maak je een werkstuk? Je gaat een werkstuk maken. Maar hoe zit een werkstuk nou eigenlijk in elkaar? Hoe moet je beginnen? En hoe kies je nou een onderwerp? Op deze vragen en nog vele anderen krijg

Nadere informatie

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

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

Nadere informatie

HEY WAT KAN JIJ EIGENLIJK GOED? VERKLAP JE TALENT IN 8 STAPPEN

HEY WAT KAN JIJ EIGENLIJK GOED? VERKLAP JE TALENT IN 8 STAPPEN E-blog HEY WAT KAN JIJ EIGENLIJK GOED? VERKLAP JE TALENT IN 8 STAPPEN In talent & groei Het is belangrijk om je talent goed onder woorden te kunnen brengen. Je krijgt daardoor meer kans om het werk te

Nadere informatie

Datastructuren Werkcollege Intro

Datastructuren Werkcollege Intro Bart Hijmans, Universiteit Leiden. Universiteit Leiden The Netherlands Focus 1 19 ˆ Ervaring in gebruik en implementatie van datastructuren ˆ Kennis van mogelijkheden ˆ Programmeren voor andere programmeurs

Nadere informatie

[PILOT] Aan de slag met de Hoofdzaken Ster

[PILOT] Aan de slag met de Hoofdzaken Ster [PILOT] Aan de slag met de Hoofdzaken Ster! Hoofdzaken Ster Copyright EffectenSter BV 2014 Hoofdzaken Ster SOCIALE VAARDIGHEDEN VERSLAVING DOELEN EN MOTIVATIE 10 9 8 10 9 8 7 6 4 3 2 1 7 6 4 3 2 1 10 9

Nadere informatie

Les 1 Voorspellen Leestekst: De nieuwe computer. Introductiefase: 2. Vraag: "Kan iemand mij vertellen wat voorspellen betekent?"

Les 1 Voorspellen Leestekst: De nieuwe computer. Introductiefase: 2. Vraag: Kan iemand mij vertellen wat voorspellen betekent? Les 1 Voorspellen Leestekst: De nieuwe computer "Welkom:..." Introductiefase: 1. "We gaan vandaag proberen te voorspellen." 2. Vraag: "Kan iemand mij vertellen wat voorspellen betekent?" 3. Discussie:...

Nadere informatie

GESPREKKEN VOEREN NEDERLANDS AAN HET EINDE VAN DEZE UITLEG:

GESPREKKEN VOEREN NEDERLANDS AAN HET EINDE VAN DEZE UITLEG: AAN HET EINDE VAN DEZE UITLEG: - Kun je een verzorgde brief schrijven. - Kun je op een juiste manier werkwoorden vervoegen. - Schrijf je op een juiste manier in meervoud. - Gebruik je hoofdletters op een

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

leerlingbrochure nld Door: Jolanthe Jansen

leerlingbrochure nld Door: Jolanthe Jansen leerlingbrochure nld Door: Jolanthe Jansen Dit is een brochure, gemaakt voor leerlingen met NLD. Naast deze brochure is er ook: - een brochure met informatie voor ouders van kinderen met NLD en - een brochure

Nadere informatie

Het houden van een spreekbeurt

Het houden van een spreekbeurt Het houden van een spreekbeurt In deze handleiding staan tips over hoe je een spreekbeurt kunt houden. Waar moet je op letten? Wat moet je wel doen? En wat moet je juist niet doen? We hopen dat je wat

Nadere informatie

1 Lezen. 1.1 Lezen wat er staat. Lees eerst de tekst goed door en probeer dan de vragen hieronder te beantwoorden.

1 Lezen. 1.1 Lezen wat er staat. Lees eerst de tekst goed door en probeer dan de vragen hieronder te beantwoorden. 1 Lezen 1.1 Lezen wat er staat Lees eerst de tekst goed door en probeer dan de vragen hieronder te beantwoorden. Leren kun je op allerlei manieren doen. Je kunt een opleiding of cursus volgen, maar je

Nadere informatie

OPBOUW ZELFSTANDIGE BASISHOUDING BIJ KINDEREN

OPBOUW ZELFSTANDIGE BASISHOUDING BIJ KINDEREN OPBOUW ZELFSTANDIGE BASISHOUDING BIJ KINDEREN Afspraak 1. Maak samen met de kinderen afspraken over wat zelfstandig gedaan mag worden met betrekking tot naar de wc gaan, handen wassen, drinken, eten, de

Nadere informatie

Een gelinkte lijst in C#

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

Nadere informatie

I. Vorming 4-5 (3&10/05/2012)

I. Vorming 4-5 (3&10/05/2012) I. Vorming 4-5 (3&10/05/2012) 1. Windows Live Photo Gallery Om de foto s op onze computer te beheren, hebben we voor de vorming gekozen om met Windows Live Photo Gallery te werken. Photo Gallery biedt

Nadere informatie

Hoe moet je een prachtige presentatie maken?

Hoe moet je een prachtige presentatie maken? Hoe moet je een prachtige presentatie maken? www.meestermichael.nl Geef de presentatie een titel. Klik dit vak aan om jouw presentatie een ondertitel te geven. Hier kun je je presentatie een titel geven

Nadere informatie

Rekenen aan wortels Werkblad =

Rekenen aan wortels Werkblad = Rekenen aan wortels Werkblad 546121 = Vooraf De vragen en opdrachten in dit werkblad die vooraf gegaan worden door, moeten schriftelijk worden beantwoord. Daarbij moet altijd duidelijk zijn hoe de antwoorden

Nadere informatie

1. Een van mijn collega s, liet een mooi verhaal zien: De opgave was: Los op ln(x + 2) ln(x + 1) = 1.

1. Een van mijn collega s, liet een mooi verhaal zien: De opgave was: Los op ln(x + 2) ln(x + 1) = 1. Tentamen-wiskunde?. De basiswiskunde. Een van mijn collega s, liet een mooi verhaal zien: De opgave was: Los op ln(x + 2) ln(x + ) =. Oplossing : ln(x + 2) = + ln(x + ) x + 2 = ln + x + 3 = ln dus x =

Nadere informatie

2 Ik en autisme VOORBEELDPAGINA S

2 Ik en autisme VOORBEELDPAGINA S 2 Ik en autisme In het vorige hoofdstuk is verteld over sterke kanten die mensen met autisme vaak hebben. In dit hoofdstuk vertellen we over autisme in het algemeen. We beginnen met een stelling. In de

Nadere informatie

De tag aan het begin van het PHPscript is "<?php" aan het einde van het PHPscript gebruik je "?>".

De tag aan het begin van het PHPscript is <?php aan het einde van het PHPscript gebruik je ?>. PHP Les 3 Commando ECHO Interessante links: o http://www.donboscozwijnaarde.be/~moermant/ o http://php.net/manual/en/function.echo.php o http://www.w3schools.com/php/default.asp Wat is PHP? PHP is een

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

Dwerggras 30, Rotterdam. 1. Schrijf tijdens het kijken dingen op die jou belangrijk lijken. Je hebt dit later nodig.

Dwerggras 30, Rotterdam. 1. Schrijf tijdens het kijken dingen op die jou belangrijk lijken. Je hebt dit later nodig. Les 1: Een Wikitekst schrijven Waarom ga je schrijven: het Jeugdjournaalfilmpje bekijken Bekijk met de klas het Jeugdjournaalfilmpje over koningin Beatrix op www.nieuwsbegrip.nl 1. Schrijf tijdens het

Nadere informatie

Links controleren met Xenu s Link Sleuth

Links controleren met Xenu s Link Sleuth 1. Introductie 2. Xenu downloaden 3. Voorkeursinstellingen aanpassen 4. Links controleren 5. Het gebruiken van de Xenu rapporten 6. Het controleren van niet werkende links op de website 1. Introductie

Nadere informatie

Inhoudsopgave. Inleiding 4. De digitale klok 6. Hele uren 8. Halve uren 14. Kwartieren en 10 minuten 24. Minuten 29. Klokkijken gemengd 33

Inhoudsopgave. Inleiding 4. De digitale klok 6. Hele uren 8. Halve uren 14. Kwartieren en 10 minuten 24. Minuten 29. Klokkijken gemengd 33 Inhoudsopgave Inleiding 4 De digitale klok 6 Hele uren 8 Halve uren 14 Kwartieren 19 5 en 10 minuten 24 Minuten 29 Klokkijken gemengd 33 Antwoorden 40 Inleiding Met dit Leer- en Oefenboek (deel 2 van een

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

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

Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, uur

Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, uur Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, 11.00-13.00 uur 1. Deze opgave bestaat uit een aantal deelvragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan

Nadere informatie