Logo Logo is een programmeertaal waarbij je door middel van commando’s een driehoekje (een schildpad) over het scherm beweegt. De schildpad laat daarbij een spoor achter. Van de programmeertaal LOGO zijn vele uitvoeringen in omloop. We bekijken in dit practicum de zogenaamde 'turtle graphics', aan de hand van deze handleiding. De meest elementaire instructies bestaan uit het commando geven om vooruit en achteruit te gaan, en het draaien van het driehoekje met een aantal graden. Zo kun je op een eenvoudige manier ingewikkelde tekeningen te maken. Inleiding Start MSWLogo op, je krijgt het volgende scherm te zien: kijkrichting FD 50 De schildpad heeft de vorm van een kleine driehoek in het midden van het scherm, de ‘kop’ geeft de richting aan waarin hij ‘kijkt’. Wanneer de schildpad beweegt tekent hij een lijn achter zich. In dit geval is hem verteld dat hij 50 ‘stappen’ naar voren moet gaan door het commando FORWARD 50, afgekort tot FD 50 Je kunt de schildpad laten draaien door hem te ‘vertellen’ naar rechts of links te gaan. De afbeelding hiernaast toont je hoe je de schildpad de verschillende richtingen op kunt laten gaan. In plaats van het typen van RIGHT of LEFT kun je ook hier afkortingen gebruiken. De commando’s geef je in het Commander venster, in het invoervak (commandoregel). De schildpad leert lopen opdracht 1 Probeer het volgende eens uit: FORWARD 100 RIGHT 90 FORWARD 100 RIGHT 90 FORWARD 100 RIGHT 90 FORWARD 100 Het resultaat zie je hierboven: een vierkant met zijden van 100 beeldpunten. Let op het startpunt: In het begin wijst de turtle omhoog, maar na de vierde zijde wijst de turtle naar links. Dit is bij het tekenen van complexere vormen van belang, zoals verderop zal blijken. Je ziet ook dat LEFT een wijziging van ‘kijkrichting veroorzaakt. Programmeurs hebben vaak een voorkeur voor een zo kort mogelijke schrijfwijze van opdrachten. Zie ook boven. LEFT kan dan ook geschreven worden als LT, RIGHT kan geschreven worden als RT, FORWARD kan geschreven worden als FD. RT staat voor Right Turn, LT staat voor Left Turn. De commando’s worden gevolgd door een parameter, FD 100 (pixels) en RT 90 (graden) Een commando of opdracht ziet er nu zo uit: COMMANDO ARGUMENT<RETURN> Commando Argument of parameter Return (Enter ) Wat te doen Hoeveel te doen Uitvoeren Gebruik CS (Wis scherm) tussen elke opdracht om met een schoon scherm verder te gaan, je kunt ook CLEARSCREEN gebruiken. Je ziet dat CS geen argument nodig heeft. Opdracht 2 Schrijf nu de commando’s waarmee een vierkant en een gelijkbenige driehoek worden getekend. Probeer dit uit tot je in de opdracht geslaagd bent. Wat valt er op aan hoeken die je gebruikt? Herhalingen REPEAT is een nieuw commando om veelhoeken (polygonen) gemakkelijker en sneller te kunnen tekenen, zo kun je dit commando gebruiken: REPEAT n [Commando1 Argument1 Commando2 Argument2 etc. ...] Het REPEAT commando moet omsloten zijn door vierkante haken, de haken kunnen zoveel commando-argument-paren bevatten als nodig is. voorbeelden Geef de opdracht: REPEAT 7 [FORWARD 5 RIGHT 90 FORWARD 5 RIGHT –90] en kijk naar het resultaat., probeer dit ook eens: CS REPEAT 20 [FD 100 RT 170] Probeer met het REPEAT commando de driehoek en het vierkant te tekenen Schrijf de resultaten in de tabel hieronder. . Let op: Je kunt bij toeval de hoek vinden die bij een andere veelhoek hoort, schrijf deze op voordat je vergeet wat je vond. polygoon naam zijden driehoek 3 hoek vierkant Instructies voor de schildpad REPEAT 3 [ FD RT ] REPEAT Hier zijn nieuwe commando’s waardoor je kan zien of de getekende vormen goed op elkaar aansluiten: HT - Verberg H(ide) T(urtle) schildpad ST - Toon S(how) (T)urtle schildpad ... en denk er aan dat CS - Clear Screen - je in staat stelt opnieuw te beginnen polygoon naam zijden hoek Instructies voor de schildpad pentagon hexagon Octagon Nonagon Decagon Het zal je opvallen dat de veelhoeken steeds meer op een cirkel beginnen te lijken (De Grieken gebruiken dan ook al veelhoeken om de waarde van de pi te berekenen). Probeer nu een cirkel (raadpleeg het helpbestand voor het tekenen van bogen (arc) en cirkels) Cirkel Eigen commando’s maken In de PROCEDURE Modus leer je de schildpad nieuwe trucjes. We kunnen het woordenboek van de LOGO-taal uitbreiden met nieuwe woorden, die dan óók als opdrachten geaccepteerd worden. We gaan een vierkant programmeren. Geef in de opdrachtregel de opdracht: EDIT “ZIJDE (ED “ZIJDE) mag ook Je komt nu in de Logo-editor. Daar zie je nu staan: TO ZIJDE END Dit geeft aan dat je een nieuwe opdracht maakt. Typ nu tussen de beide regels: right 90 forward 100 Kies vervolgens voor Save and exit in de menubalk van de editor: File Save and exit Nu is er een 'kladblaadje' gemaakt in de Workspace van het programma, waarop staat wat het driehoekje moet doen om een ‘zijde’ te maken. Geef nu de opdracht ZIJDE in de commandoregel. En daarna nog een keer, en nog een keer, en nog een keer. Wat zie je? Zo kun je dus ook een vierkant tekenen. Zo leer je de schilpad een vierkant VIERKANT of VK te tekenen Je hebt hierbij twee nieuwe commando’s nodig: TO <nieuwe proc> om de leermodus te starten en END om de leermodus te beëindigen. Type TO VIERKANT en druk op Enter Type je VIERKANT commando’s:. REPEAT 4 [ FD 50 RT 90 ] en druk op Enter Type END om de omschrijving van de opdracht Vierkantte beëindigen. Het 'Commander' venster zal de gedefinieerde VIERKANT procedure tonen. Type nu VIERKANT en druk op Enter om de schildpad je vierkant te laten tekenen Opdracht 3 Probeer dit eens te tekenen: Je wilt de Turtle verplaatsen zonder dat hij iets tekent. Dat doe je met de opdrachten Penup en Pendown. Goede stijl Ontwikkel een goede stijl om procedures een duidelijke naam te geven. In plaats van vierkant zou je de procedure V, VK of VKNT kunnen noemen of anders wel doos, misschien wel Jan. Het is een goed idee om de namen kort te houden maar moeten wel betekenisvol zijn. V kan ook staan voor vakantie of vak, Jan is zeker geen betekenisvolle naam voor een vierkant. Een nieuwe procedure maken met EDIT Je hebt al geleerd hoe een VIERKANT procedure gemaakt kan worden door TO VIERKANT te gebruiken Nu zul je leren hoe een DRIEHOEK procedure gemaakt kan worden door middel van ED “DRIEHOEK Opdracht 4 Type ED "DRIEHOEK in de Commander Venster 'Input Box' en druk op Enter Zet de cursor in het Edit venster achter DRIEKHOEK en druk weer op Enter om een lege regel te krijgen met de cursor aan het begin van deze regel Type nu je DRIEHOEK commando’s REPEAT 3 [ FD 50 RT 120 ] in de lege regel. Nu kun je de nieuwe procedure opslaan Selecteer File>Save and Exit en klik met de muis. Type DRIEHOEK in het invoerveld van het Commandervenster en druk op Enter om de nieuwe procedure te testen. Je kunt een procedures ook klonen (Klonen=een exacte kopie maken) Type ED "DRIEHOEK in het Commander Venster 'Invulvak en druk op Enter Selecteer de hele procedure, inclusief TO en END Kopieer het gemarkeerde gebied door Edit>Copy of door [Ctrl] [C] (^C) Nu kan de procedure gekloond worden. Klik na END en druk tweemaal op Enter om een gat te maken tussen de bestaande Plak de kopie door Edit>Paste of door [Ctrl] [V] (^V) De gekloonde procedure kan nu bewerkt worden. Markeer de ingevoegde procedurenaam (DRIEHOEK) en type de naam van de gekloonde procedure: PENTAGON Selecteer het ‘aantal wendingen' na REPEAT en type 5 waardoor 3 verwijderd wordt Selecteer de draaihoek RT en type 72 waardoor 120 verwijderd wordt Sla nu de gekloonde procedure met File>Save and Exit. Test de procedure in het Commander Venster door ‘PENTAGON’ in het invoervenster te typen. Herhaal de bovenstaande handelingen voor al je figuren. Procedurebestanden opslaan Nu je de schildpad vele zaken hebt geleerd, heb je een snelle manier nodig om deze zaken opnieuw ‘aan de schildpad te leren’. Een bestand met procedures kan worden opgeslagen: Kies eerst File>Save van de MSWLogo Menu Balk en selecteer het station of de directory waar je de bestanden wilt opslaan. Type daarna SAVE "MyFile3.LGO in het Commander Venster ‘Invoervak’ (of MyFile4, MyFile5, etc) en druk op Enter. Kies een bestandnaam kiest die de procedure beschrijft die het bevat. Wees voorzichtig met het kiezen van een bestandsnaam, als deze al bestaat, zal het al bestaande bestand overschreven worden door het nieuwe bestand en het oude bestand is voor altijd verloren! Een veiligere methode is het kiezen van File>Save As waardoor: het bestandsvenster wordt geopend waarin de bestaande bestanden te zien zijn, je een nieuwe naam kunt intypen en je een bestaande naam kiest, je gewaarschuwd wordt. Opslaan van een bestand met geselecteerde procedures Het is een goede gewoonte om alleen die procedures op te slaan die overeenkomen met de beschrijvende bestandsnaam die je gekozen hebt. Om een geselecteerde lijst van procedures op te slaan, kun je het ‘savelist’ commando gebruiken: SAVEL [ bloemen GRAS STRUIKEN BOMEN ... etc.] "TUIN Dit zorgt er voor dat bestanden die niet nodig zijn niet worden opgeslagen. De procedures die niet nodig zijn kunnen gewist worden, dit is niet noodzakelijk maar je zou daarvoor kunnen kiezen. Het laden van procedurebestanden Selecteer File>Load van de MSWLogo Menu Balk en selecteer het station of de Directory waar het bestand is opgeslagen. Type LOAD "MyFile.LGO in het Commander venster ‘Invoervak’ en Enter . Er kunnen meerdere bestanden worden geladen, wees voorzichtig, procedures in later aangemaakte bestanden zullen eerder onder dezelfde naam opgeslagen procedures overschrijven. Nadat je procedures hebt bewerkt of nieuwe hebt toegevoegd aan de werkruimte (workspace), krijg je de volgende waarschuwing: Denk na over de keuze die je dan gaat maken Je kunt dus je verzameling eigen programma's bewaren op je usb-stick of je werkruimte op het netwerk. Denk eraan dat bij het laden met de opdracht LOAD dat dan alle eigennamen die misschien al in je programmageheugen zaten, eerst worden gewist. Let op, misschien ten overvloede: Als je de computer uitzet, verdwijnen de programma’s die je hebt gemaakt uit het geheugen. In dat geval zul je bijvoorbeeld het programma ‘vierkant’ eerst opnieuw moeten maken of van de usb-stick laden als je het er eerder naar hebt weggeschreven. We gaan nu procedures maken met een variabel argument: een parameter. De figuren die je tot nu toe kan laten tekenen met de door jezelf geprogrammeerde opdrachten (=procedures), hebben alle telkens dezelfde afmetingen. Een vierkant met zijde 20 vergt een andere procedure dan een vierkant met zijde 15. Een parameter is een variabele die je aan een procedure meegeeft, zodat de procedure zelf een 'variabel' karakter krijgt. Net zoals je FORWARD 20 of FORWARD 15 gebruikt. Zo kun je ook VIERKANT 20 of VIERKANT 15 gebruiken. Het veranderen van de grootte van je polygonen met parameters Gebruik de Editor om de grootte van je driehoek te wijzigen: ED "DRIEHOEK om een driehoek met een grootte van 267 - FD 267. Probeer een andere grootte Om op het zelfde moment driehoeken van verschillend formaat te maken, moet je DRIEHOEK klonen om DRH - 50 en DRH 267 te maken. Om op het zelfde moment tien verschillende formaten te maken, heb je tien klonen nodig, dit is een moeizame manier van werken. Logo heeft een betere manier, je kunt DRIEHOEK een argument meegeven: een variabele invoergrootte, bijvoorbeeld. DRIEHOEK 100, DRIEHOEK 250, etc. net als FD 100. ED "DRIEHOEK en verander de procedure op de volgende manier: Vertelt de computer een opslagplaats te maken met de naam GROOTTE en plaats het getal in deze opslagplaats. TO DRIEHOEK :GROOTTE REPEAT 3 [ FD :GROOTTE RT 120 ] END Vertelt de schildpad dat hij het aantal dat in GROOTTE geplaatst is naar voren moet gaan. Sla de inhoud van de Editor op en test je bewerkte DRIEHOEK procedure, als je de boodschap "not enough inputs to DRIEHOEK" krijgt, ben je vergeten de invoerwaarde te geven, bijvoorbeeld DRIEHOEK 123 Type DRIEHOEK 50 DRIEHOEK 100 DRIEHOEK 150 DRIEHOEK 200 ... etc. in het Commander Venster ‘Invoervak’ als een single line input. Nog een voorbeeld: ED “RECHTHOEK Je ziet nu staan: TO RECHTHOEK Verander deze hele regel in: TO RECHTHOEK :lengte :breedte En daarna op de volgende regel verder: repeat 2 [forward :lengte right 90 forward :breedte right 90] Geef nu de opdracht RECHTHOEK. Dat levert een foutmelding op: ‘not enough inputs to rechthoek’ deze opdracht vereist dat er variabelen worden meegegeven, de opdracht kan worden: RECHTHOEK 100 200 opdacht 3 Probeer nog een aantal goed geformuleerde RECHTHOEK-opdrachten. Met rechthoek 50 50 kun je een vierkant tekenen. Maar daar kunnen we ook een afzonderlijke procedure voor maken. De procedure vierkant bestáát al in de Workspace. Deze gaan we dus veranderen: to vierkant :zijde rechthoek :zijde :zijde end De opdracht VIERKANT 50 geeft nu hetzelfde resultaat als RECHTHOEK 50 50 Let goed op het gebruik van de parameters in dit voorbeeld: de opdracht vierkant 50 zorgt dat de parameter zijde in de procedure vierkant de waarde 50 krijgt. Vervolgens roept een regel uit vierkant de procedure rechthoek aan. In die regel stond rechthoek :zijde :zijde, maar dat is nu eigenlijk rechthoek 50 50 geworden. En déze twee waarden worden meegegeven aan rechthoek. Het commando IF We gaan nu een nestje vierkanten maken. Daarbij wordt gebruik gemaakt van het IFcommando. Je kunt een deel van het programma alleen laten uitvoeren als aan een voorwaarde voldaan is. Opdracht 4 Maak de volgende procedure: TO NESTJE :ZIJDE *2 IF :ZIJDE > 50 [REPEAT 4 [VIERKANT :ZIJDE RT 90]] [REPEAT 8 [VIERKANT :ZIJDE RT 45]] END Probeer de volgende commando’s uit: nestje 40 en nestje 60. Leg uit wat het verschil is. Hoe komt dat Een huis bouwen Een goed uitgevoerde Logo techniek is het bouwen van complexere procedures door gebruik te maken van simpelere procedures. Deze complexere procedures kunnen dan weer gebruikt voor nog complexere procedures. Om een huis te maken moet je een DRIEHOEK bouwelement bovenop een VIERKANT plaatsen waarbij de cement bestaat uit enkele van de primitieve commando’s (FD, BK, RT en LT). Opdracht 5 FIGUUR RECHTH :H :B ................................... TRAP :B :B/4 ;vorm 1 ;koppeling ;vorm 2 FIGUUR RECHTH :H :B .................................. DRIE45 :H ; vorm 1 ; koppeling ; vorm 2 Nu het bouwen van huizen, een ‘stad’ en andere gebouwen TO HUIS 1: ZIJDE END 1 : RADIUS Goede Logo stijl: maak je procedure zo dat deze goed leesbaar en begrijpelijk is. Maak je HUIS procedure op de volgende manier: TO HUIS .................................................; Procedure 1 - de muren .................................................; koppeling of 'cement' naar dak .................................................; Procedure 2 -het dak END Het huis zal waarschijnlijk voltooid zijn met de schildpad bovenaan bij de muur. Voeg een andere koppeling na procedure 2 om de schildpad weer terug te brengen naar het begin van HUIS, precies het startpunt. Leer de schildpad nu STAD met gebruikmaking van je HUIS procedure. Om te beginnen moet de schildpad RUIMTE leren kennen. Een procedure waarbij de schildpad van huis naar huis gaat zonder een lijn te tekenen. Hiervoor heb je twee nieuwe commando’s nodig: PU De schildpad tekent niet terwijl hij beweegt PD pen weer actief. TO RUIMTE END TO STAD END Kun je REPEAT gebruikten voor de STAD procedure? Koppelen van simpele ‘vormen’ Begin met het ontwerpen van een TOREN. Je hebt de RECHTHOEK en DRIEHOEK procedures. Kloon HUIS en gebruik deze als een model waarbij je dezelfde soort procedures en koppelingen toepast. TO TOREN END Probeer nu een KERK samen te stellen. TO KERK END Kleuren kiezen Je kunt de pen-, vul- en schermkleuren kiezen met behulp van de MSWLogo Menu Balk of Set>PenColor etc. Kies een van de 'index'-kleuren die getoond worden of gebruik de Rood | Groen of Blauw schuifbalken om je eigen kleur te maken Vaak zul je kleuren willen bepalen met procedure commando’s: SETPC pencolor, SETFC floodcolor, en SETSCREENCOLOR screencolor. Om kleuren in te stellen bij procedure commando’s heb je de kleurwaarden nodig die in de onderstaande kleurentabel gegeven zijn. Als je je eigen kleuren gemaakt hebt, type dan SHOW PENCOLOR, of een ander commando, in het ‘Invoervak’ en sla de kleurwaarden op voor toekomstig gebruik. later naar kijken, onduidelijk Maak een bibliotheek van kleurprocedures als je het lastig vindt om de kleurwaarden die je gebruikt te onthouden. Maak er een voor elke kleur die je gebruikt Die voor rood is als volgt: TO rood OP 4 ; of OP [255 0 0] END Hierdoor kun je later SETPC rood intypen, dit is eenvoudiger dan het je herinneren van de kleurwaarden Kleurentabel Name Black Blue Green Cyan Red Magent a Yellow White Index 0 1 2 3 4 5 6 7 RGB values [000] [ 0 0 255] [ 0 255 0 ] [ 0 255 255] [255 0 0 ] [255 0 255] [255 255 0 ] [255 255 255] Name Brown Light brown Mid-green Blue-green Salmon Blue-ish Orange Silver Index 8 9 10 11 12 13 14 15 RGB values [155 96 59] [197 136 18] [100 162 64] [120 187 187] [255 149 119] [144 113 208] [255 163 0 ] [183 183 183] Het tekenen van gekleurde lijnen Wanneer alle lijnen die je tekent, zwart zijn is er geen reden om de pen op te tillen tussen vormen die op elkaar aansluiten. Je hebt PU en PD alleen nodig om naar nieuwe locaties te ‘springen’, zonder dat er een lijn getekend wordt. In het geval elke vorm een andere kleur heeft, moet de pen opgetild worden om te voorkomen dat eerder getekende lijnen in de andere kleur nogmaals getekend worden. Wijzig je HUIS procedure en stel de kleur voor iedere vorm opnieuw in. Gebruik PU en PD aan het begin en eind van elke koppeling, dit kan op de volgende manier: TO HUIS :GROOTTE SETPC 6 RHK :GROOTTE ; teken gele muren PU FD :GROOTTE RT 30 PD ; koppeling naar dak SETPC 4 TRI :GROOTTE ; teken rood dak PU LT 30 BK :GROOTTE PD ; koppeling naar grond (R.P.P) END Je kunt pencolor ook gebruiken om tekst en tekens te kleuren Het vullen van een gesloten ruimte met kleur De volgende basisvolgorde van gebeurtenissen is essentieel: 1. 2. 3. 4. 5. kies de kleuren, teken de vorm, Til de pen op en ga de vorm binnen, vul met kleur, ga terug naar de grens van de vorm en zet de pen neer Als hieronder, iedere lijn wordt apart ingegeven in het Invoervak SETPC 6 SETFC 6 VIERKANT 80 PU RT 45 FD 20 FILL BK 20 LT 45 PD ; pen- en vulkleur geel ; teken vorm ; ga binnen de vorm ; vul de vorm met vulkleur ; terug naar rand (omgekeerd pad) Let er op dat PU in de derde stap noodzakelijk is om het tekenen van een lijn te voorkomen. In de vijfde stap wordt de pen weer neergezet om het tekenen voort te kunnen zetten. Maak nu een KLEUR.MUREN procedure van de bovenstaande regels en kloon KLEUR.DAK van KLEUR.MUREN. Omdat de driehoek scherper is, zul je de 45 hoek moeten verminderen om binnen de driehoek te kunnen komen. Vervang daarna de SETPC 6 VIERKANT:GROOTTE and the SETPC 4 DRIEHOEK :GROOTTE regels in de tweede stap hierboven om een geschilderd huis te krijgen. Vullen met kleur wanneer vormen elkaar overlappen FILL kan op twee manieren werken. Je moet die begrijpen als je probeert een vorm te vullen met een kleur terwijl deze een andere vorm, gevuld met een andere kleur, overlapt. FILL, de standaard modus, of (FILL "false) vult tot aan de grenzen van de vorm. Afhankelijk van hoever de pen in de laatst getekende vorm staat, kunnen een van beide resultaten ontstaan. (FILL "true) zal vullen tot aan de grenzen van de vorm die net getekend is. (zie rechts), op voorwaarde dat de penkleur een andere is dan die van de vorm die overlapt wordt. Er zijn mogelijkheden om bijzondere patronen te maken met gevulde en geroteerde vormen bij gebruik van combinaties (FILL "true) en (FILL "false). Met LOGO kun je als het ware bepalen dat je met pen een lijn trekt. De dikte van de lijn kun je instellen met de opdracht PENSIZE. Experimenteer met de lijndikte. Gebruik de help-functie voor meer informatie. Experimenteer ook met de volgende opdrachten: - penup hideturtle setfloodcolor [R G B] pendown showturtle fill penerase setpencolor [R G B] pennormal - setscreencolor [R G B] Eindopdrachten Van elke van de onderstaande opdrachten moet je de volgende zaken maken: 1. Een PSD 2. Een Word-bestand met de LOGO-opdrachten (met kopiëren en plakken) 3. Bewaar de afbeelding die je gemaakt hebt als bitmap en neem deze in je Word-verslag op. Voor HAVO- en VWO-leerlingen: Opdracht E1 Teken een straat met tien huisjes naast elkaar. De huisjes zijn 3 (cm) breed en hebben een plat dak. Opdracht E2 Verander het algoritme zo dat alle huisjes een schuin dak hebben. Opdracht E3 Verander het algoritme zo dat eerste huisje en plat dak heeft en het tweede een schuin dak. Het volgende week een plat dak enzovoorts. Je krijgt dan een straat met vijf huisjes met een plat dak en vijf met een schuin dak. Alleen voor VWO-leerlingen: Opdracht E4 Maak een straat met tien huizen van verschillende afmetingen. Zorg er voor dat er verschillende soorten huizen in de straat staan. Geef de huizen een kleur (denk aan de FILLopdracht): Extra Misschien heb je ze al ontdekt, maar via Help Demos kun je voorbeelden krijgen van de mogelijkheden van LOGO en kijk ook eens naar de code op deze pagina’s: http://members.aol.com/mckoss/funprog.htm (torens van Hanoi) Uitwerkingen bij LOGO-practicum *1 repeat 7 [forward 5 right 90 forward 5 right –90] Het resultaat moet er dan zo uitzien: CS REPEAT 20 [FD 100 RT 170] Het resultaat moet er dan zo uitzien: *2 Je moet hier zien dat nestje 40 iets anders oplevert dan nestje 60 en dat er dus een voorwaardelijke keuze gemaakt wordt afhankelijk van de meegegeven parameter. Het ifcommando heeft een boolean-structuur: if :zijde > 50 [repeat 4 [vierkant :zijde rt 90]] [repeat 8 [vierkant :zijde rt 45]] Wordt uitgevoerd als de booleanwaarde 1 (=waar) is. Wordt uitgevoerd als de booleanwaarde 0 (=onwaar) is. Eindopdracht havo en vwo gelijk aan die in het boek 19a Een mogelijke oplossing: edit “platstraat to platstraat repeat 10 [rechthoek 40 30 rt 90 fd 30 lt 90] end 19b Een puntstraat: Eerst edit “rechthoek: to rechthoek :lengte :breedte repeat 2 [fd :lengte rt 90 fd :breedte rt 90] fd :lengte end Dan edit “driehoek: to driehoek :zijde left 90 repeat 3 [right 120 fd :zijde] end Dan edit “punthuisje: to punthuisje rechthoek 40 30 driehoek 30 end En tot slot edit “puntstraat: to puntstraat repeat 10 [punthuisje fd -30 rt 90 fd -40] hideturtle end 19c 5 x een rechthoek en 5 x een punthuisje in bijv. edit “wisselstraat: to wisselstraat repeat 5 [rechthoek 40 30 lt 90 fd -30 rt 90 fd –40 punthuisje fd -30 rt 90 fd –40] hideturtle end Eindopdracht vwo 22 De 2e regel wordt wel erg lang, maar het werkt met edit “wisselstraat: to wisselstraat :lengte :breedte :hoogte repeat 5 [rechthoek :lengte :breedte lt 90 fd -:breedte rt 90 fd -:lengte punthuisje :lengte :breedte :hoogte fd -:breedte rt 90 fd -:lengte] end Voorbeelden basisvormen en de bijbehorend opdrachten. Driehoek (3 zijden) Schildpad draait 120º REPEAT 3 [FD 100 RT 120] Vierkant (4 zijden) Schildpad draait 90º REPEAT 4 [FD 100 RT 90] Pentagon (5 zijden) Schildpad draait 72º REPEAT 5 [FD 100 RT 72] Hexagon (6 zijden) Schildpad draait 60º REPEAT 6 [FD 100 RT 60] Septagon (7 zijden) Schildpad draait 51º REPEAT 7 [FD 100 RT 51] Octagon (8 zijden) Schildpad draait 45º REPEAT 8 [FD 100 RT 45] Bronnen LOGO-opdrachten: Ruud Koortens contact: [email protected] Michael Koss - http://members.aol.com/mckoss/logo.htm, MSWLogo - http://www.softronix.com/logo.html Ton Velzeboer, practicum LOGO, Informatica Deel 1 Edu’Actief http://www.ecu.edu.au/pa/ecawa/sig/logo/paul_dench/turtle/turtle-6.html en de manual die op http://www.ecu.edu.au/pa/ecawa/sig/logo/paul_dench/turtle/tool-box/text/student-manual.doc te vinden is