Programmeren is niet alleen voor specialisten. Met wat leren en oefenen kun je ook zelf programma’s maken. En met Scratch is dat echt voor iedereen van 9 tot 99 weggelegd.

Door: Alex Wit

 

Scratch is een grafische programmeertaal. Alle commando’s hebben een eigen blokje, dat je alleen maar op de juiste plek in je programma hoeft te slepen. Dit, plus het feit dat Scratch (ook) Nederlandstalig is, maakt deze programmeertaal ideaal voor iedereen die snel en makkelijk wil leren programmeren.

Scratch afbeelding 1

De Scratch-editor

Aan de slag met Scratch

Er zijn twee versies van de Scratch-editor waarmee je programma’s maakt. De ene versie werkt direct in je internetbrowser met behulp van Flash. De andere variant download je op je computer, zodat je geen internet nodig hebt bij het programmeren. Beide editors werken bijna hetzelfde, maar voor dit artikel gebruiken we de internetversie.

Surf met je browser naar https://scratch.mit.edu/. Onderaan website staat de FAQ, voor als je bijvoorbeeld problemen hebt met de werking van Flash. In dezelfde lijst staat ook de link Offline Editor waarmee je de editor downloadt naar je computer.

Starten

Starten met Scratch is simpel. Klik gewoon bovenin op Maak. Geef eventueel toestemming om altijd op de site Flash te gebruiken. Het venster van de Scratch-editor bestaat uit vier delen. Linksboven zie je het Speelveld, waarin je de resultaten van je programma ziet. Linksonder vind je Sprites, de lijst met gebruikte sprites. Sprites zijn bewegende afbeeldingen, zoals de kat waarmee je altijd begint. De lijst in het midden heet het Blokkenpalet. Hierin staan alle Scratch-commando’s verdeeld in verschillende categorieën, zoals Beweging. Het grijze vak rechts heet de Scriptzone. Hier maak je je programma met de commandoblokken. Je start altijd met een tipvenster helemaal rechts, dat je met het kruisje afsluit.

Commando’s

Scratch afbeelding 2 aTraditioneel je eerste commando in een nieuwe programmeertaal

 

 

 


Erg handig is dat je bij veel commando’s in het Blokkenpalet direct ziet wat ze doen. Klik bijvoorbeeld op neem 10 stappen. Het gevolg is dat de sprite van de kat 10 stappen neemt.

De kat-sprite is handig om even snel kennis te maken met de basiswerking van Scratch. Klik in het Blokkenpalet op de categorie Uiterlijken. Dit zijn commando’s die met het uiterlijk van sprites of het speelveld te maken hebben.

Je kunt de eigenschappen van sommige commando’s aanpassen. Klik bijvoorbeeld in het commando zeg Hello! 2 sec. op de tekst Hello!. Typ vervolgens: Hallo wereld! De tijd voor het afbeelden van de tekstballon verander je op dezelfde manier van 2 in 4. Klik nu op het commando en zie het resultaat. De tekst ‘Hallo wereld!’ laten afbeelden, is traditioneel het eerste programma dat je maakt in een nieuwe programmeertaal. Je hebt ook meteen je eerste voorbeeld van output - uitvoer - gezien.

Er zijn nog andere manieren om de eigenschappen van commando’s aan te passen. Sommige hebben een lijst met opties waar je uit kunt kiezen (pijlknopje). En er zijn ook instructies met een kleurvak. Klik daarop en je kiest een andere kleur, bijvoorbeeld bij tekenen.

Je eerste programma

Nu je de basis van Scratch hebt gezien,
ga je meteen je eerste echte programma maken. Daarvoor sleep je één voor één de juiste commando’s uit het Blokkenpalet naar de Scriptzone rechts.

Goed programmeren komt voornamelijk neer op het plaatsen van alle instructies in de goede volgorde.

Omdat hij er toch al staat, gebruiken we de kat-sprite als het object van ons programma. We laten hem in een vierkantje lopen. Klik op de categorie Beweging. Sleep het blok neem 10 stappen links bovenin de Scriptzone. Je kunt op zich een blok overal neerzetten in dit vak, maar om het overzichtelijk te houden, is linksboven de beste plek. Omdat 10 stappen een beetje weinig is, verander je de 10 in 50.

Nu moet de kat naar rechts draaien. Daarvoor sleep je draai (pijltje rechtsom) 15 graden onder tegen neem 50 stappen.

Als puzzelstukjes

Pas de commandoblokken als puzzelstukjes in elkaar

Scratch afbeelding 3 a

 

 

 

 

 

 

Voor het geval het je nog niet
opgevallen was: de commandoblokken van Scratch passen als puzzelstukjes in elkaar. Als een stukje niet past, dan weet je meteen dat je die twee commando’s niet onder elkaar mag zetten. Let er goed op dat alle commandoblokken aan elkaar vastzitten, anders worden ze niet uitgevoerd als een programma.

Voor een vierkant heb je een hoek van 90 graden nodig, dus verander draai (pijltje rechtsom) 15 graden in draai (pijltje rechtsom) 90 graden.

Kopiëren

Voor iedere zijde van het vierkant gebruik je dezelfde twee commando’s. Je kunt die één voor één uit het Blokkenpalet halen, maar commando’s in de Scriptzone kopiëren is handiger. Klik op het pictogram met de stempel (Kopie maken) in de werkbalk, rechts naast Over. Klik op het eerste commando in de Scriptzone en je krijgt een kopie van de blokken. Sleep de kopie onder tegen de oorspronkelijke blokken. Herhaal dit nog twee keer en je eerste programma is bijna klaar.

Debuggen

Fouten uit je programma halen, wordt debuggen genoemd. Loop daarvoor stap voor stap het programma door en controleer of alle commando’s goed staan en de volgorde klopt. Geen fout gevonden? Draai dan het programma in kleine stukjes, door de onderste commando’s opzij te schuiven. Zo zie je per deel of er gebeurt wat zou moeten gebeuren. Je verwijdert eventueel foute of ongewenste blokken door ze terug in het Blokkenpalet te slepen.

Tussenvoegen

Als je het programma in deze vorm zou draaien, zie je de kat-sprite niet eens bewegen, omdat de commando’s razendsnel worden uitgevoerd. Daarom voeg je het commando wacht 1 sec toe bij iedere beweging opzij van de sprite, zodat het programma een pauze neemt.

Klik op de categorie Besturen en sleep wacht 1 sec. tussen het tweede en derde blok van je programma. Als je een witte rand tussen de blokken ziet, laat je het blok los en wordt het tussengevoegd.

Zit het blok niet op de goede plek? Sleep de blokken in het programma eronder opzij. Haal het wacht-blok los, zet de andere blokken weer terug en probeer het opnieuw.

Voeg onder ieder draai (pijltje rechtsom) 90 graden, behalve de laatste, een wacht 1 sec blok toe.

Programma draaien

Scratch afbeelding 4

Het programma voor het in een vierkant laten lopen van een kat

Je wilt nu natuurlijk zien wat er gebeurt als je programma draait. Daar hoef je niet meer voor te doen dan klikken op één van de blokken in het programma. Als het goed is, loopt de kat nu in een vierkant. Eindigt de kat niet op de plek waar hij begonnen was, dan heb je een fout gemaakt. In dat geval moet je het programma debuggen (zie kader Debuggen).

Een veelhoek tekenen

Nu je de basis van Scratch onder de knie hebt, wordt het tijd om de belangrijkste commando’s eens te bekijken. Daarvoor maken we een nieuw programma, waarbij je aan de hand van een ingevoerd getal een veelhoek laat maken. Klik op menu Bestand en de optie Nieuw. Klik op OK.

Je zag dat je een programma start door erin op een commando te klikken. De nettere manier om een programma te starten, is met een speciaal startcommando. Standaard gebruik je daarvoor wanneer “groene vlag” wordt aangeklikt in Gebeurtenissen. Sleep dit blok bovenin de Scriptzone. De vorm maakt duidelijk dat je geen blokken boven dit commando kunt zetten: het is een startcommando.

Meer over Scratch

Heeft dit artikel je nieuwsgierig gemaakt naar meer Scratch? Bekijk dan eens onze fantastische boekenaanbieding. Stap voor Stap leren programmeren is gericht op kinderen van 10 tot 15. Ideaal als je je kinderen of kleinkinderen kennis wilt laten maken met programmeren. Het boek is geschreven in de bekende Visual Steps-methode.
Programmeren met Scratch is geschikt voor kinderen vanaf 16 jaar en volwassenen. De programmeervoorbeelden uit onder andere wiskunde en natuurkunde zijn soms pittig, maar zorgen ervoor dat je leert programmeren met Scratch op een hoger niveau.

Initialiseren

Met het gereedschap Pen kun je vormen tekenen in het Speelveld. Om dat goed te doen, maak je eerst een deel waarin je het programma initialiseert. Zo weet je zeker dat je altijd met een schone lei begint. Eerst stel je de beginpositie en richting voor de pen in. Sleep uit Beweging achtereenvolgens de blokken ga naar x:0 y:0 en richt naar 90 graden onder het startblok. Verander x:0 in x:-100 en y:0 in y:150. Dit zijn de coördinaten in het Speelveld, waarbij x:0 en y:0 het middelpunt is.

Nu voeg je de instructies voor de pen toe. Sleep uit Pen de blokken wis alles en pen neer onderaan het programma. Tot slot verwijder je de kat-sprite door verdwijn uit Uiterlijken toe te voegen.

InputScratch afbeelding 5 a

 

De initialisatie en input voor het tekenen van een veelhoek

 

 

 

 

 

Een belangrijk onderdeel van bijna alle programma’s is de input ofwel invoer. Met invoer kan een gebruiker de werking en output van het programma beïnvloeden. In dit geval is de input het aantal graden voor alle hoeken van de veelhoek. Voeg uit Waarnemen het blok vraag ‘Whats’s your name?’ en wacht toe. Klik op What’s your name? en typ als inputvraag: Hoeveel graden?.

Als/dan

Het is bij input vaak nodig om grenzen te stellen. In dit geval beperken we het aantal graden tussen de 15 en 90. Sleep uit Besturen het als dan-blok onderaan het programma.

Je voegt een voorwaarde aan dit commando toe. Sleep uit Functies het blok en op het zeshoekje van het als dan-blok. Sleep het blok > op het eerste vakje van en. Sleep het blok < op het tweede vakje. Sleep nu uit Waarnemen het blok antwoord op de lege vakjes voor > en <. Typ in het lege vakje achter >: 14. Typ achter <: 91.

Deze instructie zorgt ervoor dat bij de input wordt gekeken of die tussen de 15 en 90 graden ligt. Zo ja, dan worden de commando’s tussen de armen van als dan uitgevoerd. Zo nee, dan springt het programma voorbij als dan.

Een lus maken

Scratch afbeelding 6 a

Zo hoort je veelhoektekenprogramma eruit te zien

 

 

Als je steeds dezelfde commando’s gebruikt, is het handig die in een lus te herhalen. Dat scheelt een hoop werk. Sleep uit Besturen het lusblok herhaal 10 keer tussen de armen van als dan in de Scriptzone. Deze lus wordt aangeroepen als de input goed is. Wijzig de 10 in 50 zodat er voldoende lijnen worden getekend.

In de lus zet je de instructies die herhaald moeten worden. Hiervoor voeg je achtereenvolgens uit Beweging de blokken neem 10 stappen en draai (pijltje rechtsom) 15 graden toe tussen de armen van herhaal 50 keer. Verander de 10 van neem 10 stappen in 40.

Nu verwerk je de input nog in de lus. Het aantal graden neem je direct mee door uit Waarnemen het blok antwoord op de 15 in draai (pijltje rechtsom) 15 graden te slepen.

Tekenen

Je programma is nu klaar om te testen. Klik op de groene vlag boven het Speelveld om te starten. Met de rode knop stop je eventueel het draaien. Typ het aantal graden en druk op Enter. Als het goed is, tekent je programma nu een veelhoek, soms in een spyrograph-vorm. Zo niet: dan wordt het debuggen.

Je slaat je programma op via Bestand > Naar je computer downloaden. Let erop dat je de extensie .sb achter de bestandsnaam zet. Openen doe je met Uploaden vanaf je computer.

Scratch afbeelding 7

Een resultaat van je veelhoektekenprogramma