Inhoud hoofdstuk 2. Programmeren met herhaling en keuze. Introductie. Leerkern. Leereenheid 2 Programmeren met herhaling en keuze

Maat: px
Weergave met pagina beginnen:

Download "Inhoud hoofdstuk 2. Programmeren met herhaling en keuze. Introductie. Leerkern. Leereenheid 2 Programmeren met herhaling en keuze"

Transcriptie

1 Inhoud hoofdstuk 2 Programmeren met herhaling en keuze Introductie Leerkern 1 Algoritmen 2 Variabelen en toekenning 2.1 Variabelen en waarden 2.2 Toekenningen en uitdrukkingen 2.3 Variabelen in JavaLogo 3 Herhalingsopdrachten 3.1 Voorbeeld van een herhaling 3.2 Algemene vorm van de herhalingsopdracht 3.3 Een toepassing 4 Keuzeopdrachten 4.1 Twee voorbeelden 4.2 Algemene vormen van de keuzeopdracht 4.3 Een toepassing 5 Animatie 6 Drie uitdagende programma s 1

2 Starten met programmeren Hoofdstuk 2 Programmeren met herhaling en keuze I N T R O D U C T I E In het vorige hoofdstuk hebben we geleerd hoe we vanuit een JavaLogoprogramma een pen kunnen besturen om daarmee gekleurde lijnen en vlakken te kunnen tekenen. Eerst werden alle tekenopdrachten in een methode tekenprogramma() geplaatst; daarna leerden we u om extra methoden toe te voegen en die ook te gebruiken. Alle methoden die we schreven, bestonden uit een enkele rij opdrachten. Voor sommige methoden leidde dat tot veel herhaling. Een twintighoek met zijde 50 zouden we bijvoorbeeld alleen kunnen tekenen door twintig maal de opdrachten pen.vooruit(50); pen.rechts(18); te herhalen. Dat moet beter kunnen. In dit hoofdstuk leren we hoe we methoden kunnen structureren, bijvoorbeeld door aan te geven dat een bepaalde opdracht of reeks opdrachten een aantal keren herhaald moet worden. We zullen daarbij eerst wat afstand nemen van JavaLogo en zelfs van programmeren. Al voor er computers bestonden, werden er rekenvoorschriften ontworpen om bepaalde problemen op te lossen. Een voorbeeld: in de zestiende eeuw bedachten de geleerden Lilius en Clavius een methode om voor een willekeurig jaar uit te rekenen op welke datum Pasen valt in dat jaar. Dergelijke rekenvoorschriften noemen we ook wel algoritmen. In paragraaf 1 gaan we in algemene zin naar algoritmen kijken. In de volgende paragrafen leren we de belangrijkste elementen kennen waaruit we een algoritme op kunnen bouwen, en passen we die ook toe in JavaLogo-programma s: elke methode is een uitwerking van een (klein) algoritme. In paragraaf 5 bekijken we hoe we in JavaLogo eenvoudige animaties kunnen maken, waarbij de vaardigheden uit de rest van het hoofdstuk goed van pas zullen blijken te komen. Ook dit hoofdstuk heeft tot slot een bijlage, waarin we u leren hoe u JavaLogo-programma s op het web kunt plaatsen. L E E R K E R N 1 Algoritmen Hoe bereidt men het toetje tiramisu? Hoe breit men een kabeltrui voor een zevenjarige? Hoe telt men een rij getallen bij elkaar op? Hoe vindt men alle priemgetallen (getallen die alleen deelbaar zijn door 1 en zichzelf, zoals 2, 3, 13 en 83) onder ? Hoe bepaalt men de kortste weg tussen twee steden? Hoe rekent men uit op welke dag 29 juli 2488 zal vallen? 2

3 Algoritme Al deze vragen hebben gemeen, dat hun antwoord een voorschrift is, een stappenplan dat aangeeft hoe u het gewenste resultaat kunt bereiken. Een dergelijk stappenplan, in de vorm van een reeks uitvoerbare opdrachten, noemen we ook wel een algoritme. Hoewel recepten en breipatronen ook algoritmen zijn, wordt de term vooral gebruikt voor rekenkundige voorschriften. De gegeven voorbeelden maken ook duidelijk dat er al algoritmen bedacht werden lang voor er computers bestonden. In de introductie noemden we al de methode voor de bepaling van de paasdatum van Lilius en Clavius. Een nog veel ouder voorbeeld is de handige methode om priemgetallen te vinden die de Griek Erathostenes bedacht in de derde eeuw voor Christus. Deze methode draagt nog steeds zijn naam: hij staat bekend als de zeef van Erathostenes. Wij gaan op deze algoritmen overigens verder niet in. Het woord algoritme is afgeleid van de naam van een Arabische schrijver van leerboeken: Abu Ja far Mohammed ibn Mûsâ al-khowârizmî, die leefde omstreeks 825. De naam betekent: vader van Ja for, Mohammed, zoon van Mozes, geboren in Khowârizm. Het woord algoritme is gevormd uit het laatste gedeelte van de naam: al-khowârizmî. Al- Khowârizmî schreef een beroemd boek Kitab al jabr w ahl. Van deze titel stamt een ander woord af dat we kennen in onze taal, namelijk algebra ( al jabr ). Bij het programmeren hebben we ook te maken met algoritmen. Stel bijvoorbeeld dat u met behulp van JavaLogo de vlakvulling zou willen tekenen uit figuur 2.1. U moet dan een voorschrift bedenken dat de pen op de juiste manier bestuurt, en liefst een handig voorschrift, zodat niet elke penbeweging afzonderlijk hoeft te worden opgeschreven. FIGUUR 2.1 Vlakvulling van driehoeken in drie kleuren Basisopdrachten en combinatiemogelijkheden Een algoritme is opgebouwd uit twee ingrediënten. Ten eerste is er een aantal basisopdrachten. De persoon of machine die het algoritme uitvoert, moet die basisopdrachten beheersen. Bij recepten zijn dat opdrachten als fruit de uitjes, schil de aardappels of voeg peper naar smaak toe. In breipatronen gaat dat bijvoorbeeld om het opzetten van steken en het breien van steken recht of averecht. Ten tweede zijn er manieren om die basisopdrachten te combineren. Bij recepten is dat meestal alleen opeenvolging: er staat een aantal basisopdrachten achter elkaar. Bij programmeren en breien is naast opeenvolging in elk geval ook herhaling van belang (brei 17 pennen 1r 1a, of teken 20 keer een rij driehoeken). 3

4 Starten met programmeren OPGAVE 2.1 a Van welke basisopdrachten hebt u gebruikgemaakt bij het besturen van de pen in JavaLogo? (Houd bij de beantwoording van deze opgave even geen rekening met eigen, extra methoden.) b Op welke manier zijn die basisopdrachten tot nu toe gecombineerd? OPGAVE 2.2 Probeer voor een persoon die twee getallen bij elkaar op kan tellen, een voorschrift te formuleren voor het optellen van een willekeurige rij getallen. (NB: de persoon kan dus niets anders dan twee getallen optellen.) Toekenning De basisopdrachten van JavaLogo genoemd in de uitwerking van opgave 2.1, zijn uniek voor die taal. In paragraaf 2 van dit hoofdstuk besteden we aandacht aan één extra basisopdracht, die in zeer veel hogere programmeertalen voorkomt, namelijk de toekenning, ofwel de mogelijkheid om een bepaalde waarde onder een bepaalde naam te onthouden. Voorbeeld De eerste opdracht in het algoritme van Lilius en Clavius voor het berekenen van de paasdatum, kunnen we in woorden als volgt opschrijven: Deel het jaar waarvoor de datum berekend moet worden, door 19, tel bij de rest van die deling 1 op en noem het resultaat A. Voor het jaar 1905 bijvoorbeeld levert dit = 6 op (bij deling van 1905 door 19 blijft een rest van 5 over). Meer wiskundig kunnen we dit opschrijven als A = rest(jaar/19) + 1 We onthouden de rest van de deling jaar/19 vermeerderd met één onder de naam A, ofwel: we kennen die waarde toe aan de variabele A. In paragraaf 2 gaan we nader in op variabelen en toekenningen. Er zijn verder drie standaardmanieren om basisopdrachten te combineren: opeenvolging, herhaling en keuze. Deze drie komen in de een of andere vorm in alle hogere programmeertalen voor. Opeenvolging Herhaling Keuze Opeenvolging is de mogelijkheid een aantal opdrachten na elkaar uit te voeren. We hebben deze mogelijkheid al toegepast in het vorige hoofdstuk. Herhaling is de mogelijkheid om een opdracht of een reeks opdrachten te herhalen tot aan een bepaalde voorwaarde is voldaan. Het algoritme voor het optellen van een rij getallen uit opgave 2.2 bevat een herhaling; het schrijft voor om een opdracht te herhalen tot we alle getallen gehad hebben. In paragraaf 3 bekijken we herhaling in JavaLogo. De derde is keuze, de mogelijkheid om de uitvoering van een bepaalde opdracht afhankelijk te maken van een voorwaarde. Een voorbeeld kunnen we ontlenen aan de berekening van de paasdatum. Stel, op een gegeven moment hebben we uitgerekend hoeveel dagen na 21 maart het Pasen is; dit getal hebben we onthouden onder de naam P. Is P bijvoorbeeld gelijk aan 3, dan valt Pasen dat jaar op 24 maart; is P 17, dan valt Pasen op 7 april. Om uit P de paasdatum te berekenen, moeten we 4

5 twee gevallen onderscheiden: als P 10 of kleiner is, valt Pasen op (21 + P) maart; is P groter dan 10, dan valt Pasen op (P 10) april. In een algoritme zouden we dat bijvoorbeeld als volgt opschrijven: ALS (P 10) DAN paasdatum = P + 21 maart ANDERS paasdatum = P 10 april In paragraaf 4 gaan we nader in op keuze in JavaLogo. 2 Variabelen en toekenning In deze paragraaf behandelen we een onderwerp waarvan het belang pas in de paragrafen daarna volledig duidelijk zal worden. Het gaat om de manier waarop een programma gebruik kan maken van de geheugenfunctie van een computer, door waarden onder een bepaalde naam op te slaan. We kijken naar het begrip variabele, naar toekenningen aan variabelen en tot slot naar het gebruik van variabelen in JavaLogo. 2.1 VARIABELEN EN WAARDEN Variabele We kunnen een variabele opvatten als een hokje in het computergeheugen, waar een bepaalde waarde (een string zoals "rood", of een getal zoals 17.5) in onthouden kan worden en dat aangeduid wordt met een bepaalde naam. Wat abstracter kunnen we ook zeggen dat een variabele een combinatie van een naam en een bijbehorende waarde is. Tabel 2.1 toont drie variabelen: een variabele kleur met waarde "rood", een variabele zijde met waarde 100 en een variabele stap met waarde TABEL 2.1 Variabelen en waarden naam waarde kleur "rood" zijde 100 stap 17.5 De waarde van een variabele kan tijdens de uitvoering van een programma één of meer keer veranderd worden. De variabelen uit tabel 2.1 kunnen er na een tijdje bijvoorbeeld uitzien als getoond in tabel 2.2. Kleur en zijde zijn van waarde veranderd, maar stap heeft nog de oude waarde. TABEL 2.2 Variabelen en waarden naam waarde kleur "zwart" zijde 80 stap 17.5 Zijn in JavaLogo-programma s in hoofdstuk 1 al variabelen gebruikt? Hoe kregen die een waarde? 5

6 Starten met programmeren De parameters die we in paragraaf 2.1 van het vorige hoofdstuk gebruikt hebben in de zelfgedefinieerde methoden, zijn voorbeelden van variabelen. In de methode met kop vierkant(double zijde) staan bijvoorbeeld opdrachten pen.vooruit(zijde); zijde is hierin een variabele. Parameters van methoden krijgen een waarde als de bijbehorende opdracht gegeven wordt; de opdracht vierkant(80) bijvoorbeeld geeft de variabele zijde de waarde 80. Namen: regels en afspraken In JavaLogo moeten alle namen (van variabelen, van methoden, van programma s) aan bepaalde regels voldoen. Ze moeten altijd beginnen met een letter (een hoofdletter of een kleine letter) en mogen naast letters verder alleen cijfers en liggende streepjes (_) bevatten. Het is verder gebruikelijk om namen van programma s altijd met een hoofdletter te laten beginnen en namen van variabelen en methoden altijd met een kleine letter. OPGAVE 2.3 Bekijk de volgende namen: n, Drie_hoek, tekenlijn, nummer3, a Welke namen voldoen aan de regels voor namen in JavaLogo? b Welke zijn volgens de afspraken geschikt als variabelenaam? 2.2 TOEKENNINGEN EN UITDRUKKINGEN We hebben net al één manier gezien om een waarde te geven aan een variabele, namelijk door een opdracht te geven om een methode met parameters uit te voeren. Een tweede manier is de toekenning, waarvan we in paragraaf 1 al een voorbeeld zagen. In JavaLogo heeft een toekenning altijd de volgende vorm: variabele = waarde; Let op! = wordt gelijk aan Links staat de variabele die een waarde moet krijgen, rechts staat die waarde. Daartussen in staat een gelijkteken, dat in dit geval gelezen moet worden als wordt gelijk aan en niet als is gelijk aan. Zoals altijd in JavaLogo, eindigt de opdracht met een puntkomma. Eenvoudige voorbeelden van toekenning zijn: kleur = "zwart"; zijde = 25; aantalhoeken = 8; Uitdrukking Soms moet de waarde aan de rechterkant eerst nog uitgerekend worden; er staat dan geen getal of een string, maar een uitdrukking. We geven weer een paar voorbeelden: aantalzijden = 20-4 * 3; hoek = 360 / aantalzijden; oppervlak = zijde * zijde; hoogte = zijde; a = (jaar % 19) + 1; In het eerste voorbeeld krijgt de variabele zijde de waarde = 8 (het sterretje wordt in JavaLogo gebruikt voor vermenigvuldiging). Het tweede voorbeeld is wat zinvoller: de waarde die wordt toegekend aan de variabele hoek, wordt berekend als 360 gedeeld door de waarde die 6

7 de variabele aantalzijden heeft. Heeft aantalzijden de waarde 8, dan wordt hoek gelijk aan 360 / 8 = 45. Heeft aantalzijden de waarde 12, dan wordt hoek gelijk aan 360 / 12 = 30. Het derde voorbeeld kent aan een variabele oppervlak de waarde zijde zijde toe. Het vierde voorbeeld geeft aan de variabele hoogte dezelfde waarde die zijde heeft. Het vijfde voorbeeld tenslotte is het voorbeeld uit paragraaf 1: aan de variabele a wordt de rest van de deling jaar/19 toegekend, verhoogd met 1. In (rekenkundige) uitdrukkingen kunnen dus getallen en variabelen voorkomen, samen met rekenkundige bewerkingen daarop: optellen (+), aftrekken ( ), vermenigvuldigen (*), delen (/). Er zijn nog veel meer bewerkingen mogelijk, waar we er maar één van behandelen: de bewerking % neemt de rest bij deling. OPGAVE 2.4 Welke waarden hebben de variabelen a, b, c, d en e na de volgende reeks toekenningen? a = 10; b = 2 * a + 4; c = a * b; d = c / 100; e = c % 100; We bekijken nog één bijzonder geval. Stel dat we een variabele met de naam bedrag hebben en we willen de waarde van die variabele met 10 verhogen. We kunnen dat als volgt opschrijven: bedrag = bedrag + 10; Om deze toekenning te begrijpen, is het belangrijk om goed te beseffen dat de waarde aan de rechterkant altijd eerst wordt uitgerekend, en dat die pas daarna aan de variabele die links staat, wordt toegekend. Stel bijvoorbeeld dat de variabele bedrag vóór deze toekenning de waarde 60 heeft. De uitdrukking bedrag+10 heeft dan dus de waarde 70. Die waarde wordt vervolgens toegekend aan bedrag. Het resultaat is dan precies wat we wilden: de waarde van de variabele bedrag is met 10 opgehoogd. Dit voorbeeld illustreert een bezwaar tegen het gebruik in Java van het gelijkteken voor de toekenning. Als dat gelijkteken wordt gelezen als is gelijk aan in plaats van als wordt gelijk aan, dan staat hierboven onzin: de waarde van bedrag kan niet gelijk zijn aan diezelfde waarde plus tien (wiskundig gezien heeft de vergelijking bedrag = bedrag + 10 geen oplossing). Sommige programmeertalen vermijden dit soort verwarring door de toekenning te schrijven als :=, dus in dit geval bedrag := bedrag Helaas is daar in Java niet voor gekozen. OPGAVE 2.5 Schrijf de volgende drie opdrachten als toekenningen: a verlaag de waarde van een variabele teller met 1 b verdubbel de waarde van een variabele a c maak de waarde van een variabele b tien keer zo klein. 7

8 Starten met programmeren 2.3 VARIABELEN IN JAVALOGO In een programma in JavaLogo kunnen drie soorten variabelen voorkomen. Variabelen die in het hele programma gebruikt kunnen worden, ofwel programmavariabelen. We hebben al gezien dat de parameters van de zelfgedefinieerde methoden variabelen zijn die een waarde krijgen als er een bijbehorende opdracht wordt uitgevoerd. Het is tenslotte ook mogelijk om binnen een methode nog extra variabelen te gebruiken; we spreken in dat geval van lokale variabelen. We bekijken deze drie vormen een voor een. Programmavariabelen Aan het begin van een JavaLogo-programma, meteen na de kop, kunnen we variabelen opnemen die overal in het programma gebruikt mogen worden. Figuur 2.2 toont een programma VarVoorbeeld met drie programmavariabelen stap, hoek en kleur. 1 import logotekenap.*; public class VarVoorbeeld extends TekenApplet 5 String kleur; double hoek; double stap; public void initialiseer() 10 kleur = "rood"; hoek = 45; stap = 100; 15 public void tekenprogramma() pen.aan(kleur); pen.rechts(hoek); 20 pen.vooruit(stap); FIGUUR 2.2 Het programma VarVoorbeeld heeft drie programmavariabelen. In regels 5-7 staan de drie programmavariabelen genoemd. Van elke programmavariabele wordt eerst het type en dan de naam vermeld; we noemen dat ook wel declaratie. In het algemeen heeft een variabeledeclaratie de volgende vorm: Declaratie type naam; We zullen declaraties van programmavariabelen altijd meteen na de kop van het programma plaatsen en iedere declaratie op een aparte regel zetten (Java laat wat variaties hierop toe, maar die behandelen we niet). In de methode initialiseer geven we de programmavariabelen een (eerste) waarde. De variabele kleur krijgt de waarde "rood", hoek krijgt de waarde 45, en stap de waarde 100. Die waarde moet kloppen met het 8

9 type: aan variabelen van type double worden getallen toegekend, aan variabelen van type String tekstwaarden als "rood" of "zwart". In de methode tekenprogramma maken we gebruik van die waarden: in plaats van pen.aan("rood"), schrijven we pen.aan(kleur). Voor de waarden van parameters in opdrachten geldt hetzelfde als voor de waarde in de rechterkant van een toekenning: de waarde mag geschreven worden als iets dat eerst uitgerekend moet worden. We zouden dus ook bijvoorbeeld mogen schrijven: pen.rechts(hoek 15) of pen.vooruit(stap / ). Als we dat willen, dan mogen we in tekenprogramma() en/of in zelfgedefinieerde methoden, nog andere waarden toekennen aan de programmavariabelen. Voorbeelden daarvan zullen we in de volgende paragrafen zien. OPGAVE 2.6 a In paragraaf 1.1 van hoofdstuk 1 hebben we twee bergen getekend. We zouden in die tekening het een en ander kunnen variëren, zoals aangegeven in figuur 2.3: we zouden de hoogte, de hoek van de top (hoe kleiner die hoek, hoe steiler de berg) of de afstand tussen de twee bergen anders kunnen kiezen. Schrijf een JavaLogo-programma met hoek, hoogte en afstand als programmavariabelen. Voer eventueel uw programma in bij JCreator en experimenteer met verschillende waarden voor de programmavariabelen. b Ziet u een voordeel aan het gebruik van programmavariabelen boven het direct wijzigen van de getallen in het programma uit hoofdstuk 1? 180 hoek 90 + hoek/2 hoogte hoek hoogte 20 afstand FIGUUR 2.3 De hoogte, de tophoek en de afstand kunnen variabel genomen worden. Parameter Parameters zijn al behandeld in paragraaf 2.1 van het vorige hoofdstuk. We hoeven daar nog maar één opmerking aan toe te voegen. Stel, we schrijven een methode met parameters, bijvoorbeeld met de kop public void zeshoek(string kleur, double zijde) Omdat kleur en zijde variabelen zijn, kunnen er in principe binnen de methode nieuwe waarden aan worden toegekend, bijvoorbeeld: public void zeshoek(string kleur, double zijde) pen.aan(kleur); pen.vooruit(zijde); kleur = "zwart"; zijde = zijde 10;... 9

10 Starten met programmeren Dit komt de begrijpelijkheid van uw programma echter meestal niet ten goede, we raden dat dus af. Lokale variabele Tot slot kijken we naar lokale variabelen. Programmavariabelen zijn variabelen die in alle methoden gebruikt mogen worden: de waarde mag overal gebruikt worden in uitdrukkingen en veranderd worden in toekenningen. Soms is een variabele echter alleen nodig binnen één methode. We hebben dan geen programmavariabelen nodig, maar kunnen in plaats daarvan een variabele declareren en gebruiken binnen die methode zelf. Een dergelijke variabele heet een lokale variabele. Buiten die ene methode is deze variabele onbekend. Figuur 2.4 toont als voorbeeld een herformulering van een deel van het tekenprogramma uit figuur 1.12 in hoofdstuk 1, dat vijf steeds kleinere vierkanten tekent (zie ook figuur 1.11). We zullen zien dat het gebruik van een lokale variabele hier een interessant effect heeft. 1 // tekent vijf rode vierkanten van afnemende grootte public void tekenprogramma() double z; 5 double afstand; pen.uit(); pen.links(90); pen.vooruit(230); 10 pen.rechts(90); z = 100; afstand = 20; 15 vierkant(z); naarrechts(z + afstand); z = z - 20; vierkant(z); 20 naarrechts(z + afstand); z = z - 20; vierkant(z); naarrechts(z + afstand); 25 z = z - 20; vierkant(z); naarrechts(z + afstand); z = z - 20; vierkant(z); naarrechts(z + afstand); z = z - 20; FIGUUR 2.4 Lokale variabelen in methode tekenprogramma De regels 4 en 5 bevatten de declaratie van twee lokale variabelen, met de namen z en afstand. De declaraties zien er precies zo uit als die van programmavariabelen: ze noemen het type van de variabele en de naam. Ook hier moet de waarde die aan de variabelen wordt toegekend, altijd kloppen met dat type. 10

11 In regels 7-10 wordt de pen bewogen naar het beginpunt van de tekening. In regels 12 en 13 krijgen z en afstand een eerste waarde: z wordt gelijk aan 100 en afstand aan 20. De variabele afstand zal die waarde steeds houden, maar de variabele z niet. Kijk maar naar regels 15-18: eerst tekenen we een vierkant met zijde z, dan bewegen we de pen naar rechts en dan maken we z 20 pixels kleiner. Dit herhalen we nog vijf keer, voor elk van de vierkanten. U ziet, dat we nu vijf keer precies dezelfde serie van opdrachten hebben, terwijl we toch vijf keer een ander vierkant tekenen! In de volgende paragraaf zult u dit voorbeeld met behulp van een herhaling schrijven. OPGAVE 2.7 In regel 15 van figuur 2.4 staat de opdracht vierkant(z). De methode vierkant ziet er als volgt uit: public void vierkant(double zijde) pen.vulaan("rood"); pen.vooruit(zijde);... Mogen we de variabele z ook gebruiken binnen deze methode en dus bijvoorbeeld schrijven pen.vooruit(z) in plaats van pen.vooruit(zijde)? Tabel 2.3 vat de overeenkomsten en verschillen samen tussen de drie soorten variabelen, door voor elke soort te tonen waar de declaratie staat, hoe de variabele een waarde krijgt en waar in het programma de variabele gebruikt mag worden. TABEL 2.3 Drie soorten variabelen programma- parameters lokale variabelen variabelen declaratie na kop programma in kop methode na kop methode krijgt waarde door toekenning opdracht met toekenning parameters te gebruiken overal binnen methode binnen methode Tot slot van deze paragraaf maken we nog wat opmerkingen over de naamgeving van variabelen. Programmavariabelen mogen overal gebruikt worden. We zorgen er daarom voor, dat parameters en lokale variabelen altijd andere namen krijgen dan de programmavariabelen. Als een methode een parameter heeft met een bepaalde naam, dan mag die methode uiteraard geen lokale variabele hebben met dezelfde naam. Verschillende methoden mogen wel dezelfde naam gebruiken voor een parameter of een lokale variabele. Er is dus niets tegen een methode driehoek met een parameter zijde en een methode vierkant met een parameter die ook zijde heet. Diezelfde naam mag dan ook nog voor een lokale variabele gebruikt worden in een derde methode, zoals tekenprogramma. We hadden de lokale variabele z uit figuur 2.4 dus ook best zijde mogen noemen (maar we kunnen ons voorstellen dat u dat verwarrend zou vinden). 11

12 Starten met programmeren 3 Herhalingsopdrachten 3.1 VOORBEELD VAN EEN HERHALING We kunnen in JavaLogo een opdracht of een reeks opdrachten een aantal keren herhalen. Als eerste voorbeeld kijken we naar de methode vierkant, die een rood vierkant tekent (zie het eind van paragraaf 2 van hoofdstuk 1). Deze bevat vier keer achter elkaar precies dezelfde opdrachten: pen.vooruit(zijde); pen.rechts(90); Figuur 2.5 toont een versie van deze methode waarin gebruikgemaakt wordt van een herhaling. 1 public void vierkant(double zijde) int teller; 5 pen.vulaan("rood"); teller = 1; while (teller <= 4) 10 pen.vooruit(zijde); pen.rechts(90); teller = teller + 1; pen.vuluit(); 15 FIGUUR 2.5 Methode vierkant met herhaling We willen de twee opdrachten pen.vooruit(zijde) en pen.rechts(90) vier keer herhalen. Om op tijd te stoppen, moeten we bijhouden hoe vaak we deze opdrachten al hebben uitgevoerd. We gebruiken daarvoor een lokale variabele teller, die in regel 3 wordt gedeclareerd. int De teller is van een type dat we nog niet eerder hebben gezien, namelijk int. Dit type wordt gebruikt voor gehele getallen, dus bijvoorbeeld 1, 2, 0, 17, 1024 (int is een afkorting van het Engelse woord integer, dat geheel getal betekent). We komen straks nog terug op het type int en het verschil tussen int en double, maar merken nu vast op, dat we tellers altijd het type int zullen geven. In regel 7 geven we deze teller de waarde 1. In regel 8 begint de herhaling. De betekenis van de code in regel 8 is: herhaal de volgende reeks opdrachten, zolang de waarde van de variabele teller kleiner dan of gelijk aan 4 is. Zodra de teller groter is geworden dan 4, zal de herhaling stoppen. JavaLogo moet precies kunnen zien welke opdrachten herhaald moeten worden; deze staan daarom tussen accolades. Het gaat dus om de opdrachten op regels 10, 11 en 12. De eerste twee zijn de bekende opdrachten pen.vooruit(zijde) en pen.rechts(90); de derde opdracht verhoogt de teller met 1. 12

13 Tabel 2.4 laat schematisch zien wat er gebeurt tijdens het uitvoeren van de herhalingsopdracht op regels TABEL 2.4 Wat gebeurt er bij het uitvoeren van de herhaling? teller teller <= 4? effect 1 1 <= 4 is waar pen tekent zijde en draait; teller wordt <= 4 is waar pen tekent zijde en draait; teller wordt <= 4 is waar pen tekent zijde en draait; teller wordt <= 4 is waar pen tekent zijde en draait; teller wordt <= 4 is onwaar herhaling is klaar OPGAVE 2.8 Deze opgave is bedoeld als vingeroefening; u hoeft de methoden dus niet per se op de computer uit te proberen. a Schrijf een methode achthoek(double zijde), die een niet-gevulde regelmatige achthoek tekent met de gegeven zijde. U mag aannemen dat de pen al aan staat. De benodigde draai is nu 45 graden. b Bij het tekenen van een gelijkzijdige driehoek wordt steeds 120 (360 /3) naar rechts gedraaid. Voor een vierkant is de draai 90 (360 /4) en voor een achthoek 45 (360 /8). Voor een regelmatige figuur met n hoeken bedraagt de benodigde draai dus 360 /n. Hierbij is n uiteraard altijd een geheel getal. Schrijf een methode met kop public void nhoek(int n, double zijde) die een (niet-gevulde, zwarte) regelmatige n-hoek tekent. U mag ook nu aannemen dat de pen al aanstaat. c Hoe denkt u dat de figuur er uitziet die wordt getekend met behulp van de opdracht nhoek(360, 1)? Dat is dus een 360-hoek met zijde 1. int en double Vanaf nu gebruiken we twee typen voor getallen: int voor gehele getallen en double voor alle getallen (heel én gebroken). Bij de keuze tussen int en double zullen we ons aan de volgende eenvoudige regel houden. Variabelen die we gebruiken in penbewegingen (vooruit, links, rechts), geven we altijd het type double, zelfs als we van plan zijn om steeds een heel aantal pixels te bewegen of te draaien. We kunnen ons dan gemakkelijk later bedenken en er toch een gebroken getal aan toekennen. Variabelen die we gebruiken als teller of voor aantallen (zoals het aantal hoeken of het aantal zijden van een figuur), krijgen type int. In dit geval zullen we ons immers nooit bedenken; we kunnen een herhaling nu eenmaal niet 3.7 keer uitvoeren of een 7.5-hoek tekenen.!= betekent ongelijk aan in Java Waarom gebruiken we niet gewoon altijd double, ook voor tellers en aantallen? Het probleem daarmee is, dat tests op (on)gelijkheid met waarden van type double niet altijd goed gaan. Een herhaling die begint met while (teller!= 10) zou bijvoorbeeld wel eens nooit kunnen stoppen als teller van het type double is, ook als teller begint op 0 en bij elke doorgang met 1 verhoogd wordt. Is teller van het type int, dan gaat het wel goed. Dat heeft te maken met de manier waarop getallen in een computergeheugen opgeslagen worden. Getallen van type int worden precies opgeslagen; bij getallen van type double wordt de precieze waarde zo goed mogelijk benaderd. Die onnauwkeurigheid maakt, dat de voorwaarde (teller!= 10) onverwacht niet waar kan blijken als teller van type double is: teller is na tien doorgangen wel bijna gelijk aan 10, maar toch net niet helemaal. 13

14 Starten met programmeren 3.2 ALGEMENE VORM VAN DE HERHALINGSOPDRACHT Herhalingsopdracht Algemene vorm Uitvoering van herhalingsopdracht De algemene vorm van de herhalingsopdracht is: while (voorwaarde) opdracht 1 ; opdracht 2 ;... opdracht n ; Als er slechts één opdracht herhaald moet worden, mogen de accolades ook weggelaten worden; dat komt in deze cursus echter nooit voor. We beschrijven nu eerst hoe een herhaling wordt uitgevoerd en kijken dan wat meer in detail naar achtereenvolgens de voorwaarde en de opdrachten. Bij de uitvoering van een herhalingsopdracht wordt eerst bepaald of de voorwaarde waar of niet waar is. Is deze waar, dan wordt de reeks opdrachten uitgevoerd. Het testen van de voorwaarde en de uitvoering van de reeks opdrachten herhaalt zich tot de voorwaarde een keer niet waar blijkt; dan wordt de reeks opdrachten niet meer uitgevoerd, maar gaat het programma verder met de eerste opdracht na de herhaling (als die er is; anders is de methode waarin de herhaling staat, klaar). De uitvoering van een herhalingsopdracht begint én eindigt dus altijd met het testen van de voorwaarde. Het is ook mogelijk dat de voorwaarde de eerste keer al meteen niet waar is; in dat geval wordt de reeks opdrachten geen enkele keer uitgevoerd. Dat is bijvoorbeeld het geval bij de volgende (onverstandige) herhalingsopdracht: teller = 1; while (teller > 10) pen.vooruit(1); pen.rechts(1); Wat zou er gebeuren als we in deze code de voorwaarde wijzigen in (teller > 0)? In dat geval is de voorwaarde waar en worden de twee opdrachten uitgevoerd. De waarde van teller blijft echter steeds gelijk aan 1 en dus blijft de voorwaarde (teller > 0) altijd waar. Het programma zal daarom altijd in de herhaling blijven hangen. Het stopt niet en blijkt dan ook niets te tekenen. U zult het met de hand moeten stoppen (bijvoorbeeld door het DOS-venster dat bij het uitvoeren ook wordt gebruikt, te sluiten). Het blijven hangen in de herhaling kan ook gebeuren als u de accolades om de opdrachten vergeet. JavaLogo herhaalt dan alleen de eerste opdracht; als die de variabele in de voorwaarde niet wijzigt, dan stopt het programma dus niet. Herhaling kan oneindig doorgaan Pas op! Herhalingsopdrachten zijn dus in zekere zin gevaarlijk: u kunt per ongeluk een herhaling schrijven die altijd door blijft gaan. 14

15 Voorwaarde We gaan de voorwaarde bekijken. Wij zullen alleen eenvoudige voorwaarden gebruiken, die twee waarden met elkaar vergelijken. De taalelementen die u hiervoor in Java kunt gebruiken, staan in tabel 2.5. In herhalingsopdrachten zullen we alleen getalwaarden met elkaar vergelijken; de vergelijkingen van Stringwaarden hebben we pas in de volgende paragraaf nodig. TABEL 2.5 Voorwaarden in Java v1 en v2 zijn getalwaarden; s1 en s2 zijn Stringwaarden voorwaarde betekenis* (v1 == v2) waar als v1 en v2 gelijk zijn (v1!= v2) waar als v1 en v2 niet gelijk zijn (v1 > v2) waar als v1 groter is dan v2 (v1 < v2) waar als v1 kleiner is dan v2 (v1 >= v2) waar als v1 groter is dan v2 of gelijk is aan v2 (v1 <= v2) waar als v1 kleiner is dan v2 of gelijk is aan v2 (s1.equals(s2)) waar als s1 en s2 gelijk zijn (!s1.equals(s2)) waar als s1 en s2 niet gelijk zijn * waar als voorwaarde geldt, anders onwaar Gelijkheid van getallen: == Gelijkheid van strings: equals Merk op dat de test op gelijkheid van getallen een dubbel gelijkteken gebruikt. Het enkele gelijkteken is immers al in gebruik voor de toekenning! Herinner u ook, dat testen op gelijkheid of ongelijkheid van waarden van het type double, een hachelijke zaak is. Gelijkheid van Stringwaarden wordt op een andere manier getest. We schrijven bijvoorbeeld niet (kleur == "zwart"), maar kleur.equals("zwart"). Verder mag het ook bij voorwaarden voorkomen dat de te vergelijken waarden eerst uitgerekend moeten worden: er mogen dus aan beide kanten variabelen of uitdrukkingen staan. De volgende voorwaarden zijn dus allemaal toegestaan (aangenomen dat de variabelen a, b en c gedeclareerd zijn en een waarde hebben gekregen): (a > 13.5) (c * c == a - 1) (b * b - 4 * a * c > 0) OPGAVE 2.9 a Stel dat a de waarde 10 heeft, b de waarde 6 en c de waarde 3. Geef voor elk van de drie voorgaande voorwaarden aan, of deze waar is. b Iemand schrijft een herhalingsopdracht van de vorm while (a = 0).... Worden de opdrachten binnen de accolades uitgevoerd? U kunt ook samengestelde voorwaarden uitdrukken door gebruik te maken van de logische operatoren && (EN) en (OF). In bijvoorbeeld while ((a > 0 && b > 0) c > 0) is de voorwaarde waar als of zowel a als b positief zijn, of als c positief is (of allebei). We gaan hier verder niet op in. Opdracht Tot slot kijken we naar de opdrachten zelf. Zo n opdracht binnen een herhaling kan van alles zijn: een opdracht aan pen of tekenblad, een opdracht die een zelfgedefinieerde methode aan het werk zet, een toekenning, maar ook een keuzeopdracht of een herhalingsopdracht. Het 15

16 Starten met programmeren is dus toegestaan om herhalingsopdrachten binnen elkaar te schrijven. We zullen dat overigens in dit hoofdstuk niet doen, omdat we vanwege de begrijpelijkheid liever gebruikmaken van extra methoden. Een voorbeeld daarvan zullen we zien in paragraaf 4. OPGAVE 2.10 Figuur 2.4 toont een versie van het tekenprogramma voor vijf rode vierkanten waarin vijf keer dezelfde serie van drie opdrachten staat. Schrijf een versie die de herhalingsopdracht gebruikt. U mag het uitproberen op de computer, maar dat hoeft niet per se. Aanwijzing: u kunt een teller gebruiken, maar u kunt ook testen op de waarde van de variabele zijde. 3.3 EEN TOEPASSING Tot slot van deze paragraaf gaan we een volledig programma schrijven en uitvoeren in JavaLogo en wel een programma dat een gele spiraal tekent op een zwarte achtergrond, als getoond in figuur 2.6. FIGUUR 2.6 Gele spiraal op zwarte achtergrond We zagen eerder al hoe een cirkel getekend kan worden, namelijk door steeds een stap naar voren te gaan en dan 1 te draaien. Hoe groter de stap is, hoe groter de cirkel wordt. Als we de stap steeds iets kleiner maken, wordt de cirkel ook langzamerhand kleiner en krijgen we een spiraal. In figuur 2.6 zijn we begonnen met een stap van 2 en hebben we die waarde na iedere stap vooruit verkleind met 0,0005, tot de stap 0 is geworden. OPGAVE 2.11 a We gaan een JavaLogo-programma schrijven met de naam Spiraal. Vul eerst de methode initialiseer in; zorg dat deze de achtergrond zwart maakt. Schrijf dan de methode tekenprogramma. Declareer lokale variabelen stap (voor de grootte van de stap) en dstap (de waarde van dstap geeft aan hoeveel kleiner de stap steeds wordt). Zet de pen uit en beweeg die een stuk naar links (bijvoorbeeld 200 pixels). Geef stap de beginwaarde 2 en dstap de waarde Teken de spiraal met behulp van een herhalingsopdracht die door blijft gaan zolang stap nog groter is dan 0. 16

17 b Voer het programma uit op de computer. Experimenteer met andere waarden van stap en dstap. Welk effect heeft het groter of kleiner maken van stap? En van dstap? 4 Keuzeopdrachten 4.1 TWEE VOORBEELDEN Naast de mogelijkheid om opdrachten te herhalen, bieden hogere programmeertalen ook altijd de mogelijkheid om opdrachten al dan niet uit te voeren, afhankelijk van een bepaalde voorwaarde. We beginnen weer met voorbeelden. In opgave 2.8 schreven we een methode nhoek, die een regelmatige n- hoek tekende. In figuur 2.7 gebruiken we die methode om, afhankelijk van de waarde van nummer, een rode cirkel of een blauw vierkant te tekenen. 1 public void vierkantofcirkel(int nummer) if (nummer % 2 == 0) 5 pen.vulaan("blauw"); nhoek(4, 50); pen.vuluit(); else 10 pen.vulaan("rood"); nhoek(360, 1); pen.vuluit(); 15 pen.vooruit(100); FIGUUR 2.7 Teken een blauw vierkant of een rode cirkel. De keuzeopdracht begint op regel 3 en loopt tot en met regel 14. Op de eerste regel staat het woord if, gevolgd door een voorwaarde. Daarna komt een reeks opdrachten (regels 5-7), dan het woord else (regel 9) en dan een tweede reeks opdrachten (regels 10-14). Om beide reeksen staan accolades. Bij de uitvoering van de opdracht wordt eerst bepaald of aan de voorwaarde is voldaan. In dit geval wordt gekeken of de rest van de deling nummer/2 gelijk is aan 0, ofwel: er wordt gekeken of nummer even is. Is de voorwaarde waar, dan wordt alleen de eerste reeks opdrachten uitgevoerd: als nummer even is, wordt een blauw vierkant getekend. Is de voorwaarde niet waar, dan wordt alleen de tweede reeks opdrachten uitgevoerd: er wordt een rode cirkel getekend. In beide gevallen gaat de uitvoering daarna verder met de verplaatsing van de pen op regel 15. In dit voorbeeld kiezen we tussen twee reeksen opdrachten. Het kan echter ook zijn dat we een bepaalde reeks opdrachten alleen willen uitvoeren als aan een bepaalde voorwaarde is voldaan; de keuzeopdracht heeft dan een iets andere vorm. Een voorbeeld ontlenen we aan de methode nhoek, met parameters n en zijde. We kunnen alleen een nhoek tekenen als n tenminste gelijk is aan 3; 17

18 Starten met programmeren Hoeveel opdrachten zijn dat? 2-hoeken en 1-hoeken bestaan immers niet. Figuur 2.8 toont een versie van de methode nhoek die dit controleert. 1 public void nhoek(int n, double zijde) int teller; 5 if (n >= 3) teller = 1; while (teller <= n) 10 pen.vooruit(zijde); pen.rechts(360/n); teller = teller+1; 15 FIGUUR 2.8 Teken een regelmatige n-hoek als n 3. De keuzeopdracht loopt van regel 5 tot en met regel 14. Regel 5 bevat weer een voorwaarde: is n tenminste 3? Is deze waar, dan worden de opdrachten uitgevoerd die tussen de accolades op regel 6 en regel 14 staan. Dat ligt er een beetje aan hoe we tellen, maar in feite zijn het maar twee opdrachten: de toekenning aan teller en de herhalingsopdracht die begint op regel 8 en eindigt op regel 13. Binnen die herhalingsopdracht staan ook weer drie opdrachten. In dit geval is er geen else-gedeelte met een tweede reeks opdrachten. Als de voorwaarde waar is, worden de toekenning en de herhaling uitgevoerd; als de voorwaarde niet waar is, worden die overgeslagen en is de methode meteen klaar. OPGAVE 2.12 Beschrijf wat er gebeurt bij de uitvoering van de volgende methode. De opdracht naarrechts(stap) verplaatst de pen stap pixels naar rechts. public void rij(int aantal) int teller; pen.aan("zwart"); if (aantal < 10) teller = 1; while (teller <= aantal) if (teller % 2 == 0) nhoek(3, 50); else nhoek(5, 30); naarrechts(70); teller = teller + 1; 18

19 4.2 ALGEMENE VORMEN VAN DE KEUZEOPDRACHT Keuzeopdracht Vormen In het algemeen neemt de keuzeopdracht één van de volgende twee vormen aan (we tonen ze naast elkaar): if (voorwaarde) if (voorwaarde) opdracht i1 ; opdracht 1 ; opdracht i2 ; opdracht 2 ; opdracht in ; opdracht n ; else opdracht e1 ; opdracht e2 ;... opdracht en ; Als een reeks maar uit één opdracht bestaat, mogen de accolades om die reeks weggelaten worden. Anders dan bij de herhaling, komt dat wel vaak voor. De binnenste keuzeopdracht in opgave 2.12 zou bijvoorbeeld ook als volgt geschreven mogen worden: if (teller % 2 == 1) nhoek(3, 50); else nhoek(5, 30); De uitvoering van keuzeopdrachten is op grond van de voorbeelden al voldoende duidelijk gemaakt. Zoals we al gezien hebben, mogen binnen een keuzeopdracht alle soorten opdrachten staan: toekenningen, opdrachten aan de pen of ter uitvoering van een zelfgedefinieerde methode en ook herhalingsopdrachten of andere keuzeopdrachten. Eén speciaal geval is interessant om even apart te bekijken. De eerste vorm van de keuzeopdracht geeft een keuze uit twee mogelijkheden, maar wat als we een keuze uit 3 of meer mogelijkheden willen? Stel bijvoorbeeld dat we in plaats van afwisselend een drie- en een vijfhoek, afwisselend een driehoek, een vierkant en een vijfhoek willen tekenen. We kunnen dit als volgt opschrijven (met een extra opdracht naarrechts(70) erachteraan, om de uitleg te vergemakkelijken): if (teller % 3 == 0) nhoek(3, 50); else if (teller % 3 == 1) nhoek(4, 40); else nhoek(5, 30); naarrechts(70); Hier staat een keuzeopdracht waarbij beide reeksen maar één opdracht bevatten, en die we dus zonder accolades schrijven. In de eerste reeks is 19

20 Starten met programmeren dat de opdracht nhoek(3, 50); in de tweede reeks is het een keuzeopdracht. Laten we nagaan wat er gebeurt als teller respectievelijk de waarde 12, 13 en 14 heeft. Als teller gelijk is aan 12, dan is de voorwaarde (teller % 3 == 0) waar, want 12 is zonder rest deelbaar door 3. De opdracht nhoek(3, 50) wordt uitgevoerd, maar de keuzeopdracht na de eerste else wordt niet uitgevoerd. Na het tekenen van de driehoek gaat het programma dus verder met de opdracht naarrechts(70). Als teller gelijk is aan 13, dan is de eerste voorwaarde onwaar. De opdracht nhoek(3, 50) wordt overgeslagen en de keuzeopdracht na de eerste else wordt uitgevoerd. Die uitvoering begint met de voorwaarde (teller % 3 == 1) en die is waar. Dus wordt de opdracht nhoek(4, 40) uitgevoerd, maar de opdracht nhoek(5, 30) niet. Het programma tekent een vierkant en gaat dan verder met naarrechts(70). Ook als teller gelijk is aan 14, is de eerste voorwaarde onwaar, zodat ook nu het tekenen van de driehoek wordt overgeslagen en de tweede keuzeopdracht wordt uitgevoerd. Ook de voorwaarde in die opdracht (teller % 3 == 1) is nu onwaar. De opdracht nhoek(4, 40) wordt overgeslagen en nhoek(5, 30) wordt uitgevoerd. Er wordt dus nu alleen een vijfhoek getekend. Voor een keuze uit 4 werkt het precies zo. Vaak wordt het inspringen na de eerste else in dit geval achterwege gelaten en wordt direct geschreven if (teller % 3 == 0) nhoek(3, 50); else if (teller % 3 == 1) nhoek(4, 40); else nhoek(5, 30); 4.3 EEN TOEPASSING In de volgende opgave gaan we weer een volledig programma schrijven dat de tekening maakt zoals getoond in figuur 2.9. FIGUUR 2.9 Een waaier van 25 gele, blauwe en rode vierkanten Splitsen van een probleem in deelproblemen Dit programma is iets complexer dan de programma s die we eerder schreven. We gaan daarom niet meteen programmeren, maar we gaan eerst bedenken hoe we het programma gaan opzetten: we maken een ontwerp. We beginnen daarbij met het probleem in deelproblemen op te 20

Inhoud hoofdstuk 2. Programmeren met herhaling en keuze. Introductie. Leerkern. Zelftoets. Terugkoppeling

Inhoud hoofdstuk 2. Programmeren met herhaling en keuze. Introductie. Leerkern. Zelftoets. Terugkoppeling Inhoud hoofdstuk 2 Programmeren met herhaling en keuze Introductie Leerkern 1 Algoritmen 2 Variabelen en toekenning 2.1 Variabelen en waarden 2.2 Toekenningen en uitdrukkingen 2.3 Variabelen in JavaLogo

Nadere informatie

Inhoud hoofdstuk 1. Tekenen in JavaLogo. Introductie. Leerkern. Leereenheid 1 Tekenen in JavaLogo

Inhoud hoofdstuk 1. Tekenen in JavaLogo. Introductie. Leerkern. Leereenheid 1 Tekenen in JavaLogo Inhoud hoofdstuk 1 Tekenen in JavaLogo Introductie Leerkern 1 Eerste programma s 1.1 Pen en tekenblad 1.2 Een volledig JavaLogo-programma 1.3 Pen en tekenblad nader bekeken 2 Extra methoden 2.1 Zelf methoden

Nadere informatie

Inhoud leereenheid 8. Programmeren in JavaLogo (1) Introductie 73. Leerkern 75. Samenvatting 94. Zelftoets 95. Terugkoppeling 97

Inhoud leereenheid 8. Programmeren in JavaLogo (1) Introductie 73. Leerkern 75. Samenvatting 94. Zelftoets 95. Terugkoppeling 97 Inhoud leereenheid 8 Programmeren in JavaLogo (1) Introductie 73 Leerkern 75 1 Inleiding 75 1.1 Wat is programmeren? 75 1.2 Logo, Java en JavaLogo 76 2 Eerste programma s 77 2.1 Pen en Tekenblad 77 2.2

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

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

Rekentijger - Groep 7 Tips bij werkboekje A

Rekentijger - Groep 7 Tips bij werkboekje A Rekentijger - Groep 7 Tips bij werkboekje A Omtrek en oppervlakte (1) Werkblad 1 Van een rechthoek die mooi in het rooster past zijn lengte en breedte hele getallen. Lengte en breedte zijn samen gelijk

Nadere informatie

1.3 Rekenen met pijlen

1.3 Rekenen met pijlen 14 Getallen 1.3 Rekenen met pijlen 1.3.1 Het optellen van pijlen Jeweetnuwatdegetallenlijnisendat0nochpositiefnochnegatiefis. Wezullen nu een soort rekenen met pijlen gaan invoeren. We spreken af dat bij

Nadere informatie

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

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

Nadere informatie

Graphics. Small Basic graphics 1/6

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

Nadere informatie

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester.

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester. In onderstaande oefeningen zijn kleuren gebruikt. Deze dienen aleen om de structuren makkelijker terug te kunnen herkennen. Ze worden niet standaard zo gebruikt. De dunne rood/roze balken zijn ook geen

Nadere informatie

Breuken met letters WISNET-HBO. update juli 2013

Breuken met letters WISNET-HBO. update juli 2013 Breuken met letters WISNET-HBO update juli 2013 De bedoeling van deze les is het repeteren met pen en papier van het werken met breuken. Steeds wordt bij gebruik van letters verondersteld dat de noemers

Nadere informatie

Leaflet. Connector Ability. Brochure kandidaten. Touwbaan 1 4205 AB Gorinchem T 0183-693939 E info@interselect.nl www.interselect.

Leaflet. Connector Ability. Brochure kandidaten. Touwbaan 1 4205 AB Gorinchem T 0183-693939 E info@interselect.nl www.interselect. Leaflet Connector Ability Brochure kandidaten Touwbaan 1 4205 AB Gorinchem T 0183-693939 E info@interselect.nl www.interselect.nl Inhoud 1 Waarom deze brochure? 2 2 Waarom wordt er getest? 2 3 Wat is de

Nadere informatie

REKENVAARDIGHEID BRUGKLAS

REKENVAARDIGHEID BRUGKLAS REKENVAARDIGHEID BRUGKLAS Schooljaar 008/009 Inhoud Uitleg bij het boekje Weektaak voor e week: optellen en aftrekken Weektaak voor e week: vermenigvuldigen Weektaak voor e week: delen en de staartdeling

Nadere informatie

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

Trillingen en geluid wiskundig. 1 De sinus van een hoek 2 Uitwijking van een trilling berekenen 3 Macht en logaritme 4 Geluidsniveau en amplitude

Trillingen en geluid wiskundig. 1 De sinus van een hoek 2 Uitwijking van een trilling berekenen 3 Macht en logaritme 4 Geluidsniveau en amplitude Trillingen en geluid wiskundig 1 De sinus van een hoek 2 Uitwijking van een trilling berekenen 3 Macht en logaritme 4 Geluidsniveau en amplitude 1 De sinus van een hoek Eenheidscirkel In de figuur hiernaast

Nadere informatie

Datum. Vraag het bedrag in BEF. Reken om naar EURO. Toon het bedrag in EURO. --- Vraag het bedrag in BEF--- --- Reken om naar EURO---

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

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

VAN HET PROGRAMMEREN. Inleiding

VAN HET PROGRAMMEREN. Inleiding OVERZICHT VAN HET PROGRAMMEREN Inleiding Als je leert programmeren lijkt het nogal overweldigend om die eerste stappen te doorworstelen. Er zijn dan ook heel wat programmeertalen (Java, Ruby, Python, Perl,

Nadere informatie

Bij de volgende vragen Bij een regelmatige veelhoek kun je het gemakkelijkst eerst de buitenhoeken berekenen en daarna pas de binnenhoeken.

Bij de volgende vragen Bij een regelmatige veelhoek kun je het gemakkelijkst eerst de buitenhoeken berekenen en daarna pas de binnenhoeken. Rood-wit-blauw werkblad 1 Bij het hele werkblad: Alle rode getallen zijn deelbaar door hetzelfde getal. Elk wit getal is gelijk aan een rood getal + 1, elk blauw getal aan een rood getal + 2 Russisch vermenigvuldigen

Nadere informatie

JavaLogo en praktische opdrachten wiskunde

JavaLogo en praktische opdrachten wiskunde JavaLogo werd ontwikkeld voor het vak informatica in de tweede fase. In dit artikel beschrijft Peter Boon wat JavaLogo is en geeft hij een beeld van de verschillende mogelijkheden die het biedt. Ook voor

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

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

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

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd Inhoudsopgave 1 Inleiding... 1 2 Toekenning- en herhalingsopdrachten (for loop)... 2 2.1 De wet van Ohm... 3 2.2 De spaarrekening... 3 2.3 De transformator... 3 3 Keuze- en herhalingsopdrachten (if, switch,

Nadere informatie

1 Rekenen met gehele getallen

1 Rekenen met gehele getallen 1 Inhoudsopgave 1 Rekenen met gehele getallen... 1.1 De gehele getallen... 1. Optellen... 1. Opgaven... 1. Aftrekken... 1. Opgaven... 1. Vermenigvuldigen... 1. Opgaven... 1.8 Delen... 9 1.9 Opgaven...9

Nadere informatie

Breuksplitsen WISNET-HBO NHL. update juli 20014

Breuksplitsen WISNET-HBO NHL. update juli 20014 Breuksplitsen WISNET-HBO NHL update juli 20014 1 Inleiding Bij sommige opleidingen is het belangrijk dat er enige vaardigheid ontwikkeld wordt om grote breuken te manipuleren en om te zetten in een aantal

Nadere informatie

Wortels met getallen en letters. 2 Voorbeeldenen met de (vierkants)wortel (Tweedemachts wortel)

Wortels met getallen en letters. 2 Voorbeeldenen met de (vierkants)wortel (Tweedemachts wortel) 1 Inleiding Wortels met getallen en letters WISNET-HBO update sept 2009 Voorkennis voor deze les over Wortelvormen is de les over Machten. Voor de volledigheid staat aan het eind van deze les een overzicht

Nadere informatie

1.5.1 Natuurlijke, gehele en rationale getallen

1.5.1 Natuurlijke, gehele en rationale getallen 46 Getallen 1.5 Getaltheorie 1.5.1 Natuurlijke, gehele en rationale getallen De getallen 0,1,2,3,4,... enz. worden de natuurlijke getallen genoemd (de heleverzamelingvanaldezegetallenbijelkaarnoterenwemethetteken:

Nadere informatie

Lijnen van betekenis meetkunde in 2hv

Lijnen van betekenis meetkunde in 2hv Lijnen van betekenis meetkunde in 2hv Docentenhandleiding bij de DWO-module Lijnen van betekenis Deze handleiding bevat tips voor de docent bij het gebruiken van de module Lijnen van betekenis, een module

Nadere informatie

IJkingstoets burgerlijk ingenieur juni 2014: algemene feedback

IJkingstoets burgerlijk ingenieur juni 2014: algemene feedback IJkingstoets burgerlijk ingenieur 30 juni 2014 - reeks 1 - p. 1 IJkingstoets burgerlijk ingenieur juni 2014: algemene feedback In totaal namen 716 studenten deel aan de ijkingstoets burgerlijk ingenieur

Nadere informatie

START WISKUNDE-ESTAFETTE RU 2007 Je hebt 60 minuten voor 20 opgaven. Het totaal aantal te behalen punten is 600.

START WISKUNDE-ESTAFETTE RU 2007 Je hebt 60 minuten voor 20 opgaven. Het totaal aantal te behalen punten is 600. START WISKUNDE-ESTAFETTE RU 2007 Je hebt 60 minuten voor 20 opgaven. Het totaal aantal te behalen punten is 600. Estafette-opgave 1 (20 punten, rest 580 punten) Vier bij vier. In een schema van vier maal

Nadere informatie

techniek Motor en as LEGO O P D R A C H T Maak het programma van rechtsboven na, op het open stuk van het scherm.

techniek Motor en as LEGO O P D R A C H T Maak het programma van rechtsboven na, op het open stuk van het scherm. Motor en as 1 Maak het programma van rechtsboven na, op het open stuk van het scherm. Sleep het startblokje en motor rechtsom tegen elkaar. Als je een fout maakt, dan kan je een blokje ook weer terugslepen

Nadere informatie

rekentrainer jaargroep 7 Fietsen op Terschelling. Teken en vul in. Zwijsen naam: reken-wiskundemethode voor het basisonderwijs

rekentrainer jaargroep 7 Fietsen op Terschelling. Teken en vul in. Zwijsen naam: reken-wiskundemethode voor het basisonderwijs Zwijsen jaargroep 7 naam: reken-wiskundemethode voor het basisonderwijs Waar staat deze paddenstoel ongeveer? Teken op de kaart. Welke afstand of welke route fietsen de kinderen? naam route afstand Janna

Nadere informatie

4.1 Negatieve getallen vermenigvuldigen [1]

4.1 Negatieve getallen vermenigvuldigen [1] 4.1 Negatieve getallen vermenigvuldigen [1] Voorbeeld 1: 5 x 3 = 15 (3 + 3 + 3 + 3 + 3 = 15) Voorbeeld 2: 5 x -3 = -15 (-3 +-3 +-3 +-3 +-3 = -3-3 -3-3 -3 = -15) Voorbeeld 3: -5 x 3 = -15 Afspraak: In plaats

Nadere informatie

Vergelijkingen met breuken

Vergelijkingen met breuken Vergelijkingen met breuken WISNET-HBO update juli 2013 De bedoeling van deze les is het doorwerken van begin tot einde met behulp van pen en papier. 1 Oplossen van gebroken vergelijkingen Kijk ook nog

Nadere informatie

Scratch in drie uur. Hallo, mijn naam is Minti Mint! Ik ga je uitleggen hoe je je eigen computerspel kunt maken. We gaan een racespel maken!

Scratch in drie uur. Hallo, mijn naam is Minti Mint! Ik ga je uitleggen hoe je je eigen computerspel kunt maken. We gaan een racespel maken! Scratch in drie uur Hallo, mijn naam is Minti Mint! Ik ga je uitleggen hoe je je eigen computerspel kunt maken. We gaan een racespel maken! Bernd Gärtner Nederlandse vertaling en bewerking: Martine Segers

Nadere informatie

Programmeren met Arduino-software

Programmeren met Arduino-software Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en

Nadere informatie

Pascal uitgediept Data structuren

Pascal uitgediept Data structuren Pascal uitgediept Data structuren MSX Computer & Club Magazine nummer 68-juni/juli 1994 Herman Post Scanned, ocr ed and converted to PDF by HansO, 2001 In deze aflevering wordt bekeken hoe zelf een datastructuur

Nadere informatie

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4:

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4: Katern 4 Bewijsmethoden Inhoudsopgave 1 Bewijs uit het ongerijmde 1 2 Extremenprincipe 4 3 Ladenprincipe 8 1 Bewijs uit het ongerijmde In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel

Nadere informatie

Kandidaatbrochure met oefenvragen Opleidingsniveau: MBO4-BA-MA

Kandidaatbrochure met oefenvragen Opleidingsniveau: MBO4-BA-MA P E O P L E I M P R O V E P E R F O R M A N C E Kandidaatbrochure met oefenvragen Opleidingsniveau: MBO4-BA-MA 1 van 34 / PiCompany 2005iMedia 2005 www.picompany.nl tel. 0346-55 90 10 fax 0346-55 90 15

Nadere informatie

Hoofdstuk 7: Werken met arrays

Hoofdstuk 7: Werken met arrays Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, januari 2004 Hoofdstuk 7: Werken met arrays 7.0 Leerdoel

Nadere informatie

Sterrenwerk. Rekenen. voor 9-11 jaar. combineren en visualiseren 2

Sterrenwerk. Rekenen. voor 9-11 jaar. combineren en visualiseren 2 Sterrenwerk Rekenen voor 9-11 jaar combineren en visualiseren 2 2 Hexomino s 1 Die dekselse figuren van zes! Deze figuren bestaan uit zes vierkanten die elkaar met ten minste een zijde raken. Ze heten

Nadere informatie

http://www.liacs.nl/home/kosters/java/

http://www.liacs.nl/home/kosters/java/ sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/

Nadere informatie

Wat is de som van de getallen binnen een cirkel? Geef alle mogelijke sommen!

Wat is de som van de getallen binnen een cirkel? Geef alle mogelijke sommen! Estafette-opgave 1 (20 punten, rest 480 punten) Zeven gebieden Drie cirkels omheinen zeven gebieden. We verdelen de getallen 1 tot en met 7 over de zeven gebieden, in elk gebied één getal. De getallen

Nadere informatie

Grafieken. 10-13 jaar. Rekenles over het maken van grafieken. Rekenen. 60 minuten. Weerstation, data, grafieken

Grafieken. 10-13 jaar. Rekenles over het maken van grafieken. Rekenen. 60 minuten. Weerstation, data, grafieken Grafieken Rekenles over het maken van grafieken 10-13 jaar Rekenen Weerstation, data, grafieken 60 minuten Op het digitale schoolbord bekijkt de leerkracht met de klas verschillende grafieken over het

Nadere informatie

Module 3: Scratch programmeren: is het logisch of is het niet logisch?

Module 3: Scratch programmeren: is het logisch of is het niet logisch? Module 3: Scratch programmeren: is het logisch of is het niet logisch? Inhoudsopgave Module 3: Scratch programmeren: is het logisch of is het niet logisch?...1 Wat is een computerprogramma eigenlijk?...2

Nadere informatie

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl Excel reader Beginner Gemiddeld Auteur Bas Meijerink E-mail bas@excel-programmeur.nl Versie 01D00 Datum 01-03-2014 Inhoudsopgave Introductie... - 3 - Hoofdstuk 1 - Databewerking - 4-1. Inleiding... - 5-2.

Nadere informatie

Inhoud hoofdstuk 1. Tekenen in JavaLogo. Introductie. Leerkern. Zelftoets. Terugkoppeling. Leereenheid 1 Tekenen in JavaLogo

Inhoud hoofdstuk 1. Tekenen in JavaLogo. Introductie. Leerkern. Zelftoets. Terugkoppeling. Leereenheid 1 Tekenen in JavaLogo Leereenheid 1 Tekenen in JavaLogo Inhoud hoofdstuk 1 Tekenen in JavaLogo Introductie Leerkern 1 Eerste programma s 1.1 Pen en tekenblad 1.2 Een volledig JavaLogo-programma 1.3 Pen en tekenblad nader bekeken

Nadere informatie

WISNET-HBO NHL update jan. 2009

WISNET-HBO NHL update jan. 2009 Tweedegraadsfuncties Parabolen maken WISNET-HBO NHL update jan. 2009 Inleiding In deze les leer je wat systeem brengen in het snel herkennen van tweedegraadsfuncties. Een paar handige trucjes voor het

Nadere informatie

Uitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.

Uitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Uitleg Welkom bij de Beverwedstrijd 2006 Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Je krijgt 5 vragen van niveau A, 5 vragen van niveau B en 5 vragen van niveau C. Wij denken

Nadere informatie

Naam:... Datum:... 36 + 12 =. 2 x 15 =. 47 + 43 =. 4 x 12 =. 25 + 11 =. 6 x 7 =. 38-16 =. 100 : 4 =. 17-6 =. 36 : 6 =.

Naam:... Datum:... 36 + 12 =. 2 x 15 =. 47 + 43 =. 4 x 12 =. 25 + 11 =. 6 x 7 =. 38-16 =. 100 : 4 =. 17-6 =. 36 : 6 =. Opvraging Wiskunde W1 36 + 12 =. 2 x 15 =. 47 + 43 =. 4 x 12 =. 25 + 11 =. 6 x 7 =. 38-16 =. 100 : 4 =. 17-6 =. 36 : 6 =. 2 Goed lezen en oplossen. Ik koop in de supermarkt een krant (80 cent), een brood

Nadere informatie

HP Prime: Meetkunde App

HP Prime: Meetkunde App HP Prime Graphing Calculator HP Prime: Meetkunde App Meer over de HP Prime te weten komen: http://www.hp-prime.nl De Meetkunde-App op de HP Prime Meetkunde is een van de oudste wetenschappen op aarde,

Nadere informatie

Getal en Ruimte wi 1 havo/vwo deel 1 hoofdstuk 4 Didactische analyse door Lennaert van den Brink (1310429)

Getal en Ruimte wi 1 havo/vwo deel 1 hoofdstuk 4 Didactische analyse door Lennaert van den Brink (1310429) Getal en Ruimte wi 1 havo/vwo deel 1 hoofdstuk 4 Didactische analyse door Lennaert van den Brink (1310429) - een lijst met operationele en concrete doelen van de lessenserie, indien mogelijk gerelateerd

Nadere informatie

Het Land van Oct. Marte Koning Frans Ballering. Vierkant voor Wiskunde Wiskundeclubs

Het Land van Oct. Marte Koning Frans Ballering. Vierkant voor Wiskunde Wiskundeclubs Het Land van Oct Marte Koning Frans Ballering Vierkant voor Wiskunde Wiskundeclubs Hoofdstuk 1 Inleiding Hoi, ik ben de Vertellende Teller, en die naam heb ik gekregen na mijn meest bekende reis, de reis

Nadere informatie

9. Strategieën en oplossingsmethoden

9. Strategieën en oplossingsmethoden 9. Strategieën en oplossingsmethoden In dit hoofdstuk wordt nog even terug gekeken naar alle voorgaande hoofdstukken. We herhalen globaal de structuren en geven enkele richtlijnen voor het ontwerpen van

Nadere informatie

Uitwerkingen Rekenen met cijfers en letters

Uitwerkingen Rekenen met cijfers en letters Uitwerkingen Rekenen met cijfers en letters Maerlant College Brielle 5 oktober 2009 c Swier Garst - RGO Middelharnis 2 Inhoudsopgave Rekenen met gehele getallen 7. De gehele getallen.....................................

Nadere informatie

5.327 703 x 15.981 3.728.900 + 3.744.881. 2.160 3.007 x 15.120 6.480.000 + 6.495.120. 2.160 3.007 x 15.120 00.000 0 00.000 6.480.000 + 6.495.

5.327 703 x 15.981 3.728.900 + 3.744.881. 2.160 3.007 x 15.120 6.480.000 + 6.495.120. 2.160 3.007 x 15.120 00.000 0 00.000 6.480.000 + 6.495. Bij vermenigvuldigen van twee grote getallen onder elkaar staan de rijen onder de streep elk voor een tussenstap. De eerste rij staat voor het vermenigvuldigen met het cijfer dat de eenheden van het onderste

Nadere informatie

Poolcoördinaten (kort)

Poolcoördinaten (kort) Poolcoördinaten (kort) WISNET-HBO update juli 2013 Carthesiaanse coördinaten In het algemeen gebruiken we voor de plaatsbepaling in het platte vlak de gewone (Carthesiaanse) coördinaten voor, in een rechthoekig

Nadere informatie

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

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

Nadere informatie

Numerieke aspecten van de vergelijking van Cantor. Opgedragen aan Th. J. Dekker. H. W. Lenstra, Jr.

Numerieke aspecten van de vergelijking van Cantor. Opgedragen aan Th. J. Dekker. H. W. Lenstra, Jr. Numerieke aspecten van de vergelijking van Cantor Opgedragen aan Th. J. Dekker H. W. Lenstra, Jr. Uit de lineaire algebra is bekend dat het aantal oplossingen van een systeem lineaire vergelijkingen gelijk

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

II. ZELFGEDEFINIEERDE FUNCTIES

II. ZELFGEDEFINIEERDE FUNCTIES II. ZELFGEDEFINIEERDE FUNCTIES In Excel bestaat reeds een uitgebreide reeks van functies zoals SOM, GEMIDDELDE, AFRONDEN, NU enz. Het is de bedoeling om functies aan deze lijst toe te voegen door in Visual

Nadere 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

10. Controleopdrachten

10. Controleopdrachten Computeralgebra met Maxima 10. Controleopdrachten 10.1. Functies en operatoren voor lijsten/vectoren/arrays Een van de eenvoudigste maar belangrijkste lusachtige functies is de makelist opdracht. Voor

Nadere informatie

WISKUNDE B -DAG 2002 1+ 1 = 2. maar en hoe nu verder? 29 november 2002

WISKUNDE B -DAG 2002 1+ 1 = 2. maar en hoe nu verder? 29 november 2002 - 0 - WISKUNDE B -DAG 2002 1+ 1 = 2 maar en hoe nu verder? 29 november 2002 De Wiskunde B-dag wordt gesponsord door Texas Instruments - 1 - Inleiding Snel machtverheffen Stel je voor dat je 7 25 moet uitrekenen.

Nadere informatie

Praktische opdracht: modelleren met Coach

Praktische opdracht: modelleren met Coach Praktische opdracht: modelleren met Coach VWO 5 wiskunde B Mei 00 Hieronder zie je een ketting waaraan vijf gelijke gewichten hangen. Daarnaast een schematische tekening van ketting en gewichten. Aan de

Nadere informatie

Les C-01: Algoritmen. 2005 David Lans

Les C-01: Algoritmen. 2005 David Lans 2005 David Lans Les C-01: Algoritmen 1.0 Inleiding Moeilijke problemen pakken we vaak stapsgewijs aan: Een olifant eet je met kleine hapjes. Het is van belang om de stappen waarmee we een probleem oplossen

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

OEFENINGEN PYTHON REEKS 5

OEFENINGEN PYTHON REEKS 5 Vraag 1: Interpoleren (vervolg) OEFENINGEN PYTHON REEKS 5 Bouw verder op je code van Reeks 3, vraag 4. Voeg vier constanten toe aan je code: X0 = 280, Y0 = 0, Z0 = 50 en SIZE = 8. a) Teken een kubus met

Nadere informatie

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

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

Nadere informatie

Onthoudboekje rekenen

Onthoudboekje rekenen Onthoudboekje rekenen Inhoud 1. Hoofdrekenen: natuurlijke getallen tot 100 000 Optellen (p. 4) Aftrekken (p. 4) Vermenigvuldigen (p. 5) Delen (p. 5) Deling met rest (p. 6) 2. Hoofdrekenen: kommagetallen

Nadere informatie

1. REGELS VAN DEELBAARHEID.

1. REGELS VAN DEELBAARHEID. REKENEN VIJFDE KLAS Luc Cielen 1. REGELS VAN DEELBAARHEID. Deelbaarheid door 10, 100, 1000 10: het laatste cijfer (= cijfer van de eenheden) is 0 100: laatste twee cijfers zijn 0 (cijfers van de eenheden

Nadere informatie

Uitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.

Uitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Uitleg Welkom bij de Beverwedstrijd 2006 Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Je krijgt 5 vragen van niveau A, 5 vragen van niveau B en 5 vragen van niveau C. Wij denken

Nadere informatie

Bij alle verbanden geldt dat je, als je een negatief getal in een formule invult, je altijd haakjes om dat getal moet zetten.

Bij alle verbanden geldt dat je, als je een negatief getal in een formule invult, je altijd haakjes om dat getal moet zetten. Theorie lineair verband Bij alle verbanden geldt dat je, als je een negatief getal in een formule invult, je altijd haakjes om dat getal moet zetten. In het dagelijks leven wordt vaak gebruik gemaakt van

Nadere informatie

www.digitalecomputercursus.nl 6. Reeksen

www.digitalecomputercursus.nl 6. Reeksen 6. Reeksen Excel kan datums automatisch uitbreiden tot een reeks. Dit betekent dat u na het typen van een maand Excel de opdracht kan geven om de volgende maanden aan te vullen. Deze voorziening bespaart

Nadere informatie

Hoofdstuk 5: Functies voor getallen en teksten

Hoofdstuk 5: Functies voor getallen en teksten Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, maart 2001 Hoofdstuk 5: Functies voor getallen en teksten

Nadere informatie

wizprof 2013 21 maart 2013 Veel succes en vooral veel plezier.!! je hebt 75 minuten de tijd rekenmachine is niet toegestaan

wizprof 2013 21 maart 2013 Veel succes en vooral veel plezier.!! je hebt 75 minuten de tijd rekenmachine is niet toegestaan www.zwijsen.nl www.e-nemo.nl 21 maart 2013 www.education.ti.com Veel succes en vooral veel plezier.!! Stichting Wiskunde Kangoeroe www.smart.be www.rekenzeker.nl www.sanderspuzzelboeken.nl www.schoolsupport.nl

Nadere informatie

WISKUNDE B-DAG 2012. Vrijdag 16 november, 9:00-16:00 uur. Eenvou(w)dig. De Wiskunde B-dag wordt mede mogelijk gemaakt door

WISKUNDE B-DAG 2012. Vrijdag 16 november, 9:00-16:00 uur. Eenvou(w)dig. De Wiskunde B-dag wordt mede mogelijk gemaakt door WISKUNDE B-DAG 2012 Vrijdag 16 november, 9:00-16:00 uur Eenvou(w)dig De Wiskunde B-dag wordt mede mogelijk gemaakt door Wiskunde B-dag 2012 1 Opgave 6 van de Kangoeroe wedstrijd wizprof 2010: De foto van

Nadere informatie

Werken met JCreator en JavaLogo

Werken met JCreator en JavaLogo Bijlage Werken met JCreator en JavaLogo 1 Installatie van de software We gaan JavaLogo-programma s schrijven en uitvoeren met behulp van het programma JCreator LE v3.1. JCreator is een ontwikkelomgeving

Nadere informatie

SketchUp: 3D voor iedereen (/)

SketchUp: 3D voor iedereen (/) 1 DE CURSUS (/) SKETCHUP? (/SKETCHUP.HTML) INSTALLATIE (/INSTALLATIE.HTML) DE BASIS (/DE-BASIS.HTML) GEREEDSCHAPPEN (/GEREEDSCHAPPEN.HTML) GEAVANCEERD (/GEAVANCEERD.HTML) SketchUp: 3D voor iedereen (/)

Nadere informatie

1 Monumenten. 32 x tips bij Breinkrakers. Tips en uitleg naar: 32 Breinkrakers 2003 SCHUBI Lernmedien AG, Schaffhausen service@schubi.nl www.schubi.

1 Monumenten. 32 x tips bij Breinkrakers. Tips en uitleg naar: 32 Breinkrakers 2003 SCHUBI Lernmedien AG, Schaffhausen service@schubi.nl www.schubi. 1 Monumenten 1 Monumenten Afgelopen nacht heeft een onbekende dief van alle monumenten in de stad de naamborden verwijderd. Deze dief heeft ook alle parkborden meegenomen. De burgemeester heeft meteen

Nadere informatie

Basisvaardigheden algebra. Willem van Ravenstein. 2012 Den Haag

Basisvaardigheden algebra. Willem van Ravenstein. 2012 Den Haag Basisvaardigheden algebra Willem van Ravenstein 2012 Den Haag 1. Variabelen Rekenenis het werken met getallen. Er zijn vier hoofdbewerkingen: optellen, aftrekken, vermenigvuldigen en delen. Verder ken

Nadere informatie

Kleuren met getallen Afbeeldingen weergeven

Kleuren met getallen Afbeeldingen weergeven Activiteit 2 Kleuren met getallen Afbeeldingen weergeven Samenvatting Computers slaan tekeningen, foto s en andere afbeeldingen op door het gebruik van getallen. De volgende opdracht laat zien hoe. Kerndoelen

Nadere informatie

Fabsheet: Vinylsnijder

Fabsheet: Vinylsnijder Fabsheet: Vinylsnijder Met de vinylsnijder kun je stickers en papier snijden. Het FabLab heeft zelfklevend vinyl op voorraad in diverse kleuren. Zelf folie meenemen kan natuurlijk ook, houd er wel rekening

Nadere informatie

Opdracht 2.1 a t/m c. Er zijn veel mogelijkheden. De vorm hoeft dus niet gelijk te zijn om toch een vierkant van dezelfde grootte te krijgen.

Opdracht 2.1 a t/m c. Er zijn veel mogelijkheden. De vorm hoeft dus niet gelijk te zijn om toch een vierkant van dezelfde grootte te krijgen. Uitwerkingen hoofdstuk Gebroken getallen. Kennismaken met breuken.. Deel van geheel Opdracht. a t/m c. Er zijn veel mogelijkheden. De vorm hoeft dus niet gelijk te zijn om toch een vierkant van dezelfde

Nadere informatie

Rekentijger - Groep 6 Tips bij werkboekje A

Rekentijger - Groep 6 Tips bij werkboekje A Rekentijger - Groep 6 Tips bij werkboekje A Puzzelvierkanten Werkblad 1 Vierkant linksboven Zoek eerst uit hoeveel één hartje waard is. Daarna kun je ook berekenen hoeveel een rondje waard is. Vierkant

Nadere informatie

1. Starten met Windows 8.1

1. Starten met Windows 8.1 19 1. Starten met Windows 8.1 U zit klaar om te beginnen. Dit boek ligt naast uw computer. U gaat alle oefeningen die in het boek staan, direct zelf uitvoeren op de computer. Zo leert u het snelste werken

Nadere informatie

HP Prime: Spreadsheet App

HP Prime: Spreadsheet App HP Prime Graphing Calculator HP Prime: Spreadsheet App Meer over de HP Prime te weten komen: http://www.hp-prime.nl De Spreadsheet-App op de HP Prime Misschien heb je al eens gewerkt met een spreadsheet,

Nadere informatie

Ruitjes vertellen de waarheid

Ruitjes vertellen de waarheid Ruitjes vertellen de waarheid Opdracht 1 Van fouten kun je leren Van fouten kun je leren, jazeker. Vooral als je héél goed weet wat er fout ging. Vandaag leer je handige formules begrijpen door kijken

Nadere informatie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie Leren Programmeren met Visual Basic 6.0 Les 3+4 Hoofdstuk 4 : De Selectie Visual Basic 6.0 1 Basisstructuren (herhaling) Sequentie (HK2) : Alle opdrachten gewoon na mekaar uitvoeren. Hier worden geen keuzes

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

Machten, exponenten en logaritmen

Machten, exponenten en logaritmen Machten, eponenten en logaritmen Machten, eponenten en logaritmen Macht, eponent en grondtal Eponenten en logaritmen hebben alles met machtsverheffen te maken. Een macht als 4 is niets anders dan de herhaalde

Nadere informatie

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

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

Nadere informatie

Afdrukken in Calc Module 7

Afdrukken in Calc Module 7 7. Afdrukken in Calc In deze module leert u een aantal opties die u kunt toepassen bij het afdrukken van Calc-bestanden. Achtereenvolgens worden behandeld: Afdrukken van werkbladen Marges Gedeeltelijk

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 Inleiding 7 2 Voorkennis 7 3 Het cursusmateriaal 7 4 Structuur, symbolen en taalgebruik 8 5 De cursus bestuderen 9 6 Studiebegeleiding 10 7 Huiswerkopgaven 10 8 Het tentamen

Nadere informatie

Rekenregels voor het differentiëren

Rekenregels voor het differentiëren Rekenregels voor het differentiëren Wisnet-HBO update febr. 2010 1 Inleiding Als je nog niets over differentiëren weet, kun je beter eerst naar de les "Wat is Differentiëren" gaan. Verder zijn er Maplets

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

Hoofdstuk 27: Celopmaak* 2010

Hoofdstuk 27: Celopmaak* 2010 Hoofdstuk 27: Celopmaak* 2010 27.0 Inleiding In dit deel wordt beschreven hoe je het werk er goed kunt laten uitzien. Besproken zal worden wat er binnenin de cel en aan de celgrenzen gebeurt en wanneer

Nadere informatie

Schattend rekenen Maatkennis over gewichten Gebruik van referentiematen. Per tweetal: kopieerblad Lift een groot vel papier

Schattend rekenen Maatkennis over gewichten Gebruik van referentiematen. Per tweetal: kopieerblad Lift een groot vel papier Lift Kopieerblad Lift Titel De lift waarin dit bordje hangt kan 1000 kilo vervoeren of dertien personen. In deze activiteit gaan de kinderen na of dertien personen 1000 kilo zouden kunnen wegen. Om dit

Nadere informatie

De teller geeft hoeveel stukken er zijn en de noemer zegt wat de 5. naam is van die stukken: 6 taart geeft dus aan dat de taart in 6

De teller geeft hoeveel stukken er zijn en de noemer zegt wat de 5. naam is van die stukken: 6 taart geeft dus aan dat de taart in 6 Breuken Breuk betekent dat er iets gebroken is. Het is niet meer heel. Als je een meloen doormidden snijdt, is die niet meer heel, maar verdeeld in twee stukken. Eén zo n stuk is dan een halve meloen,

Nadere informatie