&kturtle;s naslagwerk voor het programmeren met &logo; Dit is de referentie voor &kturtle;'s &logo;. In dit hoofdstuk bespreken we in het kort de verschillende instructietypen. Daarna leggen we één voor één de commando's uit. Daarna volgen de plaatshouders, wiskunde, vragen en uitvoercontroles. Tot slot laten we je zien hoe je je eigen commando's kunt maken met het commando leer. Verschillende instructietypen Zoals elke taal heeft Logo verschillende soorten woorden en symbolen. Hier worden de verschillen tussen deze soorten kort uitgelegd. Commando's Met behulp van commando's vertel je de schildpad of &kturtle; om iets te doen. Sommige commando's vragen om een invoer, anderen geven een uitvoer. # vooruit is een commando dat invoer nodig heeft. In ons geval het getal 100: vooruit 100 Voor meer informatie over alle commando's die &kturtle; aanbiedt ga je hier naar toe. Getallen Je bent vast wel bekend met getallen. De manier waarop getallen worden gebruikt in &kturtle; is niet veel anders dan in een spreektaal, of in wiskunde en rekenen. We hebben de zogenaamde natuurlijke getallen: 0, 1, 2, 3, 4, 5, etc. De negatieve getallen: -1, -2, -3, etc. En de getallen met decimalen: 0,1, 3,14, 33,3333, -5,05, -1,0. Getallen kunnen worden gebruikt in wiskundige berekeningen en in vragen. Ze kunnen ook in plaatshouders worden geplaatst. Getallen worden geaccentueerd in het blauw in de codebewerker. Tekenreeksen Eerst een voorbeeld: schrijf "Hallo, ik ben een tekenreeks." In dit voorbeeld is schrijf een commando en "Hallo, ik ben een tekenreeks" is een tekenreeks. Een tekenreeks is dus een stukje tekst. Een tekenreeks begint en eindigt met het teken ". Dit teken vertelt &kturtle; dat de tekst een tekenreeks is. Tekenreeksen kunnen in plaatshouders worden geplaatst. Maar je kunt ze niet gebruiken in wiskundige berekeningen en vragen gebruiken. Tekenreeksen worden donkerrood geaccentueerd in de codebewerker. Namen Je kunt met de programmeertaal &logo; nieuwe dingen maken. Als je een programma schrijft zul je vaak plaatshouders nodig hebben, en in sommige gevallen heb je het commando leer nodig om nieuwe commando's te maken. Als je een plaatshouder of een nieuw commando met behulp van leer maakt, dan moet je een naam opgeven. Je kunt een willekeurige naam kiezen, zolang die nog geen betekenis heeft. Bijvoorbeeld, je kunt een plaatshouder niet vooruit noemen, omdat die naam al wordt gebruikt voor een commando, en dus al een betekenis heeft. # hier wordt vooruit gebruikt als een plaatshouder, maar die heeft al een betekenis # dus zal dit een foutmelding geven: vooruit = 20 # dit werkt wel: vooruit 20 Namen mogen alleen letters, cijfers en onderstreepjes (_) bevatten. Ze moeten altijd met een letter beginnen. Lees ook de documentatie over plaatshouders en het commando leer voor een betere uitleg en meer voorbeelden. Toewijzingen Toewijzingen worden gedaan met het symbool =. In programmeertalen is het beter om een = niet te lezen als 'is', maar als 'wordt'. Het woordje 'is' past beter bij de ==, wat een vraag is. Toewijzingen worden meestal om twee redenen gebruikt: (1) om inhoud toe te voegen aan plaatshouders en (2) om de inhoud van een plaatshouder te veranderen. Bijvoorbeeld: x = 10 # de plaatshouder x bevat nu het getal 10 W = "Mijn leeftijd is: " # de plaatshouder W bevat nu de tekenreeks "Mijn leeftijd is:" # dit zet de inhoud van de plaatshouders 'X' en 'x' op het canvas print W + x Meer voorbeelden kun je vinden in het hoofdstuk dat plaatshouders uitlegt. Wiskundesymbolen &kturtle; kent alle basissymbolen uit de wiskunde: optellen (+), aftrekken (-), vermenigvuldigen (*), delen /) en de haakjes ( en ). Een complete uitleg en meer voorbeelden vind je in het hoofdstuk over wiskunde. Vragen We kunnen eenvoudige vragen stellen waarbij het antwoord 'waar' of 'onwaar' zal zijn. Het gebruik van vragen wordt uitgebreid uitgelegd in het hoofdstuk over vragen. Lijmwoorden voor vragen Vragen kunnen aan elkaar worden gelijmd met zogenaamde 'lijmwoorden'. De lijmwoorden zijn en, of en een speciaal lijmwoord: niet. Het gebruiken van lijmwoorden wordt uitgelegd in het hoofdstuk Vragenlijm. Commentaar Commentaarregels zijn regels die beginnen met een #. Bijvoorbeeld: # dit is commentaar! schrijf "dit is geen commentaar" # de vorige regel is geen commentaar, maar de volgende regel wel: # schrijf "dit is geen commentaar" In commentaarregels kunnen we aantekeningen schrijven die iets vertellen over de code, voor onszelf of voor iemand anders die de code leest. Commentaar wordt gebruikt voor : (1) een kleine beschrijving van het programma toevoegen, (2) uitleggen hoe een stukje code werkt als dit minder duidelijk is, en (3) om regels code die (tijdelijk) niet gebruikt mogen worden te negeren (zie de laatste regel in het voorbeeld). Commentaarregels worden geaccentueerd met donkergeel in de codebewerker. Commando's Met behulp van commando's vertel je de schildpad of &kturtle; om iets te doen. Sommige commando's vragen om een invoer, anderen geven een uitvoer. In deze sectie zullen we alle commando's die in &kturtle; kunnen worden gebruikt aan je uitleggen. Onthoud dat alle ingebouwde commando's die we hier bespreken geaccentueerd worden met donkergroen in de codebewerker. Hiermee kun je ze onderscheiden van de rest. De schildpad voortbewegen Er zijn verschillende commando's waarmee je de schildpad over het scherm kunt bewegen. vooruit (vt) vooruit vooruit X vooruit verplaatst de schildpad vooruit met het X pixels. Als de pen omlaag staat zal de schildpad een spoor achterlaten. vooruit kun je afkorten als vt. achteruit (at) achteruit achteruit X achteruit verplaatst de schildpad achteruit met X pixels. Als de pen omlaag staat zal de schildpad een spoor achterlaten. achteruit kun je afkorten als at. draailinks (dl) draailinks draailinks X draailinks laat de schildpad X graden naar links draaien. draailinks kun je afkorten als dl. draairechts (dr) draairechts draairechts X draairechts laat de schildpad X graden naar rechts draaien. draairechts kun je afkorten als dr. richting (rt) richting richting X richting zet de richting van de schildpad op X graden, geteld vanaf 0. Dus niet vanuit de vorige positie van de schildpad. richting kun je afkorten als rt. thuis thuis thuis thuis zet de schildpad in het midden van het canvas. ganaar ganaar ganaar X,Y ganaar laat de schildpad naar een bepaalde plek op het canvas gaan. De plek ligt X pixels vanaf de linkerkant en Y pixels vanaf de bovenkant van het canvas. Opmerking: het commando ganaar laat de schildpad geen lijn tekenen. ganaarx ganaarx ganaarx X ganaarx laat de schildpad naar een positie gaan die X pixels vanaf de linkerkant van het canvas ligt. De hoogte blijft hetzelfde. ganaarx kun je afkorten als gx. ganaary ganaary ganaary Y ganaary laat de schildpad naar een positie gaan die Y pixels vanaf de bovenkant van het canvas ligt. De afstand vanaf de linkerkant van het canvas blijft hetzelfde. ganaary kun je afkorten als gy. De schildpad heeft een pen De schildpad heeft een pen die een lijn tekent als de schildpad beweegt. Er zijn een aantal commando's die de pen bedienen. In deze sectie leggen we deze commando's uit. penop (po) penop penop penop tilt de pen van het canvas. Als de pen omhoog is, dan wordt er geen lijn getekend als de schildpad loopt. Kijk ook bij penneer. penop kun je afkorten als po. penneer (pn) penneer penneer penneer zet de pen op het canvas. Als de pen op het canvas drukt, dan wordt er een lijn getekend als de schildpad loopt. Zie ook penop. penneer kun je afkorten als pn. pendikte (pd) pendikte pendikte X pendikte zet de dikte van de pen (de breedte van de lijn) op X pixels. pendikte kun je afkorten als pd. penkleur (pk) penkleur penkleur R,G,B penkleur bepaalt de kleur van de pen. penkleur vraagt om een RGB-combinatie als invoer. penkleur kun je afkorten als pk. Commando's om het canvas te bedienen Er zijn verschillende commando's waarmee je het canvas kunt veranderen. canvasmaat (cm) canvasmaat canvasmaat X,Y Met canvasmaat kun je de grootte van het canvas veranderen. Het commando vraagt om X en Y als invoer. X is de nieuwe breedte in pixels en Y is de nieuwe hoogte van het canvas in pixels. canvasmaat kun je afkorten als cm. canvaskleur (ck) canvaskleur canvaskleur R,G,B Met canvaskleur kun je de kleur van het canvas veranderen. canvaskleur vraagt om een RGB-combinatie als invoer. canvaskleur kun je afkorten als ck. wikkelaan wikkelaan wikkelaan Met het commando wikkelaan kun je het wikkelen van het canvas aanzetten. Kijk in het woordenboek van dit handboek wat wikkelen is. wikkeluit wikkeluit wikkeluit Met het commando wikkeluit kun je het wikkelen van het canvas uitzetten. Dit betekent dat de schildpad het canvas kan verlaten en kan verdwalen. Kijk in het woordenboek van dit handboek voor meer informatie over wikkelen. Commando's om schoon te maken Er zijn twee commando's waarmee je het canvas kunt schoonmaken nadat je er een bende van hebt gemaakt. schoon (cs) schoon schoon Met schoon kun je alle tekeningen op het canvas wissen. De rest blijft staan, de positie en hoek van de schildpad, de kleur van het canvas, de zichtbaarheid van de schildpad en de grootte van het canvas blijven zoals ze waren. schoon kun je afkorten als cs. alsnieuw alsnieuw alsnieuw alsnieuw maakt nog verder schoon dan het commando schoon. Na het commando alsnieuw is alles zoals het was toen je &kturtle; net had opgestart. De schildpad wordt in het midden van het scherm gezet, de canvaskleur is wit en de schildpad tekent een zwarte lijn op het canvas. De schildpad is een sprite Vrijwel niemand weet wat sprites zijn, dus volgt hier een korte uitleg: sprites zijn kleine plaatjes die je kunt rondbewegen op het scherm. Dus de schildpad is een sprite. Voor meer info, kijk in het woordenboek van dit handboek bij linkend="sprites" >sprites. Hierna volgt een volledig overzicht van alle commando's die je kunt gebruiken bij sprites. (De huidige versie van &kturtle; heeft alleen een schildpad als sprite. Andere sprites kun je dus niet gebruiken. In toekomstige versies van het programma zul je de schildpad kunnen veranderen in je eigen ontwerp.) toon toon (ts) toon toon maakt de schilpad weer zichtbaar nadat hij is verborgen. toon kun je afkorten als ts. verberg (vs) verberg verberg verberg verstopt de schildpad. Dit is handig als je de schildpad niet in je tekening wilt zien. verberg kun je afkorten als vs. Kan de schildpad tekst schrijven? Het antwoord is: ja. De schildpad kan schrijven. Hij schrijft zo'n beetje alles waartoe je hem opdraagt. schrijf schrijf schrijf X Het commando schrijf kun je gebruiken om de schildpad iets op het canvas te laten schrijven. schrijf vraagt om letters en/of cijfers als invoer. Je kunt verschillende getallen en stukken tekst laten schrijven met behulp van het +-symbool. Hier is een klein voorbeeld: jaar = 2003 maker = "Cies" schrijf maker + " begon het KTurtle-project in " + jaar + " en vindt het nog steeds leuk om er aan te werken!" lettermaat lettermaat lettermaat X lettermaat bepaalt de grootte van de letters die wordt gebruikt door het commando schrijf. lettermaat vraagt om een getal als invoer. De grootte geef je op in pixels. Een commando dat een dobbelsteen voor je gooit Er is een commando dat dobbelstenen voor je gooit. Dit commando heet gok, en is erg handig als je wat onverwachte resultaten wilt hebben. gok gok X,Y gok is een commando dat invoer vraagt en uitvoer geeft. Als invoer vraagt het commando twee cijfers, het eerste cijfer (X) zet de minimum uitvoer, en het tweede (Y) zet de maximum. De uitvoer is een willekeurig gekozen getal dat gelijk is aan of groter dan het minimum en gelijk aan of kleiner dan het maximum. Hier is een klein voorbeeld: herhaal 500 [ x = gok 1,20 vooruit x draailinks 10 - x ] Met het commando gok kun je wat chaos aan je programma toevoegen. Invoer en terugkoppeling met behulp van dialogen Een dialoog is een klein opduikvenster waarmee enige terugkoppeling wordt verkregen of waarin om enige invoer wordt gevraagd aan de gebruiker. &kturtle; kent twee opdrachten voor een dialoog, namelijk bericht en invoervenster bericht bericht bericht X De opdracht bericht heeft als invoer een tekenreeks (string). Er wordt een opduikvenster getoond waarin een dialoog met de tekst van deze tekenreeks. jaar = 2003 maker = "Cies" schrijf maker + " begon het KTurtle-project in " + jaar + " en vindt het nog steeds leuk om er aan te werken!" invoervenster invoervenster invoervenster X Het invoervenster heeft als invoer een tekenreeks (string). Er wordt een opduikvenster getoond waarin een dialoog met de tekst van deze tekenreeks, net als bij de opdracht bericht. Maar in deze dialoog komt ook een invoerveld voor. In dit invoerveld kan een gebruiker een getal of een tekenreeks invoeren die in een variabele kan worden opgeslagen. Bijvoorbeeld in = invoervenster "Hoe oud ben je?" uit = 2003 - in print "Ergens in 2003 was je " + uit + " jaar oud." . Als de gebruiker de invoerdialoog annuleert of er niets in invult wordt de variabele leeg gemaakt. Plaatshouders Plaatshouders zijn letters of woorden die door de programmeur kunnen worden gebruikt om daarin een getal of tekst in op te slaan. Plaatshouders die een getal bevatten heten variabelen, plaatshouders die tekst bevatten heten tekenreeksen. Plaatshouders die niet worden gebruikt zijn leeg. Een voorbeeld: schrijf N Dit drukt niets af op het canvas. Als we proberen met lege plaatshouders te rekenen, dan krijgen we foutmeldingen. Variabelen: getalplaatshouders Laten we beginnen met een voorbeeld: x = 3 schrijf x Op de eerste regel wordt de letter x omgevormd tot een variabele (getalplaatshouder). Zoals je ziet is de waarde van de variabele x op 3 gezet. Op de tweede regel wordt de waarde geschreven. Merk op dat als we een x wouden schrijven, we het volgende hadden getypt: schrijf "x" Dat was gemakkelijk. Nu een wat moeilijker voorbeeld: A = 2004 B = 25 C = A + B # het volgende commando schrijft "2029" schrijf C achteruit 30 # het volgende commando schrijft "2004 plus 25" schrijf "" + A + " plus " + B achteruit 30 # het volgende commando schrijft "1979" schrijf A - B Op de eerste twee regels zijn de variabelen A en B gezet op 2004 en 25. Op de derde regel is de variabele C gezet op A + B, wat 2029 is. De rest van het voorbeeld bestaat uit 3 schrijf-commando's met achteruit 30 ertussen. De achteruit staat er om er voor te zorgen dat elke uitvoer op een nieuwe regel staat. In dit voorbeeld zie je dat variabelen kunnen worden gebruikt in wiskundige berekeningen. Plaatshouders die tekst bevatten (tekenreeksen) In programmacode begint en eindigt gewone tekst vaak met aanhalingstekens. Zoals we eerder al hebben gezien: schrijf "Hallo programmeur!" De gewone tekst staat tussen aanhalingstekens. Dit soort stukjes tekst noemen we tekenreeksen. Tekenreeksen kunnen ook worden opgeslagen in variabelen, net zoals getallen. Tekenreeksen lijken veel op variabelen. Het grootste verschil met getallen is dat je tekenreeksen niet kunt gebruiken in wiskundige berekeningen en vragen. Een voorbeeld van te gebruiken tekenreeksen: x = " Hallo " naam = invoervenster "Voer je naam in..." schrijf x + naam + ", hoe gaat het met je?" Op de eerste regel wordt x ingesteld op Hallo . Op de tweede regel wordt de tekenreeks naam ingesteld op de uitvoer van de opdracht invoervenster. Op de derde regel schrijft het programma een samenstelling van drie tekenreeksen op het canvas. Dit programma vraagt je om je naam in te voeren. Als je bijvoorbeeld de naam Paul invoert, dan schrijft het programma Hallo Paul, hoe gaat het met je?. Houd er rekening mee dat de plus (+) het enige rekenkundige teken is dat je kunt gebruiken met tekenreeksen. Kan de schildpad wiskunde? Ja, &kturtle; kan jouw wiskunde voor je doen. Je kunt optellen (+), aftrekken (-), vermenigvuldigen (*) en delen (/). Dit is een voorbeeld die ze allemaal gebruikt: a = 20 - 5 b = 15 * 2 c = 30 / 30 d = 1 + 1 schrijf "a: "+a+", b: "+b+", c: "+c+", d: "+d Weet je welke waarde a, b, c, en d hebben? Merk in het voorbeeld het gebruik op van het toewijs-symbool =. Als je een eenvoudige rekensom wilt uitvoeren, dan kun je zoiets als dit doen: schrijf 2004-12 Nu een voorbeeld met haakjes: schrijf ( ( 20 - 5 ) ) * 2 / 30 ) + 1 De rekensom tussen de haakjes zal als eerste worden uitgerekend. In dit voorbeeld wordt 20 gedeeld door 5, dan wordt de uitkomst vermenigvuldigd met 2, en gedeeld door 30. Tot slot wordt er 1 bij opgeteld (antwoord is 2). Stel vragen en krijg antwoorden... als en terwijl zijn uitvoercontroles die we in de volgende sectie zullen bespreken. In deze sectie gaan we het commando als gebruiken om vragen uit te leggen. Vragen Een voorbeeld van een vraag: x = 6 als x > 5 [ schrijf "hallo" ] In dit voorbeeld is de vraag het gedeelte x > 5. Als het antwoord op deze vraag 'waar' is, dan wordt de code tussen de blokhaakjes uitgevoerd. Vragen zijn een belangrijk onderdeel van programmeren en vaak gebruikt in combinatie met uitvoercontroles, zoals als. Alle getallen en variabelen (getalplaatshouders) kunnen met elkaar worden vergeleken met behulp van vragen. Hier zijn alle mogelijke vragen: Type vragen a == b gelijk aan het antwoord is waar als a gelijk is aan b a != b niet gelijk aan het antwoord is waar als a niet gelijk is aan b a > b groter dan het antwoord is waar als a groter is dan b a < b kleiner dan het antwoord is waar als a kleiner is dan b a >= b groter dan of gelijk aan het antwoord is waar als a groter is dan b a <= b kleiner dan of gelijk aan het antwoord is waar als a kleiner is dan of gelijk aan b
Vragen worden geaccentueerd met lichtblauw in de codebewerker.
Vragenlijm Vragen kunnen aan elkaar geplakt worden met vragenlijm. Zo kun je van een paar kleine vragen een grote vraag maken. a = 1 b = 5 als (a < 5) en (b == 5) [ schrijf "hallo" ] In dit voorbeeld is het lijmwoord en gebruikt om twee vragen (a < 5, b == 5) aan elkaar te plakken. Als een zijde van de en onwaar als antwoord heeft, dan zal de hele vraag onwaar zijn, omdat het lijmwoord en vereist dat beide zijden waar moeten zijn om het antwoord waar te geven. Vergeet niet om de haakjes om de vragen heen te zetten! Hier is een schematisch overzicht, een meer gedetailleerde uitleg volgt hieronder: Lijmwoorden voor vragen en beide zijden moeten 'waar' zijn om het antwoord 'waar' te kunnen geven of als een van beide zijden 'waar' is, dan is het antwoord 'waar' niet Een speciaal geval: werkt alleen op één vraag! Verandert 'waar' in 'onwaar' en 'onwaar' in 'waar'.
Lijmwoorden worden geaccentueerd met paars in de codebewerker. en Als twee vragen aan elkaar zijn gelijmd met en, dan moeten beide kanten van de en 'waar' zijn om 'waar' als resultaat te krijgen. Een voorbeeld: a = 1 b = 5 als (( a < 10) en (b == 5)) en (a < b) [ schrijf "hallo" ] In dit voorbeeld zie je een gelijmde vraag vastgelijmd aan een andere vraag. of Als één van de vragen die aan elkaar zijn geplakt met of 'waar' is, dan is het resultaat 'waar'. Een voorbeeld: a = 1 b = 5 als ((a < 10) of (b == 10)) of (a == 0) [ schrijf "hallo" ] In dit voorbeeld zie je een gelijmde vraag vastgelijmd aan een andere vraag. niet niet is een speciaal lijmwoord omdat het alleen met één vraag tegelijk werkt. niet verandert 'waar' in 'onwaar' en 'onwaar' in 'waar'. Voorbeeld: a = 1 b = 5 als niet ((a < 10) en (b == 5)) [ schrijf "hallo" ] anders [ schrijf "niet hallo ;-)" ] In dit voorbeeld is de gelijmde vraag 'waar', maar de niet verandert dit in 'onwaar. Dus uiteindelijk wordt "niet hallo ;-)" afgedrukt op het canvas.
Uitvoering besturen De uitvoercontroles maken het mogelijk, —zoals de naam al zegt— om controle uit te oefenen op de uitvoering van de commando's. Uitvoercontroles worden geaccentueerd met donkergroen in een vet lettertype. De vierkante haakjes die meestal samen met uitvoercontroles worden gebruikt zijn geaccentueerd met lichtgroen. Laat de schildpad wachten Als je wat hebt geprogrammeerd in &kturtle;, dan heb je vast gemerkt dat de schildpad erg snel is bij het tekenen. Dit commando maakt de schildpad een beetje rustiger. wacht wacht X wacht laat de schildpad X seconden wachten. herhaal 36[ vooruit 5 draairechts 10 WACHT 0.5 ] Deze code tekent een cirkel, maar de schildpad zal na elke stap een halve seconde wachten. Hier door lijkt het net of de schildpad kruipt. "als" uitvoeren als als vraag [ ... ] De code die tussen de blokhaakjes staat wordt alleen uitgevoerd wanneer als het antwoord op de vraag waar is. Lees voor meer informatie over vragen het vragengedeelte. x = 6 als x > 5 [ schrijf "x is groter dan vijf!" ] Op de eerste regel is x gezet op 6. Op de tweede regel wordt de vraag x > 5 gesteld. Omdat het antwoord op deze vraag waar is zal de uitvoercontrole als de code tussen de haakjes laten uitvoeren. De lus "terwijl" terwijl terwijl vraag [ ... ] De uitvoerbesturing terwijl lijkt veel op als. Het verschil is dat terwijl de code tussen de blokhaakjes blijft herhalen totdat het antwoord op de vraag onwaar is. x = 1 terwijl x < 5 [ vooruit 10 wacht 1 x = x + 1 ] Op de eerste regel krijgt x de waarde 1. Op de tweede regel wordt de vraag x < 5 gesteld. Omdat het antwoord op deze vraag waar is start de uitvoerbesturing terwijl het uitvoeren van de code tussen de blokhaakjes totdat het antwoord op de vraag onwaar is. In dit voorbeeld wordt de code tussen de blokhaakjes 4 keer uitgevoerd, omdat telkens als de vijfde regel wordt uitgevoerd de waarde x met 1 wordt vermeerderd. Als niet, of in andere woorden: "anders" anders als vraag [ ... ] anders [ ... ] anders kan worden gebruikt als aanvulling op de uitvoerbesturing als. De code tussen de haakjes na anders wordt alleen uitgevoerd als het antwoord op de gestelde vraag 'onwaar' is. x = 4 als x > 5 [ schrijf "x is groter dan vijf!" ] anders [ schrijf "x is kleiner dan zes!" [ Met de vraag wordt gevraagd of x groter is dan 5. Omdat x op op de eerste regel de waarde 4 krijgt is het antwoord onwaar. Dit betekent dat de code tussen de blokhaakjes achter anders zal worden uitgevoerd. De lus "voor", een tellende lus voor voor startpunt tot eindpunt [ ... ] De lus voor is een tellende lus, dus die houdt de telling voor je bij. voor x = 1 tot 10 [ schrijf x * 7 vooruit 15 ] Telkens als de code tussen de blokhaakjes wordt uitgevoerd wordt de waarde x met 1 vermeerderd, totdat x de waarde 10 heeft bereikt. De code tussen de blokhaakjes schrijft de x vermenigvuldigd met 7. Nadat deze commando's zijn uitgevoerd zie je de tafel van 7 op het canvas staan. Maak je eigen commando's met <quote >leer</quote > leer is een speciaal commando, omdat die kan worden gebruikt om je eigen commando's te maken. Het commando dat je maakt kan om invoer vragen en uitvoer geven. Laten we eens kijken hoe je een nieuw commando kunt maken: leer cirkel (x) [ herhaal 36 [ vooruit x draailinks 10 ] ] Het nieuwe commando heet cirkel. cirkel vraagt om een invoer, een getal, om de grootte van de cirkel te bepalen. cirkel geeft geen uitvoer. Het commando cirkel kan nu worden gebruikt als een normaal commando in de rest van de programmacode. Hier een voorbeeld: leer cirkel (x) [ herhaal 36 [ vooruit x draailinks 10 ] ] ganaar 30,30 cirkel(20) ganaar 40,40 cirkel(50) In het volgende voorbeeld maken we een commando met een uitvoerwaarde. leer vermenigvuldigMetZichzelf n [ r = n * 1 r = n * n geefdoor r ] i = invoervenster "Voer een getal in en klik op OK" schrijf i + " vermenigvuldigd met zichzelf is " + vermenigvuldigMetZichzelf (i) In dit voorbeeld wordt een nieuw commando met de naam vermenigvuldigMetZichzelf gemaakt. De invoer van dit commando wordt vermenigvuldigd met zichzelf en daarna doorgegeven met behulp van het commando geefdoor. Het commando geefdoor is een manier om de waarde van een functie die je hebt gemaakt als resultaat te geven.