Cursus Scratch Sylvie Vergote

download Cursus Scratch Sylvie Vergote

of 52

Transcript of Cursus Scratch Sylvie Vergote

Leren programmeren al spelenderwijs!

Voornaam: ............................................................................... Naam: ...................................................................................... Klas: ......................................................................................... Jaar: .........................................................................................

INLEIDINGScratch opent voor jou een fantasierijke wereld die jij met je creatieve brains zelf in elkaar kunt steken. Deze methode zal jou een nieuwe kijk op de informaticawereld bieden. Spelenderwijs leren we jou analytisch denken waardoor je begeleid en toch zelfstandig via trial and error kennismaakt met de programmeerstructuren. Vooral jouw creativiteit staat voorop en resultaten zijn gemakkelijk te verkrijgen zonder je te moeten vastpinnen op programmeercodes. Daarnaast is dit programma speciaal ontwikkeld om jou eenvoudig te leren programmeren: met dit programma leer je essentile denkmethodes volgen om problemen op te lossen. Door de vereenvoudigde programmeertaal van Scratch is het voor jou maar een kleine stap naar de grote programmeertalen als VB.net, javascript Bovendien is Scratch ook voor iedereen gemakkelijk te gebruiken, want dit Open Source-programma is gratis van het internet te halen. De onderstaande tabel toont je de gebruikte iconen of symbolen met hun functie erbij. Probleemstelling: wat is er aan de hand? Wat moet bereikt worden.

Analyseren: analyseer het probleem. Hoe kunnen we het probleem aanpakken? Werk met invoer, verwerking en uitvoer. Stel het algoritme schematisch voor.

Programmeren: ontwerp je programma.

Controleren: werkt je programma? Moet je het programma bijschaven?

Reflecteren: was de oefening makkelijk of moeilijk voor jou? Waarom?

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 1

INHOUDSOPGAVEInleiding 1 Inhoudsopgave ........................................................................................................................................................ 2 1 1.1 1.2 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.4 1.5 2 2.1 2.2 2.3 2.3.1 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5 3 3.1 3.2 3.3 3.4 3.4.1 3.4.2 3.4.3 3.4.4 3.5 4 4.1 4.2 4.3 4.4 4.4.1 4.4.2 4.4.3 4.5 5 6 1, 2, 3 Start! ............................................................................................................................................. 3 Installeren en openen Scratch ........................................................................................................................... 3 Werken met sprites ........................................................................................................................................... 6 De sprite............................................................................................................................................................. 6 Een nieuwe sprite maken .................................................................................................................................. 6 Wijzigen uiterlijk sprite ...................................................................................................................................... 7 Positioneren van de sprite ................................................................................................................................. 8 De sprite laten bewegen .................................................................................................................................... 9 De achtergrond wijzigen .................................................................................................................................. 10 De menustructuur............................................................................................................................................ 10 Programmeren maar .............................................................................................................................. 13 Algoritmes........................................................................................................................................................ 13 De sequentie .................................................................................................................................................... 15 Variabelen ........................................................................................................................................................ 16 Inleiding ........................................................................................................................................................... 16 Theorie ............................................................................................................................................................. 18 De sequentie .................................................................................................................................................... 18 Algoritme ......................................................................................................................................................... 18 Signalen............................................................................................................................................................ 18 Variabelen ........................................................................................................................................................ 19 Constanten....................................................................................................................................................... 21 Rekenkundige operatoren en eenvoudige functies ......................................................................................... 22 Let the game begin .......................................................................................................................................... 23 Wat als................................................................................................................................................ 26 Eenzijdige selectie ............................................................................................................................................ 26 Tweezijdige selectie ......................................................................................................................................... 27 Geneste selectie............................................................................................................................................... 29 Theorie ............................................................................................................................................................. 31 De eenzijdige selectie ...................................................................................................................................... 31 De tweezijdige selectie .................................................................................................................................... 32 De geneste selectie .......................................................................................................................................... 32 Subprocedures ................................................................................................................................................. 33 Oefenen, oefenen en nog eens oefenen ......................................................................................................... 34 Herhalen tot ....................................................................................................................................... 38 Oneindige herhaling ..................................................................................................................................... 38 De begrensde herhaling ................................................................................................................................... 39 De voorwaardelijke herhaling .......................................................................................................................... 40 Theorie ............................................................................................................................................................. 42 Oneindige herhaling......................................................................................................................................... 42 Begrensde herhaling ........................................................................................................................................ 42 Voorwaardelijke herhaling............................................................................................................................... 44 Start to practice ............................................................................................................................................... 45 Samenvatting......................................................................................................................................... 48 Verschillende programmeertalen ........................................................................................................... 50Voorlopige versie Bachelorproef 2011-2012 p. 2

Sylvie Vergote

1 1.1

1, 2, 3 START! INSTALLEREN EN OPENEN SCRATCH

De eerste stap is natuurlijk het programma downloaden en installeren. Via de link http://info.scratch.mit.edu/Scratch_1.4_Download kun je Scratch downloaden en installeren. Open het programma Scratch aan de hand van het pictogram op het bureaublad of via Start Alle programmas Scratch. Categorie n

Stage

Programmeerblokken

Scriptzone

Lijst met sprites / objecten

Bij het openen van het programma wordt altijd standaard gewerkt met dezelfde sprite, namelijk de kat van Scratch.

In de bovenste menubalk heb je verschillende mogelijkheden.

Via het wereldbolletje kun je de taal wijzigen.Sylvie Vergote

Aan de hand van het disketje kun je het gemaakte programma opslaan.

Dankzij het 3e pictogram kun je het project (bestand) publiceren op de website van Scratch.

Voorlopige versie Bachelorproef 2011-2012

p. 3

Via Bestand start je een nieuw project, open je een gemaakt project, sla je een project op

Aan de hand van Bewerken kun je stappen terughalen (= ongedaan maken),

Met de optie Publiceren kun je het project publiceren op de officile website van Scratch.

Via Hulp open je via je het internet korte handleidingen en uitleg over Scrtach. Vaak is deze uitleg in het Engels.

Zoals je ziet bestaat het programma uit verschillende categorien zoals besturen, waarnemen

Binnen de categorien heb je verschillende programmeerblokken.

Daarnaast heb je de scriptzone waar de programmeerblokken naar gesleept worden. De programmeerblokken die samen horen, worden aan elkaar geklikt.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 4

In de stage zie je hoe de sprite de code uitvoert. Onder de stage heb je de lijst met sprites en de achtergrond (de achtergrond kreeg de naam Scherm).

Het menu boven de stage zorgt voor enkele handige mogelijkheden.

De stempel zorgt voor een kopie. Selecteer de stempel en klik op hetgene dat je wilt kopiren. Hier werd bijvoorbeeld de code gekopieerd, je kunt ook bijvoorbeeld je sprite kopiren.

Dankzij het schaartje kun je wat je ook selecteert verwijderen (sprites en programmeerblokjes).

Met de 3 mogelijkheid kun je de sprite vergroten.

e

Dankzij de 4e mogelijkheid kun je de sprite verkleinen door de optie te selecteren en op de sprite te klikken.

Dankzij deze knoppen kun je de grootte van de stage aanpassen. De laatste mogelijkheid zorgt ervoor dat je enkel nog de stage ziet, alle andere menus zijn op dat moment niet zichtbaar. Afhankelijk van je zelf gekozen programmeerblokken kun je de uitvoer laten starten aan de hand van het vlaggetje. Indien je op de rode knop klikt wordt alle uitvoer onmiddellijk beendigd.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 5

1.2

WERKEN MET SPRITES

Een sprite is een object die je iets kunt laten zeggen, bewegen, en dit aan de hand van programmeerblokken. De sprite moet er niet uitzien als een diertje (zoals de standaardsprite die een kat is): het kan om het even welk object zijn. De sprite wordt telkens uitgelijnd op een x en y cordinaat. Telkens je de sprite verplaatst, wijzigt je ook de cordinaten. Met behulp van deze cordinaten kun je de sprite naar een andere positie verplaatsen. Bovenaan de scriptzone zie je de huidige cordinaten van de sprite

Hier werd de achtergrond gewijzigd om de cordinaten aan te tonen. Onder de stage zie je cordinaten van de muisaanwijzer (in dit voorbeeld: ).

De cordinaten van de sprite vind je terug boven de scriptzone.

In dit voorbeeld:

Je kunt ook de naam van de sprite wijzigen door te dubbel klikken op de naam en een andere naam in te vullen. Voor elke sprite kun je een eigen script opbouwen met programmeerblokken. Ook aan de achtergrond kun je programmeerblokken toevoegen.

1.3 1.3.1

DE SPRITE EEN NIEUWE SPRITE MAKEN

Dit doe je aan de hand van de knoppen onder de stage.

Een nieuwe sprite kun je zelf tekenen, uit een bestand halen of je kunt ook een willekeurige sprite door de computer laten plaatsen door te klikken op het sterretje met vraagteken. Voor elke sprite of achtergrond kun je een eigen script opbouwen met de programmeerblokken.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 6

1.3.21

WIJZIGEN UITERLIJK SPRITEOpen een nieuw bestand: Ga naar het menu, kies voor Bestand en selecteer dan in het menu de optie nieuw.

2

Selecteer de sprite: klik op de afbeelding van de gewenste sprite onder de stage.

3

Klik in het menu (in de scriptzone) op het tabblad Uiterlijken. Hier zie je dus dat elke sprite n of meerdere uiterlijken heeft die je zelf kunt importeren, bewerken, tekenen en kopiren. Via het tabblad Geluiden kun je ook zelf geluiden opnemen om te laten afspelen via code.

4

Klik op de knop Bewerken van uiterlijk 1. Nu kun je ofwel het uiterlijk bewerken (vergelijk met het programma Paint), wissen of een nieuw uiterlijk importeren. Je kunt ook zelf een nieuwe sprite tekenen.

Aan de hand van deze knoppen kun je het uiterlijk van de sprite vergroten, verkleinen, 15 naar rechts draaien, 15 naar links laten draaien, naar links of rechts keren, naar boven of onder laten keren. 5 Wis het bestaande uiterlijk. Klik hiervoor op de knop Wissen.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 7

6 7

Klik op de knop Importeren. Open de map Animals.

8

Importeer nu een nieuw uiterlijk uit de standaard map Animals door te dubbel klikken op de gewenste sprite. Kies zelf een leuke sprite.

9

Bewerk nu het uiterlijk van de sprite zodanig dat deze een hoed krijgt.

Opmerking: met de programmeerblokken kun je ook het uiterlijk wijzigen of geluiden integreren in de code! Zie pagina 10. Extra Ook een foto van jezelf kan gemporteerd worden als sprite! Hiervoor heb je wel een webcam nodig. Een nieuw uiterlijk zal gemaakt worden, wis daarom de vorige uiterlijken totdat dat je jouw foto als sprite kunt gebruiken. Verwijder de uiterlijken door te klikken op X.

10

Sla op onder de naam Sprite1. Klik op de knop Bestand en kies voor Opslaan als.

1.3.31

POSITIONEREN VAN DE SPRITEOpen een nieuw bestand. Wat zijn de cordinaten van de sprite? X: 0 Y: 0

2

Selecteer de sprite en versleep hem naar links. Wat zijn nu de cordinaten van de sprite? X: -136 Y: -5

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 8

3

Sla op onder de naam Sprite2.

1.3.41 2 3 4 5 6

DE SPRITE LATEN BEWEGENOpen een nieuw bestand. Selecteer sprite 1. Klik op de categorie Bewegen. Klik op de programmeerblok neem 10 stappen. Hou de linkermuisknop ingedrukt en sleep de blok naar de scriptzone. Klik dubbel op de programmeerblok in de scriptzone. Wat gebeurt er met de sprite? De sprite gaat 10 stappen vooruit. Ik wil de sprite maar 2 stappen laten zetten. Hoe wijzig je de programmeerblok? Klikken in de programmeerblok en 10 wijzigen naar 2.

7

Voer de wijziging van 10 naar 2 stappen uit. Voert de sprite de code correct uit? Ja.

8 9 10

Open opnieuw de categorie Bewegen. Klik op de programmeerblok draai schuin 15. Sleep deze programmeerblok naar de scriptzone onder de blok neem 2 stappen. Sleep de blok zodanig onder de eerste blok totdat er een witte lijn tussen de 2 blokken ontstaat (zoals je ziet op de afbeelding). Laat de linker muisknop los. Wat is er gebeurd? De 2 blokken hangen vast aan elkaar.

11

Voer de code uit. Hoe doe je dit? Door te dubbel klikken op de code. Wat gebeurt er? De sprite zet 2 stappen terwijl hij 15 naar links draait.

12

Sla op onder de naam SpriteLatenBewegen. Hoe doe je dit? Klikken in het menu op de knop Bestand en dan kiezen voor Opslaan als.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 9

1.41 2 3

DE ACHTERGROND WIJZIGENOpen een nieuw bestand. Selecteer het scherm in plaats van de sprite onderaan de stage. Kies voor het tabblad Achtergronden in het menu van de scriptzone. Zoals je ziet zijn de opties gelijkaardig aan het wijzigen van het uiterlijk van de sprite.

4

Klik op de knop Bewerken. Je kunt opnieuw de achtergrond bewerken of een nieuwe achtergrond tekenen, importeren of een foto met behulp van je webcam toevoegen.

5

Teken zelf een leuke achtergrond.

6

Sla op onder de naam Achtergrond1.

1.5

DE MENUSTRUCTUUR

In Scratch bouwen we ons programma op aan de hand van programmeerblokken. Er zijn acht verschillende categorien om programmeerblokken in terug te vinden.

Bewegen De sprite kun je laten stappen nemen (het aantal kun je zelf invullen). Laten draaien, richten naar een bepaalde kant, richten naar de muisaanwijzer, naar bepaalde cordinaten laten verschuiven,

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 10

Uiterlijk Een sprite kan zoals je al eerder zag meerdere uiterlijken bevatten. Het nut daarvan is dat je in je programma de sprite bijvoorbeeld kunt laten wijzigen van uiterlijk. Je kunt een sprite iets laten zeggen, wijzigen van kleur, grootte, verschijnen en verdwijnen,

Geluid In Scratch kun je ook geluiden laten afspelen aan de hand van programmeerblokken. Deze kun je importeren net zoals je uiterlijken importeert. Scratch bevat ook standaard muziekinstrumenten, ritmes, die je kunt laten afspelen aan de hand van programmeerblokken.

Pen Je kunt in de stage tekeningen maken dankzij de pen. Deze moet je natuurlijk eerst neerzetten wanneer je wilt starten met tekenen. Pen op stopt het tekenen. Je kunt de penkleur wijzigen, de grootte, de helderheid, Stempel zorgt ervoor dat de sprite telkens zichzelf kopieert. Besturen In deze categorie vind je de structuren terug die je later zult nodig hebben zoals de voorwaardelijke herhaling. Je kunt je programma laten starten aan de hand van het vlaggetje, Je kunt ook signalen sturen naar sprites, hiermee zorg je voor communicatie tussen de sprites.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 11

Waarnemen In de stage kun je de sprite laten vragen stellen, tijd instellen, controleren of de sprite iets raakt (zoals een 2e sprite), enzovoort.

Functies Hier vind je de wiskundige, logische en voorwaardelijke operatoren terug. Ook kun je gebruik maken van tekst- en wiskundige functies.

Variabelen Om waarden te laten variren, maak je gebruik van variabelen. Deze kun je in deze categorie maken. De waarde van variabelen kun je de sprite laten zeggen of laten weergeven in een lijst.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 12

2 2.1

PROGRAMMEREN MAAR ALGORITMES

Leren programmeren start telkens met een grondige analyse van de opgave, wat moet er ingevoerd worden? Hoe zullen we dit verwerken? Wat moet de uiteindelijke uitvoer zijn? Elke oefening die we maken, elke handeling, elk recept heeft een bepaalde volgorde en bestaat uit een eindige reeks instructies. Dit noemen we algoritmen, ook in het dagelijkse leven heb je veel met algoritmen te maken. Voorbeeld : Een kadertje aan de muur hangen Stap 1: Stap 2: Stap 3: Stap 4: Stap 5: Stap 6: Stap 7: Stap 8: Stap 9: Zoek de hamer en de spijker en bepaal de plaats waar het kadertje moet komen. Neem de hamer in de ene hand en de spijker in de andere. Plaats de spijker tegen de muur. Geef een forse slag met de hamer in de richting van de spijker. Bij ongeluk, werken stilleggen, zoek een verbanddoos, anders ga verder. Test of de spijker goed vast zit in de muur, zoniet herneem vanaf stap 4. Hang het kadertje aan de spijker. Neem de stofzuiger en maak alles netjes. Einde.

Het is duidelijk dat de opdracht slechts goed zal uitgevoerd worden als we bovenstaande volgorde in acht nemen. Zo'n opeenvolging van regels voor het systematisch oplossen van een probleem of het uitvoeren van een handeling, noemen we een algoritme. Elke oefening wordt aan je voorgesteld aan de hand van een vaste structuur:

Gegeven Hier lees je de opdracht, wat je moet ontwerpen. Vaak wordt dit gellustreerd met een afbeelding.

Analyse In dit deel analyseren we de opdracht. Wat weten we, wat moet er worden ingevoerd, hoe worden de gegevens verwerkt en hoe moet de uitvoer gebeuren. Deze analyse gebeurt aan de hand van Nassi-Shneidermann diagrammen. Afhankelijk van het soort structuur stel je het diagram anders op (dit zal duidelijk worden via de verdere hoofdstukken). Enkele bemerkingen bij het maken van je diagram: de instructies worden in hoofdletters geschreven; elke opdracht staat in een rechthoek; de probleemoplossing staat centraal.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 13

Hieronder zie je een voorbeeld van het Nassi-Shneidermanndiagram bij een opeenvolging: Je schrijft dus enkel de te gebruiken opdrachten. VRAAG: Geef de verkoopprijs per product op LEES: VERKOOPPRIJS VRAAG: Geef het aantal verkochte producten op LEES: AANTAL OMZET = VERKOOPPRIJS * AANTAL SCHRIJF: OMZET De opdrachten worden altijd in volgorde van boven naar onder uitgevoerd (=SEQUENTIE)! De opdracht LEES wordt gebruikt om de variabelen een waarde te geven. De opdracht SCHRIJF wordt gebruikt wanneer de uitvoer moet worden getoond.

Uitvoeren In dit onderdeel is het dus de bedoeling dat je het programma maakt in Scratch.

Controleren Na het uitvoeren van de code moet je nu controleren of het programma uitvoert wat opgegeven werd bij Gegeven.

Reflecteren Nu bekijken hoe het programmeren verliep voor jou. Waar zaten de moeilijkheden? Het is belangrijk dat je dit eerlijk invult zodanig dat de leerkracht hulp kan bieden waar nodig.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 14

2.2

DE SEQUENTIE

Gegeven Sam is aan het ijsberen. Hij neemt 100 stappen, draait naar links, wacht 1 tel, draait opnieuw naar rechts en stopt. Werk met de sprite boy4-walking-a uit de standaardmap People (enkel deze sprite gebruik je). Laat Sam starten met ijsberen na het klikken op het vlaggetje.

Analyse Wijzig het uiterlijke van de sprite. Hoe ga je dit doen? (Zie pagina 7) Eerst sprite 1 selecteren daarna kiezen voor uiterlijken, uiterlijk 1 selecteren en daarna klikken op bewerken. Dan het bestaande uiterlijk wissen en de gewenste sprite importeren. Vul in onderstaande tabel eerst de gebeurtenis (hoe moet de procedure starten?). Daaronder maak je de analyse van de invoer, verwerking en uiteindelijke uitvoer van je programma. Gebeurtenis: Na klikken op het vlaggetje Invoer Verwerking Uitvoer / / Sam neemt 100 stappen, draait -90C naar links, wacht 1 tel, draait 90C naar rechts.

Per gebeurtenis wordt een procedure (apart programmatje) gestart. Vul in onderstaand Nassi-Shneidermann diagram de volgorde van de nodige programmeerblokken in. Procedure ijsberen Gebeurtenis: Na het klikken op het vlaggetje Neem 10 stappen Richt naar -90 graden Wacht 1 tel Richt naar 90 graden

Uitvoeren 1 2 Sleep de blokken naar de scriptzone. Klik nu de blokken in de correcte volgorde aan elkaar. Hoe voer je nu het programma uit? Door 2 x te klikken op de blokken.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 15

3

Sla op onder de naam ijsberen. Het programma voert dus alle opdrachten / instructies in volgorde uit. Dit is een voorbeeld van een algoritme.

Controleren 1 Wordt de code correct uitgevoerd? Neen. 2 Wat valt er op? De sprite draait zich volledig om in plaats van naar links. Dit los je op aan de hand van de knoppen naast de sprite bovenaan de scriptzone. Daar kun je kiezen om de sprite ofwel volledig te laten draaien, enkel naar links of naar rechts of de sprite niet te laten draaien.

Reflecteren Hoe verliep het programmeren? Waar zaten de moeilijkheden? ......................................................................................................................................................................................... .........................................................................................................................................................................................

2.3 2.3.1

VARIABELEN INLEIDING

Gegeven Samantha begroet ons op school, eerst vraagt ze onze voornaam en daarna begroet ze ons door te zeggen: Hallo + voornaam.

Analyse Wat is de variabele in het voorbeeld Hallo? De voornaam die je opgeeft. Welke naam geef je aan de variabele? Voornaam. 1 Analyseer per gebeurtenis de gegevens, invoer, verwerking en uitvoer.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 16

Sprite1 Gebeurtenis: Na het klikken op het vlaggetje Gegevens Invoer Verwerking Uitvoer 2 3 Samantha vraagt onze voornaam. Je voornaam Hallo + je voornaam samenvoegen Zeg: hallo + je voornaam.

Stel het Nassi-Shneidermanndiagram op. Noteer aan de hand van welke gebeurtenis het programma zal starten. Procedure: Starten programma Gebeurtenis: Na het klikken op het vlaggetje Vraag: wat is je voornaam? Zeg: voeg(hallo + je voornaam) samen.

Uitvoeren 1 2 Voer het programma uit. Sla op onder de naam Hallo.

Controleren Zijn de uitkomsten correct? Ja.

Reflecteren Hoe verliep het programmeren voor jou? Waar zaten de moeilijkheden? ......................................................................................................................................................................................... .........................................................................................................................................................................................

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 17

2.4 2.4.1

THEORIE DE SEQUENTIE

De sequentie is de structuur waarbij opdrachten in volgorde worden uitgevoerd.

2.4.2

ALGORITME

Een eindige reeks opdrachten of instructies noemen we een algoritme. Algoritmen komen vaak in het dagelijkse leven voor.

2.4.3

SIGNALEN

Met behulp van signalen kunnen objecten met elkaar communiceren.

2.4.3.1 VOORBEELDEen prinses is een wandelingetje aan het maken in het bos en komt daar een fee tegen. Aan de fee vraagt ze hulp, ze zoekt haar koene ridder. Nadat de fee haar toverspreuk (biebediebabedieboe) uitspreekt, verdwijnt zij en verschijnt er een ridder in de plaats. De prinses is hier heel gelukkig om en zegt dat alles wel op een sprookje gelijkt! Dit alles start na het klikken op het vlaggetje. De sprites spreken in feite met elkaar, dit is mogelijk dankzij het gebruik van signalen.

Programmeerblokken in Scratch: De prinses vraagt aan de fee voor hulp. Wanneer de fee (sprite2) haar signaal ontvangt, spreekt ze haar toverspreuk uit, waarna zij verdwijnt en de ridder in de plaats komt.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 18

2.4.3.2 SIGNALEN VERSTUREN1 2 3 4 Selecteer de sprite, waarvan je wilt dat het signaal vertrekt. Kies voor de categorie Besturen. Sleep de programmeerblok zend signaal naar de scriptzone. Klik op de het pijltje omlaag en kies voor nieuw.

5

Dan wordt er een berichtvenster geopend om je signaal een naam te geven. Kies een passende naam, bijvoorbeeld: Vleermuis.

6 7 8

Klik op OK. Deze programmeerblok kun je vastklikken aan andere programmeerblokken op het moment dat je het signaal wilt versturen. Selecteer nu de sprite die het signaal moet ontvangen.

9 Kies opnieuw voor de categorie Besturen. 10 Sleep de programmeerblok 11 Klik op het pijltje omlaag. Kies nu welk signaal de sprite moet ontvangen (hier bijvoorbeeld signaal Vleermuis). Aan deze programmeerblok kun je nu nog programmeerblokken toevoegen zodanig dat de sprite weet wat hij moet doen wanneer het signaal ontvangen wordt.

2.4.4

VARIABELEN

2.4.4.1 WAT IS EEN VARIABELE?Een variabele is een plaats in het geheugen waarin je tijdelijk een waarde (een getal, een naam, een resultaat) kunt opslaan. Variabelen geef je telkens een naam en aan de hand van die naam verwijs je naar de waarde van de variabele.

2.4.4.2 HOE VARIABELEN GEBRUIKEN IN SCRATCH?1 2 Open een nieuw bestand. Ga naar het menu Variabelen.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 19

3

Klik daarna op de knop Een nieuwe variabele maken. Geef een naam aan de variabele: Voornaam. Start je variabelenaam altijd met een hoofdletter. Geef de variabele een logische naam zodat je altijd weet wat de inhoud van de variabele is. Je kunt kiezen of alle sprites mogen gebruik maken van deze variabele of enkel de huidige sprite. Kies je voor de optie Alleen voor deze sprite zal je de variabele en bijhorende programmeerblokken enkel bij die bepaalde sprite terugvinden. Selecteer de optie: Voor alle sprites.

4

Kies dan voor OK.

Na het maken van de variabele verschijnen nieuwe programmeerblokken. Deze blokken kun je in je code gebruiken.

Door het selectievakje naast de variabele aan te vinken kun je de waarde van de variabele laten weergeven op het scherm. Je kunt natuurlijk ook de programmeerblokken toon / verberg variabele gebruiken. Om een variabele te gebruiken moet je deze een waarde toekennen. Om een waarde toe te kennen aan een variabele werken we met toekenningsoperatoren1, hiervoor bestaat de programmeerblok maak Voornaam bij de categorie variabelen. 5 Sleep deze programmeerblok naar de scriptzone. Welke waarde heeft de variabele Voornaam gekregen? Sylvie. Waar zie je dit? Op de stage. Als antwoord op een vraag voorziet Scratch ALTIJD een standaardvariabele, namelijk antwoord. Daarna moet jij de variabele antwoord koppelen aan jouw variabele. 6 7 Voeg deze programmeerblokken toe aan je scriptzone. Sla op onder de naam VragenNaam.

1

Een toekenningsoperator wordt dus gebruikt om de variabele een waarde toe te kennen.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 20

2.4.4.3 WEERGAVE VAN DE VARIABELEAls je de variabele weergeeft in de stage heb je 3 weergaven.

Normaal:

Groot:

Schuif:

2.4.4.4 INITIALISEREN VAN VARIABELENHet initialiseren van variabelen gebruik je om je variabele bij het starten van je programma al een waarde te geven. Deze waarde kan net zo goed niets (leeg) zijn. Je geeft dus je variabele aan de hand van je toekenningsoperator een waarde.

2.4.5

CONSTANTEN

2.4.5.1 WAT IS EEN CONSTANTE?Variabelen waarvan de waarde niet mag wijzigen tijdens de uitvoering van het programma, noemen we een constante2. Om aan te duiden dat je met een constante werkt, kun je dit duidelijk maken via de naam, bijvoorbeeld: ConVoorbeeld. De waarde van de constante moet niet gewijzigd worden. Indien je de waarde wilt laten variren moet je een variabele maken en geen constante.

2.4.5.2 HOE GEBRUIKEN IN SCRATCH?Je maakt een constante op dezelfde manier als een variabele. Bij de toekenningsoperator vul je dan enkel een vaste waarde in. Bijvoorbeeld: om een persoonlijk wachtwoord te maken, werk je altijd eerst met een vast getal en daarna voeg je daar de voorlaatste letter van je naam aan toe.

ConstGetal is dus de constante, aan de hand van de toekenningsoperator krijgt de constante de vaste waarde 67. Naam is een variabele, de waarde is afhankelijk van het antwoord op de vraag.

Constante

Variabele

2

In Scratch is er niet echt een specifiek onderscheid tussen variabelen en constanten (tenzij in de naamgeving).

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 21

2.4.6

REKENKUNDIGE OPERATOREN EN EENVOUDIGE FUNCTIES

Rekenkundige operatoren Bijvoorbeeld: 1 + 2

Tekst functies Dankzij de functie voeg en samen kun je variabelen, tekst en getallen in n zin laten weergeven. De functie letter van haalt een specifieke letter uit een woord of variabele. De functie lengte van bepaalt de lengte van een woord of variabele. Wiskundige functies De functie willekeurig getal tussen laat een willekeurig getal genereren door een zelf op te geven minimum en maximum waarde. De functie modulo bepaalt de rest waarde bij de deling van 2 getallen. De functie wortel bepaalt de wortel van een getal. Je kunt via de keuzelijst ook nog andere functies selecteren.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 22

2.5

LET THE GAME BEGIN

Om de leerstof uit de vorige hoofdstukken te verwerken, heb je nu een hoofdstuk vol met oefeningen, veel plezier! De naam waaronder je het programma moet opslaan, wordt vermeld naast het nummer van de oefening. De bliksemschichten duiden de moeilijkheidsgraad van de oefening aan. Sla op in je eigen map! Oefening 1: Visjes

Sien is een visje in de diepe blauwe zee en zwemt zonder problemen overal heen. Sien zwemt omhoog wanneer je het pijltje omhoog indrukt, omlaag wanneer je het pijltje indrukt, naar links of naar rechts afhankelijk van het pijltje naar links of naar rechts. Oefening 2: Tekenen Ons katje wandelt doorheen de stage, maar laat telkens een spoor na. Net zoals de oefening hierboven wandelt de kat naar boven, onder, links of rechts afhankelijk van het ingedrukte pijltje. Laat de kleur van het spoor variren met een willekeurig getal tussen 0 en 10.

Oefening 3: Welkom Een lief oud vrouwtje (sprite: womanwaving) vraagt altijd eerst je naam en heet je daarna persoonlijk welkom. Indien je op het vlaggetje klikt, start het programma. Kies zelf een leuke achtergrond.

Oefening 4: Slimme Sam Sam krijgt wat extra zakgeld Zowel van zijn Oma als van zijn ouders. Natuurlijk wil Sam berekenen hoeveel extra zakgeld hij nu in het totaal heeft. Kun jij hem helpen? Na het klikken op Sam toont hij eerst volgende boodschap: Geef de 2 bedragen op.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 23

Oefening 5 Ballet Elsje volgt balletlessen, wanneer je a indrukt op het toetsenbord vraagt de lerares om de attitude uit te voeren, wanneer je de p indrukt op het toetsenbord vraagt de lerares pli uit te voeren en wanneer je r indrukt op het toetsenbord vraagt de lerares om relev uit te voeren. Na elke oefening moet Els terugkeren naar de beginhouding en stopt de oefening. Tijdens de oefening speelt het geluid Xylo1 af.

Oefening 6: Begroeting Twee vriendjes ontmoeten elkaar en begroeten elkaar. De sprites communiceren aan de hand van signalen.

Oefening 7: Sommen

We willen een sprite laten hoofdrekenen. Indien je klikt op de sprite kun je 2 getallen ingeven zodat de sprite de som uitrekent en het resultaat toont. Oefening 8: Muziek Kies als sprite een muziekinstrument. Na het klikken op het vlaggetje wordt in Scratch het juiste instrument bepaald. Daarna als je op de letters a, z, e, r, t of y klikt wordt een noot afgespeeld op het eerder bepaalde instrument. Kies 1 instrument voor je programma. Sla op onder de naam Muziek.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 24

Oefening 9: Kunstvliegen

Laat een vliegtuig meetkundige figuren in de lucht tekenen. Zorg ervoor dat het tekenen niet te snel uitgevoerd wordt (na elke zijde van de figuur een tel wachten bijvoorbeeld). Start met het vliegtuig een vierkant te laten tekenen en probeer daarna een gelijkzijdige driehoek. Extra: laat de penkleur willekeurig wijzigen. Wanneer je op het vlaggetje klikt, tekent het vliegtuig een vierkant in de lucht. Klik je op de spatiebalk tekent het vliegtuig een gelijkzijdige driehoek in de lucht. Laat bij het starten van de oefening het vliegtuig altijd starten vanaf dezelfde cordinaten. Indien je tijd over hebt, kun je zelf een toffe achtergrond tekenen.

Analyse Om te draaien in de gewenste richting moet je werken met graden. Scratch helpt je hierbij de juiste keuze maken (zie schermafdruk).

Je kunt ook volgende programmeerblok gebruiken: draai links graden. Het enige verschil tussen de 2 programmeerblokken is dat de programmeerblok richt naar graden niet werkt met negatieve waarden en de programmeerblok draai graden wel. Oefening 10: DancingQueen

Beyoncie toont op het podium haar talenten, na een korte intro start ze met zingen (geluid: Ooobadada) terwijl ze 10 stappen naar rechts neemt en daarna opnieuw naar links, met telkens n tel tussen het verlopen. Na n tel geeft Beyoncie het signaal dat de achtergrond mag worden gewijzigd.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 25

3 3.1

WAT ALS EENZIJDIGE SELECTIE

Gegeven Joris is een uitzonderlijke hiphopper, enkel wanneer hij een getal kleiner dan 5 krijgt, maakt hij een move op het geluid Hiphop, geef je een getal groter dan 5 op, gebeurt er niets. Start het programma na klikken op de sprite.

Analyse 1 Analyseer per gebeurtenis, de gegevens, invoer, verwerking en uitvoer. Gebeurtenis: Na klikken op de sprite Invoer Verwerking Uitvoer 2 Getal / Getal 5

Gegeven Joris vraagt om een getal, is het hoger dan 5 dan lacht Joris ons uit en zegt ons om het opnieuw te proberen, is het opgegeven getal kleiner dan 5, dan doet Joris een move op de muziek.

Analyse 1 Analyseer per gebeurtenis, de gegevens, invoer, verwerking en uitvoer. Gebeurtenis: Na klikken op de sprite Invoer Verwerking Uitvoer 2 Getal / Getal 5: wordt je uitgelachen en zegt dat je het maar moet opnieuw proberen.

Stel het Nassi-Shneidermanndiagram op.Voorlopige versie Bachelorproef 2011-2012 p. 27

Sylvie Vergote

DOE: wissel naar start uiterlijk SCHRIJF: Hey, als je een getal kleiner dan 5 opgeeft, doe ik een toffe move! VRAAG: Welk getal geef je op? LEES: GETAL DOE: wissel naar start uiterlijk

GETAL < 5 JA DOE: geluid afspelen DOE: wissel uiterlijk SCHRIJF: Alright DOE: geluid afspelen SCHRIJF: Haha, probeer het opnieuw NEE

Er wordt dus slechts n opdracht uitgevoerd: of de linkeropdracht of de rechteropdracht. De opdrachten kunnen nooit alle twee uitgevoerd worden, omdat de voorwaarde ofwel WAAR ofwel ONWAAR is. Is de voorwaarde WAAR, dan geldt de linkeropdracht. Is de voorwaarde ONWAAR, dan geldt de rechteropdracht.

Uitvoeren Maak nu de oefening in Scratch. Sla op onder de naam Dansen.

Controleren Controleer opnieuw met eenvoudig te controleren jaartallen, zoals je eigen geboortejaar en dergelijk. Is dit correct? .........................................................................................................................................................................................

Reflecteren Moet je hier de variabelen eerst gelijk stellen aan 0 voor het vragen naar de waarde van de variabelen? Neen, omdat de variabelen bij het opnieuw uitvoeren van de code opnieuw een nieuwe waarde krijgen. (De waarde wordt automatisch gewist, eenmaal je ze een nieuwe waarde geeft). Hoe verliep het programmeren voor jou? Wat waren de moeilijkheden? ......................................................................................................................................................................................... .........................................................................................................................................................................................

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 28

3.3

GENESTE SELECTIE

Getal < 5

Getal tussen 5 en 10

Getal > 10

Gegeven Joris heeft een nieuwe truc erbij! Wanneer je een getal ingeeft kleiner dan 5 doet hij een move op het geluid Hiphop, geef je een getal tussen 5 en 10 in, dan start Joris met beatboxen (geluid Beatboxer1). Geef je een getal in groter dan 10, dan lacht hij je uit en zegt je dat je het maar opnieuw moet proberen. In tabelvorm: Getal 5 en 10 > 10 Move op de muziek. Starten met beatboxen. Je wordt uitgelachen.

Analyse 1 Analyseer per gebeurtenis, de gegevens, invoer, verwerking en uitvoer. Gebeurtenis: Na klikken op de sprite Invoer Verwerking Uitvoer Getal / Getal 5: word je uitgelachen en zegt dat je het maar moet opnieuw proberen.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 29

2

Stel het Nassi-Shneidermanndiagram op. DOE: wissel naar start uiterlijk SCHRIJF: Hey, als je een getal kleiner dan 5 opgeeft, doe ik een toffe move! VRAAG: Welk getal geef je op? LEES: GETAL DOE: wissel naar start uiterlijk

GETAL < 5? JA DOE: geluid afspelen DOE: wissel uiterlijk SCHRIJF: Alright DOE: geluid afspelen SCHRIJF: Im a real beatboxer DOE: geluid afspelen SCHRIJF: Haha, probeer het opnieuw GETAL < 10? NEE

Uitvoeren Wanneer start de code? Na het klikken op het vlaggetje. Moet je hier de variabelen eerst gelijk stellen aan 0 voor het vragen naar de waarde van de variabelen? Neen, omdat de variabelen bij het opnieuw uitvoeren van de code opnieuw een nieuwe waarde krijgen de waarde wordt automatisch gewist, eenmaal je ze een nieuwe waarde geeft.

Controleren Is de uitvoer correct? .........................................................................................................................................................................................

Reflecteren Hoe verliep het programmeren voor jou? Wat waren de moeilijkheden? ......................................................................................................................................................................................... .........................................................................................................................................................................................

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 30

3.4 3.4.1

THEORIE DE EENZIJDIGE SELECTIE

Eenzijdige selectie: als aan de voorwaarde voldaan wordt, zal de sprite een opdracht uitvoeren. Anders gebeurt er niets. Afhankelijk van je voorwaarde kun je dus kiezen om bepaalde opdrachten uit te voeren of om ze over te slaan. Om de voorwaarde op te bouwen maak je gebruik van operatoren. Je hebt 3 soorten operatoren in Scratch, namelijk: rekenkundige (zie pagina 20); vergelijkingsoperatoren; logische operatoren.

Toekenningsoperatoren horen hier niet bij omdat deze gebruikt worden om een variabele een waarde te geven, maar niet om iets uit te rekenen of te gebruiken om variabelen te vergelijken. In het voorbeeld Dansen werd de volgende voorwaarde gebruikt (zie schermafdruk rechts). Wat gebeurt er hier, wordt er iets berekend of is er een vergelijking? Men vergelijkt of de waarde van de variabele kleiner is dan 5. Welke soort operator wordt hier dus gebruikt? Een vergelijkingsoperator.

VergelijkingsoperatorenIn een voorwaarde staat altijd een vergelijkingsoperator. De uitkomst van deze operatoren kan slechts twee antwoorden hebben: waar of onwaar. Bijvoorbeeld: kinderen jongeren dan 4 jaar mogen gratis naar een pretpark. Hoe lees je volgende voorwaarde? Als Getal1 kleiner is dan Getal2 moet er een bepaalde code uitgevoerd worden. Hoe lees je volgende voorwaarde? Als Getal1 gelijk is aan Getal2 moet er een bepaalde code uitgevoerd worden. Hoe lees je volgende voorwaarde? Als Getal1 groter is dan Getal2 moet er een bepaalde code uitgevoerd worden. Hoe lees je volgende samengestelde voorwaarde? Als Getal1 groter is dan Getal2 of als Getal1 = Getal2. In deze voorwaarde zie je een voorbeeld van het nesten van programmeerblokken. Welke operatoren worden gebruikt in deze voorwaarde? Vergelijkings en logische operatoren.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 31

Logische operatorenLogische operatoren worden gebruikt bij samengestelde voorwaarden. Bijvoorbeeld: wanneer kun je gebruik maken van het seniorentarief bij de trein? ALS je 65 jaar of ouder bent EN je komt op dezelfde dag terug EN je vertrekt niet voor 9:00 op weekdagen. Hoe lees je de volgende voorwaarde: Als getal1 kleiner is dan getal2 en als getal1 groter is dan 0 dan zegt de sprite hoi. Zegt de sprite ook hoi als Getal1 > Getal2 en Getal1 > 0? Neen, er moet aan beide voorwaarden voldaan worden. Hoe lees je de volgende voorwaarde:. Als getal1 kleiner is dan getal2 of als getal1 groter is dan 0 dan zegt de sprite hoi. Zegt de sprite ook hoi als Getal1 < Getal2, maar Getal1 < 0? Ja, de code wordt uitgevoerd als aan n van beide voorwaarden voldaan wordt. Hoe lees je de volgende voorwaarde: De sprite zegt hoi als getal1 niet kleiner is dan getal2, in alle andere gevallen dus wel. Zegt de sprite hoi als Getal1 = 3 en Getal2 = 4? Neen, enkel als Getal1 groter is dan Getal2 zegt de sprite hoi.

3.4.2

DE TWEEZIJDIGE SELECTIE

Met de tweezijdige selectie kun je een aantal opdrachten laten uitvoeren indien aan de voorwaarde wordt voldaan. Indien niet aan de voorwaarde wordt voldaan wordt voldaan worden er andere opdrachten uitgevoerd.

3.4.3

DE GENESTE SELECTIE

Het is mogelijk dat je in een keuze-structuur nog een andere keuze structuur nodig hebt. De verschillende keuzestructuren worden dan in elkaar genest. Bij de geneste selectie zijn er meer dan twee voorwaarden. Er kan maar aan n van deze voorwaarden voldaan worden. De opdrachten volgens deze voorwaarden worden dan uitgevoerd. Nesten van keuzestructuren

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 32

3.4.4Oefening

SUBPROCEDURES

Er is een meisje aan het wandelen door het bos (sprite besturen aan de hand van de pijltjestoetsen). Wanneer het meisje tegen het monster aanloopt schreeuwt ze het uit, anders gebeurt er niets.

Bij de twee procedures komt dus telkens dezelfde code terug. Deze code wordt het best geplaatst in een apart subprocedure zodanig dat wanneer je wijzigingen moet aanbrengen, je dit maar n maal moet aanpassen in je programma. De signalen verwijzen telkens naar de subprocedure die moet worden uitgevoerd.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 33

3.5

OEFENEN, OEFENEN EN NOG EENS OEFENEN

Tip: maak eerst de analyse via het Nassi-Shneidermanndiagram! Heb je moeilijkheden bij het maken van het diagram, ga dan naar het hoofdstuk Hulp. Vergeet niet tijdig op te slaan! Oefening 1: Baby

Ja? Geluid: LaughFemale

Neen? Geluid: BabyCry

Baby Louis vraagt je of je zijn mama wilt zijn, antwoord ja dan is hij gelukkig en begint hij te lachen, antwoord je neen dan is hij ongelukkig en begint hij te huilen. Oefening 2: OperationDessert

Onze kat is aan het wandelen in de woestijn, wanneer ze tegen een cactus loopt schreeuwt ze het uit van de pijn en zegt ze: Pijnlijk!. Maak gebruik van subprocedures! Oefening 3: HuppelendeKat

De kat van Scratch huppelt zodra je op het vlaggetje klikt. Telkens laat ze ons weten in welke hoek ze staat, bijvoorbeeld in de linkeronderhoek.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 34

Oefening 4: Voornamen

Beatrice is aan het oefenen op de grammatica van woorden. Ze houdt zich momenteel bezig met de lengte van woorden, wanneer je haar een voornaam opgeeft die uit meer dan 5 tekens bestaat zegt ze: Wat een lange voornaam anders zegt ze: Dat is maar een korte voornaam!. Oefening 5: TuimelenSpringenVerkleden Tuimelen Springen Verkleden

De kat van Scratch is een echte showbizz kat, eerst vraagt ze jou om een getal, wanneer je n ingeeft, tuimelt ze, geef je twee ingeeft, springt ze omhoog en daarna weer omlaag en wanneer je drie ingeeft, verkleed ze zich. Oefening 6: Garfield

Garfield is een bange kat, als hij tegen een muis aanloopt, loopt hij telkens de schrik van zijn leven op. Garfield wordt bestuurd door de pijltjestoetsen (hij gaat enkel van links naar rechts en omgekeerd). Werk met een subprocedure.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 35

Oefening 7: VisjesEten

Aantal < 50

Aantal > 50 en < 100

Aantal > 100

Sharky de haai vraagt aan ons hoeveel visjes hij zou eten, is het aantal kleiner dan 50 dan geeft hij een gepaste reactie en verdikt de haai (creer dit effect aan de hand van het effect Vissenoog). Aantal visjes Mjamie Vissenoog effect op 50 Dat is wel veel Vissenoog effect op 100 Ik voel me nogal opgeblazen Vissenoog effect op 150

Minder dan 50 > 50 < 100 > 100

Start het programma aan de hand van het vlaggetje. Oefening 8: Leeftijd Leeftijd 65

Brenda vraagt om je geboortejaar, hierop berekend zij jouw leeftijd en wijzigt ze haar uiterlijk en reageert ze met een passende reactie. Leeftijd Jonger dan 5 jaar Jonger dan 12 jaar Jonger dan 18 jaar Jonger dan 65 jaar Ouder dan 65 jaar Jij bent nog erg jong! Jij bent al een heus kindje! Een jongvolwassenen! Eindelijk volwassen! Tijd om het wat rustiger aan te doen!

Start het programma aan de hand van het vlaggetje.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 36

Oefening 9: Dating

Een meisje zegt tegen een jongen: Hoi! Hoe oud ben jij?, waarop de jongen aan ons vraagt: Wat zou ik antwoorden?. Afhankelijk van dit antwoord zal het meisje anders reageren. Leeftijd < 18 Tussen 18 en 30 > 30 Antwoord Oei, te jong! Ah, ideaal, zin om eens uit te gaan? Oei, te oud!

Laat de sprites signalen sturen naar elkaar. Start het programma aan de hand van het vlaggetje. Oefening 10: RadenGetal

Sam bedenkt een willekeurig getal tussen 0 en 10 wanneer je op hem klikt. Dit getal moet je raden. Als het getal dat je ingeeft te hoog is, moet de melding lager weergegeven worden, anders (als het getal te laag is) moet de melding hoger weergegeven worden. Als je het getal geraden hebt, moet de melding Je hebt gewonnen! weergegeven worden. Het raden van het getal start na het klikken op het vlaggetje. Het te raden getal mag niet zichtbaar zijn in de stage!

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 37

4 4.1

HERHALEN TOT ONEINDIGE HERHALING

Gegeven Het is Halloween! s Nachts zweeft Casper het kleine spookje rond: om de 0,5 tellen verschijnt hij en na 0,5 tellen verdwijnt hij opnieuw. Casper is dus 0,5 tellen zichtbaar. Casper wijzigt ook telkens zijn eigen grootte. Dit houdt nooit op. Start het programma na het klikken op het vlaggetje.

Analyse 1 Analyseer per gebeurtenis, de gegevens, invoer, verwerking en uitvoer. Gebeurtenis: Na klikken op de sprite Invoer Verwerking Uitvoer 2 / / Herhaalt: na 0,5 tellen verschijnen in willekeurige grootte op willekeurige plaats en verdwijnt na 0,5 tellen verdwijnt het spookje opnieuw.

Stel het Nassi-Shneidermanndiagram op. HERHAAL DOE: Verdwijn DOE: 0,5 tellen wachten DOE: Ga naar willekeurig x en y positie tussen -100 en 100 voor de x en y cordinatie DOE: Willekeurige grootte tussen - 100 en 50 DOE: Verschijn DOE: 0,5 tellen wachten

Uitvoeren 1 2 3 Maak nu het programma in Scratch. Voer de code uit. Sla op onder de naam spoken.

Controleren Controleer of het spookje blijft verschijnen en verdwijnen op willekeurige plaatsen met een willekeurige grootte.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 38

Reflecteren Hoe verliep het programmeren voor jou? Waar zaten de moeilijkheden? ......................................................................................................................................................................................... .........................................................................................................................................................................................

4.2

DE BEGRENSDE HERHALING

Gegeven Sara moet verplicht elke dag 10 stappen nemen om wat aan haar lichaamsconditie te werken. Elke keer dat ze een stap neemt, telt ze deze. Laat het programma starten na het klikken op Sara.

Analyse 1 Analyseer per gebeurtenis, de gegevens, invoer, verwerking en uitvoer. Gebeurtenis: Na klikken op de sprite Gegevens Invoer Verwerking Uitvoer 2 1 stap nemen, teller verhogen met 1, het al genomen stappen laten weergeven, 0,5 tellen wachten, uiterlijk wijzigen, omkeren wanneer we de rand raken. / Teller = Teller + 1 na n stap 1 stap nemen, teller verhogen met 1, het al genomen stappen laten weergeven, 0,5 tellen wachten, uiterlijk wijzigen, omkeren wanneer we de rand raken.

Stel het Nassi-Shneidermanndiagram op. HERHAAL 10 MAAL DOE: Neem 1 stap DOE: Teller veranderen met 1 / Teller = Teller + 1 SCHRIJF: aantal stappen DOE: 0,5 tellen wachten DOE: Volgend uiterlijke nemen DOE: Keer om als aan rand

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 39

Uitvoeren 1 2 3 Maak nu het programma in Scratch. Voer de code uit. Sla op onder de naam StappenTellen.

Controleren Controleer of het aantal stappen overeenkomt met het getelde aantal stappen.

Reflecteren Hoe verliep het programmeren voor jou? Waar zaten de moeilijkheden? ......................................................................................................................................................................................... .........................................................................................................................................................................................

4.3

DE VOORWAARDELIJKE HERHALING

Gegeven Als je wandelt in het Toverbos houdt de heks Miranda je altijd tegen. Enkel nadat je haar het volledig juiste antwoord hebt gegeven op haar raadsel verdwijnt ze en kun je verder wandelen. Geef je het verkeerde antwoord of een antwoord die niet volledig gelijk is aan het hare, start het spelletje opnieuw tot je het volledig juist antwoord kunt geven. Start het programma na het klikken op het vlaggetje.

Analyse 1 Analyseer per gebeurtenis, de gegevens, invoer, verwerking en uitvoer voor de sprite. Gebeurtenis: Na klikken op het vlaggetje Invoer Verwerking Uitvoer Antwoord op de vraag / Lus blijft lopen tot Antwoord = er is maar 1 paus. Daarop verdwijnt het heksje en wijzigt de achtergrond.Voorlopige versie Bachelorproef 2011-2012 p. 40

Sylvie Vergote

2

Stel het Nassi-Shneidermanndiagram op voor de sprite. ANTWOORD = 0 HERHAAL TOT ANTWOORD = er is maar 1 paus SCHRIJF: Als jij het antwoord op het raadsel weet, laat ik je door. SCHRIJF: Hoe begroeten 2 pausen elkaar? VRAAG: Wat is je antwoord? ANTWOORD = ANTWOORD (op vraag) DOE: Verdwijn (sprite) DOE: Zend signaal Juist! (naar achtergrond)

3

Bij de voorwaardelijke herhaling kan dus gewerkt worden met herhaal tot en herhaal als. Hieronder zie je hoe het programma opgebouwd wordt indien we werken met herhaal als. ANTWOORD = 0 HERHAAL ALS NIET(ANTWOORD = er is maar 1 paus)3 SCHRIJF: Als jij het antwoord op het raadsel weet, laat ik je door. SCHRIJF: Hoe begroeten 2 pausen elkaar? VRAAG: Wat is je antwoord? ANTWOORD = ANTWOORD (op vraag)

4

Analyseer per gebeurtenis, de gegevens, invoer, verwerking en uitvoer voor de achtergrond. Gebeurtenis: Na klikken op het vlaggetje Gegevens Invoer Verwerking Uitvoer Wijzigen uiterlijk naar startachtergrond. / / Wijzigen uiterlijk naar uiterlijk1.

Gebeurtenis: Na ontvangen signaal Juist! Gegevens Invoer Verwerking Uitvoer Wijzigen uiterlijk naar 2e achtergrond. / / Wijzigen uiterlijk naar Woods-and-bench.

Uitvoeren 1 Maak nu het programma in Scratch.

3

We blijven herhalen zolang het antwoord niet gelijk is aan er is maar 1 paus.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 41

2 3

Voer de code uit. Sla op onder de naam Toverbos.

Controleren Controleer of bij het correcte antwoord de achtergrond wijzigt.

Reflecteren Hoe verliep het programmeren voor jou? Waar zaten de moeilijkheden? ......................................................................................................................................................................................... .........................................................................................................................................................................................

4.4 4.4.1

THEORIE ONEINDIGE HERHALING

Deze structuur noemen we de herhaling. Dit kunnen we gemakkelijk toepassen dankzij de programmeerblok Herhaal. Herhaling:

4.4.2

BEGRENSDE HERHALING

Het blokje Herhaal zorgt voor een oneindige herhaling. Via het blokje Herhaal x maal kun je de herhaling stoppen als een grens wordt bereikt. Programmeerblok in Scratch: begrensde herhaling

Bij de begrensde herhaling worden n of een aantal instructies meerdere keren uitgevoerd. We gebruiken een begrensde herhaling indien we precies weten hoeveel keren een opdracht moet uitgevoerd worden.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 42

4.4.2.1 WERKEN MET EEN LIJSTBij het werken met herhalingen kun je ook waarden van variabelen toevoegen aan een lijst. Bijvoorbeeld we willen een boodschappenlijstje maken, we hebben 10 items nodig. 1 Ga naar het menu Variabelen

2

Kies voor Een nieuwe lijst maken. Geef een naam in.

3

Er verschijnen nieuwe programmeerblokken. De lijst wordt ook weergegeven in de stage.

4

Om tekst en dergelijk toe te voegen aan de lijst gebruiken we de programmeerblok voeg toe aan Boodschappen.

5

Je kunt ook zoals al eerder vermeld de waarden van variabelen toevoegen aan de lijst. Bijvoorbeeld: we vragen eerst welk product we moeten halen van de winkel en daarna voegen we dit toe aan onze boodschappenlijst (we doen dit 10 x). We starten door te klikken op het vlaggetje, daarop wissen we eerst de volledige lijst. Daarna vragen we 10 maal om een bepaald product die we daarna toevoegen aan de lijst.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 43

4.4.3

VOORWAARDELIJKE HERHALING

Bij de voorwaardelijke herhaling hebben we 2 onderverdelingen:

herhaling tot aan een voorwaarde voldaan wordt.

herhalen zolang (als) aan een voorwaarde voldaan wordt.

Welke soort voorwaardelijke herhaling werd gebruikt in het voorgaande voorbeeld? Er werd herhaald tot er aan een voorwaarde voldaan werd. Bekijk de 2 programmeerblokken, wat is het verschil tussen de 2? Aan de blok herhalen tot kun je nog programmeerblokken aan toevoegen, aan de programmeerblok herhaal als kun je geen programmeerblokken meer toevoegen! Herhaal zolang (als): Als aan een voorwaarde voldaan wordt, wordt de lus uitgevoerd, de opdrachten worden nooit uitgevoerd als de voorwaarde oorspronkelijk onwaar is. Herhaal tot: De opdrachten worden uitgevoerd zolang aan de voorwaarde niet wordt voldaan. Eerst wordt dus de voorwaarde getest. Als de voorwaarde waar is, worden alle opdrachten overgeslagen. Als de voorwaarde onwaar is, worden de opdrachten uitgevoerd.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 44

4.5

START TO PRACTICE

Bewaar regelmatig! Kies zelf een sprite en achtergrond. Oefening1: ScoresWedstrijd De oefening start na het klikken op het vlaggetje. Sam houdt alle doelpunten bij van de plaatselijke voetbalclub. Na het klikken op het vlaggetje vraagt Sam om de doelpunten van de laatste 10 matchen, kan jij hem helpen? De doelpunten worden bijgehouden in een lijst.

Oefening 2 DeGoedeFee s Nachts is de goede fee aan het rondzweven. Ze wijzigt telkens van plaats (x: tussen -240 en 240 en y: tussen 180 en 180) terwijl ze ondertussen wijzigt van kleur (tussen 0 en 10). Laat de fee keren aan de rand.

Oefening2: VolgDeMuis

Een kat wil altijd muizen vangen, in dit geval een computermuis. Laat de kat de muisaanwijzer volgen. Wanneer de kat de muisaanwijzer raakt zegt ze: Ik heb je. Hierop stopt het script. Oefening4: TafelsVanVermenigvuldiging

Leo De Leeuw is een meester in het vermenigvuldigen: geef hem om het even wel getal op en hij toont in een lijst de tafel van het getal tot en met 10. Na het maken van de lijst zegt Leo van welk getal hij de tafels heeft berekend.Sylvie Vergote Voorlopige versie Bachelorproef 2011-2012 p. 45

Het programma start na het klikken op het vlaggetje. Oefening 5: Trainen

Bart is zijn buikspieren aan het trainen. Vandaag mag jij zijn trainer zijn en zelf ingeven hoeveel oefeningen hij moet uitvoeren. Terwijl hij de oefeningen uitvoert, telt Bart mee. Maak gebruikt van n sprite met meerdere uiterlijken, eindig altijd zodanig dat Bart opnieuw in de startpositie ligt (dit moet niet worden meegeteld). Oefening 6: Papegaai

Flup de papegaai is aan het vliegen, telkens hij de muisaanwijzer raakt vliegt hij ofwel horizontaal ofwel verticaal verder afhankelijk van hoe hij eerst aan het vliegen was. Als Flup de rand raakt, keert hij automatisch om. Zorg ervoor dat het programma niet te vlug wordt uitgevoerd, voorzie tellen op de gepaste plaats. Oefening 7: OmgekeerdSpellen

Gert is meester in het achterste voren opzeggen van woorden. Bijvoorbeeld: zee wordt eez. De code start na het klikken op de sprite.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 46

Oefening 8: DrakenJagen

Onze koene ridder is draken aan het jagen. Help hem om de draak te verslaan. De ridder volgt de muisaanwijzer tot hij de draak raakt. Wanneer de draak geraakt wordt roept de ridder het uit van plezier (gebruik het geluid Ya) en zegt: De draak is verslagen! Hierop wordt een signaal gestuurd naar de draak waarop de draak antwoordt: Dit is het einde. Daarna verdwijnt de draak en stopt de zoektocht. Extra: laat de draak vuur spuwen. Oefening 9: Namenlijst

Sandra stelt altijd namenlijstjes op voor haar toekomstige kinderen. Je stopt met namen opgeven wanneer je stop ingeeft. Stop hoort wel niet thuis in de lijst. Na het maken van de lijst, moet zegt Sandra hoeveel namen je hebt ingegeven. Je start aan de hand van het vlaggetje, de lijst wordt enkel leeg gemaakt indien je op de (sprite) knop Wissen klikt. Oefening 10: Rekenen

De kat van Scratch kan rekenen op een heel hoog niveau. Je moet telkens de som maken van 2 willekeurige getallen tussen 1 en 20. Als je een juist antwoord geeft, wordt het geluidje Keypickup afgespeeld. Geef je een fout antwoord dan wordt het aantal fouten verhoogd met 1 en krijgt de kat een rood gezicht. De kat blijft oefeningen op ons afsturen tot het aantal fouten groter is dan 3. Dan stopt het script.

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 47

5Structuur Sequentie

SAMENVATTINGProgrammeerblok Voorbeeld

De sequentie is de structuur waarbij opdrachten van boven naar onder worden uitgevoerd. Selectie Eenzijdige selectie: als aan de voorwaarde voldaan wordt, zal de sprite een opdracht uitvoeren. Anders gebeurt er niets. Eenzijdige

Tweezijdige

Met de tweezijdige selectie kun je een aantal opdrachten laten uitvoeren indien aan de voorwaarde wordt voldaan (=de ja-kant). Indien niet aan de voorwaarde wordt voldaan (=nee-kant) worden andere opdrachten uitgevoerd. Geneste

Het is mogelijk dat je in een keuzestructuur nog een andere keuze structuur nodig hebt. De verschillende keuzestructuren worden dan in elkaar genest. Natuurlijk moeten het niet altijd keuze structuren zijn dat je nest, je kunt bijvoorbeeld een ALS-structuur en de functie wortel nesten. Herhaling Het blokje Herhaal zorgt voor een oneindige herhaling. Oneindige herhaling

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 48

Bij de begrensde herhaling worden n of meerdere instructies een vast aantal keer uitgevoerd. We spreken van een begrensde herhaling omdat we precies weten hoeveel keer de opdracht uitgevoerd moet worden.

Begrensde herhaling

Herhaal zolang (als): Als aan een voorwaarde voldaan wordt, wordt de lus uitgevoerd, de opdrachten worden nooit uitgevoerd als de voorwaarde oorspronkelijk onwaar is. Herhaal tot: De opdrachten worden uitgevoerd zolang aan de voorwaarde niet wordt voldaan. Eerst wordt dus de voorwaarde getest. Als de voorwaarde waar is, worden alle opdrachten overgeslagen. Als de voorwaarde onwaar is, worden de opdrachten uitgevoerd.

Voorwaardelijke herhaling

Sylvie Vergote

Voorlopige versie Bachelorproef 2011-2012

p. 49

6

VERSCHILLENDE PROGRAMMEERTALEN

Alles wat je gezien hebt in Scratch is een kleine aanloop om een echte programmeertaal te leren. Veel van wat je gezien hebt in Scratch zal je dan ook herkennen in andere programmeertalen. Je hebt Javascript, deze scripttaal wordt vaak gebruikt om webpaginas dynamisch te maken. Ook heb je bijvoorbeeld VB.Net ,deze taal werd ontwikkeld door Microsoft en wordt gebruikt om professionele programmas te maken. Kleine vergelijking Structuur ALS functie Scratch Javascript If ( ) { opdrachten } Else { opdrachten } For (teller = ; teller