Programmeerles 6 maart 2018

I. Vierkant

Vandaag gaan we leren programmeren met TinyTurtle. TinyTurtle is een schildpadje wat we kunnen besturen, daarvoor heeft de schildpad een aantal commando's:

forward( stapjes ) laat de schildpad lopen forward(100) voor 100 stapjes, forward(50) voor 50.

right( hoek ) laat de schildpad een bocht naar rechts maken. 0 = rechtdoor, 90 = naar rechts, 180 is omkeren, enzovoort.

Kan je de code hieronder aanpassen zodat de schildpad een vierkantje loopt van 100 bij 100 stapjes?

 

Maak het plaatje hiernaast na. Je kunt ook het commando left( hoek ) te gebruiken om linksaf te slaan.

 
 

En deze?

 

II. Vierkanten (variabelen)

Hierboven maakten we tekeningen met een vast formaat. Stel dat we makkeijk de grootte van een vierkant willen kunnen aanpassen, bijvoorbeeld een vierkant van 50 bij 50 stapjes. Dan kunnen we natuurlijk vier keer de 100 in een 50 veranderen, maar dat wordt snel vervelend. We hebben dan iets nodig in plaats van het getal, wat we makkelijk kunnen aanpassen zonder telkens elke plek langs te gaan. Zoiets noemen we een variabele. Je kunt een variabele zien als bakje met een naam waar je iets in kunt bewaren, bijvoorbeeld het getal 50. Overal waar je dan de naam van de variabele gebruikt, wordt door de computer de waarde 50 ingevuld.

Kun je hieronder met de variabele stapjes de schildpad een vierkant laten tekenen?

Verandert het vierkant van vorm als je de waarde van stapjes aanpast?

Kun je ook drie vierkanten tekenen (50, 75 en 100 stapjes)?

Verder oefenen? Probeer een van de volgende plaatjes na te maken.

III. Vierkanten (functies)

Nu kunnen we makkelijk de grootte van het vierkant aanpassen, maar er staat nog steeds een hoop herhaling. Mensen zijn niet zo goed in dingen veel herhalen: je maakt snel een foutje. Computers kunnen dat wel heel goed.

Je kunt een verzameling commando's herhalen door ze in een soort receptje te stoppen. Zo'n recept lijkt zelf ook weer op een commando, en noemen we een functie.

Hieronder staat function vierkant (stapjes) { «commandos» }, wat betekent:
- een functie/commando met de naam vierkant
- het commando krijgt 1 variabele mee met de naam stapjes
- «commandos» wordt uitgevoerd als we het commando uitvoeren.

Kun je het zo aanpassen dat er twee vierkanten (50, 100 stapjes) worden getekend?

IV. Driehoek (loops)

Alle vierkanten van eerder zijn een beetje saai geworden, kunnen we ook driehoeken maken?

Je hebt hierboven gezien dat je meerdere commando's achter elkaar kunt geven, maar wat als je niet precies weet hoe vaak je iets wilt herhalen?

Of je wilt iets bijvoorbeeld 100 keer herhalen, dat is wel erg veel type-werk.
Gelukkig is daar iets op bedacht, namelijk een loop. Daarmee kunnen we een setje commando's meerdere keren uitvoeren.

In het voorbeeld hieronder staat de code for (var i = 0; i < 3; i++) { «commandos» }, wat betekent:

- Geef variabele i de waarde 0.
- Tel door tot i niet meer kleiner dan 3 is.
- Tel elke keer 1 op bij i