Objectgeoriënteerd Programmeren: WPO 1

Maat: px
Weergave met pagina beginnen:

Download "Objectgeoriënteerd Programmeren: WPO 1"

Transcriptie

1 Objectgeoriënteerd Programmeren: WPO 1 1. Inhoud Klassen, objecten, methoden, properties, private vs. object, this. public, velden, instantie, reference to 2. Inleiding 2.1 Objecten en klassen Punt (X, Y) In deze reeks demo s zullen we de basis zien van klassen en objecten. Tijdens deze demo s zullen we de klasse Punt definiëren en instantiëren. Een punt wordt in 2D bepaald door een X en een Y waarde. Opdracht: Schrijf een programma dat toelaat om een X en Y waarde bij te houden en deze door te gebruiker in te vullen. Geef deze waarden ook weer in een label. Maak de X- en Y-variabelen globaal aan Klasse Punt Punten laten toe voorwerpen op een 2D-map uit te zetten. De aanpak van hiernet laat niet echt toe om de X- en Y-waarden als een effectief punt te beschouwen. Deze zijn als het ware nog niet aan elkaar gelinkt. C# laat toe om deze waarden onder te brengen in 1 overkoepelend geheel; de klasse. Opdracht: Schrijf de klasse Punt waarin de variabelen X en Y in opgenomen zijn Methoden Door het onderbrengen van de X en Y variabelen (velden) in de nieuw aangemaakte klasse kan men deze waarde als gelinkt beschouwen. Echter zijn er binnen het objectgeoriënteerd programmeren een aantal spelregels. Eén van deze regels is dat men de variabelen van een klasse zo veel mogelijk private houdt. Hierdoor zijn deze waarden enkel beschikbaar binnen de klasse Punt. Deze afscherming van de variabelen naar buitenaf biedt als voordeel dat men een volledige controle behoudt over de inhoud van deze variabelen. Dit kan bv. nuttig zijn om te verhinderen dat een programmeur negatieve waarden in deze variabelen zou willen schrijven. Deze beperking impliceert echter wel dat er methodes moeten zijn die deze variabelen kunnen aanpassen en kunnen teruggeven. In die methodes kunnen dan de nodige condities geïmplementeerd worden. Opdracht: Zorg ervoor dat de variabelen X en Y private zijn. Schrijf de nodige methodes om de waarden terug te geven en voorzie methodes om ervoor te zorgen dat de X en Y waarden beperkt blijven tussen en Hint: Ook hier geldt de regel dat een private methode enkel zichtbaar is binnen de klasse 1

2 zelf. Door de methoden public te declareren, is het mogelijk om deze ook buiten de klasse te gebruiken Properties De hierboven beschreven methoden kunnen ook via een verkorte C# notatie geïmplementeerd worden. Deze notatie is hiervoor specifiek ontwikkeld en wordt in C# omschreven als properties (letterlijk: eigenschappen). Properties kunnen als getter, setter of beide geïmplementeerd worden. Opdracht: Herschrijf bovenstaande methoden tot properties (getter, setter of beide). Hint: Ook hier gelden de zichtbaarheidsregels Objecten We hebben hiernet een klasse geschreven dat toelaat om een X en Y waarde bij te houden. Deze klasse kan er ook voor zorgen dat de inhoud van deze variabelen beperkt is tussen en Om deze klasse effectief te kunnen gebruiken moeten we nog 1 stap ondernemen: de klasse instantiëren tot een object. Dit kunnen we doen zoals beschreven in onderstaand codefragment. Merk op dat deze code typisch buiten de code van de klasse geschreven wordt. Codefragment 1: Instantiëren van de klasse Punt tot een object 1 Punt p1 = new Punt(); De geschreven methoden en properties die een publieke toegang hebben (public) kunnen nu achter het object gebruikt worden. Opdracht: Zorg ervoor dat je een instantie van de klasse Punt kan maken. Vul deze klasse ook in via geschreven methoden en properties Bewerkingen Klassen en objecten laten toe om buiten het groeperen van variabelen (velden) en het aanmaken van getters en setters ook meer ingewikkelde operaties uit te voeren. Zo is het bv. mogelijk een een punt met een ander punt op tellen. Hiervoor zullen we een nieuwe methode invoeren die een punt als argument heeft en de X en Y variabelen met de eigen variabelen sommeert. Deze methode is noch een getter, noch een setter maar beïnvloed wel de inhoud van het object. Opdracht: Schrijf de methode die toelaat om een punt met een ander te sommeren. Hint: Een methode ziet er exact hetzelfde uit als een functie. Het grote verschil met een functie is dat een methode een bewerking uitvoert op de variabelen van het object zelf, terwijl een functie enkel bewerkingen op lokale variabelen uitvoert Constructor Methoden kunnen net zoals functies om het even welk aantal argumenten hebben en een returnwaarde hebben. De naam van methode maakt functioneel niet uit. Een constructor is een speciale methode die enkel tijdens het aanmaken van een object aangeroepen wordt (cfr. to contruct van bouwen of aanmaken). Vermits de constructor enkel dient om een object aan te maken, retourneert deze dus niets. Daarom ook dat er geen returnwaarde bestaat bij een 2

3 constructor. De naam van de constructor ligt vast en is dezelfde als de naam van klasse. Het aantal argumenten daarentegen kan willekeurig zijn. Opdracht: Schrijf een constructor die 2 argumenten opneemt. Deze argumenten zijn de initiële waarden voor X en Y. Zorg ervoor dat je de nodige checks ook kan toepassen Reference type Variabelen van het type integer, float, double enz. zijn opgebouwd vanuit een primitief datatype. Primitieve datatypen kunnen een bepaalde waarde vasthouden en zijn onmiddelijk beschikbaar naar de programmeur. Objecten worden aan de programmeur op dezelfde wijze voorgesteld: een variabele die rechtstreeks beschikbaar is. Echter is een object een reference naar een instantie. Je kan dit vergelijken als een variabele dat als argument by reference aan een functie doorgegeven wordt. Je werkt dus niet rechtreeks op het object, maar op de referentie naar dat object. Opdracht: Maak opnieuw een object p1 (klasse Punt ). Maak een nieuw variabele p2 aan van datzelfde type, maar maak geen nieuw object aan. Door p2 aan p1 gelijk te stellen wordt de referentie van p2 gelijkgesteld aan dat van p1. Verander nu een eigenschap van p2 en volg via de debugger het verloop van p Static methoden Een laatste vorm van methoden zijn de static methoden. Dit type van methode verschilt in programmatie en gebruik t.o.v. de gewone methoden. Static methoden behoren wel tot de bovenliggende klasse, maar maken geen deel uit van de objecten die uit deze klasse voortvloeien. Het is dus niet mogelijk om bij een object dergelijke methodes aan te roepen. Juist doordat deze methoden geen deel uitmaken van objecten, kunnen deze methoden ook geen invloed hebben hebben op de toestand van het huidige object. Dit type van methoden wordt voornamelijk gebruikt wanneer men functies schrijft die geen directe link kunnen vertonen met een bepaald object. Denk hierbij aan de klasse Math waarin een aantal methoden geïmplementeerd zijn zoals sinus, cosinus, tangens, enz. 2.2 Samenvatting Een object bestaat hoofdzakelijk uit 2 onderdelen. De velden: deze houden de huidige toestand van het object bij. De methoden: deze laten toe om de huidige toestand van het object aan te passen. Een object is de instantie van een klasse. Een klasse (blauwdruk) is het theoretisch model van hoe een object zich zal gedragen of er zal uitzien. De klasse is dus de geschreven code terwijl het object overeenkomt (in gebruik) als een variabele. Een object heeft minimaal 1 constructor. De constructor heeft dezelfde naam als de klasse zelf, heeft een aantal argumenten maar heeft geen returnwaarde. In de constructor kunnen best de velden van het object geïnitialiseerd worden. Properties zijn methoden die enkel als getters en setters mogen gebruikt worden. Deze zijn een verkorte notatie om sneller aan velden via buitenaf te geraken. 3

4 Andere (klassieke) methoden dienen om complexere handelingen op het object uit te voeren. Elke methode heeft een aantal argumenten (minstens 0) en maximaal 1 returnwaarde. Velden (interne variabelen) worden zoveel mogelijk private gehouden om zo de controle over deze velden te garanderen (binnen bepaalde grenzen houden). Methoden en hulpfuncties binnen het object die niet noodzakelijk zijn voor de buitenwereld worden best private gehouden (behoud van controle). Een object is een referentie naar een instantie van een klasse. Sommige klassen bieden static methoden aan. Deze methoden zijn niet toegankelijk via het object, maar wel rechtstreeks via de klasse zelf. In een klasse kan het keyword this gebruikt worden. Hiermee bedoelt men uitsluitend de interne velden van het object. Zo kan je binnen een methode argumenten hebben met dezelfde namen als de interne velden. De compiler weet dan welke naam op welke variabele slaat. 3. Oefeningen Demo 1: Biljarttafel Demo 2: Kleurcodes A: Softwarelibrary A: Rekenmachine A: Regendruppels A: Converter E: Sinusoidaal E: Snake X: Gravity 3.1 Demo 1: Biljarttafel Schrijf een programma dat een biljarttafel kan simuleren. Maak een klasse Bal aan waarin de nodige eigenschappen van elke biljartbal opgenomen worden. Voorzie nodige getters en setters om de eigenschappen van de biljartbal op een veilige manier te kunnen aanpassen. Beperkingen en features die hierin opgenomen dienen te worden: een biljartbal kan niet buiten het veld komen. De X en Y waarden hebben een boven- en onderlimiet. elk biljartbal heeft een snelheid in de X en Y richting (snelheidsvector) een biljartbal heeft natuurlijk ook een kleur. 4

5 Voorzie methoden om de biljartbal te kunnen updaten. Het uitrekenen van de nieuwe positie en snelheidsvector gebeurt binnen de klasse Bal zelf. Een voorbeeld van deze applicatie kan teruggevonden worden in figuur 1. Figuur 1: Voorbeeld biljardtafel 3.2 Demo 2: Kleurcodes Schrijf een programma die het mogelijk maakt om de kleurcodes van weerstanden uit te rekenen. Volgende functies worden voorzien: een functie om een enkele kleur (string) om te zetten in een getal, een functie om een getal van 0 t.e.m. 9 om te zetten in een kleur (string), een functie om 3 opeenvolgende kleuren (array van string) om te zetten in een weerstandswaarde en, een functie om een weerstandswaarde om te zetten in 3 kleuren (array van string) Maak bij de implementatie van dit programma gebruik van een klasse met static methoden. 3.3 A: Softwarelibrary Software wordt typisch bijgehouden in softwarebibliotheken. Hierbij worden per stuk software de volgende eigenschappen bijgehouden. de programmeur (of naam van de groep), de naam van de software, 5

6 het versienummer van de software (integer). de datum van uitgave (dag, maand en jaar) Schrijf een applicatie die toelaat om de referenties van de stukken software bij te houden. Voorzie hiervoor een lijst die een klasse Software bijhoudt. Deze klasse bevat minimaal bovenvermelde eigenschappen tezamen met de nodige getters en setters. Volgende beperkingen en features worden voorzien in deze applicatie. Elk stuk software komt maximaal 1 keer voor. Hiervoor wordt op de naam van de software vergeleken en wordt enkel de meest recente versie bijgehouden (hoogste versienummer). Bouw deze vergelijking in het object zelf. Indien een stuk software 2 maal zou voorkomen maar geschreven is door verschillende programmeurs, wordt gevraagd welke versie bijgehouden moet worden. Ook deze vergelijking wordt binnen de klasse zelf uitgevoerd. De lijst met stukken software wordt in een listbox weergegeven. Tijdens dit WPO wordt er geïtereerd over de hele lijst om element per element in de listbox toe te voegen. In volgende WPO s zullen we hiervoor een snellere manier zien (via overerving). De gebruiker kan stukken software toevoegen en verwijderen. De checks worden tijdens het invoegen uitgevoerd waarbij de functie zichzelf met een ander object gaat vergelijken. 3.4 A: Rekenmachine Matlab en andere gelijkwaardige wiskundige software laten toe om wiskundige vergelijkingen uit te rekenen. In deze opgave zullen we een gelijkaardig programma schrijven dat de gebruiker toelaat om eenvoudige vergelijkingen bestaande uit 2 getallen en een operator uit te rekenen. Laat de gebruiker toe om achtereenvolgens een getal, een bewerking en een getal in te geven. Houd de 2 getallen (en het resultaat) en de operator in een object bij en reken de uitkomst uit. Matlab houdt een geschiedenis bij van de voorgaande ingevoerde bewerkingen. Houd dus net zoals Matlab de bewerkingen bij in een geschiedenisvenster (zie figuur 2). Figuur 2: Voorbeeld van het rekenmachine 6

7 3.5 A: Regendruppels In een weerkundig model worden vallende regendruppels gesimuleerd. Als programmeur wordt jou de opdracht gegeven om hiervoor een 2D model op te stellen. In dit model worden 50 regendruppels voorzien, elk met een diameter van 20 pixels. Elke regendruppel bevat volgende eigenschappen: de hoogte t.o.v. de grond (y), de snelheid waarmee de druppel naar beneden valt. Deze start met 0, en neemt toe met de valversnelling (v), de horizontale positie (x), deze wordt eenmalig ingesteld en verandert nooit, een eigenschap of deze druppel al dan niet actief is. Door een randomgenerator te gebruiken, kan men beslissen of een inactieve druppel getekend zal worden. Zolang een duppel niet getekend wordt (inactief), blijven de hoogte en de snelheid van de duppel op 0. Initialiseer deze waarden van zodra de druppel getekend mag worden. De druppel wordt dan ook als actief gezet. Met de randomgenerator kan dus enkel beslist worden of een druppel van inactief naar actief overgaat. Als randomgenerator kan het normale Random object gebruikt worden. Zolang de druppel getekend wordt (kijk na wanneer de druppel de grond raakt), wordt de druppel als actief beschouwd. Wanneer deze grond raakt wordt deze inactief. Gebruik een array van 50 druppels, en hanteer een minimale vensterbreedte van 1000 pixels (50 druppels bij 20 pixels per druppel). Figuur 3: Voorbeeldprogramma van de regendruppels. De regendruppels zijn hier wit. 3.6 A: Hexconverter Schrijf een programma dat toelaat oom omzettingen tussen verschillende getalformaten uit te voeren. De bewerkingen die gevraagd worden zijn: conversie van hexadecimaal formaat (string) naar integer, conversie van integer naar hexadecimaal (string) formaat, 7

8 conversie van integer naar binair (string) formaat, conversie van binair (string) formaat naar integer, conversie van integer naar octaal (string) formaat, conversie van octaal (string) naar integer formaat, conversie van binair naar hexadecimaal en omgekeerd, conversie van octaal naar hexadecimaal en omgekeerd, conversie van octaal naar binair en omgekeerd. Maak gebruik van een conversieklasse met static methoden. 3.7 E: Audio In een geluidsimulator worden golven gegenereerd. Deze worden typisch op een map uitgezet en het vervolg van de simulatie wordt dan gevolgd. In deze opgave zullen we een vereenvoudigde simulatie schrijven. In deze simulatie zullen we enkel sinusoïdale golven genereren. Een sinusgolf wordt gekenmerkt door de frequentie en de amplitude. Maak een klasse aan die de sinusgolf kan aanmaken en de vermelde eigenschappen bijhoudt. Als extra eigenschap wordt er ook bijgehouden of het object al dan niet actief is (golf aan of uit). De gebruiker kan een aantal golven ingeven, en deze worden dan één voor één op een panel geplot (enkel de actieve). In de akoestiek geldt ook het superpositiebeginsel. Zorg ervoor (via een methode in het object) dat je golven kunt optellen. Geef de gesommeerde golf ook weer. Hint: Voorzie voor het sommeren van golven een methode die toelaat om een array van waarden als argument op te nemen en hierbij de huidige waarden mee op te tellen. Deze methode retourneert een array van waarden. Geef dit door aan de verschillende golven. 3.8 E: Snake Snake is het spel waarbij je een slang bestuurt en de slang objecten moet opeten. Telkens de slang iets opeet wordt deze langer. De objecten die de slang moet opeten komen op random plaatsen op de panel. Hiervoor genereer je een random x en y coördinaat en teken je het object op die plaats. Wanneer de slang het object opeet wordt een nieuw object weergegeven. De slang wordt voorgesteld door vierkantjes. Elke keer de slang iets opeet, wordt een vierkantje toegevoegd. Schrijf hiervoor een klasse (vb: slangsegment) met velden Xpos en Ypos en voorzie hiervoor de nodige getters en setters. Maak een object aan telkens de slang langer wordt. Hou alle objecten bij in een lijst. 8

9 Voor de beweging van de slang wordt telkens één nieuw coördinaat berekend (enkel voor het eerste segment, afhankelijk van de richting). De rest van de coördinaten wordt gewoon doorgeschoven naar het volgende segment. Hint: De slang bestaat uit blokjes die als vierkantjes kunnen worden voorgesteld. De X en Y coördinaat van elk blokje mag gelijkgesteld worden aan de linkerbovenhoek van dat vierkantje. Verdeel de panel (coördinaten) in stukken die evengroot zijn als de grootte van één blokje van de slang. Hint: Maak van deze zijdelengte ook gebruik om elk op te eten voorwerp op een veelvoud hiervan uit te zetten. Detecteren wanneer de slang het voorwerp kan opeten, wordt dan gedaan door zowel de X en Y coördinaten van de kop van de slang te vergelijken met de X en Y coördinaten van het voorwerp. Indien deze overeenkomen, wordt het voorwerp opgegeten en neemt de slang met 1 vierkantje toe. Hint: Gebruik een enum om de richting van de slang bij te houden. Telkens een richtingspijl ingedrukt wordt, wordt deze enum aangepast. Gebruik deze enum om de positie van het voorste segment aan te passen. Hint: Maak van de slang ook een object. 3.9 X: Gravity In ons zonnestelsel bevinden zich een zeer groot aantal hemellichamen waaronder onze vertrouwde zon en enkele kometen. Afgezien van een aantal niet gemeenschappelijke eigenschappen, worden hemellichamen gekenmerkt door de massa, de grootte (diameter), de bewegingssnelheid, de kleur en de positie (2D). Maak een klasse aan dat deze eigenschappen van de hemellichaam bevat. In ons zonnestelsel worden alleen de zon en één komeet getekend. Teken beide hemellichamen door deze de gepaste eigenschappen te geven. Natuurlijk blijven hemellichamen niet stationair binnen het zonnestelsel evolueren. Deze bewegen. De beweging van de hemellichamen wordt voornamelijk bepaald door de huidige snelheid van het hemellichaam en de zwaartekracht dat deze ondervindt t.g.v. andere hemellichamen. De grootte van de zwaartekracht t.g.v. een ander hemellichaam wordt beschreven als: F = G m1 m 2 r 2 (1) waarbij F de grootte van de zwaartekracht is, m 1 de massa van hemellichaam 1 is, m 2 de massa van hemellichaam 2 en r de afstand tussen beide hemellichamen. Ga dus na hoe de afstand tussen beide hemellichamen berekend kan worden (maak hiervoor een functie aan). In deze opgave mag de zon statisch blijven, dus enkel de positie van de komeet verandert. De nieuwe positie en snelheid van de komeet worden als volgt bepaald: p komeet = p komeet + v komeet t + at2 2 (2) v komeet = v komeet + at (3) De zwaartekracht, snelheid en positie worden uitgedrukt in vectoren (dus X en Y). Het verband tussen het vectorieel verband en de numerieke waarden in formules 1, 2 en 3 wordt gegeven 9

10 door de hoek tussen de posities van de zon en de komeet. Gebruik een timer om het effect van de gravitatie op de komeet weer te geven. Teken ook de situatie. Hint: F = m a Figuur 4: Voorbeeld van 3 hemellichamen. Hier worden ook de snelheidsvector (groen), samen met de zwaartekracht (rood) dat ondervonden wordt door elk lichaam getekend. De pijlen hoeven niet getekend te worden. 10

Objectgeoriënteerd Programmeren: WPO 2

Objectgeoriënteerd Programmeren: WPO 2 Objectgeoriënteerd Programmeren: WPO 2 1. Inhoud Klassen, objecten, methoden, properties, private vs. object, this. public, velden, instantie, reference to 2. Oefeningen Demo 1: Bugs Demo 2: Kleurcodes

Nadere informatie

Objectgeoriënteerd Programmeren: WPO 4B

Objectgeoriënteerd Programmeren: WPO 4B Objectgeoriënteerd Programmeren: WPO 4B 1. Inhoud Polymorfie 2. Oefeningen A: Polygon A: Rekenmachine A: Infection A: Waves E: Snake X: Pacman X: Planetendans 2.1 A: Polygon Herneem de opgave Polygon van

Nadere informatie

Informatica: C# WPO 9

Informatica: C# WPO 9 Informatica: C# WPO 9 1. Inhoud Functies (functies met return-waarde) 2. Oefeningen Demo 1: Som Demo 2: Min en max of array Demo 3: Retourneer array van randomwaarden A: Absolute waarde A: Afstand A: Aantrekkingskracht

Nadere informatie

Objectgeoriënteerd Programmeren: WPO 3

Objectgeoriënteerd Programmeren: WPO 3 Objectgeoriënteerd Programmeren: WPO 3 1. Inhoud Eenvoudige (enkelvoudige) overerving, override, ToString(), base, private, public, protected, virtual 2. Oefeningen Demo: Scheepvaart A: Polygon A: Rekenmachine

Nadere informatie

Objectgeoriënteerd Programmeren: WPO 1

Objectgeoriënteerd Programmeren: WPO 1 Objectgeoriënteerd Programmeren: WPO 1 1. Inhoud Opfrissing syntax, programmeermethodes, datatypes, functies/procedures, tekenen in C#. Herhaling Informatica 1 ste bachelor. 2. Oefeningen Demo 1: Volume

Nadere informatie

Objectgeoriënteerd Programmeren: WPO 1

Objectgeoriënteerd Programmeren: WPO 1 Objectgeoriënteerd Programmeren: WPO 1 1. Inhoud Opfrissing syntax, programmeermethodes, datatypes, functies/procedures, tekenen in C#. Herhaling Informatica 1 ste bachelor. 2. Oefeningen Demo 1: Volume

Nadere informatie

Informatica: C# WPO 6

Informatica: C# WPO 6 Informatica: C# WPO 6 1. Inhoud Timers, switch cases, combobox 2. Oefeningen Demo 1: Bounce Demo 2: Hex to decimal converter Demo 3: Debug oplossing demo 1 A: Count to 10 A: Biljarttafel A: Azerty to qwerty

Nadere informatie

Informatica: C# WPO 6

Informatica: C# WPO 6 Informatica: C# WPO 6 1. Inhoud Timers, switch cases, combobox 2. Oefeningen Demo 1: Bounce Demo 2: Hex to decimal converter Demo 3: Debug oplossing demo 1 A: Count to 10 A: Biljarttafel A: To reverse

Nadere informatie

Informatica: C# WPO 8

Informatica: C# WPO 8 Informatica: C# WPO 8 1. Inhoud Procedures (functies zonder return-waarde) 2. Oefeningen Demo 1: Teken driehoeken Demo 2: Print array of double A: Stapel blokken A: Weerstanden 1 A: Weerstanden 2 A: Draw

Nadere informatie

Klassen & objecten, overerving, abstracte klassen, debuggen, interfaces, formulieren, polymorfie, statische methoden, event-handlers

Klassen & objecten, overerving, abstracte klassen, debuggen, interfaces, formulieren, polymorfie, statische methoden, event-handlers 1 Inhoud Klassen & objecten, overerving, abstracte klassen, debuggen, interfaces, formulieren, polymorfie, statische methoden, event-handlers 2 Geluidsbronnen simulator, deel 2 Inleiding De weergave versnellen

Nadere informatie

Informatica: C# WPO 5

Informatica: C# WPO 5 Informatica: C# WPO 5 1. Inhoud While-loop, do while, debuggen, graphics 2. Oefeningen Demo 1: Power of 2 Demo 2: Tel totdat... Demo 3: Debug oplossing demo s 1 en 2 A: Count down A: Random counting A:

Nadere informatie

Informatica: C# WPO 12

Informatica: C# WPO 12 Informatica: C# WPO 12 1. Inhoud Datacontainers, bestanden uitlezen, bestanden schrijven en data toevoegen aan en bestand, csv-bestanden 2. Oefeningen Demo 1: Point2D Demo 2: Notepad Demo 3: Read CSV-file

Nadere informatie

Informatica: C# WPO 11

Informatica: C# WPO 11 Informatica: C# WPO 11 1. Inhoud Pass by reference (ref, out), recursie, code opdelen in verschillende codebestanden 2. Oefeningen Demo 1: Swapfunctie Demo 2: TryParse(int) Demo 3: Recursion Tree Demo

Nadere informatie

Informatica: C# WPO 10

Informatica: C# WPO 10 Informatica: C# WPO 10 1. Inhoud 2D arrays, lijsten van arrays, NULL-values 2. Oefeningen Demo 1: Fill and print 2D array Demo 2: Fill and print list of array A: Matrix optelling A: Matrix * constante

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

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

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

Objectgeoriënteerd Programmeren: WPO 4

Objectgeoriënteerd Programmeren: WPO 4 Objectgeoriënteerd Programmeren: WPO 4 1. Inhoud Abstracte klassen, override, ToString(), base, private, public, protected, virtual 2. Oefeningen Demo 1: Oppervlakteberekening Demo weerstation: Eigen usercontrol

Nadere informatie

Informatica: C# WPO 13

Informatica: C# WPO 13 Informatica: C# WPO 13 1. Inhoud Bestanden uitlezen, bestanden schrijven en data toevoegen aan een bestand, csv-bestanden 2. Oefeningen Demo 1: Notepad Demo 2: Read CSV-file Demo 3: Write CSV-file A: Plot

Nadere informatie

Java. Basissyllabus. Egon Pas

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

Nadere informatie

Informatica: C# WPO 2

Informatica: C# WPO 2 Informatica: C# WPO 2 1. Inhoud If, globale variabelen, debuggen, randomgetallen, strings vergelijken 2. Oefeningen Demo 1: Deelbaar door 0 Demo 2: Kassa Demo 3: Debug oplossingen demo s 1 en 2 A: Verschillend

Nadere informatie

Programmeren (1) Examen NAAM:

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

Nadere informatie

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

Objectgeoriënteerd Programmeren: WPO 2a

Objectgeoriënteerd Programmeren: WPO 2a Objectgeoriënteerd Programmeren: WPO 2a 1. Inhoud Eenvoudige (enkelvoudige) overerving, override, ToString(), base, private, public, protected, virtual 2. Inleiding 2.1 Overerving In het voorgaande WPO

Nadere informatie

Android apps met App Inventor 2 antwoorden

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

Nadere informatie

Labo 2 Programmeren II

Labo 2 Programmeren II Labo 2 Programmeren II L. Schoofs K. van Assche Gebruik Visual Studio 2005 om een programma te ontwikkelen dat eenvoudige grafieken tekent. Deze opgave heb je vorig academiejaar reeds in Java geïmplementeerd.

Nadere informatie

Informatica: C# WPO 4

Informatica: C# WPO 4 Informatica: C# WPO 4 1. Inhoud For-loop, debuggen, inleiding tot graphics 2. Oefeningen Demo 1: Geometrische figuren Demo 2: Teken een 10 bij 10 rooster Demo 3: Debug oplossingen demo s 1 en 2 A: Flowerpower

Nadere informatie

Programmeren: Visual Basic

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

Nadere informatie

Programmeren in C# Klassen schrijven

Programmeren in C# Klassen schrijven Programmeren in C# Klassen schrijven In dit hoofdstuk Klassestructuur Private variabelen Publieke methoden (public) Properties Constructormethodes Private methodes (private) Static methodes en properties

Nadere informatie

Software-Ontwikkeling I Academiejaar 2006-2007

Software-Ontwikkeling I Academiejaar 2006-2007 Software-Ontwikkeling I Academiejaar 2006-2007 Project: Bibliotheekbeheer 1 1. Digitale bibliotheek a. Inleiding Bibliotheken houden onder meer hun collecties van uitleenbare artikels bij in digitaal formaat.

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

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

Project network. Gebaseerd op paragrafen , uit het boek. We simuleren een sociaal netwerk

Project network. Gebaseerd op paragrafen , uit het boek. We simuleren een sociaal netwerk Project network Gebaseerd op paragrafen 10.1-10.7, 11.1-11.6 uit het boek. We simuleren een sociaal netwerk Er zijn twee soorten berichten: tekstberichten en fotoberichten,... voorgesteld door de klassen

Nadere informatie

Informatica: C# WPO 7

Informatica: C# WPO 7 Informatica: C# WPO 7 1. Inhoud 1D-arrays, Lijsten 2. Oefeningen Demo 1: Vul de 1D-array Demo 2: Stringreplace Demo 3: Vul de lijst Demo 4: Debug oplossingen demo s 1, 2 en 3 A: Array reversal A: Gemiddelde

Nadere informatie

Binair Binair = tweewaardig Beperkt aantal mogelijke waarden (discreet aantal in amplitude) Wij zijn gewoon aan decimaal (tiendelig)

Binair Binair = tweewaardig Beperkt aantal mogelijke waarden (discreet aantal in amplitude) Wij zijn gewoon aan decimaal (tiendelig) Binair Binair = tweewaardig Beperkt aantal mogelijke waarden (discreet aantal in amplitude) Wij zijn gewoon aan decimaal (tiendelig) In elektronische realisatie zijn 10 verschillende toestanden moeilijk

Nadere informatie

Programmeren in C++ Efficiënte zoekfunctie in een boek

Programmeren in C++ Efficiënte zoekfunctie in een boek Examen Software Ontwikkeling I 2e Bachelor Informatica Faculteit Wetenschappen Academiejaar 2010-2011 21 januari, 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief de hints/opmerkingen)!

Nadere informatie

Examen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar Januari, **BELANGRIJK** : Schrijf je naam onderaan dit blad

Examen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar Januari, **BELANGRIJK** : Schrijf je naam onderaan dit blad Examen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar 2006-2007 23 Januari, 2007 **BELANGRIJK** : Schrijf je naam onderaan dit blad Leg volgende 3 begrippen kort en bondig uit : a. Concurrent

Nadere informatie

NHibernate als ORM oplossing

NHibernate als ORM oplossing NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een

Nadere informatie

Programmeren in C# Samenvatting van C#

Programmeren in C# Samenvatting van C# Programmeren in C# Samenvatting van C# Proceduraal Programmeren Functies (O: void + return, I: referentie of value) Arrays, Lijsten Lussen (for, while, do while) Condities, if-else, switch Variabelen,

Nadere informatie

OEFENINGEN PYTHON REEKS 6

OEFENINGEN PYTHON REEKS 6 OEFENINGEN PYTHON REEKS 6 1. A) Schrijf een functie die een getal x en een getal y meekrijgt. De functie geeft de uitkomst van volgende bewerking als returnwaarde terug: x y x als x y x y y als x < y B)

Nadere informatie

Versie 2: B C D D A C D A C C. Versie 3: C D A A B D A B D D. Versie 4: A D C C B D C B D D. Versie 5: B A D D C A D C A A

Versie 2: B C D D A C D A C C. Versie 3: C D A A B D A B D D. Versie 4: A D C C B D C B D D. Versie 5: B A D D C A D C A A Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 1 februari 2019, 11.00 13.00 uur Voor de meerkeuzevragen hebben we verschillende versies. Dit zijn de juiste antwoorden per versie.

Nadere informatie

Tentamen Inleiding Programmeren (IN1608WI), duur van de toets 2 uur Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Tentamen Inleiding Programmeren (IN1608WI), duur van de toets 2 uur Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Tentamen Inleiding Programmeren (IN1608WI), duur van de toets 2 uur Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Gesloten boek examen: er mag geen gebruik worden gemaakt van het studieboek.

Nadere informatie

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

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

Lessen Java: Reeks pag. 1

Lessen Java: Reeks pag. 1 Lessen Java: Reeks 2 1-3-2016 pag. 1 Primitieve types type grootte waardes byte 8 bits 128, 127 short 16 bits 32768, 32767 int 32 bits 2 31, 2 31 1 long 64 bits 2 63, 2 63 1 type grootte waardes float

Nadere informatie

1 Inleiding in Functioneel Programmeren

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

Nadere informatie

Dergelijke functionaliteit kunnen we zelf ook aan eigen code toevoegen.

Dergelijke functionaliteit kunnen we zelf ook aan eigen code toevoegen. Indexers in C#.Net In deze tutorial ga ik het hebben over indexers. Bij het gebruik van bijvoorbeeld een ArrayList object, kan je de gegevens uit deze collectie opvragen als ware het een array. // ArrayList

Nadere informatie

VBA voor Doe het Zelvers deel 20

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

Nadere informatie

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten

Nadere informatie

Graphics. Small Basic graphics 1/6

Graphics. Small Basic graphics 1/6 Small Basic graphics 1/6 Graphics Naast het werken met tekst kan je in Small Basic ook werken met grafische elementen: lijnen, vormen en kleuren. Hierbij gebruik je het grafische venster met de witte achtergrond.

Nadere informatie

Afbeelding 12-1: Een voorbeeld van een schaakbord met een zwart paard op a4 en een wit paard op e6.

Afbeelding 12-1: Een voorbeeld van een schaakbord met een zwart paard op a4 en een wit paard op e6. Hoofdstuk 12 Cartesische coördinaten 157 Hoofdstuk 12 CARTESISCHE COÖRDINATEN In dit hoofdstuk behandelen we: Het Cartesisch coördinatenstelsel De X-as en de Y-as De commutatieve eigenschap van optellen

Nadere informatie

Meer Blokken. 1. Dit is een functie genaamd Maximum, die twee argumenten heeft: number1 en number2.

Meer Blokken. 1. Dit is een functie genaamd Maximum, die twee argumenten heeft: number1 en number2. Meer Blokken Voorkennis: SuperDojo, Snake Leerdoelen: Meer Blokken Introductie Meer Blokken zijn Scratch s manier van functies. Functies zijn een heel belangrijk concept in alle programmeertalen. Het staat

Nadere informatie

Eerste deeltentamen Gameprogrammeren Vrijdag 25 september 2015, uur

Eerste deeltentamen Gameprogrammeren Vrijdag 25 september 2015, uur Naam: Eerste deeltentamen Gameprogrammeren Vrijdag 25 september 2015, 11.00-13.00 uur Studentnummer: Het tentamen bestaat uit 4 opgaven. Elke opgave levert 10 punten op. Je cijfer is het totaal aantal

Nadere informatie

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object. een symbolische naam voor een object. Variabelen Constanten Variabelen Expressies naam : geeft de plaats in het geheugen aan waarde : de inhoud van het object identifier : een rij van letters en/of cijfers

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

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

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit

Nadere informatie

Modulewijzer tirprog02/infprg01, programmeren in Java 2

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

Nadere informatie

PYTHON REEKS 2: FUNCTIES. Mathias Polfliet

PYTHON REEKS 2: FUNCTIES. Mathias Polfliet PYTHON REEKS 2: FUNCTIES Mathias Polfliet mpolflie@etrovub.be TERUG NAAR PYTHON BASICS VRAAG 1: VOLUME BOL Het volume van een bol met straal r is 4 3 πr3 π Wat is het volume in cm³ van een bol met straal

Nadere informatie

Veel succes! 1. Gegeven is de volgende klasse:

Veel succes! 1. Gegeven is de volgende klasse: Dit tentamen is in elektronische vorm beschikbaar gemaakt door de TBC van A Eskwadraat. A Eskwadraat kan niet aansprakelijk worden gesteld voor de gevolgen van eventuele fouten in dit tentamen. Derde deeltentamen

Nadere informatie

Opdracht 7a. Applicatiebouw 2014/2015

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

DEC SDR DSP project 2017 (2)

DEC SDR DSP project 2017 (2) DEC SDR DSP project 2017 (2) Inhoud: DSP software en rekenen Effect van type getallen (integer, float) Fundamenten onder DSP Lezen van eenvoudige DSP formules x[n] Lineariteit ( x functie y dus k maal

Nadere informatie

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010 Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2009-2010 16 juni, 2010 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief

Nadere informatie

In de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal.

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

Functioneel programmeren

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

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40 Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N

Nadere informatie

INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCAPPEN

INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCAPPEN INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCAPPEN voorbeeldexamen NAAM :... OPMERKINGEN VOORAF Je krijgt 3 uur de tijd om de opdrachten voor dit examen uit te voeren. Verder werken aan je oplossing

Nadere informatie

Oefeningen Jaarproject I

Oefeningen Jaarproject I Oefeningen Jaarproject I Deze oefeningenreeks behandelt de grafische Scheme bibliotheek die jullie mogen gebruiken voor de implementatie van het Pacman spel. De bibliotheek i is een evaluator voor Scheme

Nadere informatie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk

Nadere informatie

Het installatiepakket haal je af van de website http://www.gedesasoft.be/.

Het installatiepakket haal je af van de website http://www.gedesasoft.be/. Softmaths 1 Softmaths Het installatiepakket haal je af van de website http://www.gedesasoft.be/. De code kan je bekomen op de school. Goniometrie en driehoeken Oplossen van driehoeken - Start van het programma:

Nadere informatie

Oefeningenexamen Informatica: juni 2015

Oefeningenexamen Informatica: juni 2015 Oefeningenexamen Informatica: juni 2015 Voornaam: Naam: IT-nummer: PC-nummer: Vul je naam, IT-nummer en PC-nummer (staat op de computer, bv. PC15) hierboven in. De examenbladen moeten mee afgegeven worden,

Nadere informatie

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

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

Nadere informatie

2.1 Bewerkingen [1] Video Geschiedenis van het rekenen ( 15 x 3 = 45

2.1 Bewerkingen [1] Video Geschiedenis van het rekenen (  15 x 3 = 45 15 x 3 = 45 2.1 Bewerkingen [1] Video Geschiedenis van het rekenen (http://www.youtube.com/watch?v=cceqwwj6vrs) 15 x 3 is een product. 15 en 3 zijn de factoren van het product. 15 : 3 = 5 15 : 3 is een

Nadere informatie

PYTHON REEKS 1: BASICS. Mathias Polfliet

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

Nadere informatie

WETENSCHAPPEN Oefeningen. LES 1 - Baksteen in Grasshopper. Matthias Dziwak Tobias Labarque Rinus Roelofs

WETENSCHAPPEN Oefeningen. LES 1 - Baksteen in Grasshopper. Matthias Dziwak Tobias Labarque Rinus Roelofs WETENSCHAPPEN Oefeningen LES 1 - Baksteen in Grasshopper Matthias Dziwak Tobias Labarque Rinus Roelofs LES 1 Deel 1 Inleiding Rhinoceros en Grasshopper Deel 2 De bouw van vier bakstenen muren in Grasshopper

Nadere informatie

Modelleren en Programmeren

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

Nadere informatie

Programmeren in C# Interfaces. Hoofdstuk 23

Programmeren in C# Interfaces. Hoofdstuk 23 Programmeren in C# Interfaces Hoofdstuk 23 Programmeren in C# 2 Gradaties overerving Klassieke overerving Iets functioneels uitbreiden Code duplicatie Niet teveel aanpassingen aan bestaande code Objecten

Nadere informatie

Hoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.

Hoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces. Hoofdstuk 1: Inleiding Objectoriëntatie: 1. Objecten & klassen: samenwerking van componenten om bepaald doel te bereiken; herbruikbaarheid. 2. Encapsulation: afschermen gedragingen en kenmerken van de

Nadere informatie

Mijn eerste ADO.NET applicatie

Mijn eerste ADO.NET applicatie Hoofdstuk 2 Mijn eerste ADO.NET applicatie ADO staat voor ActiveX Database Objects. Dit is een verzameling klassen die onderdeel uitmaken van het.net framework, waarmee je verbinding kunt maken met een

Nadere informatie

Zeef van Eratosthenes

Zeef van Eratosthenes Zeef van Eratosthenes [ Waarschuwing! Teveel wiskunde kan schade veroorzaken aan jouw interesse voor de informatica. ] De Zeef van Eratosthenes (ca. 240 v. Chr.) is een methode waarmee je alle priemgetallen

Nadere informatie

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Scope van variabelen {3.9} Class ontwerpen en maken,

Nadere informatie

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur

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

Opdracht 6: Dodo wordt blijvend slimmer

Opdracht 6: Dodo wordt blijvend slimmer Opdracht 6: Dodo wordt blijvend slimmer Algoritmisch Denken en Gestructureerd Programmeren in Greenfoot c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Op dit werk is een creative commons licentie van toepassing.

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

Veel succes! 1. Deze opgave bestaat uit een aantal vragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan al genoeg zijn.

Veel succes! 1. Deze opgave bestaat uit een aantal vragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan al genoeg zijn. Eerste deeltentamen Gameprogrammeren Vrijdag 26 september 2014, 8.30-10.30 uur Naam: Studentnummer: Het tentamen bestaat uit 4 opgaven. Elke opgave levert 10 punten op. Je cijfer is het totaal aantal punten

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

ALGORITME objectgeoriënteerd programmeren

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

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

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

Nadere informatie

INHOUDSOPGAVE. Over de auteur, de illustrator en de technische redacteuren 13

INHOUDSOPGAVE. Over de auteur, de illustrator en de technische redacteuren 13 INHOUDSOPGAVE Over de auteur, de illustrator en de technische redacteuren 13 Dankwoord 14 Inleiding 15 Waarom Python?... 16 Hoe je code leert schrijven... 16 Voor wie is dit boek... 17 Wat staat er in

Nadere informatie

Project 2: LOTTO simulatie Programmeren I

Project 2: LOTTO simulatie Programmeren I Project 2: LOTTO simulatie Programmeren I K. van Assche - H. Gruyaert 1 Inleiding Schrijf een java programma dat het spel van de nationale loterij, de Lotto simuleert. De communicatie met de gebruiker

Nadere informatie

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, 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 informatie

Derde deeltentamen Gameprogrammeren Vrijdag 7 november 2014, uur

Derde deeltentamen Gameprogrammeren Vrijdag 7 november 2014, uur Naam: Derde deeltentamen Gameprogrammeren Vrijdag 7 november 2014, 11.00-13.00 uur Studentnummer: Het tentamen bestaat uit 3 opgaven. Opgaven 1 levert 20 punten op, opgave 2 levert 10 punten op, en opgave

Nadere informatie

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic

Nadere informatie

Leren programmeren in C# Deel 4 - Objectoriëntatie

Leren programmeren in C# Deel 4 - Objectoriëntatie Leren programmeren in C# Deel 4 - Objectoriëntatie Michiel Rotteveel Leren programmeren in C# Deel 4 - Objectoriëntatie Brinkman Uitgeverij Amsterdam 2017 Leeswijzer double gereserveerde woorden C# PictureBox

Nadere informatie

Access voor beginners - hoofdstuk 25

Access voor beginners - hoofdstuk 25 Access voor beginners - hoofdstuk 25 Handleiding van Auteur: OctaFish Oktober 2014 Werken met Klassemodules Tot nu toe heb ik in de cursus Access veel gewerkt met formulieren, en met procedures en functies.

Nadere informatie

NAAM: Programmeren 1 Examen 21/01/2011

NAAM: Programmeren 1 Examen 21/01/2011 Programmeren 1 21 januari 2011 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

Nadere informatie

Objectgericht programmeren 1.

Objectgericht programmeren 1. Objectgericht programmeren 1 joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost/dn Objectgericht ontwerpen 35% Objectgericht ontwerpen 65% OP1 Informatiesystemen 50% Databanken 50% OP1 Evaluatie

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in

Nadere informatie

****** Deel theorie. Opgave 1

****** Deel theorie. Opgave 1 HIR - Theor **** IN DRUKLETTERS: NAAM.... VOORNAAM... Opleidingsfase en OPLEIDING... ****** EXAMEN CONCEPTUELE NATUURKUNDE MET TECHNISCHE TOEPASSINGEN Deel theorie Algemene instructies: Naam vooraf rechtsbovenaan

Nadere informatie

Programmeermethoden NA. Week 5: Functies (vervolg)

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