L E S B O E K J E. J. van Weert Wt (at) sgdb.nl Stedelijk Gymnasium s-hertogenbosch Wt /
|
|
- Simon Abbink
- 7 jaren geleden
- Aantal bezoeken:
Transcriptie
1 W T S A D V A N C E D P Y T H O N L E S B O E K J E J. van Weert Wt (at) sgdb.nl Stedelijk Gymnasium s-hertogenbosch
2 INHOUD 1 Inleiding Object Oriented Programming (OOP) Classes Init en methoden met parameters Class variables en instance variables Overerving Meervoudige overerving Multiple inheritance probleem 1: conflicterende methoden Multiple inheritance probleem 2: meerdere init () methoden Geavanceerd overriden Opfrisser Methoden van je parent aanroepen Error handling Inleiding Soorten foutmeldingen Exceptions Extra: Eindproject(je) Links en vervolgsuggesties
3 1 INLEIDING Je hebt inmiddels aardig wat ervaring met Python. Toch valt er nog oneindig over te leren (veel meer nog dan we hier nog kunnen toevoegen). In dit boekje breiden we je programmeerarsenaal uit met 2 belangrijke concepten: Objects en Error Handling. Objects helpen je op verschillende manieren: - Objecten bieden extra structuur en maken daarmee je code overzichtelijker - Objecten helpen je voorkomen dat je code herhaalt. Dit voorkomt fouten en maakt je code beter te onderhouden - Objecten maken code recyclebaar: objecten die je eerder geschreven hebt, kun je gemakkelijk in nieuwe programma s importeren - Objecten maken het makkelijker je code in stukken te verdelen en daarmee is het makkelijker om samen te werken aan code (ieder zijn eigen afgesloten stuk) Error handling is een mechanisme dat helpt om fouten die kunnen optreden tijdens het gebruik van een programma (bijvoorbeeld ongeldige invoer van een gebruiker) op een goede manier af te handelen, zonder dat de gebruiker wordt overladen met cryptische foutmeldingen 3
4 2 OBJECT ORIENTED PROGRAMMING (OOP) 2.1 CLASSES In OOP draait alles om classes (klassen) en objects/instances (objecten of instanties). Bekijk het volgende filmpje met een voorbeeld en uitleg over de basics van Python classes: Thenewboston Tutorial 29: Classes and Objects Hierin leer je: - Basis class syntax (schrijfwijze) - Class variables - Class functions (+self) - Instanties (objects) maken - Het maken van meerdere instanties (objects) van een klasse en het gebruik ervan Opdracht 1: Bouw de Enemy() class na uit het filmpje. Breid de Enemy() klasse uit met een nieuwe functie heal(). Deze functie verhoogt de life van de enemy met 2. Test je functie door een Enemy object te maken, een paar keer de heal() en de attack() functies ervan uit te voeren en vervolgens met de checklife() functie de kijken of het goed heeft gewerkt. Opdracht 2: Wijzig de methode attack() zodanig dat elke attack een random getal tussen 0 en 3 kiest en dat van de life variabele afhaalt (schade is dus niet meer altijd 1, maar kan variëren). Schrijf vervolgens een programma dat twee objecten van het type Enemy maakt en ze om en om elkaar laat aanvallen (gebruik een loop). Als 1 van de 2 dood is, eindigt je programma met de melding wie er gewonnen heeft en hoeveel life de winnaar nog over heeft. NB: Kijk in de codecademy samenvatting hoe random ook alweer werkt. 4
5 2.2 INIT EN METHODEN MET PARAMETERS Bij het maken van een nieuw object is het vaak handig als meteen een stukje code wordt uitgevoerd dat de startwaarden van het object goed instelt. Hiertoe dient de speciale init () methode. Methodes kunnen natuurlijk (net als gewone functies) meerdere parameters hebben. Bekijk het volgende filmpje: Thenewboston Tutorial 30: Init Hierin leer je: - Werking van de speciale init () functie bij classes - (extra) parameters naast self voor functies Opdracht 3: Breid je Enemy() class van de vorige opdracht (opdracht 2) uit met een init () functie. Deze functie vraagt (naast de standaard benodigde self) om 2 parameters: het aantal levenspunten om mee te beginnen en de maximale schade die geïncasseerd kan worden per aanval (2 integers dus). Sla deze waarden op in variabelen van de class. Pas nu je attack() functie aan zodat de de maximum schade die gedaan kan worden gelijk is aan het opgeslagen maximum uit de init() methode. De schade is dus een random getal tussen 0 en het maximum. Laat bij elke keer dat de attack() functie wordt aangeroepen ook op het scherm zien wat de schade was en hoeveel life de Enemy nog heeft. Test je code door weer in een loop 2 instanties van Enemy met elkaar te laten vechten tot er een dood is. Experimenteer met verschillende waarden voor de init methodes van de beide Enemy objecten. 5
6 2.3 CLASS VARIABLES EN INSTANCE VARIABLES Er zijn verschillende termen voor variabelen die in een class gebruikt worden: - Class variables: Variabelen die in de klassedefinitie worden gezet. De waarde hiervan is dus hetzelfde voor alle objecten (instanties) van deze klasse. - Instance variables: Variabelen die gemaakt worden in de init () methode van de klasse. Deze verschillen van waarde bij verschillende objecten (instanties) van deze klasse. (Vandaar ook de naam, instance variabelen hebben voor elke instance een unieke waarde) Niet superlastig, maar belangrijk om deze termen te kennen en uit elkaar te kunnen houden. Bekijk het volgende filmpje voor een korte uitleg met een voorbeeld: Thenewboston tutorial 31 Opdracht 4: Bekijk nog even je code van opdracht 3. Als het goed is heb je zowel class variables als instance variables gebruikt. Welke zijn welke? 6
7 2.4 OVERERVING Je hebt al gezien dat klassen een handige manier zijn om eenmalig een definitie van iets te schrijven (bijvoorbeeld de Enemy class uit de vorige opgaven) en meerdere objecten te maken die deze definitie gebruiken. Daar kunnen we nog een schepje bovenop doen met het principe van overerving (inheritance in het Engels). Bekijk het volgende filmpje: Thenewboston tutorial 32: Inheritance Hierin leer je: - De basics van inheritance (een klasse alle eigenschappen van een andere klasse laten overnemen en hier dingen aan toevoegen) - Overriding. Dit is het vervangen van een geërfde eigenschap (zoals een functie) door een andere invulling ervan. Het voorbeeldje uit het filmpje is simpel, maar inheritance is een erg krachtig concept. Je kunt zo een hele stamboom van classes maken die steeds specifieker worden. Hierdoor heb je nergens dubbele code, maar wel veel verschillende bruikbare classes met (deels) andere eigenschappen. Opdracht 5: Ga weer verder met je code uit opdracht 3. Maak een nieuwe class Boss en zorg dat dit een kindklasse is van de bestaande Enemy class. De Boss class erft nu dus alle variabelen en methoden van de Enemy class. Voeg de volgende dingen toe aan je Boss class: a. Een beetje eindbaas is natuurlijk ontzettend evil. Voeg een nieuwe methode evil_laugh() toe die Muhahahahah!! op het scherm afdrukt. b. De Boss class heeft een speciale eigenschap (het is tenslotte een eindbaas!) die hem moeilijker te verslaan maakt. Voeg een class variable met de naam shield toe aan de Boss. De waarde van shield is 3. c. Override de attack() methode die geërfd is van Enemy. Deze moet in de basis hetzelfde doen als de originele attack() methode van Enemy, maar met de volgende toevoeging: Als de Boss geraakt wordt en zijn shield variabele is groter dan 0, dan heeft hij 50% kans om de aanval af te weren en dus 0 schade te krijgen. Als dat gebeurt wordt zijn shield variabele met 1 verlaagd. (Zo kan hij dit maar 3x in totaal doen). Er wordt ook een melding afgedrukt dat de aanval geblokt is. Test je Boss door weer een gevecht te organiseren tussen een Boss en een Enemy., zoals je bij opdracht 3 gedaan hebt. Probeer ook eens een Boss tegen een Boss. 7
8 2.5 MEERVOUDIGE OVERERVING Bij overerving ben je niet beperkt tot 1 parent class. Een nieuwe klasse kan variabelen en functies erven van meerdere klassen tegelijk. Een voorbeeld zie je in het volgende filmpje: Thenewboston tutorial 33: Multiple inheritance Hierin zie je: - Het erven van functies uit 2 verschillende classes Opdracht 6: Ga verder met de code uit opdracht 5. In het spel zijn er verschillende dingen die tijdelijk onzichtbaar kunnen worden. Niet alle Enemies kunnen het, dus het kan geen eigenschap van de Enemy class zijn. Eindbazen kunnen het wel dus je zou het als eigenschap van de eindbaas kunnen toevoegen. Maar er zijn ook items die het kunnen (al hebben we die nog niet geïmplementeerd). Om te voorkomen dat we code dubbel moeten schrijven, kiezen we voor de volgende oplossing: Schrijf een nieuwe class Invisible(). Deze class introduceert een class-variabele visible die de waarde True krijgt. De class heeft ook 2 methoden: make_visible() en make_invisible(). Deze methoden passen de waarde van de visible variabele aan in respectievelijk True en False. Zorg nu dat je Boss class ook een kind is van de Invisible class (en nog steeds van Enemy natuurlijk) en test of je een instantie van Boss zichtbaar en onzichtbaar kunt maken. Een aantal dingen komen nog niet naar voren in het eenvoudige voorbeeld van het filmpje. Multiple inheritance is in sommige gevallen zeker handig, maar kan ook vaak voor problemen zorgen MULTIPLE INHERITANCE PROBLEEM 1: CONFLICTERENDE METHODEN Bij meervoudige overerving kunnen gemakkelijk conflicten ontstaan. Bekijk het volgende voorbeeldje: class Papa: def zeg_hallo(self): print "Hallo!" class Mama: def zeg_hallo(self): print "Hoi!" class Kind(Papa, Mama): def slaap(self): print "Zzzz" henkie = Kind() henkie.zeg_hallo() 8
9 Hier erft de Kind klasse dezelfde methode van 2 verschillende ouder klassen. Wat zou de uitvoer zijn bij de laatste regel? Het goede antwoord is Hallo!. Bij een conflict zoals hier, worden de parent classes op volgorde bekeken. Omdat de Kind klasse hier als eerste van de Papa class erft (die staat als eerste in zijn lijstje), zal daarvan de zeg_hallo() methode worden overgenomen. Je kunt je voorstellen dat dit voor problemen kan zorgen MULTIPLE INHERITANCE PROBLEEM 2: MEERDERE INIT () METHODEN Het probleem van conflicterende methoden van de vorige paragraaf wordt nog erger als beide ouders een init () methode hebben. Immers maar 1 van deze init () methoden wordt overgenomen door de kindklasse. Hierdoor kunnen zelfs verkeerd ingestelde variabelen ontstaan in de kindklasse. De init () methodes van beide ouders waren er immers niet voor niets. Ze zetten allerlei startwaarden goed en dat gebeurt nu misschien niet meer. Er zijn manieren om dit probleem te omzeilen (de init () methode overriden in de kindklasse is een optie), maar die vallen voor nu buiten de stof. In de praktijk wordt multiple inheritance niet veel gebruikt omdat het (zoals hierboven kort besproken) vaak meer problemen introduceert dan het oplost. In sommige specifieke gevallen is het nuttig en het is goed te weten dat het kan, maar wees er voorzichtig mee 9
10 2.6 GEAVANCEERD OVERRIDEN (Geen filmpje bij dit stukje stof helaas ) OPFRISSER We hebben gezien dat methodes die een kindklasse erft vervangen kunnen worden door nieuwe versies ervan: overriding. Nog even een simpel voorbeeldje over hoe dat ook alweer zat: class Papa: def slaap(self): print "Zzzzz" def zeg_hallo(self): print "Hallo allemaal!" class Kind(Papa): def zeg_hallo(self): print "Yolo matties!" fred = Papa() henkie = Kind() fred.slaap() fred.zeg_hallo() henkie.slaap() henkie.zeg_hallo() uitvoer: Zzzzz Hallo allemaal! Zzzzz Yolo matties! De Papa class definieert 2 functies die worden geërfd door de Kind klasse: slaap() en zeg_hallo(). In de Kind klasse wordt de zeg_hallo() functie vervangen door een nieuwe versie. In de uitvoer kun je zien dat bij het kind de slaap() functie ongewijzigd is overgenomen en de zeg_hallo() vervangen is. 10
11 2.6.2 METHODEN VAN JE PARENT AANROEPEN Hoewel het fijn is dat je methoden die je geërfd hebt kunt vervangen, gooi je daarmee soms ook veel nuttige code weg. Je schrijft namelijk de hele methode opnieuw, terwijl je soms gewoon een kleine toevoeging wilt doen aan de geërfde methode. Om dit te bereiken kun je de code van een methode van je parent weer oproepen als je als kindklasse de methode overschrijft. Bekijk het volgende voorbeeld: class Persoon: def init (self, voor, achter): self.voornaam = voor self.achternaam = achter def wie_ben_ik(self): print "Mijn naam is", self.voornaam, self.achternaam class Medewerker(Persoon): def init (self, voor, achter, stafnr): Persoon. init (self, voor, achter) self.stafnummer = stafnr def wie_ben_ik(self): Persoon.wie_ben_ik(self) print "en mijn stafnummer is:", self.stafnummer x = Persoon("Frits", "Worschtenbroodt") y = Medewerker("Hendrik", "Appelentaerte", 104) x.wie_ben_ik() y.wie_ben_ik() uitvoer: Mijn naam is Frits Worschtenbroodt Mijn naam is Hendrik Appelentaerte en mijn stafnummer is: 104 In de code zie je 2 klassen: Persoon en Medewerker. Medewerker is een kindklasse van Persoon en erft zowel de init () methode als de wie_ben_ik() methode van Persoon. Beide methoden worden in Medewerker overschreven door een nieuwe versie, maar op een andere manier dan tot nu: De code uit de originele methode van de parent wordt hierbij steeds eerst aangeroepen (Persoon. init (self, voor, achter) en Persoon.wie_ben_ik(self)) en vervolgens worden er nog dingen aan toegevoegd. De schrijfwijze hiervan lijkt op het gewoon aanroepen van een methode met 2 verschillen: 11
12 - Je noemt de naam van de parent-klasse (in dit geval Persoon) in plaats van de naam van de instantie - De self parameter moet ook worden opgegeven Bekijk de code goed en zorg dat je goed begrijpt hoe het aanroepen van een methode van de parent werkt. Opdracht 7: Ga verder met je code uit opgave 6. a: In opgave 5 heb je de Boss class toegevoegd als subclass van Enemy. Hierbij is de attack() methode van de Boss een override van die van de Enemy. Hierbij heb je veel code herhaald (de Boss doet hetzelfde als de Enemy, maar heeft een kans op het gebruik van zijn shield) Verbeter je code door bij deze attack() methode alle dubbele code bij de Boss versie weg te halen en deze te vervangen door een aanroep van de attack van zijn parent (de Enemy). Zorg wel dat de Boss zijn shield kan blijven gebruiken natuurlijk. b: De Boss class erft de init () method van Enemy(). We willen nu ook de waarde van de shield variabele van de Boss kunnen instellen bij het maken van een Boss object. Override de init () methode van Enemy(). Roep in de nieuwe init () van Boss de originele init () van de Enemy aan en voeg het instellen van de shield variabale toe. 12
13 3 ERROR HANDLING 3.1 INLEIDING PROGRAMMING TODAY IS A RACE BETWEEN SOFTWARE ENGINEERS STRIVING TO BUILD BIGGER AND BETTER IDIOT- PROOF PROGRAMS, AND THE UNIVERSE TRYING TO PRODUCE BIGGER AND BETTER IDIOTS. SO FAR, THE UNIVERSE IS WINNING. - RICK COOK Gebruikers doen niet altijd wat je verwacht (en eerlijk is eerlijk: als programmeur is het ook niet altijd te overzien op welke manieren je code gebruikt gaat worden, die maken ook fouten), dus de kans dat er tijdens de uitvoering van een programma wel eens een fout optreedt is groot. Dit is op zichzelf geen ramp, als er maar op een goede manier mee wordt omgegaan in de code. Een programma dat er halverwege mee ophoudt met een of andere obscure error die de gebruiker niet snapt is altijd een slechte zaak. De oplossing: Error handling Het basisprincipe van error handling is eigenlijk vrij eenvoudig: - Je moet erop verdacht zijn welke delen van je code tot fouten kunnen leiden bij (verkeerd) gebruik. - Aan deze delen voeg je een speciale pythonconstructie toe die de fouten vangt. - Bij het vangen van een fout, schrijf je code die voorkomt dat het programma crasht op de fout. - Eventueel voorzie de je de gebruiker van nuttige feedback (duidelijke foutmelding) zodat deze actie kan ondernemen. 13
14 3.2 SOORTEN FOUTMELDINGEN Laten we eerst maar eens wat dingen expres mis laten lopen om een beetje een gevoel te krijgen wat er zoal stuk kan gaan. Opdracht 8: Voer de volgende opdrachten uit en noteer wat de foutmelding is. Probeer ook te begrijpen wat de foutmelding zegt en leg uit wat er precies mis gaat. a. Voer de volgende code uit. Wat gaat er mis en waarom? lijst = [1, 2, 3] print lijst[6] b. Voer de volgende code uit. Geef verschillende getallen als invoer. Probeer dan ook eens het getal 0 als invoer. Wat gaat er mis en waarom? deler = int(raw_input("met hoeveel personen ga je een taart delen? ")) stuk = 1.0 / deler print "Dan krijgt iedereen", stuk, "stuk taart" c. Voer de code uit vraag b nog eens uit, maar in plaats van een getal voer je een stuk tekst in zoals appeltaart. Wat gaat er mis en waarom? d. Voer de volgende code uit. Voer verschillende getallen in. Het werkt niet, waarom? (kijk goed naar de foutmelding): getal = raw_input("geef een getal: ") uitkomst = 2 + getal print "De uitkomst is:", uitkomst e. Leg uit wat er mis gaat bij het maken van het nieuwe object mijntaart: class Appeltaart: calorieen = 2500 def init (self, aantal_stukken): self.stukken = aantal_stukken mijntaart = Appeltaart() Je hebt nu een aantal foutmeldingen uitgeprobeerd. Er zijn er nog (heel) veel meer (kijk voor de grap maar eens naar de hele lijst). Dat python onderscheid maakt tussen zoveel verschillende foutmeldingen is een goede zaak. Zoals we gaan zien kun je fouten vangen en afhandelen. Hierbij kun je verschillende soorten fouten op een verschillende manier behandelen en voor elke fout de juiste oplossing inbouwen. 14
15 3.3 EXCEPTIONS Ìn de vorige paragraaf heb je (expres) een aantal fouten veroorzaakt. Het optreden van zo n fout heet in Python een Exception (uitzondering). Deze exceptions kun je vangen en zorgen dat ze op een nette manier worden afgehandeld in plaats van met een crytptische foutmelding en een onderbroken programma. Bekijk het volgende filmpje: Thenewboston tutorial 28: Exceptions Hierin leer je: - Try block - Catch blok met specifieke Exceptions - Catch blok met algemene Exceptions - Finally block Opdracht 9: Ga verder met je code van opdracht 7. a. Breid de constructor ( init () ) van Enemy uit, zodat de Enemy (en de Boss dankzij overerving ook) een naam krijgt. Dit is simpelweg een string variabele die in de class wordt opgeslagen. b. We gaan nu de gebruiker bij je code betrekken (oei, weten we dat zeker?). Laat de gebruiker een gevecht organiseren tussen 2 Enemies/Bosses. Hiervoor ga je de gebruiker steeds keuzes aanbieden. Bijvoorbeeld: Wat is deelnemer 1? Kies 1 voor Enemy en 2 voor Boss Wat is de naam van deelnemer 1? Op deze manier bepaalt de gebruiker alle eingeschappen van de 2 deelnemers. Deze laat je tegen elkaar vechten zoals voorheen en drukt steeds de tussenstand van het gevecht af. Gebruik ook de naam van de deelnemers bij het afdrukken van de informatie De gebruiker kan natuurlijk allerlei fouten maken. Zorg dat je met loops en try except blokken alle fouten netjes vangt, zodat de gebruiker je programma niet meer stuk kan maken. 15
16 4 EXTRA: EINDPROJECT(JE) Je hebt nu kennis van Objecten in python en weet de weg in error handling. Hierbij word je aangemoedigd om verder te experimenteren met de dingen die je geleerd hebt om het je nog verder eigen te maken (en gewoon voor de leuk natuurlijk). Probeer het eens in de praktijk te brengen met een eindproject. Je kunt de vechtsimulatie van de voorgaande opdrachten natuurlijk verder uitbreiden met meer opties. Denk aan: - Meer soorten Enemies (subclasses) met meer verschillende eigenschappen - Meer gebruikers interactie (welke aanval?) - Meerdere enemies tegelijk (arena) - - Je zou ook bijvoorbeeld een tekst adventure spel kunnen maken dat de speler random vijanden voorschotelt, die met verschillende aanvallen verslagen kunnen worden (denk aan een soort Pokémon) Je zou dan bijvoorbeeld (een deel van) de volgende classes kunnen implementeren: - Player class, met bijvoorbeeld o Health, o Mana o Xp, o Level o Etc - Enemy class (en subclasses) met bijvoorbeeld: o Damage o Hp o Skills o Etc. - Item class met subclasses voor verschillende soorten items - NPC class - Skills - 16
17 5 LINKS EN VERVOLGSUGGESTIES Geen genoeg van Python? Er valt nog oneindig veel te leren. Zowel over mogelijkheden van de taal Python zelf als over programmeren en algoritmiek in het algemeen. Een aantal suggesties voor verdere studie (geen toetsstof uiteraard) - The Hitchhikers guide to Python Onofficiele handleiding over alles wat met Python te maken heeft. Van installatie tot goede programmeerstijlen - Thenewboston youtube tutorials Een aantal filmpjes stonden gelinkt in dit boekje. De hele playlist is nuttig (let op: wel Python 3, maar de verschillen met Python 2 zijn klein) - Learn Python the hard way Goed boek over het keren van Python 17
L E S B O E K J E. Jochum. van Weert Wt (at) sgdb.nl Stedelijk Gymnasium s-hertogenbosch v Delen onder Creative Commons toegestaan
W T S A D V A N C E D P Y T H O N L E S B O E K J E Jochum. van Weert Wt (at) sgdb.nl Stedelijk Gymnasium s-hertogenbosch v2.0 2017 Delen onder Creative Commons toegestaan 1 INHOUD 1 Inleiding... 3 2 Object
Nadere informatieKleine 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 informatieBEGINNER 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 informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord 11 december 2017 Zelle hoofdstuk 10 Stof Overzicht - theorie 1. Zelle hoofdstuk 4 en 5 2. Zelle hoofdstuk 7 en 8, recursie, Brookshear hoofdstuk 5 3. Zelle hoofdstuk
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord, Leonie Bosveld 12 december 2016 Zelle hoofdstuk 10 Stof Overzicht - theorie 1. Zelle hoofdstuk 4 en 5 2. Zelle hoofdstuk 7 en 8, recursie, Brookshear hoofdstuk
Nadere informatieJe 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 informatieHoofdstuk 6: Zelf functies maken
Programmeren in Microsoft Visual Basic 2010 Express, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Vespucci College, Marnix Gymnasium Rotterdam, december 2011 Hoofdstuk
Nadere informatie[15] Variabelen in functies (of: een woordje over scope)
[15] Variabelen in functies (of: een woordje over scope) In de vorige leerfiche hebben we geleerd over functies. We leerden dat functies parameters hebben en dat ze return-waarden kunnen teruggeven aan
Nadere informatieDatatypes 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 informatieFunctioneel programmeren
Functioneel programmeren Practicumopgave 2: Mastermind Het doel van deze opgave is het implementeren van het spel Mastermind; zie http://nl.wikipedia.org/wiki/mastermind voor een uitleg. Het spel is klein
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 18 december 2015 Overerving (inheritance) Constructors Overriding Inheritance demo Exceptions Zelf exceptions veroorzaken Overerving (inheritance) 2-dimensionaal
Nadere informatieStap 1. Bepalen van invoer Het makkelijkst kun je dit vinden uit de zwarte vlakken met voorbeelden:
Stap 1. Bepalen van invoer Het makkelijkst kun je dit vinden uit de zwarte vlakken met voorbeelden: Na de opdracht Maak uw keuze: wordt er voor het eerst iets ingetypt door de gebruiker. De getallen die
Nadere informatieProgrammeermethoden NA. Week 5: Functies (vervolg)
Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Functies Vorige week bekeken we functies: def
Nadere informatieDisclaimer 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 informatieUitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur
Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, 13.00-15.00 uur 1. De situatie die ontstaat door class A : B C D; kan beschreven worden door (a) B is een A (b)
Nadere informatieOpdracht 7a. Applicatiebouw 2014/2015
Applicatiebouw 2014/2015 Opdracht 7a Inhoud Applicatiebouw op dag 7 College In het college wordt oa. overerving behandeld, waarmee je uit een bestaande klasse een nieuwe andere klasse kan maken. Ook zijn
Nadere informatieEen 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[13] Rondjes draaien (loops)
[13] Rondjes draaien (loops) Met de if else uit de leerfiche [11] hebben we leren werken met één van de belangrijkste programmeerstructuren in Python. Bijna even belangrijk zijn de verschillende mogelijkheden
Nadere informatieVariabelen 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 informatieObject 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 informatieHoofdstuk 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 informatieMICRO:BIT. Uitdaging 5 Magic8. Origineel: Micro:bit Educational Foundation 2016 Vertaling: CoderDojo Kennemerwaard 2017
MICRO:BIT Uitdaging 5 Magic8 Origineel: Micro:bit Educational Foundation 2016 Vertaling: CoderDojo Kennemerwaard 2017 Dit programma maakt de magic8 bal. De gebruiker wordt een vraag gesteld en geeft antwoord
Nadere informatieHerhaling. Individuele Oefening. Individuele oefening. Tips en technieken in Alice. Vis in de zee Houdt van zeewier
Herhaling Individuele Oefening Klasseniveaumethode Voorbeeld Overerving Object erft methodes van eerder gedefinieerd object Voorbeeld Object opslaan onder nieuwe naam. Latere instantie kunnen vroeger gedefinieerde
Nadere informatieProgrammeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:
Programmeren A Genetisch Programma voor het Partitie Probleem begeleiding: Inleiding Het Partitie Probleem luidt als volgt: Gegeven een verzameling van n positieve integers, vindt twee disjuncte deelverzamelingen
Nadere informatieProgrammeermethoden NA. Week 5: Functies (vervolg)
Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Functies Vorige week bekeken we functies: def bereken(a, x): return a * (x
Nadere informatieMINICURSUS 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 informatieJavaScript. 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 informatieSYNTRA-WEST. Cursus OOP. Deel
SYNTRA-WEST Cursus OOP Deel Syntra-West voorheen VORMINGSINSTITUUT VOOR KMO Syntra-West Doorniksesteenweg 220 8500 Kortrijk Tel. 056/26.02.00 Fax 056/22.81.07 i Inhoudsopgave SYNTRA-WEST... 0 CURSUS OOP...
Nadere informatieUitleg: 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 informatieToetsvoorbereiding Informatica HAVO/VWO 5 (T51) Programmeren met Python II. Duur: 70 minuten Datum: sept 2018
Toetsvoorbereiding Informatica HAVO/VWO 5 (T51) Programmeren met Python II Duur: 70 minuten Datum: sept 2018 Stof: Basiskennis van vorig jaar, (Eigen) Functies & parameters, Loops (for en while), Turtle
Nadere informatieOpgaven. Python Assessment
Opgaven Python Assessment Nijmegen - Utrecht www.atcomputing.nl Copyright 2015,2016 Versie: 1a Inleiding Met dit assessment kun je controleren of je voldoende parate kennis over Python hebt om te beginnen
Nadere informatieTentamen 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 informatieGa naar en remix dit project.
Quiz In deze handleiding leer je hoe je een quiz kunt maken waarmee je kunt testen hoeveel jouw vriendjes en vriendinnetjes over jouw favoriete onderwerp weten. Ga naar https://scratch.mit.edu/projects/112774047/
Nadere informatieVerder 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[14] Functies. Volg mee via 14_Functies-1.py. We beginnen met een eenvoudig voorbeeldje:
[14] Functies Een goede programmeur doet altijd zijn best om zoveel mogelijk aan hergebruik van code te doen. Je probeert in je programma code te gebruiken die iemand anders heeft gemaakt, of code die
Nadere informatieHOOFDSTUK 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 informatieVBA voor Doe het Zelvers deel 9
VBA voor Doe het Zelvers deel 9 Handleiding van Auteur: leofact Augustus 2014 VBA voor Doe het Zelvers is een reeks artikelen, bedoelt voor mensen die met VBA in Excel aan de slag willen om taken te automatiseren
Nadere informatieUitwerking 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 informatieIn de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal.
4. Array s Een array is een geïndexeerde variabele. Deze zin zal de nodig vragen oproepen, waarop enige uitleg van toepassing is. Met variabelen hebben we al kennis gemaakt. In een variabele kun je iets
Nadere informatieZo 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 informatieVI. 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 informatieEen 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 informatieTentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld
Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag u gebruik maken van: Barnes, Object-Oriented Programming with Java en de Notitie Algoritmiek
Nadere informatieScratch in drie uur. Hallo, mijn naam is Minti Mint! Ik ga je uitleggen hoe je je eigen computerspel kunt maken. We gaan een racespel maken!
Scratch in drie uur Hallo, mijn naam is Minti Mint! Ik ga je uitleggen hoe je je eigen computerspel kunt maken. We gaan een racespel maken! Bernd Gärtner Nederlandse vertaling en bewerking: Martine Segers
Nadere informatieStroomschema s maken op papier
1 Stroomschema s maken op papier Een programma direct maken in Python, gaat vaak wel goed als het een klein programma is. Als het programma groter en moeilijker is, is het lastig om goed te zien welk commando
Nadere informatieSimon 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 informatieAls 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 informatieHOOfDsTuk 1 Objecten en klassen
HOOfDsTuk 1 Belangrijkste concepten in dit hoofdstuk: objecten klassen methodes parameters We springen meteen in het diepe en maken een begin met onze behandeling van objectgeorienteerd programmeren. Om
Nadere informatieLes 6: Abstractie, methods en parameters in Alice
Les 6: Abstractie, methods en parameters in Alice Wouter Tavernier 18/12/2006 Inhoudstafel Object georiënteerd programmeren in Alice Stapsgewijze verfijning adhv methods Parameters Variabelen 1 Object
Nadere informatieNumerieke benadering van vierkantwortels
HP Prime Grafische Rekenmachine Numerieke benadering van vierkantwortels Doel: De waarde van een vierkantswortel met een recursieve rij benaderen, het schrijven van een klein programma. Sleutelwoorden:
Nadere informatieHoofdstuk 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 informatieHet programma in dit hoofdstuk vertelt een paar moppen aan de gebruiker.
Hoofdstuk 5 Moppen 36 Hoofdstuk 5 MOPPEN In dit hoofdstuk behandelen we: Het gebruik van het sleutelwoord end als argument in de print-functie om niet naar een nieuwe regel te gaan Escape-tekens Het gebruik
Nadere informatieJe 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 informatieAndroid 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 informatieSerienummers worden met hun ID opgeslagen
Solution Builder SE : BSE101 Versie : 8.0.0.4818 Releasedatum : 10-03-2015 Geschikt voor Synergy Enterprise : v.a. batch 249 ALGEMEEN Serienummers worden met hun ID opgeslagen Serienummers die aan entiteiten
Nadere informatieEr wordt door veel mensen opgezien tegen de overstap
With a little Help from Wennen aan Office 2010 John Spronk Er wordt door veel mensen opgezien tegen de overstap naar Office 2010 omdat het er zo anders uitziet dan het vertrouwde Office 97. Degenen die
Nadere informatieII. 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 informatiePracticumopgave 3: SAT-solver
Practicumopgave 3: SAT-solver Modelleren en Programmeren 2015/2016 Deadline: donderdag 7 januari 2016, 23:59 Introductie In het vak Inleiding Logica is onder andere de propositielogica behandeld. Veel
Nadere informatieMethods of Development
Methods of Development College 4 OO & Tentamenstof Arjan Scherpenisse arjan.scherpenisse@kmt.hku.nl @acscherp Deze week Object-oriëntatie Herhaling vorige week Compositie De Opdracht Tentamenstof overview
Nadere informatieProgrammeermethoden NA
Programmeermethoden NA Week 7: OOP & Modules Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Tweede programmeeropdracht Uiteraard verwachten we
Nadere informatieNAAM: Programmeren 1 Examen 31/08/2011
Programmeren augustus 0 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet je zelf
Nadere informatieHet 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 informatieProgrammeren 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 informatieHet project Gamemaker Kids is mede mogelijk gemaakt door:
Tips voor docenten Het project Gamemaker Kids is mede mogelijk gemaakt door: Auteur: Eindredactie: Klasien Postma Sacha de Ruiter, Technika 10 Nederland Copyright: Creative Commons www.gamemakerkids.nl/index.pl/licentie
Nadere informatiebug fixen F. Vonk versie
2017 bug fixen F. Vonk versie 1 24-7-2017 inhoudsopgave 1. inleiding... - 3-2. bug fixen... - 4-3. Sokoban... - 5-4. Breakout... - 7-5. Pac-Man... - 8-6. Asteroids... - 9-7. Snake... - 10-8. Super Mario...
Nadere informatieVisual 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 informatieInformatica. 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 informatieR-Type 2009 Developing in XNA
R-Type 2009 Developing in XNA Door : Martin Broos Student nr : 0794155 Vak : IMP08 Herkansing Docent: Bob Pikaar Versie : 2 1 Inhoud Inleiding... 3 Concept... 4 Uitdaging... 4 Features... 4 Vijanden...
Nadere informatieextra oefening algoritmiek - antwoorden
extra oefening algoritmiek - antwoorden opgave "Formule 1" Maak een programma dat de gebruiker drie getal A, B en C in laat voeren. De gebruiker zorgt ervoor dat er positieve gehele getallen worden ingevoerd.
Nadere informatieGetting Started with Python Programming
Getting Started with Python Programming QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Dick Groskamp This work is licensed under a Creative Commons Attribution
Nadere informatiePaintcode Programmeer handleiding
Paintcode Programmeer handleiding Uitleg van aan te roepen en over te erven functies en codevoorbeelden Basis In dit deel van de handleiding wordt ingegaan op de basis van de Template. Hoe is het opgezet
Nadere informatieDE 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 informatieNoties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst
s Informatica Hoofdstuk 1 Object Klasse Methode Parameters Type Velden Toestand Compiler Resultaten (returnwaarde) In java fungeren objecten als een model voor de elementen waarin een probleem kan worden
Nadere informatie{ specificatie (contract) en toelichting }
Programmeren Blok B Drie aspecten van routines http://www.win.tue.nl/ wstomv/edu/2ip05/ College 7 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering &
Nadere informatieProgrammeren (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 informatieTentamen Imperatief Programmeren
Tentamen Imperatief Programmeren Maandag 22 oktober 2001 Toelichting Dit is een open boek tentamen, d.w.z. het cursusboek mag gebruikt worden. N.B.: Het tentamen is individueel: voor het maken van de opgaven
Nadere informatieAFO 139 Automatische export
AFO 139 Automatische export 139.1 Inleiding Vubis Smart beschikt over de mogelijkheid om volledig automatisch beschrijvingen te exporteren naar bestanden op de server. Andere bibliotheken (ongeacht of
Nadere informatieTELEPORTEREN 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 informatieUitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur
Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur 1. (2 punten per deelvraag) Deze opgave bestaat uit een aantal tekstvragen. Houd het antwoord kort: een
Nadere informatiealgoritmiek - antwoorden
2016 algoritmiek - antwoorden F. Vonk versie 1 28-8-2016 inhoudsopgave eenvoudige algoritmes... - 3 - complexe algoritmes... - 7 - zoeken (vwo)... - 10 - sorteren (vwo)... - 12 - Dit werk is gelicenseerd
Nadere informatieHvA 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 informatieHoofdstuk 9: Menu s toevoegen
Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, maart 2005 Hoofdstuk 9: Menu s toevoegen 9.0 Leerdoel
Nadere informatieChris de Kok 223548 TDI 3. Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren
Chris de Kok 223548 TDI 3 Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren Inhoud Inleiding... 3 Black box / White box... 3 XP... 3 SimpleTest... 3 Eclipse plugin... 4 GroupTest...
Nadere informatieDerde deeltentamen Imperatief programmeren - versie 1 Vrijdag 7 november 2014, uur
Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 7 november 2014, 8.30-10.30 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
Nadere informatieProgrammeren in Java 3
7 maart 2010 Deze les Zelf componenten maken Concurrency (multithreading): werken met threads levenscyclus van een thread starten tijdelijk onderbreken wachten stoppen Zelf componenten maken Je eigen component:
Nadere informatieALGORITME objectgeoriënteerd programmeren
ALGORITME objectgeoriënteerd programmeren Gunter Schillebeeckx 1 objectgeoriënteerd programmeren Object Klasse Instantie Eigenschap Methode Inkapseling Polymorfisme Overerving 2 Inleiding Kern Samenvatting
Nadere informatieU kunt een waardebon toepassen op alle klanten, op een klantengroep of op een enkele klant; u kunt de vervaldatum bepalen.
Winkelwagenregels Winkelwagenregels De pagina "Winkelwagenregels" geeft u toegang tot een geavanceerde tool dat het waardebonnensysteem van PrestaShop 1.4 opvolgt. Doorgewinterde PrestaShop-gebruikers
Nadere informatieProgrammeren. a. 0, 0, 0 b. 0, 0, 27 c. 15, 12, 0 d. 15, 12, 27
Programmeren 0. (1 punt.) Stel, een "afhankelijk kind" is een persoon is die jonger is dan 18 jaar, en hooguit 8.000 euro verdient. Welke van de onderstaande expressies definieert een afhankelijk kind?
Nadere informatieNAAM: Programmeren 1 Examen 29/08/2012
Programmeren 29 augustus 202 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet je
Nadere informatieTEKSTVERWERKEN, DE BASIS
TEKSTVERWERKEN, DE BASIS Tekstverwerken Deze opdrachten helpen je bij het tekstverwerken waardoor je een brief of bericht kan typen in Word. Er zijn veel verschillende Wordversies. De symbolen blijven
Nadere informatieSeven segments of Pi
Seven segments of Pi Seven segments of pi Aan de slag met seven segments of Pi! Seven segments is een klein add-on boardje voor de raspberry pi. Deze add-on bestaat uit een display en een knopje. Meer
Nadere informatieProgrammeerstructuren 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 informatieWerkboek studiekeuzecheck Opleiding HBO-ICT
Werkboek studiekeuzecheck Opleiding HBO-ICT Naam:... Beste aspirant-student, Gefeliciteerd! Je hebt de online vragenlijst over de opleiding HBO-ICT aan de HAN ingevuld. Daarna heb je zelf geconcludeerd
Nadere informatieScratch les 3: Quiz! Je eigen spelshow
Scratch les 3: Quiz! Je eigen spelshow Hoeveel weten jouw vriendjes en vriendinnetjes over jouw favoriete onderwerp? Test het met je zelfgemaakte quiz! Ga naar https://scratch.mit.edu/projects/112774047/.
Nadere informatieHoofdstuk 13: Sorteren & Filteren* 2010
Hoofdstuk 13: Sorteren & Filteren* 2010 13.0 Inleiding Spreadsheets bieden meer grip op gegevens. De twee beste manieren om meer grip te krijgen, is door de gegevens te sorteren of door bepaalde waarden
Nadere informatieLes 3: Het maken van pagina s, het menu en het schrijven van een blogpost Pagina s
Les 3: Het maken van pagina s, het menu en het schrijven van een blogpost Bij het maken van een blog is het belangrijk dat je er inhoud op plaatst. Dit noemen we content. Alles wat je openbaar op je blog
Nadere informatieDE 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 informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in
Nadere informatieHet koppelen van de u-remote aan de AC500-eco via Modbus TCP. A quick start guide. Jaap Ruiten
Het koppelen van de u-remote aan de AC500-eco via Modbus TCP. A quick start guide Jaap Ruiten Het koppelen van Weidmüller u-remote aan een AC500-eco plc. Thema: u-remote Modbus TCP Bladzijde 1 Inhoudsopgave
Nadere informatieStap 0: Voorbereiding
Welkom, Wat fijn dat je voor NT2+ van ThiemeMeulenhoff hebt gekozen! We helpen je graag op weg! Termen: Instituut Groepen Coördinator Docent Student Een onderwijsinstelling die uit een of meerdere groepen
Nadere informatie