Door het herhaal blokje te gebruiken kunnen we programma's soms een beetje korter maken. Maar we kunnen programma's ook opdelen in kleinere delen door zelf blokken te maken. Dit leren we hier.

Jouw eigen blokken

Wanneer programma’s groter worden, wordt het steeds moeilijker om overzichtelijk te programmeren. Om alles eenvoudig te houden, delen we best het programma op in kleinere delen die we afzonderlijk aanpakken. Het opdelen van een probleem in kleinere problemen noemen we decompositie.

In Scratch kunnen we zelf blokken maken. Deze zullen we gebruiken om delen van een programma voor te stellen.

Een voorbeeld: we gaan weer tekenen

Met deze code tekenen we een vierkant:

when greenflag clicked point in direction {90}; go to x: {0} y: {0}; set pen color to {#123456} set pen size to {1}; pen down; repeat {4} wait {1} seconds move {100} steps; turn cw {90} degrees;

De volgende code tekent een driehoek:

repeat {3} wait {1} seconds move {100} steps turn ccw {120} degrees

Maar wat als we nu een aantal driehoeken en vierkanten willen tekenen? Het zou nogal stom zijn als we al die blokken telkens moeten kopiëren. Zou het niet veel gemakkelijker zijn als er gewoon een blok zou zijn dat een vierkant tekent? Of een blok dat een driehoek tekent? Dan moeten we elke keer wanneer we een driehoek willen tekenen maar één blok nemen in plaats van vier verschillende blokken. Laten we zelf eens zo een paar blokken maken.

Dit kan je doen door te klikken op het palet Mijn blokken. Daar zie je Maak een blok. Je kan een blok een naam geven en dan op OK klikken. Er zijn ook nog wat extra mogelijkheden, maar daar gaan we het nu niet over hebben.

Aanmaken van een blok
Figuur 3: Aanmaken van een blok

We maken drie nieuwe blokken:

define zet alles klaar point in direction {90}; go to x: {0} y: {0}; set pen color to {#123456} set pen size to {1}; pen down

define teken vierkant repeat {4} wait {1} seconds move {100} steps; turn cw {90} degrees;

define teken driehoek repeat {3} wait {1} seconds move {100} steps turn ccw {120} degrees

Het blok zet alles klaar zorgt ervoor dat de sprite op de juiste positie staat en de pen volledig klaar is om te gebruiken. Het blok teken vierkant tekent een vierkant en het blok teken driehoek tekent een driehoek.

Het programma om een huis te tekenen ziet er nu veel eenvoudiger uit, vind je niet?

when greenflag clicked zet alles klaar teken vierkant teken driehoek

En nu aan de slag

  1. Maak het voorbeeld na in Scratch.
  2. Pas het voorbeeld aan op de volgende manier:
    1. Maak een rij vierkantjes en daaronder een rij driehoeken (bijvoorbeeld telkens 5 figuren in een rij).
    2. Maak een blok van een andere figuur en voeg die toe aan het voorbeeld (bijvoorbeeld, een rechthoek of een vijfhoek).
  3. Teken een mandala.
    1. Maak een blok dat een vierkant tekent.
    2. Teken dat vierkant, draai dan 36° en verander de pen van kleur [HINT: Gebruik blok verander penkleur met 10]
    3. Herhaal de vorige stap 10 keer en kijk wat er gebeurt. [HINT: Gebruik blok herhaal 10 keer]
    4. Cool hé! Maar het kan nog veel cooler. Verander het getal 36 naar 3.6 en verander het getal 10 naar 100. Probeer dat eens.