Cursus Algoritmiek - - najaar 2005
|
|
|
- Silke van der Heijden
- 9 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Cursus Algoritmiek - - najaar 2005 Practicumopdracht 10 : Verkeerslichten-simulator N.B. Voordat je deze opdracht maakt, moet je eerst het elektronische cursusevaluatieformulier, dat je op de cursus-web-pagina ( onder het kopje Laatste nieuws kunt vinden, invullen en opsturen. Het na versturen getoonde nummer moet je noteren en in de body van je bericht met je programma-uitwerking mee opsturen!! Dit is de laatste practicumopdracht van deze cursus die nog ingeleverd moet worden. Ook deze opdracht is voor 2 weken: 1 e week (= de week vóór Kerst) t/m deelopdracht 10.4; maak in de 2 e week (= de week vanaf 9 januari 2006) de rest. Inleveren vóór vrijdag 13 januari 2006 om 14:00u! 1. Achtergrond Tijdens de hoorcolleges van vorige week en deze week heb je kennis gemaakt met een nieuwe manier van probleem analyseren: de aanpak via objectgericht werken. Met deze nieuwe aanpak heb je in de vorige practicumopdracht al geoefend voor een zeer eenvoudige situatie. In deze laatste practicumopdracht ga je voor een wat complexer systeem een objectgerichte analyse maken en (in een grafische omgeving) een oplossing ontwerpen en implementeren. 2. Leerdoelen Na afloop van deze opdracht ben je in staat om: de basisprincipes van objectgericht werken toe te passen in wat minder triviale situaties; bestaande class -sjablonen uit te breiden tot volledig functionele objecttypen. 3. Instructie Bestudeer allereerst het op het hoorcollege besproken onderdelen uit het Algoritmiek-dictaat (uit hoofdstuk 11) en de sheets zoals die gebruikt zijn op het college (over OO-werken) en uiteraard je op het hoorcollege gemaakte aanvullende eigen aantekeningen. Hiernaast is in een figuur getoond hoe je uiteindelijke programma er moet uitzien. Naast de vier toegangswegen tot het getekende kruispunt staan verkeerslichten opgesteld, die op de gebruikelijke wijze verspringen. We zien (op papier misschien niet helemaal duidelijk, maar toch...) dat de lichten rechtsboven en linksonder op rood staan en dat de verkeerslichten linksboven en rechtsonder blijkbaar net van groen op oranje (of geel ) zijn gesprongen en binnenkort op rood zullen springen. Even later zullen de nu op rood staande verkeerslichten op groen springen, een poosje zo blijven en dan op hun beurt verspringen naar oranje/geel etc. Via de Algoritmiek -Webpagina staat tot je beschikking het bestand verkeerssimulatie.zip, waarin [naast het ondertussen wel bekende gui_kernel.cpp en dito.h -bestand] ook het bestand kruispunt.cpp zit. Als je deze bestanden opneemt in een nieuw project, compileert en linkt, krijg je het hiernaast getoonde, ietwat uitgeklede kruispunt te zien (zie 2 e figuur). Aan jullie de taak om, uitgaande van de 2 e situatie de programmacode stap voor stap aan te passen, totdat je de eerste situatie hebt gekregen. 1
2 In het bestand kruispunt.cpp zitten o.a. definities (+gedeeltelijke implementaties) van de volgende constanten, objectklassen en (hulp) functies: const GSIZE ScreenSize (450, 450); const GPOINT MidScreen (ScreenSize.cx / 2, ScreenSize.cy / 2); class Kruispunt; // vóóraankondiging via een proto-type class KruispuntSimulatie : public GUI public: KruispuntSimulatie (Kruispunt&); virtual void Window (const RECT& area); virtual void Timer (const int dt); private: Kruispunt& kruispunt; ; enum Kleur Rood, Geel, Groen, Zwart, Wit, AantalKleuren ; const RGBCOLOUR& kleurnaarrgb (Kleur k) ; inline Kleur& operator++ (Kleur& k) ; void tekencirkel (Canvas& canvas, GPOINT p, int straal, Kleur k, int dim_factor); void tekenrechthoek (Canvas& canvas, GPOINT p, GSIZE s, Kleur k, int dim_factor) ; void tekenkast (Canvas &canvas, GPOINT pos, GSIZE afm); void tekenomgeving (Canvas& canvas); void tekenwegen (Canvas& canvas);..... N.B. Let er op, dat alle procedures die direct of indirect gebruik maken van de teken -procedures, de canvas -parameter moeten meekrijgen! De al aangekondigde klasse Kruispunt is vrij kaal gegeven en vooral dit onderdeel moet door jullie uitgewerkt worden teneinde de applicatie de gewenste functionaliteit te geven: class Kruispunt public: Kruispunt (); void tekenkruispunt (Canvas& canvas); void volgendetoestand (Canvas& canvas); private: ; Kruispunt :: Kruispunt () void Kruispunt :: volgendetoestand (Canvas& canvas) void Kruispunt :: tekenkruispunt (Canvas &canvas) tekenomgeving (canvas); tekenwegen (canvas); const GSIZE afm_vlicht (40,100); tekenkast (canvas, GPOINT (100,100), afm_vlicht); Je ziet hierboven dat het aangeleverde kale kruispunt blijkbaar getekend wordt door aanroep van de tekenkruispunt -methode, die behalve de omgeving en de wegen slechts één niet-van-lichtenvoorziene-kast tekent. Zie daar het begin van de jullie toebedachte opdracht om dit simulatieprogramma als een echte set verkeerslichten te laten functioneren. 2
3 Tot slot vind je in de aangeleverde programmacode, dat de verkeerslichtensimulator wordt gestart via de constructor-aanroep: KruispuntSimulatie :: KruispuntSimulatie (Kruispunt& k) : GUI (ScreenSize, "Kruispunt"), kruispunt (k) Deelopdracht 10.0 Voorbereiding: maak workspace met aangeleverde bestanden Maak binnen het Visual C++-systeem een nieuwe workspace (/project/een Windows application ) en plaats daarin de bestanden uit het beschikbare bestand verkeerssimulatie.zip. Zie ook het begin van dit instructiedeel. Geef het make -commando en de.h-bestanden zullen [waarschijnlijk..] automatisch opgenomen worden in het project. Overtuig je ervan, dat na linken en opstarten ervan, je Windows applicatie als uitvoer het in figuur 2 getoonde scherm geeft. Probleemschets (1) bij deze opdracht We zullen er eerst mee aan de slag gaan om binnen die ene (in de 2 e figuur) getoonde kast van dat ene verkeerslicht lampen (of zo je wilt: lichten ) te kunnen plaatsen. Elk verkeerslicht heeft drie lampen, die op hun kleur en positie na volkomen identiek aan elkaar zijn. Om je het leven (althans: bij deze opdracht) te vergemakkelijken, is in het kruispunt.cpp-bestand een functie tekencirkel opgenomen. Van deze functie gaven we reeds als header: void tekencirkel (Canvas& canvas, GPOINT p, int straal, Kleur k, int dim_factor); Een GPOINT is hierin een vóórgedefinieerde Struct met een x - en een y -veld. Als je bij aanroep van deze functie aan de dim_factor bijvoorbeeld de waarde 3 mee geeft, dan zal de getekende cirkel nog zwak de kleur van die lamp hebben (net zoals je bij een echt verkeerslicht als het groene licht brandt, toch kunnen zien dat er rood glas vóór de bovenste lamp zit). Deelopdracht 10.1 Ontwerp en implementeer een Lamp -objectklasse Analyseer de benodigde opbouw en functionaliteit van een Lamp -object en ontwerp en implementeer een Lamp -objectklasse. Gebruik, net zoals dat ook gebeurd is voor reeds (gedeeltelijk) gedefinieerde methodes of gewone functies zoals tekenkast en tekenwegen, een methode met de naam tekenlamp (waarbij als eerste parameter het canvas mee gegeven wordt en als tweede parameter een boolean waarde is_aan ), om een lamp-object op het scherm af te beelden. Als een lamp aan moet worden afgebeeld, gebruik je een andere dimfactor dan wanneer hij uit is (b.v. dimfactor 1 versus 3). De lichten van de 1 e figuur zijn gemaakt met een LampGrootte 12 (kortom: neem diezelfde waarde voor de straal van je lampen). De plaats waarop die lamp getoond moet worden, kan bepaald worden uit de GPOINT-waarde die eerder bij initialisatie van het object is meegegeven. Test deze Lamp-klasse uit, door zolang even vanuit de meegegeven methode void Kruispunt :: tekenkruispunt (Canvas &canvas); bijvoorbeeld midden op het scherm (neem hiervoor de vóórgedefinieerde constante MidScreen ) een rode lamp te tonen (en als dat correct verloopt, haal die losse lamp daar dan weer weg!). Deelopdracht 10.2 Ontwerp en implementeer een Verkeerslicht -objectklasse Analyseer de benodigde opbouw en functionaliteit van een Verkeerslicht -object en ontwerp en implementeer zo n objectklasse. Uiteraard bevat een verkeerslicht (-variabele) drie lampen (rood, geel/oranje, groen) die op onderling gelijke afstanden van elkaar staan en die passen binnen een (getekende) kast. In de voorbeelden van beide figuren zijn de kastdimensies 40 bij 100 genomen. Als je een verkeerslicht-object zodanig implementeert, dat de GPOINT-coördinaten van het verkeerslicht overeenkomen met het midden van de kast (de omtrek) van dat verkeerslicht, dan is daarna de plaats van de gele/oranje lamp gemakkelijk te bepalen. Hou er verder rekening mee dat het x -veld horizontaal gerekend is en het y -veld vertikaal, 3
4 dat de oorsprong (0,0) van het coördinatenstelsel in de linkerbovenhoek zit en dat de y -coördinaat groter (positiever) wordt naar beneden toe. Test de werking van deze objectklasse uit door bijvoorbeeld weer midden op de kruising een testverkeerslicht te plaatsen en dat op rood te zetten. Het kan nodig zijn, dat je bij nader inzien ontwerp en/of implementatie van je Lamp-klasse moet aanpassen. Deelopdracht 10.3 Kruispunt -klasse: implementeer constructor en teken-methode In het gegeven bestand kruispunt.cpp zit een zwaar onvolledige versie van een Kruispunt - objectklasse. Analyseer de benodigde klasse-velden, voeg die toe aan de Kruispunt -objectklasse en implementeer en/of verbeter de constructor- en de tekenkruispunt-methodes. Suggestie: plaats de 4 benodigde verkeerslichten in een rij van verkeerslichten; hierdoor kun je ze eenvoudiger aansturen (dan vaak via een herhaling van 0 t/m 3...). Zet voor het uittesten even 2 verkeerslichten op groen en 2 op rood en test uit of het gehele kruispunt met zijn verkeerslichten goed wordt weergegeven. Het kan nodig zijn, dat je bij nader inzien je Verkeerslicht-klasse moet aanpassen. Probleemschets (2) bij deze opdracht Misschien is het je tijdens het bekijken van de gegeven code opgevallen, dat gelijk in het begin bij de eerste [primitieve] definitie van de: class KruispuntSimulatie : public GUI de optie public GUI staat en dat een van de methoden van deze klasse is: virtual void Timer (const int dt); en dat via menu-keuzes de methoden starttimer en stoptimer kunnen worden geactiveerd. We willen de verkeerslichten op een regelmatige wijze aansturen, waarbij om de zoveel (milli-) seconden de toestand van de verkeerslichten verandert. Het echte aansturen van de verkeerslichten bij dit kruispunt gebeurt met behulp van die meegeleverde Kruispuntsimulatie -klasse, waar in de Timer -methode steeds (na elk bij starttimer aangegeven tijdsinterval) de Kruispunt-methode volgendetoestand wordt aangeroepen. Als voorbeeld geven we, dat na de aanroep starttimer(500); vervolgens elke 500 milliseconden de Timer-methode wordt geactiveerd en de daarin geplaatste code uitgevoerd. We beperken ons in deze opdracht tot sets van telkens twee verkeerslichten (bijvoorbeeld linksboven+rechtsonder versus rechtsboven+linksonder) waarbij beide verkeerslichten van zo n set in dezelfde toestand verkeren. We gaan nu eerst de buiten-werking -fase (waarbij -zoals vaak s nachts gebeurt- alleen de oranje lampen van de beide verkeerslichtensets staan te knipperen) implementeren en daarna de in-werking - fase waarbij de groen-oranje-rood-volgorde correct wordt afgewerkt. Deelopdracht 10.4 a) Het verkeersregelsysteem in de buiten-werking -fase Analyseer de voor een buiten werking -fase benodigde functionaliteit van de Kruispunt - en eventueel ook KruispuntSimulatie -objectklasse en ontwerp en implementeer die. Je mag zelf bepalen of je het knipperen van de geel/oranje-lichten van beide sets afwisselend of gelijktijdig laat gebeuren. Test de werking uit en pas zonodig je code aan. N.B. 1) Je kunt [uiteraard afhankelijk van de rest van je code] eventueel een licht op uit zetten, door het de kleur zwart te geven. 2) Als je ontdekt dat bij het weer uitschakelen van die knippertoestand de geel/oranje-lampen blijven branden, laat dat probleempje dan voorlopig rusten en denk nog eens rustig na over hoe je dat kunt verhelpen (en doe dat later dan inderdaad een keer). 4
5 Probleemschets (3) bij deze opdracht We gaan nu de uiteindelijke versie ontwikkelen, waarbij de verkeerslichten in een wel-actief -toestand de groen-geel-rood-fasen doorlopen en daarmee het verkeer regelen. Uiteraard moet bij een kruispunt de verkeersveiligheid gewaarborgd zijn en daarom is een klein tijdsverschil ingebouwd tussen het op rood springen van de ene set en het vervolgens op groen springen van de andere set. Schematisch hebben we dan te maken met [bijvoorbeeld] de volgende fasen, waarin de tijdsintervallen in een of andere eenheid zijn gegeven (voor het gemak: Timer -eenheden): Set 1 <= = = = = = = rood = = = = = = => <= = groen = = > <=oranje=> Set 2 <= = groen = = > <=oranje=> <= = = = = = = = rood = = = = = = => Tijdsintervallen: We moeten dus ergens (al dan niet in een globale constante) de fase/interval-gegevens opslaan en na elke Timer -tik laten in die fase/interval-gegevens nazoeken of de Kruispunt.volgendeToestandmethode geactiveerd moet worden. En àls die laatste methode geactiveerd moet worden, moet natuurlijk duidelijk zijn, hoe de verschillende lichten aan- of uitgeschakeld moeten worden. Deelopdracht 10.5 b) Het verkeersregelsysteem in de in-werking -fase Analyseer de voor zo n in-werking -fase verder benodigde functionaliteit van de Kruispunt - objectklasse en ontwerp en implementeer die. Denk daarbij dus aan de verschillende fasen die een knipperende verkeerslichtencombinatie bij zo n kruispunt moet kunnen doorlopen en verzin zelf een geschikte datastructuur en een erbij behorende algoritme om de implementatie op een gemakkelijk mogelijke wijze te laten gebeuren. Test het geheel uit en pas je code zonodig aan. Suggestie: voeg een menu-optie toe om het systeem van de buiten-werking -toestand in de inwerking -toestand te laten overgaan en implementeer die. Pas eventuele resterende problemen in je applicatie aan, zodat je een correct werkend verkeersregelsysteem overhoudt. 4. Producten Als producten moet je je (uitgeteste!) C++-code inleveren (van deelopdrachten 10.1 t/m 10.5), die ervoor zorgt dat je programma voldoet aan de daar gevraagde specificaties en waarbij je uitwerking voldoet aan de kwaliteitscriteria zoals die gesteld worden (zie bij punt 5. Zelfreflectie). ). Let ook op het aanwezig zijn van de vereiste commentaarregels in elke functie/procedure. Lever indien mogelijk ook schermafdrukken van de uiteindelijke kruispunt/verkeerslichtensituatie in. 5. Zelfreflectie Via de Algoritmiek-webpagina (of direct via kom je uit op criteria die we gebruiken voor de kwaliteit van je ingeleverde werk. Die criteria liggen o.a. op het gebied van naamgeving, lay-out, structuur, programmeerstijl, aanpak, realisering, en een juist gebruik van taalprimitieven. Ga voor jezelf na [voor zover van toepassing] in hoeverre je uitwerkingen voldoen aan deze criteria. => Inleveren van je producten: vóór vrijdag 13 januari 2006, 14:00 uur, en wel door de uiteindelijke inhoud van je [totale].cpp-bestand [ruim] op tijd op te sturen naar [email protected], als losse attached file. Plaats in de -subjectregel: Algoritmiek opdracht 10. Plaats duidelijk de namen, studentnummers en studierichting van zowel jezelf als je practicumpartner in alle meegestuurde bestanden, evenals het nummer van deze opdracht. Doe dit plaatsen van namen + studentnrs + Algoritmiek + opdrachtnummer óók in het message-deel van je . Nogmaals: in de body van je moet je het verkregen cursusevaluatie-getal vermelden! 5
Practicumopdracht 8 : Recursief bomen tekenen en complexiteit van algoritmen
Cursus Algoritmiek - - - najaar 2005 Practicumopdracht 8 : Recursief bomen tekenen en complexiteit van algoritmen Ook deze opdracht is bedoeld voor 2 weken: 1 e week t/m deelopdracht 8.2 ; maak in de 2
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.
Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, uur
Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, 11.00-13.00 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
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
Werkblad Cabri Jr. Constructie van bijzondere vierhoeken
Werkblad Cabri Jr. Constructie van bijzondere vierhoeken Doel Het construeren van bijzondere vierhoeken: parallellogram, ruit, vierkant. Constructies 1. Parallellogram (eerste constructie) We herhalen
Derde 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
X. Grafische elementen
X. Grafische elementen Om u te helpen bij grafische voorstellingen heeft java een aantal grafische afbeeldingen die u kunt gebruiken. Meestal worden zij in de methode paint(graphics g) geplaatst. Zij moeten
In BlueJ. Doe onderstaande met muis/menu s:
In BlueJ Doe onderstaande met muis/menu s: Download en unzip het bestand sklok-run.zip en open het in BlueJ Maak een Schaakklok-object Voer herstart() uit voor dit object Vraag de resterende tijd op voor
Inleiding C++ Coding Conventions
Inleiding C++ Coding Conventions Opleiding Bachelor of Science in Informatica, van de Faculteit Wetenschappen, Universiteit Antwerpen. Nota s bij de cursus voor academiejaar 2012-2013. Ruben Van den Bossche,
Introductie in C++ Jan van Rijn. September 2013
Introductie in C++ Jan van Rijn September 2013 Inhoud Classes Overerving Const correctness Standard C++ library Templates Classes Voordelen van classes: Modelleren Modulariteit Informatie afschermen Makkelijk(er)
Werkblad Cabri Jr. Vierkanten
Werkblad Cabri Jr. Vierkanten Doel Allereerst leren we hierin dat er een verschil is tussen het "tekenen" van een vierkant en het "construeren" van een vierkant. Vervolgens bekijken we enkele eigenschappen
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
HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren
HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet
Werkblad Cabri Jr. Translaties
Werkblad Cabri Jr. Translaties Doel Kennismaken met het begrip vector en het begrip translatie (verschuiving) en de eigenschappen van een figuur en het beeld daarvan bij een translatie. De vragen vooraf
Verkeerslichten. De Verkeerslichten & de PLC in het TIBBLTO / VICTO lokaal. Werkplek 1. Leer & werkboek.
Verkeerslichten. Werkplek 1 De Verkeerslichten & de PLC in het TIBBLTO / VICTO lokaal. Leer & werkboek. Bij dit boek hoort een antwoordboekje waarin de antwoorden, op de vragen uit dit boek, geschreven
Programmeren 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:
IMP Uitwerking week 13
IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het
Dynamiek met VO-Script
Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software [email protected] Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries
Programmeeropdracht 1 Mastermind Algoritmiek, voorjaar 2019
Programmeeropdracht 1 Mastermind Algoritmiek, voorjaar 2019 Inleiding Donald en Kim spelen een spelletje Mastermind. Donald probeert de geheime code van Kim te raden. Kim wil dat zo moeilijk mogelijk maken,
Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren
Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren Om eens wat ervaring op te doen met de Windows Azure Marketplace heb ik een publieke en gratis databron gekozen
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
Werkblad Cabri Jr. Rotaties
Werkblad Cabri Jr. Rotaties Doel Het onderzoeken van de eigenschappen van een rotatie in het platte vlak, in het bijzonder de relatie tussen origineel en beeld. Inleiding Een rotatie is één van de vier
Algoritmisch Denken: Dodo s Bit Parity
Algoritmisch Denken: Dodo s Opdrachtomschrijving: Jouw opdracht, als je deze accepteert, is om Mimi (een Dodo) te leren een bit parity fout te ontdekken en te herstellen. Leerdoelen: Ik kan een correct
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
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)!
Handleiding De Biedwedstrijd
Handleiding De Biedwedstrijd Auteur: Marcel Hofstede Versie: 2.1 Handleiding Biedwedstrijd (V2.1) Blz. 1 van 11 INHOUDSOPGAVE Programma Biedwedstrijd...3 1. Installatie en opstarten van het programma...3
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
Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.
HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een
NAAM: 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
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
Digitaal Aanvraag Formulier Tijdelijke Verkeersmaatregelen
Digitaal Aanvraag Formulier Tijdelijke Verkeersmaatregelen 1 Hoofdmenu... 2 2 Nieuwe Aanvraag... 2 1 Kaart... 3 2 Locatie... 4 3 Aanvrager... 5 4 Opdrachtgever... 5 5 Tijdsbepaling... 5 6 Maatregelen...
Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele
Informatica Objectgeörienteerd leren programmeren Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode Objectgeörienteerd
Foto s en/of documenten via e-mail verzenden (als attached document)
Foto s en/of documenten via e-mail verzenden (als attached document) INLEIDING In de nu volgende tekst wordt beschreven op welke manieren je een document (Word, Exel, Powerpoint) via E-mail als een attached
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.
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
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 [email protected] en [email protected]
Dit document bevat informatie over make bij het eerstejaars college Programmeermethoden, Universiteit Leiden, najaar 2010, zie
Dit document bevat informatie over make bij het eerstejaars college Programmeermethoden, Universiteit Leiden, najaar 2010, zie www.liacs.nl/home/kosters/pm/ Met dank aan allen die aan deze tekst hebben
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
Legal Eagle Agenda handleiding versie 2.8 december 2007
Legal Eagle Agenda handleiding versie 2.8 december 2007 Algemeen... 2 Afspraken... 6 Synchroniseren... 6 Synchroniseren... 7 Export... 8 Filters... 9 * Er kan niet met Outlook Express gesynchroniseerd
Uitwerking Eerste deeltentamen Mobiel programmeren - versie 1 Vrijdag 23 december 2016, uur
Uitwerking Eerste deeltentamen Mobiel programmeren - versie 1 Vrijdag 23 december 2016, 11.00-13.00 uur 1. Een klasse is niet: (a) het type van een object (b) een groepje methoden (c) een groepje variabelen
Datastructuren: stapels, rijen en binaire bomen
Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)
1. Introductie 2. Omschrijving 2 Omschrijving van de onderdelen (voorzijde) 2. 2. Algemeen 3
HANDLEIDING Digitale Harddisk Recorder DVR DigitAll CCTV Doornseweg 2a Tel.: 0183-4016346 1. Introductie 2 Omschrijving 2 Omschrijving van de onderdelen (voorzijde) 2 2. Algemeen 3 Opstarten systeem 3
eerste voorbeelden in Java
Beginselen van programmeren 2 eerste voorbeelden in Java vereisten: een editor: om programma in te tikken en te bewaren een Java compiler: zet ingetikte (bron-) programma om naar byte-code een Java Virtuele
door Vaksectie Informatica Alberdingk Thijm College ACS-logo
door Vaksectie Informatica Alberdingk Thijm College ACS-logo ACS LOGO Programmeren met een schildpad Het programma Afb. 1 We gaan in deze module werken met het programma ACSLOGO. Dit is een programma waarmee
Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 9 november 2018, uur
Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 9 november 2018, 11.00-13.00 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
Datastructuren Werkcollege Intro
Bart Hijmans, Universiteit Leiden. Universiteit Leiden The Netherlands Focus 1 19 ˆ Ervaring in gebruik en implementatie van datastructuren ˆ Kennis van mogelijkheden ˆ Programmeren voor andere programmeurs
Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, uur
Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, 11.00-13.00 uur 1. Deze opgave bestaat uit een aantal deelvragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan
Instructie: Werken met de nieuwe omgeving
Instructie: Werken met de nieuwe omgeving In dit document vind je een beschrijving hoe de nieuwe omgeving werkt en wat de grootste aanpassingen zijn. Dit document bestaat uit een zestal delen: - Deel 1:
Project Objectgericht Programmeren : Deel 3
Project Objectgericht Programmeren : Deel 3 Prof. Eric Steegmans Raoul Strackx Academiejaar 2010-2011 Deze tekst beschrijft het derde deel van de opgave voor het project van de cursus Objectgericht Programmeren.
Opdracht 4: Overzichtelijker en generieker
Opdracht 4: Overzichtelijker en generieker Algoritmisch Denken en Gestructureerd Programmeren in Greenfoot c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Op dit werk is een creative commons licentie van
Cursus Onderwijs en ICT. Programmeren met Visual Basic
Cursus Onderwijs en ICT Jaargang 2, deel 23 (versie 1.0 NL 2-7-2011) Programmeren met Visual Basic door Serge de Beer Inleiding In sommige gevallen biedt het aanbod op de softwaremarkt niet wat je zoekt.
PRAKTICUMOPGAVE 1. De eerste prakticumopgave is het maken van een applet om een "Mandelbrotfiguur" te tekenen, zoals hieronder omschreven.
1 of 5 3-5-2006 14:58 PRAKTICUMOPGAVE 1 De eerste prakticumopgave is het maken van een applet om een "Mandelbrotfiguur" te tekenen, zoals hieronder omschreven. Het practicum moet individueel worden gemaakt
1. Sluit de LED aan zoals afgebeeld 2. Sluit de USB-kabel aan op de Arduino 3. Klik op de knop uploaden 4. De LED begint te knipperen
Workshop Arduino Inleiding In deze workshop werk je in tweetallen met een Arduino microcontroller. Dit is een kleine computer die je kunt programmeren om te doen wat jij wilt. Om dit te doen gebruik je
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.
Examenmode op de HP Prime
HP Prime Graphing Calculator Examenmode op de HP Prime Meer over de HP Prime te weten komen: http://www.hp-prime.nl De Examenmode In deze bundel een beschrijving van de stappen die nodig zijn voor het
public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B;
Beschouw bijvoorbeeld de twee onderstaande klassen, waarvan de attributen en eigenschappen geannoteerd zijn met bijkomende XML-annotaties: using System ; using System. Xml ; using System. Xml. S e r i
/20. richtlijnen. Lees deze richtlijnen! Log in op de pc met. login: paswoord: examen i examen001. Log in op. x.toledo.ucll.be
OPO Naam: Code: Lectoren: Programmeren voor Multimedia MBI66A F. Vogels Examen Datum: Beginuur: Duur: Hulpmiddelen: TODO TODO 3 uur Open boek /20 Student Naam:....................................................................................
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
Een website ontwerpen in Dreamweaver met de opmaakweergave
Een website ontwerpen in Dreamweaver met de opmaakweergave door G. Van Soest Met Dreamweaver kan je zeer snel een website in elkaar bouwen; ook het onderhoud van een website is met Dreamweaver uiterst
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
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
Datum. Vraag het bedrag in BEF. Reken om naar EURO. Toon het bedrag in EURO. --- Vraag het bedrag in BEF--- --- Reken om naar EURO---
3UREOHPHQRSORVVHQPHW9%$WRHSDVVLQJHQELMGHHO Naam. NR : Klas. PC : Datum. 23*$9( Hieronder vind je het algoritme om een bedrag in BEF om te rekenen naar EURO. Zet het algoritme om in programmacode. Noem
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
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
Opdracht 3: Betere oplossingen
Opdracht 3: Betere oplossingen Algoritmisch Denken en Gestructureerd Programmeren in Greenfoot c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Op dit werk is een creative commons licentie van toepassing.
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale
Handleiding: Non Personal Mailbox (NPM) instellen op de ipad en iphone Buma/ H&S FSW- September 2012 (concept)
Handleiding: Non Personal Mailbox (NPM) instellen op de ipad en iphone Buma/ H&S FSW- September 2012 (concept) Deze handleiding legt uit hoe een Non Personal Mailbox (NPM) op je ipad en iphone kunt openen
Aanmaken Website in Word2002
Aanmaken Website in Word2002 Als we Word geopend hebben gaan we naar Bestand, Nieuw en krijgen we rechts de kolom zoals hier getoond. Daar selecteren we Lege Webpagina Zie volgende bladzijde voor verder
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));
Handleiding ZKM Online. Versie 2.1
Handleiding ZKM Online Versie 2.1 Februari 2015 Inhoudsopgave 1. Inloggen... 3 1.1 Eerste keer dat je inlogt... 3 1.1.1 Profiel... 4 1.1.2. Wachtwoord (wijzigen)... 4 1.1.3. Bureau... 5 1.1.4. Consultants
Instructie module Beheren bedrijfsgegevens Client Export door exporteur
Instructie module Beheren bedrijfsgegevens Client Export door exporteur Inhoudsopgave Startscherm Client Export...2 Beheren bedrijfsgegevens - Basisgegevens relatie...3 Beheren bedrijfsgegevens - Export
PhotoShop. Les 1 - Werken met lagen, kleuren en transparantie
PhotoShop Les 1 - Werken met lagen, kleuren en transparantie Een digitale foto is een eigenlijk een simpel ding. Als je hem van heel erg dichtbij bekijkt is het niets meer dan een aantal rijen en kolommen
Gebruikersinstructie:
Gebruikersinstructie: Delen & Ontsluiten van Aantekeningen en Oplossingen Inhoudsopgave 1. Inleiding 2 2. Voor leerkrachten: aantekeningen en oplossingen delen 3 2.1 Pagina s met aantekeningen of oplossingen
Van website naar e-zine Composer template
Van website naar e-zine Composer template Inleiding In dit document wordt beschreven hoe u te werk zou kunnen gaan om van een bestaande website een template te maken voor een digitale nieuwsbrief. Bij
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
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
DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO
DE ASTRO PI PROGRAMMEREN DOCENTENHANDLEIDING 1 Deze handleiding is bedoeld om leerlingen te ondersteunen bij de Astro Pi Challenge, waarbij leerlingen een programma voor de Astro Pi-computer in het ISS
Tutorial 2, Delphi: Parabool
Tutorial 2, Delphi: Parabool Versie Datum Auteurs Opmerkingen 1 23-09-2001 Kees Hemerik (code) Roel Vliegen (tekst) 2 18-03-2005 Kees Hemerik Diverse tekstuele wijzigingen. Code van DrawGraph gewijzigd.
Programmeerstructuren met App Inventor
Programmeerstructuren met App Inventor Kevin Krul, Universiteit Utrecht Roncalli, Bergen op Zoom Inhoud: Les 1: Introductie tot App Inventor, when statement en variabelen. Les 2: Introductie if-statement
Leerpaden maken. 1. Account en wachtwoord. 2. Maak een nieuw leerpad aan. 3. Inhoud aan een leerpad toe voegen. 4. Structuur aanbrengen op een pagina.
Leerpaden maken 1. Account en wachtwoord 2. Maak een nieuw leerpad aan. 3. Inhoud aan een leerpad toe voegen. 4. Structuur aanbrengen op een pagina. 5. Structuur aanbrengen met stappen 6. Structuur aanbrengen
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
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
Labo-oefeningen Automatisatie (Experimentele fase)
Praktische oefeningen Automatisatie Ivan Maesen IM 14-11-2004 2-1 Labo-oefeningen Automatisatie (Experimentele fase) Deze Praktische oefeningen kunnen gebruikt worden voor de Labosessies van het vak Automatisatie
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,
Algoritmisch denken: analyseren, ontwerpen, beschrijven van oplossingen en implementeren met Alice
Algoritmisch denken: analyseren, ontwerpen, beschrijven van oplossingen en implementeren met Alice HA-9518-04 Alle studierichtingen tweede graad ASO TSO KSO Martine De Belder Werkgroep Handel 2012 Guimardstraat
Programmeermethoden 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
Zelftest Programmeren in Java
Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test
DB Alerts vernieuwde app voor Android gebruikers
DB Alerts vernieuwde app voor Android gebruikers De DB Alerts app voor Android is volledig vernieuwd. Naast de bekende functionaliteiten uit de vorige versie (bekijken van waarnemingen en het invoeren
Inleiding. 1 Handleiding IRMA
1 Handleiding IRMA Inleiding IRMA (ICT Resource Manager) is het registratieprogramma dat gebruikt wordt door ICT AmeRijck. Het staat op de computer in het virtuele kantoor van de Servicedesk. IRMA is niet
