Opdracht 1: Maak kennis met Dodo

Maat: px
Weergave met pagina beginnen:

Download "Opdracht 1: Maak kennis met Dodo"

Transcriptie

1 Opdracht 1: Maak kennis met Dodo Algoritmisch Denken en Gestructureerd Programmeren (in Greenfoot) c 2017 Renske Smetsers-Weeda & Sjaak Smetsers 1 Inhoudsopgave Inleiding 1 Leerdoelen 2 Instructies 3 Theorie Mimi s wereld Objecten aanmaken Algoritmes Methodes en hun resultaten Klassen en overerving Toestand van een object Parameters en resultaten Signatuur Lezen van een stroomdiagram en programmacode Java Documentatie Aanpassingen doorvoeren Naamgevingsafspraken Fouten Afdrukken naar een console Uitdagingen Kennis maken met Greenfoot De wereld vullen Accessormethode ontdekken Mutatormethode ontdekken Overerving Toestanden Accessormethodes aanroepen Parameters gebruiken Licensed under the Creative Commons Attribution 4.0 license:

2 1.9 Stroomdiagram en bijbehorende programmacode ontdekken Nieuwe methode turn180() toevoegen Foutmeldingen herkennen Tekst naar de console afdrukken Variabelen naar de console afdrukken Coördinaten naar de console afdrukken Reflectie 27 Opslaan en inleveren 28 Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 2

3 Inleiding In deze opgavenreeks Algoritmisch denken en gestructureerd programmeren (in Greenfoot) leer je op een leuke manier de basisvaardigheden voor Objectgeoriënteerd programmeren. Na afloop kun je dan, met behulp van de Greenfoot- en Java-bibliotheken, programmeren in de programmeertaal Java. Met deze basisvaardigheden ben je ook in staat om je makkelijk andere objectgeoriënteerde talen eigen te maken. Je leert hoe je voorgegeven stukken programmacode kunt gebruiken als eerste aanzet voor een nieuw programma. Hergebruik van bestaande programmacode is een van de grote voordelen van de taal Java: Omdat er heel veel mensen zijn die programmeren in Java is er ook heel veel voorbeeldcode beschikbaar op internet. Door hier slim gebruik van te maken wordt het makkelijker om zelf grote programma s te schrijven. Natuurlijk leer je ook je eigen code schrijven. De Scène Figuur 1: Mimi de Dodo Dit is Mimi, onze Dodo. Een Dodo (een vogel die jammer genoeg inmiddels is uitgestorven) is, naar men zegt, nooit erg intelligent geweest. Eerst zul je deze Dodo een paar eenvoudige opdrachten leren uitvoeren, zoals lopen en draaien. Gedurende de cursus zul je haar leren om ingewikkeldere taken uit te voeren, zoals het lopen door een doolhof. Ook ga je een wedstrijd met jouw klasgenoten aan: wie maakt de slimste Dodo Programmeren Je programmeert in de taal Java. In de opdrachten werken we met de Greenfoot programmeeromgeving. Dit is een omgeving die je helpt Java programma s te schrijven zonder eerst uitgebreid de theorie van programmeren te leren. Zo kun je gaandeweg Java leren terwijl je er mee bezig bent. Computational Thinking De focus van deze cursus ligt op het algoritmisch denken: het bedenken en formuleren van een oplossing zodanig dat deze uitgevoerd kan worden door een computer. Om tot die oplossingen te komen moet je soms (creatief) puzzelen. Vaak zijn er meerdere oplossingen voor één probleem, soms is de ene beter dan de andere. Om vaardig te worden in het herkennen, bedenken en toepassen van betere oplossingen zullen we ook oefenen met de andere aspecten van Computational Thinking: Algoritmiek: een algoritme beschrijven door middel van beslissingen, opeenvolgingen en herhalingen van taken. Decompositie: aanpak waarmee je een groot probleem (of oplossing) opdeelt in kleinere stukken die dan afzonderlijk opgelost kunnen worden. Abstractie: details weglaten waardoor het probleem eenvoudiger wordt zodat een oplossing makkelijker gevonden kan worden. Hierdoor kun je ook beter patronen herkennen waardoor (delen van) problemen met al bestaande oplossingen aangepakt kunnen worden. Generalisatie: je probleem veralgemeniseren waarmee je oplossing ook voor andere vergelijkbare situaties hergebruikt kan worden (bijvoorbeeld door gebruik van parameters). Evaluatie: terugkijken op jouw oplossing en aanpak. Is het een juiste oplossing voor het probleem? Had het beter, slimmer of efficiënter gekund? Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 1

4 Computational Thinking gaat over het oplossen van problemen, systemen ontwikkelen en menselijk gedrag begrijpen. Het doel is niet om mensen te laten denken zoals computers; het is een manier waarop mensen problemen oplossen. Denken zoals een informaticus betekent meer dan alleen het kunnen programmeren van een computer. Het vereist ook het oplossen van problemen. Als je wilt leren schaken, dan moet je de spelregels kennen. Die spelregels vertellen je wat wel en wat niet mag. Wil je goed kunnen schaken en het leuk vinden, dan is het niet genoeg om de regels te kennen. Je moet ook leren wat een goede zet is. Wat programmeren betreft, zijn er natuurlijk talloze Java tutorials en handboeken te vinden op het internet. Die leren je de regels, maar leren je weinig over hoe je het schrijven van een programma aanpakt. In deze cursus leer je hoe je een programmeertaak systematisch uitvoert. Je leert een probleem analyseren en op een gestructureerde en overzichtelijke manier te zoeken naar een oplossing. Het doel is dat je goed leert programmeren en er ondertussen plezier bij hebt. Doelen De cursus bestaat uit een aantal opdrachten. De doelen van deze eerste opdracht zijn: Leren aanpassen van bestaande code op een gestructureerde manier; Kennismaken met de Greenfoot programmeeromgeving. Leerdoelen Na afloop van deze opdracht kun je: je weg vinden in de programmeeromgeving Greenfoot; methodes aanroepen en hun effect analyseren; het verschil tussen een mutatormethode en een accessormethode in jouw eigen woorden omschrijven; aan de hand van een klassendiagram, de subklassen van een klasse benoemen; (geërfde) methodes van een klasse vinden en benoemen; eigenschappen van de toestand van een object benoemen; omschrijven wat de types int, String, void en boolean zijn; aan de hand van een signatuur, het resultaattype en de parameter(type)s van een methode benoemen; de relatie tussen een algoritme, een stroomdiagram en programmacode kunnen omschrijven; JavaDoc commentaar aan code toevoegen; stapsgewijs codeaanpassingen doorvoeren en testen; syntax foutmeldingen herkennen en interpreteren; afdrukken naar een console. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 2

5 Instructies Voor deze opdracht heb je nodig: Greenfoot: Instructies voor het installeren en openen van de Greenfoot omgeving worden verderop gegeven; scenario DodoScenario1 : Dit moet je downloaden van de cursuswebsite 2. Tijdens de opdracht zul je enkele vragen moeten beantwoorden. Bespreek je antwoorden met je partner en noteer ze beknopt. Na afloop dien je het volgende in te leveren: Alle flowcharts: gebruik potlood en papier of maak gebruik van de software op draw.io/; Jouw code: het bestand MyDodo.java bevat al jouw code en moet ingeleverd worden; Het reflectieblad: vul in en lever het in. Er zijn drie soorten opgaven: Aanbevolen. Leerlingen met weinig programmeerervaring of leerlingen die wat meer oefening nodig hebben moeten deze taken allemaal afmaken. Verplicht. Iedereen moet deze taken afmaken. Uitdagend. Complexere opgaven, ontwikkeld voor leerlingen die 2-ster opdrachten voltooid hebben en klaar zijn voor een grotere en onderzoekende uitdaging. Leerlingen die 1-ster opgaven overslaan moeten alle 3-ster opgaven maken. Theorie Theorie 1.1: Mimi s wereld Dit is onze Dodo. Ze heet Mimi en behoort tot de Dodo familie. Hier staat ze, kijkend naar het oosten. Mimi leeft in een wereld die bestaat uit 12 bij 12 vakjes. Deze wereld is begrensd, ze kan er niet uit. Haar levensdoel is het leggen en uitbroeden van eieren. In het plaatje hieronder zie je haar wereld (met de coördinaten). 2 Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 3

6 Figuur 2: Mimi s world Mimi is een heel brave Dodo. Ze doet namelijk altijd precies wat haar wordt gezegd en geeft altijd eerlijk antwoord op vragen. Door methodes aan te roepen kun je haar opdrachten geven (commando s) of vragen stellen. Je kunt Mimi opdrachten laten uitvoeren, zoals: move hatchegg jump zet een stap naar de volgende cel (hokje) broed een ei uit spring een aantal cellen vooruit Je kunt ook een vraag stellen waar Mimi dan een antwoord op geeft, zoals: canmove getnrofeggshatched Kun je een stapje vooruit zetten? Hoeveel eieren heb je uitgebroed? Theorie 1.2: Objecten aanmaken Alle bewoners en voorwerpen die in de wereld voorkomen zijn objecten. Objecten worden ook wel instanties genoemd. Figuur 3: Scenario met één MyDodo object en drie Egg-objecten In onze opdrachten hebben we één hoofdrolspeelster, een MyDodo-object. Ze is een instantie van de klasse MyDodo en we noemen haar Mimi. Met new MyDodo( ) maak je een nieuw object van MyDodo aan. Dit kan op twee manieren: 1. Door met je rechtermuisknop op MyDodo in de klassendiagram te klikken, new MyDodo( ) te kiezen (zie figuur 4) en dan de Dodo naar de wereld te slepen. 2. Rechtstreeks in de code. Dit laatste zullen we in de vervolgopdrachten tegenkomen. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 4

7 Figuur 4: Met de rechtermuisknop een nieuw MyDodo-object aanmaken. Theorie 1.3: Algoritmes Een algoritme is een serie van precies omschreven opdrachten om een taak uit te voeren; een stappenplan. Algoritmes vormen de basis waarmee we computers problemen kunnen laten oplossen. Programmacode is een algoritme geschreven voor een computer. Deze vertelt dus precies, stap voor stap, wat de computer moet doen. Als een stappenplan voldoende nauwkeurig is opgeschreven, zou iemand anders het na kunnen doen, precies zoals jij het bedoelde. Met hetzelfde probleem (beginsituatie) zou die andere persoon dan tot dezelfde oplossing komen (eindsituatie). Het lijkt een beetje op een recept. Het verschil met een recept is dat een stappenplan nog preciezer is. In een recept voor een pudding zou kunnen staan: roer tot een glad geheel. Maar de ene keer zou je toetje misschien wat minder glad kunnen zijn dan de andere keer. Dat mag niet in een algoritme. Het resultaat moet elke keer precies hetzelfde zijn. Voor elke stap moet daarom duidelijk zijn wat deze precies inhoudt. Theorie 1.4: Methodes en hun resultaten Er zijn twee soorten methodes, mutatormethodes en accessormethodes. Mutatormethode Een mutatormethode is een opdracht aan een object om dit iets uit te laten voeren. Hierdoor verandert de toestand van het object. Een mutatormethode kun je herkennen aan het (type van het) resultaat: void. Bijvoorbeeld: Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 5

8 void move( ) verandert de toestand van Dodo door deze één cel vooruit te plaatsen. void setdirection( int new_direction ) verandert de kijkrichting van een actor. Accessormethode Een accessormethode is een vraag die informatie over een object oplevert. Bijvoorbeeld: int getnrofeggshatched( ) met als resultaat een int (een geheel getal) dat aangeeft hoeveel eieren Mimi heeft uitgebroed. boolean canmove( ) met als resultaat true ( waar ) of false ( niet waar ) dat aangeeft of Mimi al dan niet een stapje vooruit kan zetten. Deze accessormethodes geven enkel informatie over het object terug, ze doen niks met het object. De toestand van het object blijft ongewijzigd. Bijvoorbeeld, Dodo geeft informatie maar verplaatst zich niet. Theorie 1.5: Klassen en overerving Elk object hoort bij (of eigenlijk, is een instantie van) een klasse. Zo is Mimi een instantie van de klasse MyDodo. Dat MyDodo tot het Dodoras behoort kun je zien in het klassendiagram. In Greenfoot staat het klassendiagram rechts op het scherm; zie figuur 5. De pijl in het diagram geeft een is-een relatie aan: MyDodo is-een Dodo. Dus, elke MyDodo-instantie behoort ook tot de klasse Dodo. Figuur 5: Klassediagram Methodes van MyDodo Mimi heeft methodes die je kunt aanroepen. Mimi is een MyDodo en kan dus alles wat een mydodo kan. Door in de wereld met de rechtermuisknop te klikken op Mimi kun je zien wat een MyDodo allemaal kan, bijvoorbeeld move( ). Methodes van Dodo Maar Mimi, onze MyDodo, kan veel meer. Er zijn dingen die alle Dodo s in het algemeen kunnen. Mimi kan dat dan natuurlijk ook, ze is tenslotte ook een Dodo! We leggen nu uit hoe je kan zien welke methodes Dodo allemaal heeft. Klik in de wereld met de rechtermuisknop op Mimi. Bovenaan het lijstje zie je inherited from Dodo staan. Als je daarop klikt, dan zie je ineens meer methodes, bijvoorbeeld layegg( ). Dit zijn de methodes van Dodo, de dingen die alle Dodo s kunnen. Omdat MyDodo een Dodo is (dat zie je in het klassendiagram in figuur 5), erft (oftewel inherits in het Engels) ze deze Dodo-methodes. We zeggen ook wel dat MyDodo een subklasse is van Dodo. Dit houdt in dat elke MyDodo ook alle Dodo methodes uit uit kan voeren. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 6

9 Inheritance Met overerving kun je een nieuwe klasse maken als uitbreiding van een bestaande klasse. De bestaande klasse wordt dan de superklasse genoemd. De uitgebreide klasse heet subklasse. Een instantie van een subklasse kan alle methodes aanroepen van zijn superklasse. Omdat MyDodo een subklasse van Dodo is kan een MyDodo dus methodes uitvoeren uit zowel de MyDodo-klasse als van de Dodo-klasse. Voorbeeld van een klassendiagram Figuur 6: Klassendiagram van huisdier In het klassendiagram in figuur 6 zie je dat Katten en Honden subklasses zijn van Huisdier. Elk Huisdier kan slapen( ) en eten( ), dus dan kunnen Katten en Honden dat ook. Een Kat kan spinnen( ). Deze methode is specifiek voor Katten: Niet elk Huisdier kan spinnen( ). Theorie 1.6: Toestand van een object Je kunt verschillende objecten in de wereld zetten, bijvoorbeeld een Dodo en een ei. Je kunt ook meerdere objecten van dezelfde klasse in de wereld zetten. Hier zie je drie objecten van de klasse Egg en één van de klasse MyDodo. Figuur 7: Wereld met meerdere objecten Alle objecten van dezelfde klasse hebben dezelfde methodes en dus hetzelfde gedrag. De drie Eggobjecten zien er hetzelfde uit en kunnen precies hetzelfde doen: ze hebben dezelfde methodes. Toch zijn het verschillende objecten, of instanties. Elk object heeft zijn eigen toestand. Een toestand bestaat uit eigenschappen die kunnen veranderen, zoals coördinaten of uiterlijk. De toestand van een object kun je bekijken door in de wereld met de rechtermuisknop op het object te klikken en dan Inspect te kiezen. In het volgende voorbeeld zie je de toestanden van twee Egg-objecten. Het ene met coördinaten (1,1) en het andere met coördinaten (2,2). Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 7

10 Figuur 8: Toestanden van twee Egg-objecten Theorie 1.7: Parameters en resultaten Resultaten In 1.4 hebben we gezien dat een accessormethode informatie over de toestand van een object oplevert. Zo n antwoord heet een resultaat. Bijvoorbeeld de methode int getnrofeggshatched( ) die een int (geheel getal) als resultaat heeft. Een methode kan maar één resultaat opleveren. Parameters Methodes kunnen ook bepaalde waarden meekrijgen die ze meer informatie geeft om een bepaalde taak uit te voeren. Die meegegeven waarden heten parameters. Een methode kan 0 of meer parameters hebben. Voorbeelden: void jump (int distance) heeft één parameter, distance waarmee de methode weet hoe ver er gesprongen moet worden. Daarnaast weten we dat distance een int (geheel getal) is. Door de aanroep van jump(3); zal Mimi 3 vakjes verplaatsen en door de aanroep van jump(5); 5 vakjes. De methode jump is zo geschreven dat deze alléén kan worden aangeroepen met de aanvullende informatie. Anders weet deze methode niet hoe ver Mimi verplaatst moet worden. void move( ) heeft geen parameters. De verplaatsing is altijd één. void setdirection( int new_direction ) heeft één parameter, een int new_direction die de methode vertelt in welke richting het object moet draaien. Types Parameters en resultaten hebben een type. Het type geeft aan welke soorten waarden een parameter of resultaat moet hebben. Voorbeelden van verschillende types zijn: Type Betekenis Voorbeeld int geheel getal 2 boolean waar of niet waar true String tekst Mijn fiets is gestolen! List lijst [1,2,3] Een type kan ook een klasse zijn, zoals Egg of zelfs een lijst (List) van dingen. Een aanroep van void jump( int distance ) zonder een parameter mee te geven mag dus niet, deze methode moet een int meekrijgen. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 8

11 Theorie 1.8: Signatuur De specificatie van een methode heet de signatuur. Aan de hand van de signatuur kun je zien wat de naam van een methode is, welke parameters hij verwacht en wat voor soort resultaat hij oplevert (resultaattype). Methodenaam: vóór het eerste haakje staat de naam van de methode. In dit voorbeeld: jump. Parameter: tussen de haakjes ( en ) staat aangegeven welke parameters de methode als input krijgt. In dit voorbeeld: distance. Parametertype: het type (zoals int, boolean, String) van de parameter staat voor de naam van de parameter. In dit voorbeeld: int. Resultaattype: het type (zoals int, boolean, void) van het resultaat staat voor de naam van de methode. In dit voorbeeld is het resultaattype void. Methode signatuur: het geheel van alle bovengenoemde onderdelen. In dit voorbeeld: public void jump (int distance). (Wat public betekent komt later aan bod) Voor het voorbeeld hierboven: Figuur 9: Signatuur van een methode Methodenaam jump Parameter distance Parametertype int Resulttype void Methode signatuur public void jump ( int distance ) Theorie 1.9: Lezen van een stroomdiagram en programmacode Een stroomdiagram gebruik je om een algoritme visueel weer te geven. Door een stroomdiagram te tekenen houd je overzicht over het geheel. Hierdoor wordt het schrijven, lezen en analyseren van programmacode makkelijker. We bekijken het algoritme van move( ) uit MyDodo. Dit heb je al een keer gezien bij taak 1.4. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 9

12 Figuur 10: Stroomdiagram en bijbehorende code voor move( ) Figuur 11: Stroomdiagram en bijbehorende code voor move( ) Toelichting stroomdiagram Methodenaam: move. De naam staat in de linkerbovenhoek. Begin- en eindsituaties staan beschreven in notitieblokjes in de rechterbovenhoek en rechterbenedenhoek. Er wordt bovenaan bij Start begonnen. Body: dit is het gedeelte tussen Start en Einde. Het omschrijft wat de methode doet. In dit voorbeeld: Volg de pijl naar de ruit. Een ruit betekent dat er een keuze gemaakt moet worden, afhankelijk van het resultaat van canmove? wordt er een ander pad vervolgd: Als canmove? waar is, dan wordt de pijl true naar rechts gevolgd. Als canmove? niet waar is, dan wordt de pijl false naar links gevolgd. Dit is hetzelfde als een if..then..else in programmacode. Bij een rechthoek wordt een methode aangeroepen en uitgevoerd. Dus, afhankelijk van welke pijl er gevolgd is, zal óf move óf turnright uitgevoerd worden. Als het Einde bereikt is, dan is de move methode afgelopen. Toelichting code Commentaar: de tekst tussen /** en */ bovenaan (in de Greenfoot editor in blauw weergegeven) is commentaar. De compiler doet daar niets mee. Programmeurs schrijven commentaar om anderen te helpen hun programma s te begrijpen. De begin- en eindsituaties worden hier beschreven. Wat de parameters en resultaten van de methode zijn ook. Als commentaar maar één regel beslaat kun je ook // gebruiken. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 10

13 Signatuur: deze is public void move( ). Access-modifier: deze is public. Wat dit betekent en welke andere mogelijkheden er zijn, komt later aan bod. Methodenaam: move. Resultaattype: dat is void. Zoals we in Theorie 1.4 zagen betekent void dat de methode iets uitvoert en dus geen waarde oplevert. Deze mutatormethode doet dus iets met een object. Dit in tegenstelling tot een accessormethode die informatie over de toestand van een object oplevert. (zie Theorie 1.4). Body: deze staat tussen de eerste accolade { en bijbehorende }. In dit voorbeeld bestaat de body uit een conditional statement: dit is de if..then..else. Dit moet als volgt gelezen worden: Tussen de haakjes ( en ) staat een conditie. Er wordt eerst gecontroleerd of de conditie canmove waar is of niet. Als deze true is, dan wordt het gedeelte direct volgende op de conditie uitgevoerd. Dus, step( ) wordt aangeroepen en Dodo zet een stapje vooruit. Als deze false is, dan wordt het gedeelte achter de else uitgevoerd. Dan wordt dus de foutmelding met de tekst I m stuck getoond. Theorie 1.10: Java Documentatie Bij elke methode hoort commentaar. Commentaar geeft toelichting over wat de programmacode doet. In Java heet dit JavaDoc ( Java Documentatie ). Commentaar toevoegen helpt anderen (en jezelf) code te begrijpen en opnieuw te gebruiken. Schrijven van Java Documentatie In Java zijn er een standaard afspraken over hoe je code van commentaar voorziet (bekijk bijvoorbeeld de code hieronder): Elk methode heeft (globaal) commentaar waarin staat uitgelegd wat de methode doet. Begin- en eindsituatie zijn beschreven. Commentaar begint met / ** en eindigt met * /. Voor commentaar korter dan één regel gebruik je // gevolgd door het geeft aan welke parameters de methode geeft aan wat de methode als resultaat oplevert. / ** * Move given number of cells forward in the current direction. * * <p> Initial: Dodo is somewhere in the world. * <p> Final: If possible, Dodo has jumped the distance forwards * int distance: the number of steps made nothing * / public void jump( int distance ) { Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 11

14 } int steps = 0; // steps counter set to 0 while ( steps < distance ) { // check if more steps must be taken move(); // take a step steps++; // increment the counter } Bekijken van Java Documentatie Het bekijken van JavaDoc in Greenfoot voor jouw code gaat als volgt: 1. Open de code in de editor. 2. Rechtsbovenin het scherm kies je Documentation in plaats van Source Code (broncode). (Zie figure 12) Figuur 12: Bekijken van JavaDoc in plaats van broncode (Source Code) Theorie 1.11: Aanpassingen doorvoeren Om Mimi nieuwe dingen te laten doen moet je zelf nieuwe methodes schrijven. Net als bij een natuurlijke taal moet je eerst code leren lezen voordat je zelf code kan schrijven. En als je bestaande code wil aanpassen moet je eerst nauwkeurig kunnen beschrijven wat voor wijzigingen je wilt doorvoeren. Aanpassingen Voer aanpassingen altijd stapsgewijs door. Een tikfoutje is snel gemaakt. Maar het ontdekken en vinden van een fout kan een stuk lastiger zijn. Daarom doe je er goed aan om bij elke kleine wijziging in de code opnieuw te testen. Na elke wijziging: 1. Uitvoeren: Roep de methode aan door in de wereld met de rechtermuisknop op Mimi te klikken. Kies daarna de juiste methode. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 12

15 Figuur 13: Uitvoeren van een methode door met de rechtermuisknop op Mimi te klikken 2. Test: Controleer of de methode doet wat je verwacht. Vergelijk de begin- en eindsituaties. Werk gestructureerd Leer jezelf aan om deze stappen telkens meteen na elke aanpassing te doen. Als je namelijk een foutje hebt gemaakt vind je nu nog makkelijk de oorzaak. Als je veel meer wijzigingen in één keer doorvoert zonder tussendoor steeds te testen, dan kan het opsporen van fouten in je code (debuggen) een hels karwei worden! Theorie 1.12: Naamgevingsafspraken Methodes en parameters hebben namen. Er zijn algemene afspraken over de manier waarop je in Java een naam kiest. Door je daaraan te houden is je code makkelijker leesbaar voor anderen. Naam van een methode: is betekenisvol: deze komt overeen met wat de methode doet is in de vorm van een commando: bestaat uit één of meer werkwoorden bestaat uit letters en cijfers: bevat geen spaties, komma s of andere rare tekens ( uitgezonderd) is geschreven in lowercasecamel: begint met een kleine letter, elk volgend woord begint met een hoofdletter bijvoorbeeld: canmove Naam van een parameter: is betekenisvol: het komt overeen met waarvoor de parameter bedoeld is bevat uit één of meer zelfstandige naamwoorden bestaat uit letters en cijfers: bevat geen spaties, komma s of andere rare tekens ( uitgezonderd) is geschreven in lowercasecamel: begint met een kleine letter, elk volgend woord begint met een hoofdletter Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 13

16 bijvoorbeeld: nrofeggs Bekijk voor een compleet overzicht van stijl- en naamgevingsafspraken. Theorie 1.13: Fouten Syntaxfouten Als je iets verkeerd intikt wat de compiler niet begrijpt, dan heet dat een syntax error. Wanneer de compiler een fout ontdekt zal het bijbehorende regelnummer rood gemarkeerd worden. Als je op de fout klikt geeft de compiler een toelichting (zie figuur 14). Het is dan aan jou om de fout op te sporen en te herstellen. Een aantal veel voorkomende fouten met bijbehorende foutmeldingen zijn: Figuur 14: Compiler foutmelding Gemaakte fout ontbrekende ; aan einde regel ontbrekende ( ) in header ontbrekende { bij begin body ontbrekende } bij einde body ontbrekende ( ) bij methode aanroep tikfout (let ook op hoofd/kleine letters) verkeerde type parameter meegegeven geen parameter meegegeven verkeerde returntype Foutmelding van de compiler ; expected ( expected, of illegal start of expression ; expected illegal start of expression ( expected of not a statement cannot find symbol method cannot be applied to given types method cannot be applied to given types incompatible types: unexpected return value Logische fouten Daarnaast zijn er andere soorten programmeerfouten. De compiler keurt je programma goed, maar als je het uitvoert doet het niet wat je verwacht. Zoiets heet een logische fout. Waar de fout dan precies zit is soms erg lastig te vinden. Het zoeken naar fouten heet debuggen. Onder het motto van voorkomen is beter dan genezen zullen we in het volgende hoofdstuk aandacht besteden aan het gestructureerd aanpakken van programmeerproblemen. Dat kan de kans op logische fouten aanzienlijk verkleinen. Theorie 1.14: Afdrukken naar een console Tijdens het zoeken naar fouten in een programma kan het handig zijn om waarden of tekst af te drukken. Hierdoor kun je beter bepalen waar de fout zit. Om een console venster te openen met daarin een tekst, kun je de volgende Java methode gebruiken: System.out.println ( String );. Het volgende voorbeeld laat voorbeeldcode hiervoor zien: public void printingtoconsole( ){ String message = "Hello"; int nrofeggs = 5; System.out.println ( message ); Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 14

17 } System.out.println ( message + " Mimi!" ); System.out.println ( nrofeggs ); System.out.println ( "There are " + nrofeggs + " eggs." ); En dit is het bijbehorende resultaat: Figuur 15: De console Afhankelijk van wat er afgedrukt moet worden, roep je de println methode aan met verschillende argumenten: Tekst zet je tussen aanhalingstekens en. Voor de waarde van een variabele (zoals een getal) gebruik je alléén de naam van de variabele (zonder aanhalingstekens). Teksten en variabelen combineer je met +. Toevoeging: Voor meer informatie over de println methode, zie: api/java/io/printstream.html#println(java.lang.string). Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 15

18 Uitdagingen Opgave 1.1: Kennis maken met Greenfoot We gaan nu in Greenfoot oefenen met Mimi. Hiervoor moeten we eerst (als dat nog niet gedaan is) Greenfoot versie downloaden en installeren. Daarna openen we het gegeven scenario in Greenfoot. Kies een map om jouw werk in op te slaan: Bedenk een vaste plek waar je alle scenario-informatie gaat opslaan. Je kunt hiervoor eventueel een USB-stick gebruiken. Indien nodig: Download en installeer Greenfoot versie 3.1.0: Download Greenfoot: Ga naar en volg de aangegeven instructies. Download het scenario: Download het gegeven scenario-bestand dat bij deze opdracht hoort: DodoScenario1.zip. Kopieer het zip-bestand naar de door jou uitgekozen opslagplaats. Pak het zip-bestand hier uit. Met je rechtermuisknop klik je op het bestand en selecteer dan Extract All... Open de Greenfootomgeving: Ga naar Start - All Programs - Greenfoot en selecteer hier Greenfoot. De omgeving hoort nu op te starten. Open het scenario: Selecteer Scenario in het hoofdmenu en daarna Open. Ga naar het scenario DodoScenario1 en kies Open. Hernoem het scenario: Kies in Greenfoot Scenario in het bovenste menu, en dan Save As.... Controleer dat je in de map staat waar je jouw werk wilt opslaan. Vul de bestandsnaam aan met jouw eigen naam en het opdrachtnummer, bijvoorbeeld: Opdr1_Michel. Als het goed is krijg je het volgende te zien: Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 16

19 Figuur 16: Wat je te zien krijgt na het openen van DodoScenario1 Lees eerst Theorie 1.1: Mimi s wereld. Lees eerst Theorie 1.2: Objecten aanmaken. Opgave 1.2: De wereld vullen We gaan het scenario maken zoals in figuur 3: a) Klik met de rechtermuisknop op MyDodo, helemaal rechts in het scherm. b) Kies new MyDodo() om een nieuw MyDodo-object te maken. c) Sleep het MyDodo-object, onze Mimi, naar een willekeurig vakje in de wereld. d) Leg op dezelfde manier de drie BlueEggs (blauwe eieren) in de wereld neer. Tip: houd Shift ingedrukt om snel meerdere blauwe eieren neer te leggen. Lees eerst Theorie 1.3: Algoritmes. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 17

20 Lees eerst Theorie 1.4: Methodes en hun resultaten. Opgave 1.3: Accessormethode ontdekken Door in de wereld met je rechtermuisknop op Mimi te klikken krijg je een lijst te zien van wat ze allemaal kan. Je ziet dan welke methodes je kunt aanroepen. Met sommige van die methodes kan Mimi vragen beantwoorden waarmee ze informatie over haarzelf geeft. Dat zijn accessormethodes. a) Sleep Mimi naar het midden van de wereld. Klik op Mimi met de rechtermuisknop en roep de boolean canmove( ) methode aan. Er verschijnt een venstertje zoals in het plaatje hieronder. Zoals je ziet, levert de methode true ( waar ) op. Figuur 17: Dialoogvenster voor canmove( ) b) Kun je Mimi verplaatsen zodat boolean canmove( ) iets anders oplevert dan true? c) Wat denk je dat boolean betekent? d) We bekijken nu wat een accessormethode doet, behalve het opleveren van een resultaat: i. Omschrijf de beginsituatie: Waar is Mimi en welke kant kijkt ze op? Hoeveel eieren zijn er? ii. Roep de methode int getnrofeggshatched( ) aan. iii. Verandert er iets aan de toestand van de wereld door het aanroepen van deze methode? e) Wat resultaat levert int getnrofeggshatched( ) op? Wat betekent int? f) Kun je een beginsituatie maken zodat de methode int getnrofeggshatched( ) de waarde 3 oplevert? Tip: zet Mimi op een ei en roep dan hatchegg( ) aan. Je hebt nu gezien dat een accessormethode informatie oplevert over het object zonder de toestand van dat object aan te passen. Opgave 1.4: Mutatormethode ontdekken Met mutatormethodes kun je onze MyDodo opdrachten laten uitvoeren. Mimi is zo geprogrammeerd dat ze een aantal dingen kan doen. a) Klik in de wereld met de rechtermuisknop op Mimi. Zo zie je welke methodes je kunt aanroepen, bijvoorbeeld hatchegg( ). Je ziet dus wat Mimi allemaal kan. Noem één andere methode die er voor zorgt dat Mimi iets doet. b) We onderzoeken nu wat methode void move( ) doet. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 18

21 i. Sleep Mimi naar het midden van de wereld. Roep de methode void move( ) aan. Kun je beschrijven wat de methode doet? ii. Sleep Mimi nu naar de rand van de wereld, kijkend naar buiten. Roep haar methode void move( ) weer aan. Wat gebeurt er nu? iii. Koppel nu de onderdelen A, B en C in het stroomdiagram in figuur 18 aan de bijbehorende code hieronder. Figuur 18: Stroomdiagram voor MyDodo s move( ) methode / ** * Move one cell forward in the current direction. * * <P> Initial: Dodo is somewhere in the world * <P> Final: If possible, Dodo has moved forward one cell * * / public void move() { if ( canmove( ) ) { step(); } else { showerror( "I m stuck!" ); } } Lees eerst Theorie 1.5: Klassen en overerving. Opgave 1.5: Overerving We bekijken nu welke methodes MyDodo van haar Dodo familie erft. a) Bekijk het klassendiagram aan de rechterkant van de scherm. Mimi is een MyDodo. Alle MyDodo s zijn Dodo s. Welke andere is-een relaties zie je? Noem er tenminste twee. b) Mimi, die een MyDodo is, kan alles wat een Dodo kan. Klik in de wereld met de rechtermuisknop op Mimi. Kies inherited from Dodo. Meer methodes verschijnen, zoals layegg( ). Controleer dat Mimi inderdaad de methode layegg() kan uitvoeren. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 19

22 c) Noem twee andere methodes die MyDodo van de Dodo klasse erft. d) Naast de methodes die ze van Dodo erft, kan Mimi ook nog specifieke dingen doen die alléén MyDodo kan doen. Vind een methode die MyDodo s wel hebben maar Dodo s niet. We hebben nu gezien dat Mimi, en alle andere MyDodos, alle methodes van Dodo erven en deze dus kunnen uitvoeren. Lees eerst Theorie 1.6: Toestand van een object. Opgave 1.6: Toestanden Elk object heeft een toestand. We laten nu zien hoe je de toestand van een object kunt bekijken. a) Sleep Mimi naar de linkerbovenhoek van de wereld. b) Klik met de rechtermuisknop op Mimi en kies Inspect. Wat zijn haar (int x en int y) coördinaten? c) Onderzoek wat de coördinaten van alle andere hoeken zijn. Geef deze aan in figuur 19. De linkerbovenhoek is al voor je gedaan. Figuur 19: Coördinaten in de wereld Lees eerst Theorie 1.7: Parameters en resultaten. Lees eerst Theorie 1.8: Signatuur. Opgave 1.7: Accessormethodes aanroepen In taak 1.6 hebben we gezien dat je met Inspect informatie over de toestand van Mimi kan bekijken. Accessormethodes zijn gemaakt om die informatie als resultaat op te leveren. Daardoor kun je ook wat met de informatie doen in je programma. We bekijken nu hoe het opleveren van een resultaat werkt. a) Klik met de rechtermuisknop op Mimi. b) Welke methode in de Dodo klasse geeft de coördinaten van een object? Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 20

23 Opgave 1.8: Parameters gebruiken We bekijken nu een paar voorbeelden van methodes met parameters. a) Zet Mimi ergens midden in de wereld neer. Klik met de rechtermuisknop op Mimi. Roep de methode jump( int distance ) aan. Deze methode verwacht een int (geheel getal) distance die aangeeft hoe ver Mimi moet springen. Vul een kleine waarde in en kijk wat er gebeurt. b) Roep de methode jump( int distance ) weer aan, deze keer met een groot getal, zoals 20, als parameter. Wat gebeurt er? Kun je dat beredeneren? c) Wat gebeurt er als je een waarde invoert die geen int (geheel getal) is, bijvoorbeeld het kommagetal 2.5? Welke foutmelding krijg je? Wat betekent dit? Tip: kijk eventueel terug naar Theorie d) Tik een woord als een parameter in, bijvoorbeeld: drie, met aanhalingstekens. Dan krijg je een foutmelding zoals in figuur 20. Waarom zegt de foutmelding iets over een String? Figuur 20: Foutmelding bij gebruik van tekst als parameter Lees eerst Theorie 1.9: Lezen van een stroomdiagram en programmacode. Opgave 1.9: Stroomdiagram en bijbehorende programmacode ontdekken We bekijken nu de methode canlayegg( ). Mimi mag alléén een ei leggen als er niet al eentje ligt. a) Bekijk de code voor de boolean canlayegg( ) methode hieronder. Het stroomdiagram in figuur 21 geeft het algoritme weer. Vul de lege plaatsen in bij A, B, C, D (in het stroomdiagram) en E (in de code). Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 21

24 Figuur 21: Stroomdiagram voor de canlayegg( ) methode / ** * Test if Dodo can lay an egg. * (there is not already an egg in the cell) * * <p> Initial: Dodo is somewhere in the world * <p> Final: Same as initial situation * boolean true if Dodo can lay an egg (no egg there) * false if Dodo can t lay an egg * (already an egg in the cell) * / public boolean canlayegg( ) { if ( onegg( ) ){ // E } else { return true; } } b) Open de code voor MyDodo in de editor: klik met de rechtermuisknop op MyDodo in the class diagram and select Open editor. c) Zoek de methode canlayegg( ). Tip: gebruik Ctrl+F. d) Haal de commentaartekens voor de code weg. e) Vervang E met de juiste code. f) Test jouw methode. Klik in de wereld met de rechtermuisknop op Mimi. Kies dan de methode canlayegg( ). Test een paar verschillende situaties. Lees eerst Theorie 1.10: Java Documentatie. Lees eerst Theorie 1.11: Aanpassingen doorvoeren. Lees eerst Theorie 1.12: Naamgevingsafspraken. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 22

25 Opgave 1.10: Nieuwe methode turn180() toevoegen We gaan nu zelf een nieuwe methode toevoegen aan MyDodo. Taak: Dodo maakt een halve draai (draait dus 180 graden). Figuur 22: Stroomdiagram voor turn180 a) Bekijk het stroomdiagram en de bijbehorende code hieronder. Vul A en B in. public void A ( ) { turnright( ); B } b) Open de code van de klasse MyDodo in de editor. c) Schrijf de code voor de methode turn180. d) Compileer de code door op de Compile knopje te drukken, linksbovenin het scherm (zie figuur 23). Herstel eventuele fouten. Figuur 23: Knop voor het compileren e) Roep jouw nieuwe methode void turn180( ) aan door deze met de rechtermuisknop te selecteren. Test of die werkt zoals verwacht. Test ook of andere methodes nog steeds goed werken. Met andere woorden, controleer ook of het programma als geheel nog werkt zoals verwacht. f) Voeg commentaar bovenaan de methode toe waarin je aangeeft wat de begin- en eindsituatie zijn. Gebruik hiervoor de JavaDoc standaarden. Tip: bekijk Theorie g) Natuurlijk test je ook na deze wijziging jouw programma opnieuw. Lees eerst Theorie 1.13: Fouten. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 23

26 Opgave 1.11: Foutmeldingen herkennen De compiler is erg kieskeurig. Soms maak je een foutje in de code of vergeet je iets. Dan zal de compiler daarover klagen. Het is handig als je enkele veelvoorkomende klachten herkent, zodat je het probleem gemakkelijk kunt vinden en oplossen. Laten we er een paar bekijken. a) Open de klasse MyDodo in de editor. Ga naar de code van de turn180( ) methode. b) Pas telkens de code op de aangegeven wijze aan. Koppel de juiste foutmelding bij de fout in de code. Daarna herstel je de fout. i. Verwijder de ; achter turnright( ); ii. Verander de spelling van turn180( ) iii. Verander turn180( ) in turn180(5) iv. Verwijder de { na turn180( ) v. Verwijder de ) in turn180( ) vi. Verwijder de ( ) in turn180( ) Probleem Foutmelding ; expected ( expected method cannot be applied to given types invalid method declaration ) expected cannot find symbol 3. Herstel alle fouten en test of het programma nog doet wat je verwacht. Lees eerst Theorie 1.14: Afdrukken naar een console. Opgave 1.12: Tekst naar de console afdrukken Het afdrukken naar de console (een apart venster voor tekstuitvoer) kan handig zijn tijdens het testen en zoeken naar fouten in jouw programma. We gaan nu oefenen met het afdrukken van tekst naar een console. a) Zoek de code voor jouw turn180( ) methode. b) Voeg de volgende print-naar-console instructie toe aan het einde van de methode: System.out.println( Ik ben net 180 graden gedraaid ); c) Voer jouw methode uit door in de wereld met de rechtermuisknop op Mimi te klikken en de methode turn180 aan te roepen. Let op: het venster van de console kan verscholen liggen achter andere vensters. Je hebt nu code geschreven om tekst af te drukken naar een console. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 24

27 Opgave 1.13: Variabelen naar de console afdrukken Het afdrukken naar de console (een apart venster voor tekstuitvoer) kan handig zijn tijdens het testen en zoeken naar fouten in jouw programma. We gaan nu oefenen met het afdrukken van zowel tekst als waarden van een variabele. a) Zoek de code voor MyDodo s jump. b) De code komt niet overeen met het stroomdiagram in figuur 24. Zoek het verschil. Figuur 24: Voorbeeld stroomdiagram voor het afdrukken van tekst naar de console c) Gebruik System.out.println("moved "+ nrstepstaken); om een print-naar-console instructie op de juiste plek in de code toe te voegen. d) Voer jouw methode uit door in de wereld met de rechtermuisknop op Mimi te klikken en de methode jump te selecteren. Let op: het venster van de console kan verscholen liggen achter andere vensters. e) Test jouw methode met verschillende waarden. Je hebt nu code geschreven om zowel tekst als waardes van een variabele af te drukken naar een console. Opgave 1.14: Coördinaten naar de console afdrukken Taak: Mimi loopt naar de wereldgrens en drukt bij elke stap haar coördinaten af naar de console. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 25

28 / ** * Walks to edge of the world printing the coordinates at each step * * <p> Initial: Dodo is on West side of world facing East. * <p> Final: Dodo is on East side of world facing East. * Coordinates of each cell printed in the console. * / public void walktoworldedgeprintingcoordinates( ) { while (! borderahead( ) ) { //print coordinates move(); } } a) Zoek in MyDodo de code voor de methode walktoworldedgeprintingcoordinates(). b) Voeg de code toe voor het afdrukken van de coördinaten. c) Test jouw methode. Wordt ook de allerlaatste coördinaat geprint? d) Pas het stroomdiagram en de code aan zodat het programma voor alle coördinaten werkt. Voeg ook (JavaDoc) commentaar toe aan jouw code. Je hebt nu zelf code geschreven en met een print-naar-console instructie getest of jouw methode correct werkt. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 26

29 Reflectie In deze opdracht heb je kennis gemaakt met Greenfoot. Je hebt ook zelf code aangepast en geoefend met het compileren en testen van de code na elke wijziging. Als je ergens echt goed in wilt worden, dan is een van de meest belangrijke stappen om even terug te blikken op wat je deed en hoe dat ging. Neem een van de taken in gedachten die je gemaakt hebt en waar je trots op bent om op terug te blikken. Resultaat Ik weet dat mijn oplossing werkt omdat... Ik ben trots op mijn oplossing omdat... Ik kan mijn oplossing verbeteren door... Aanpak Mijn aanpak was goed omdat... Wat ik volgende keer beter anders kan doen is... Geef met een smiley aan hoe het ging. Ik kan het Het is me een beetje gelukt maar ik begreep het niet helemaal Ik snapte er helemaal niks van Ik kan mijn weg vinden in de Greenfoot omgeving. Ik kan onderzoeken welke methodes een object heeft en deze aanroepen. Ik kan de relatie tussen een algoritme, zijn stroomdiagram en de bijbehorende code uit leggen. Ik kan de code van een methode vinden in de Greenfoot editor Ik kan stapsgewijs aanpassingen doorvoeren in code. Ik kan een methode toevoegen, compileren en testen. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 27

30 Opslaan en inleveren Sla je werk op. Je hebt het nodig voor de volgende opdrachten. Opslaan Selecteer Scenario in het Greenfoot menu, en dan Save. Alle bestanden die bij het scenario horen zitten nu in één map. Inleveren Lever het volgende in: Naam: van jou (en je partner); Jouw code: Het MyDodo.jav java bestand; Stroomdiagrammen: Als je ze op papier hebt gemaakt: plak (foto s van) jouw stroomdiagrammen in een (Word) bestand. Als je software gebruikt hebt: sla het bestand op als.pdf of.jpg. Algoritmisch denken en gestructureerd programmeren (in Greenfoot) 28

Opdracht 1: Maak kennis met Dodo

Opdracht 1: Maak kennis met Dodo Opdracht 1: Maak kennis met Dodo 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

Opdracht 1: Maak kennis met Dodo

Opdracht 1: Maak kennis met Dodo Opdracht 1: Maak kennis met Dodo 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

Algoritmisch Denken: Dodo s Bit Parity

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

Nadere informatie

Opdracht 3: Betere oplossingen

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.

Nadere informatie

Opdracht 7: Dodo s Race

Opdracht 7: Dodo s Race Opdracht 7: Dodo s Race Algoritmisch Denken en Gestructureerd Programmeren (in Greenfoot) c 2017 Renske Smetsers-Weeda & Sjaak Smetsers 1 Inhoudsopgave Inleiding 1 Leerdoelen 1 Instructies 1 Theorie 2

Nadere informatie

Opdracht 3: Dodo verdeelt haar werk

Opdracht 3: Dodo verdeelt haar werk Opdracht 3: Dodo verdeelt haar werk Algoritmisch Denken en Gestructureerd Programmeren (in Greenfoot) c 2017 Renske Smetsers-Weeda & Sjaak Smetsers 1 Inhoudsopgave Inleiding 1 Leerdoelen 1 Instructies

Nadere informatie

Opdracht 3: Betere oplossingen

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.

Nadere informatie

Opdracht 2: Constructies

Opdracht 2: Constructies Opdracht 2: Constructies Algoritmisch Denken en Gestructureerd Programmeren in Greenfoot c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Op dit werk is een creative commons licentie van toepassing. https://creativecommons.org/licenses/by/4.0/

Nadere informatie

Opdracht 4: Overzichtelijker en generieker

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

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

Opdracht 2: Dodo laten bewegen

Opdracht 2: Dodo laten bewegen Opdracht 2: Dodo laten bewegen Algoritmisch Denken en Gestructureerd Programmeren (in Greenfoot) c 2017 Renske Smetsers-Weeda & Sjaak Smetsers 1 Inhoudsopgave Inleiding 1 Leerdoelen 1 Instructies 1 Theorie

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

Opdracht 5: Dodo heeft plannen

Opdracht 5: Dodo heeft plannen Opdracht 5: Dodo heeft plannen Algoritmisch Denken en Gestructureerd Programmeren (in Greenfoot) c 2017 Renske Smetsers-Weeda & Sjaak Smetsers 1 Inhoudsopgave Inleiding 1 Leerdoelen 1 Instructies 1 Theorie

Nadere informatie

Opdracht 4: Overzichtelijker en generieker

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

Nadere informatie

Opdracht 5: Dodo wordt slimmer

Opdracht 5: Dodo wordt slimmer Opdracht 5: Dodo wordt 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

Opdracht 5: Dodo wordt slimmer

Opdracht 5: Dodo wordt slimmer Opdracht 5: Dodo wordt 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

Opdracht 4: Dodo wordt slimmer

Opdracht 4: Dodo wordt slimmer Opdracht 4: Dodo wordt slimmer Algoritmisch Denken en Gestructureerd Programmeren (in Greenfoot) c 2017 Renske Smetsers-Weeda & Sjaak Smetsers 1 Inhoudsopgave Inleiding 1 Leerdoelen 1 Instructies 2 Theorie

Nadere informatie

Kennismaken Greenfoot

Kennismaken Greenfoot HOOFDSTUK 1 Kennismaken met Greenfoot onderwerpen: de interface van Greenfoot, omgaan met objecten, methodes aanroepen, een scenario uitvoeren concepten: object, klasse, methode-aanroep, parameter, retourwaarde

Nadere informatie

Opdracht 8 Sokoban. Mimi kan een ei vooruit duwen; aan een ei trekken kan ze niet.

Opdracht 8 Sokoban. Mimi kan een ei vooruit duwen; aan een ei trekken kan ze niet. Opdracht 8 Sokoban Algoritmisch Denken en Gestructureerd Programmeren in Greenfoot c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Op dit werk is een creative commons licentie van toepassing. 1 Inleiding

Nadere informatie

Algoritmisch Denken en Gestructureerd Programmeren (in Greenfoot) Inleiding 1. Leerdoelen 1. Instructies 1

Algoritmisch Denken en Gestructureerd Programmeren (in Greenfoot) Inleiding 1. Leerdoelen 1. Instructies 1 Opdracht 6: Lijsten Algoritmisch Denken en Gestructureerd Programmeren (in Greenfoot) c 2017 Renske Smetsers-Weeda & Sjaak Smetsers 1 Inhoudsopgave Inleiding 1 Leerdoelen 1 Instructies 1 Theorie 2 6.1

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

BEGINNER JAVA Inhoudsopgave

BEGINNER JAVA Inhoudsopgave Inhoudsopgave 6 Configuratie Hallo wereld! Praten met de gebruiker Munt opgooien Voorwaarden Lussen......6 Configuratie Met deze Sushi kaarten ga je een simpel spel maken met één van de meest populaire

Nadere informatie

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. 1 Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. Voordat je leert programmeren, moet je jouw pc zo instellen dat

Nadere informatie

Nascholing Algoritmisch Denken. Martin Bruggink Renske Smetsers

Nascholing Algoritmisch Denken. Martin Bruggink Renske Smetsers Nascholing Algoritmisch Denken Martin Bruggink Renske Smetsers Tip: bloemblaadjes rond de roos Tip: bloemblaadjes rond de roos: ABSTRACTIE!! Speerpunten bijeenkomst #3 Afrondend bijeenkomst Terugkoppeling

Nadere informatie

TELEPORTEREN MET VARIABELEN

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

Nadere informatie

Nascholing Algoritmisch Denken. Martin Bruggink Renske Smetsers

Nascholing Algoritmisch Denken. Martin Bruggink Renske Smetsers Nascholing Algoritmisch Denken Martin Bruggink Renske Smetsers Speerpunten bijeenkomst #2 Praktische bijeenkomst Hele ontwikkelcyclus doorlopen Algoritme ontwerpen Flowchart Code Reflectie Programma tweede

Nadere informatie

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? 1 Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? Voordat je begint met programmeren, moet je Ruby installeren.

Nadere informatie

Simon de schildpad. 2015 J van Weert 1

Simon de schildpad. 2015 J van Weert 1 Programmeren met Simon Simon de schildpad 2015 J van Weert 1 Inleiding: Wat is programmeren eigenlijk? Een computer doet niets zonder een programma. Die programma s worden geschreven door mensen: programmeurs.

Nadere informatie

Stroomschema s maken in Word

Stroomschema s maken in Word 1 Stroomschema s maken in Word Een programma direct maken in Scratch gaat vaak wel goed als het een klein programma is. Als het programma groter en moeilijker is, is het lastig om goed te zien welk commando

Nadere informatie

Simon de schildpad. 2012 J van Weert 1

Simon de schildpad. 2012 J van Weert 1 Programmeren met Simon Simon de schildpad 2012 J van Weert 1 Inleiding: Wat is programmeren eigenlijk? Een computer doet niets zonder een programma. Die programma s worden geschreven door mensen: programmeurs.

Nadere informatie

HOOfDsTuk 1 Objecten en klassen

HOOfDsTuk 1 Objecten en klassen HOOfDsTuk 1 Belangrijkste concepten in dit hoofdstuk: objecten klassen methodes parameters We springen meteen in het diepe en maken een begin met onze behandeling van objectgeorienteerd programmeren. Om

Nadere informatie

Handleiding bij de Booktest Generator

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

Nadere informatie

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

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

Nadere informatie

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet

Nadere informatie

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele Informatica Objectgeörienteerd leren programmeren Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode Objectgeörienteerd

Nadere informatie

Opdracht 7: Dodo s race

Opdracht 7: Dodo s race Opdracht 7: Dodo s race Algoritmisch Denken en Gestructureerd Programmeren in Greenfoot c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Op dit werk is een creative commons licentie van toepassing. https://creativecommons.org/licenses/by/4.0/

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

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

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

Nadere informatie

PROS1E1 Handleiding ( ) Kf/Dd/Bd

PROS1E1 Handleiding ( ) Kf/Dd/Bd 1 Inleiding De eerste oefening In deze eerste oefening wordt het voorbeeld 2-1 van bladzijde 11 uit het boek De taal C van PSD tot C-programma (enigszins aangepast) ingevoerd in de computer. Tevens wordt

Nadere informatie

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

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

Nadere informatie

Algemene opzet cursus

Algemene opzet cursus Algemene opzet cursus Algoritmisch Denken en Gestructureerd Programmeren in Greenfoot c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Op dit werk is een creative commons licentie van toepassing. https://creativecommons.org/licenses/by/4.0/

Nadere informatie

Practicumopgave 3: SAT-solver

Practicumopgave 3: SAT-solver Practicumopgave 3: SAT-solver Modelleren en Programmeren 2015/2016 Deadline: donderdag 7 januari 2016, 23:59 Introductie In het vak Inleiding Logica is onder andere de propositielogica behandeld. Veel

Nadere informatie

Opdracht 7: Dodo s race

Opdracht 7: Dodo s race Opdracht 7: Dodo s race Algoritmisch Denken en Gestructureerd Programmeren in Greenfoot c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Op dit werk is een creative commons licentie van toepassing. https://creativecommons.org/licenses/by/4.0/

Nadere informatie

Nascholing Algoritmisch Denken. Martin Bruggink Renske Smetsers

Nascholing Algoritmisch Denken. Martin Bruggink Renske Smetsers Nascholing Algoritmisch Denken Martin Bruggink Renske Smetsers Speerpunten bijeenkomst #2 Praktische bijeenkomst Hele ontwikkelcyclus doorlopen Algoritme ontwerpen Flowchart Code Reflectie Programma tweede

Nadere informatie

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13 5 Inhoud Inhoud Over dit boek 7 1 Eclipse IDE (Integrated Development Environment) 9 2 Functionele specificatie 13 3 Implementatie grafische gebruikersinterface 31 4 De klassen en methoden 57 5 Technische

Nadere informatie

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS)

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) Vereiste voorkennis Voldoende kennis van het besturingssysteem (in deze handleiding wordt uitgegaan van Windows) De basisprincipes van programmeren Vereiste

Nadere informatie

Een spoedcursus python

Een spoedcursus python Een spoedcursus python Zoals je in de titel misschien al gezien hebt, geven wij een spoedcursus Python. Door deze cursus leer je alle basics, zoals het rekenen met Python en het gebruik van strings. Het

Nadere informatie

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

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

Nadere informatie

Algoritmisch Denken en Gestructureerd Programmeren

Algoritmisch Denken en Gestructureerd Programmeren Algoritmisch Denken en Gestructureerd Programmeren Martin Bruggink en Renske Smetsers-Weeda I&I, 8 november 2018 http://course.cs.ru.nl/greenfoot/ www.informaticaunplugged.nl Even voorstellen Renske Smetsers-Weeda

Nadere informatie

Figuren in Word. Vul de Wat weet ik al?-kaart in van les 7. Als je nog niet alles weet en kan, zoek het dan op in les 7.

Figuren in Word. Vul de Wat weet ik al?-kaart in van les 7. Als je nog niet alles weet en kan, zoek het dan op in les 7. Figuren in Word Wat heb je de vorige les geleerd? Hoe je een rand om een alinea kunt maken Tekst te arceren in verschillende kleuren Hoe je een rand om een pagina kunt zetten Op welke manier je tekst kunt

Nadere informatie

U ziet de progressie van de download aan de groene blokjes in het balkje helemaal onder aan de pagina.

U ziet de progressie van de download aan de groene blokjes in het balkje helemaal onder aan de pagina. Gegevens exporteren en bewerken vanuit GRIEL Stap 1. Selecteer de juiste gegevens en download deze 1. Stel het datumfilter in op de gewenste periode. Druk op ververs. 2. Maak met behulp van het filter

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

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

Scratch. Gemaakt door: Déjan van Noordt en Leroy van den Driesche Leerlingen HAVO 5 SG Spieringshoek Als onderdeel voor het vak Informatica

Scratch. Gemaakt door: Déjan van Noordt en Leroy van den Driesche Leerlingen HAVO 5 SG Spieringshoek Als onderdeel voor het vak Informatica Scratch sdas Gemaakt door: Déjan van Noordt en Leroy van den Driesche Leerlingen HAVO 5 SG Spieringshoek Als onderdeel voor het vak Informatica Inhoud Wat is scratch?... 2 Deel 1: Account aanmaken... 2

Nadere informatie

Baltie. Dubbelklik op de snelkoppeling van Baltie. Klik op Modes 1. Building. Klik op Scene Open/New...: Zoek je eigen map op.

Baltie. Dubbelklik op de snelkoppeling van Baltie. Klik op Modes 1. Building. Klik op Scene Open/New...: Zoek je eigen map op. Dubbelklik op de snelkoppeling van Baltie Baltie Klik op Modes 1. Building Klik op Scene Open/New...: Zoek je eigen map op. Vul achter Bestandsnaam de schoolcode + jouw initialen + de naam van het programma

Nadere informatie

Nascholing Algoritmisch Denken. Martin Bruggink Renske Smetsers

Nascholing Algoritmisch Denken. Martin Bruggink Renske Smetsers Nascholing Algoritmisch Denken Martin Bruggink Renske Smetsers Tip: bloemblaadjes rond de roos Tip: bloemblaadjes rond de roos: ABSTRACTIE!! Speerpunten bijeenkomst #3 Afrondend bijeenkomst Terugkoppeling

Nadere informatie

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

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

Nadere informatie

I. Vorming 1 (12/04/2012) 1. Werken met een tekstverwerker p2 2. Mappenstructuur op een computer p6 3. Externe USB- stick gebruiken p10

I. Vorming 1 (12/04/2012) 1. Werken met een tekstverwerker p2 2. Mappenstructuur op een computer p6 3. Externe USB- stick gebruiken p10 INHOUDSTAFEL De inhoudstafel blijft in eerste instantie nog beperkt. Deze zal gestaag aangroeien en zal pas compleet zijn na de laatste vormingssessie. Het doel is om in de eerste sessie, samen met de

Nadere informatie

Microsoft Word Spellingcontrole

Microsoft Word Spellingcontrole Microsoft Word 2010 Spellingcontrole Inhoudsopgave 5. Controle 5.1 Spellingcontrole 5.2 Woordenlijsten 5.3 Zoeken en vervangen 5.4 Afdrukvoorbeeld en afdrukken 5.1 Spellingcontrole Word geeft spelfouten

Nadere informatie

van PSD naar JavaScript

van PSD naar JavaScript 2015 van PSD naar JavaScript F. Vonk versie 2 19-9-2015 inhoudsopgave 1. inleiding... - 2-2. ontwikkelomgeving... - 3-3. programmeerconcepten... - 4 - statement... - 4 - sequentie... - 4 - variabele en

Nadere informatie

Modelleren en Programmeren

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

Nadere informatie

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

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

WELKOM BIJ BOMBERBOT! LES 2: SEQUENTIES I LES 2: SEQUENTIES I WAAR GAAT DEZE LES OVER? INTRODUCTIE WELKOM BIJ BOMBERBOT! Bij onze lessen horen ook nog een online game, waarin de leerlingen de concepten die ze geleerd krijgen direct moeten toepassen, en een online platform, waarin u de voortgang van

Nadere informatie

Arduino Cursus, Deel 2 Programmeren. Simon Pauw, ZB45, Amsterdam

Arduino Cursus, Deel 2 Programmeren. Simon Pauw, ZB45, Amsterdam Arduino Cursus, Deel 2 Programmeren Simon Pauw, ZB45, Amsterdam Programmeren Geen zorgen als je niet alles begrijpt. Doel: Het snappen van bestaande code. Meeste kennis ook toepasbaar buiten de Arduino

Nadere informatie

TEKSTVERWERKEN, DE BASIS

TEKSTVERWERKEN, DE BASIS TEKSTVERWERKEN, DE BASIS TEKSTVERWERKEN Deze opdrachten helpen je bij het tekstverwerken waardoor je een brief of bericht kan typen in Word. Er zijn veel verschillende Word-versies. De symbolen blijven

Nadere informatie

Bijlage Inlezen nieuwe tarieven per verzekeraar

Bijlage Inlezen nieuwe tarieven per verzekeraar ! Bijlage inlezen nieuwe tarieven (vanaf 3.2) Bijlage Inlezen nieuwe tarieven per verzekeraar Scipio 3.303 biedt ondersteuning om gebruikers alle tarieven van de verschillende verzekeraars in één keer

Nadere informatie

Basistechnieken Microsoft Excel in 15 minuten

Basistechnieken Microsoft Excel in 15 minuten Basistechnieken Microsoft Excel in 15 minuten Microsoft Excel is een rekenprogramma. Je kan het echter ook heel goed gebruiken voor het maken van overzichten, grafieken, planningen, lijsten en scenario's.

Nadere informatie

Handleiding. Cv templates. Venbroekstraat AS Nieuwkuijk

Handleiding. Cv templates. Venbroekstraat AS Nieuwkuijk Handleiding Cv templates Inhoudsopgave Inhoudsopgave 2 Maak een keuze: 1 of 2 pagina s 3 Tekst wijzigen 3 Grootte van tekstblok wijzigen 3 Kleur of lettertype veranderen 3 Lettertypes installeren 3 Profielfoto

Nadere informatie

Scratch Rekenen & programmeren

Scratch Rekenen & programmeren Scratch Rekenen & programmeren Welkom bij deze Scratch workshop! Vandaag ga jij kennismaken met Scratch. Scratch is een online programmeertaal speciaal gemaakt voor kinderen vanaf 8 jaar. Ben je er klaar

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

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk. HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een

Nadere informatie

Baltie. Modes 1 en 2. Dubbelklik op de snelkoppeling van Baltie. Klik op Modes 1. Building. Klik op Scene Open/New...: Zoek je eigen map op.

Baltie. Modes 1 en 2. Dubbelklik op de snelkoppeling van Baltie. Klik op Modes 1. Building. Klik op Scene Open/New...: Zoek je eigen map op. Baltie Modes 1 en 2 Dubbelklik op de snelkoppeling van Baltie Klik op Modes 1. Building Klik op Scene Open/New...: Zoek je eigen map op. Vul achter Bestandsnaam de schoolcode + initialen + de naam van

Nadere informatie

Scratch les 1 Rekenen

Scratch les 1 Rekenen Scratch les 1 Rekenen Welkom bij deze Scratch workshop! Vandaag ga jij kennismaken met Scratch. Scratch is een programmeertaal speciaal gemaakt voor kinderen vanaf 8 jaar, dus dat moet ons als leerkrachten

Nadere informatie

Hoe moet je een prachtige presentatie maken?

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

Nadere informatie

STROOMDIAGRAMMEN. Hoofdstuk 8. Hoe je Galgje moet spelen. Voorbeelduitvoer van Galgje. Hoofdstuk 8 Stroomdiagrammen 67

STROOMDIAGRAMMEN. Hoofdstuk 8. Hoe je Galgje moet spelen. Voorbeelduitvoer van Galgje. Hoofdstuk 8 Stroomdiagrammen 67 Hoofdstuk 8 STROOMDIAGRAMMEN Hoofdstuk 8 Stroomdiagrammen 67 In dit hoofdstuk behandelen we: Hoe je Galgje moet spelen ASCII-tekeningen Een programma ontwerpen met behulp van stroomdiagrammen In dit hoofdstuk

Nadere informatie

Stroomschema s maken op papier

Stroomschema s maken op papier 1 Stroomschema s maken op papier Een programma direct maken in Python, gaat vaak wel goed als het een klein programma is. Als het programma groter en moeilijker is, is het lastig om goed te zien welk commando

Nadere informatie

Programmeren met Scratch

Programmeren met Scratch Programmeren met Scratch Inleiding Heb je zin om zelf een spelletje te maken, of een tof filmpje in elkaar te steken, maar weet je niet hoe je hieraan moet beginnen? Scratch is een zeer goed programma,

Nadere informatie

Gebruikershandleiding Edit

Gebruikershandleiding Edit Gebruikershandleiding Edit Maak gebruik van de inloggegevens die je terugvindt in jouw mailbox. Noteer ze eventueel ook hier: url: www.. nl/edit Navigeer naar dit adres, door de url in te typen in de adresbalk

Nadere informatie

g. Je kan nu door op de play knop te drukken je programma versturen naar de EV3 brick waarna het zal uitgevoerd worden.

g. Je kan nu door op de play knop te drukken je programma versturen naar de EV3 brick waarna het zal uitgevoerd worden. EV3 brick verbinden via bluetooth. 1) Alvorens de LEGO software op te starten kijk je het best of bluetooth op je PC is geactiveerd. Vooral bij laptops schakelt men deze functie vaak uit om batterij te

Nadere informatie

Programmeren in Java les 3

Programmeren in Java les 3 4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een

Nadere informatie

10. Mijn eerste programma

10. Mijn eerste programma 10. Mijn eerste programma Een korte handleiding voor het invoeren en editten van programmatekst voor een pseudotaal programma. In dit hoofdstuk wordt beschreven hoe je je allereerste pseudotaal programma

Nadere informatie

Samen op zoek naar proeven

Samen op zoek naar proeven Samen op zoek naar proeven De handleiding Jens Vanhouwaert jens@vanhouwaert.be 1 Inhoudsopgave 1 Handleiding... 4 1.1 De website... 4 1.2 Algemene werking... 4 1.3 Download de databank... 4 1.3.1 Internet

Nadere informatie

Handleiding: PowerPoint

Handleiding: PowerPoint 1. Geschiedenis Handleiding: PowerPoint 1à teken de lichtstralen van de lamp, zodat het beeld van de dia geprojecteerd wordt op het scherm? Hierboven zie je de werking van de meest eenvoudige projectiemethode.

Nadere informatie

Bestanden bewaren met SkyDrive

Bestanden bewaren met SkyDrive Bestanden bewaren met SkyDrive Wat is SkyDrive? Met SkyDrive (www.skydrive.live.com) kun je bestanden opslaan op een beveiligde, gratis website. De bestanden kun je overal ter wereld weer downloaden. De

Nadere informatie

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

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

Nadere informatie

Seven segments of Pi

Seven segments of Pi Seven segments of Pi Seven segments of pi Aan de slag met seven segments of Pi! Seven segments is een klein add-on boardje voor de raspberry pi. Deze add-on bestaat uit een display en een knopje. Meer

Nadere informatie

Scratch les 3: Quiz! Je eigen spelshow

Scratch les 3: Quiz! Je eigen spelshow Scratch les 3: Quiz! Je eigen spelshow Hoeveel weten jouw vriendjes en vriendinnetjes over jouw favoriete onderwerp? Test het met je zelfgemaakte quiz! Ga naar https://scratch.mit.edu/projects/112774047/.

Nadere informatie

1. Open het programma KompoZer Het grote witte vlak is een nog lege webpagina. Deze gaan we nu van inhoud voorzien.

1. Open het programma KompoZer Het grote witte vlak is een nog lege webpagina. Deze gaan we nu van inhoud voorzien. Minicursus KompoZer In deze cursus ga je leren werken met het computerprogramma KompoZer. Stapsgewijs maak je een voorbeeldsite. Daarna kun je alles wat je geleerd hebt gebruiken om je eigen website te

Nadere informatie

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin: Java Les 2 Theorie Beslissingen Algemeen Net als in het dagelijks leven worden in software programma s beslissingen genomen, naast het toekennen van waarden aan variabelen zijn beslissingen één van de

Nadere informatie

Scratch les 3: Spirograaf

Scratch les 3: Spirograaf Scratch les 3: Spirograaf Een kunstwerk maken Met programmeren kun je alles maken! Ook een kunstwerk! In deze les maken we zelf een kunstwerk met Scratch. En je leert ook over herhalingen en over variabelen.

Nadere informatie

Javascript oefenblad 1

Javascript oefenblad 1 Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de

Nadere informatie

Kant patroon in Embird Studio.

Kant patroon in Embird Studio. Kant patroon in Embird Studio. Deze les is gemaakt in Embird Studio build 5. Mocht je vragen hebben kun je me altijd een e-mail sturen. Voordat je begint bedenk dat ik hier alleen wat suggesties geef zodat

Nadere informatie

Het hele scherm besturen

Het hele scherm besturen De Sense HAT programmeren Het hele scherm besturen Met de Sense HAT kun je allerlei omstandigheden in het ISS waarnemen en opslaan. Ook kun je ze laten zien als tekst of plaatje op het ledscherm. In deze

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

[13] Rondjes draaien (loops)

[13] Rondjes draaien (loops) [13] Rondjes draaien (loops) Met de if else uit de leerfiche [11] hebben we leren werken met één van de belangrijkste programmeerstructuren in Python. Bijna even belangrijk zijn de verschillende mogelijkheden

Nadere informatie

Tips; fotoboek maken (bron: hema.nl)

Tips; fotoboek maken (bron: hema.nl) Tips; fotoboek maken (bron: hema.nl) tekst roteren Draai je tekst zodat het mooi onder of op je scheef geplaatste foto staat. Of maak zelf leuke labels in combinatie met clipart. 1. kies de clipart (bij

Nadere informatie

Extra oefening Probeer de voorbeeldprogramma s uit de LeJOS tutorial en de samples die bij de LeJOS software geïnstalleerd zijn.

Extra oefening Probeer de voorbeeldprogramma s uit de LeJOS tutorial en de samples die bij de LeJOS software geïnstalleerd zijn. Opdracht 4 Inhoud Applicatiebouw op dag 4 College In het college wordt een introductie gegeven over het programmeren van de Lego Mindstorms NXT in de programmeertaal Java. Werkcollege In het werkcollege

Nadere informatie

Handleiding installeren en wijzigen emailhandtekening

Handleiding installeren en wijzigen emailhandtekening Handleiding installeren en wijzigen emailhandtekening Inleiding Met behulp van een script kun je automatisch een handtekening plaatsen onder al je emailberichten. Je bericht komt er dan zo uit te zien:

Nadere informatie

eerste voorbeelden in Java

eerste voorbeelden in Java Beginselen van programmeren 2 eerste voorbeelden in Java vereisten: een editor: om programma in te tikken en te bewaren een Java compiler: zet ingetikte (bron-) programma om naar byte-code een Java Virtuele

Nadere informatie

DEEL: THEMA. Klik op Thema. Nu verschijnen er een aantal thema s. Dubbelklik op een thema en je krijgt het volgende schermpje:

DEEL: THEMA. Klik op Thema. Nu verschijnen er een aantal thema s. Dubbelklik op een thema en je krijgt het volgende schermpje: DEEL: THEMA In het Notebook kun je zelf snel de bladzijde een leuk uiterlijk geven d.m.v. een thema. Deze thema s vind je op de volgende manier: Klik op Gallery Klik op Thema Nu verschijnen er een aantal

Nadere informatie