Copyright © 2004 Cies Breijs
Het is toegestaan dit document te kopiëren, te verdelen en/of te wijzigen onder de voorwaarden van de GNU vrije-documentatie-licentie, versie 1.1 of een latere versie, gepubliceerd door de Free Software Foundation; zonder invariante paragrafen, zonder vooromslagteksten, en zonder achteromslagteksten. Een kopie van de licentie vindt u hier: de paragraaf "GNU vrije-documentatielicentie".
KTurtle is een educatieve programmeeromgeving, gebruik makend van de programmeertal Logo. De unieke eigenschap van Logo is dat de programmeercommando's kunnen worden vertaald naar de taal van de 'programmeur', zodat hij/zij kan programmeren in zijn/haar eigen taal.
Inhoudsopgave
Lijst van tabellen
KTurtle is een educatieve programmeeromgeving die gebruik maakt van de programmeertaal Logo. Het doel van KTurtle is om het programmeren zo eenvoudig en toegankelijk mogelijk te maken. Dit maakt KTurtle geschikt om kinderen de basis van wiskunde, geometrie en programmeren bij te brengen. De commando's die in het programma worden gebruikt zijn in de stijl van de Logo-programmeertaal. De unieke eigenschap van Logo is dat de commando's vaak zijn vertaald naar de spreektaal van de programmeur.
KTurtle is genoemd naar de “schildpad” (turtle) die een centrale rol speelt in de programmeeromgeving. De gebruiker programmeert de schildpad, met behulp van de Logo-commando's, om een tekening te tekenen op het canvas.
De eerste versie van de Logo-programmeertaal werd in 1967 gemaakt door Seymour Papert van MIT Artificial Intelligence Laboratory. en werd afgeleid van de programmeertaal LISP. Vanaf dat moment zijn er veel versies van Logo uitgebracht. Omstreeks 1980 werd Logo bekender met versies voor MSX, Commodore, Atari, Apple II en IBM-PC's. Deze versies werden vooral voor educatieve doeleinden uitgebracht. LCSI bracht in 1985 Mac®Logo uit, een hulpmiddel voor professionele programmeurs. Dit programma sloeg helaas niet aan. MIT onderhoudt nog steeds een website over Logo. Deze vindt u op http://el.media.mit.edu/logo-foundation/.
Vandaag de dag zijn er verschillende versies van Logo verkrijgbaar. Deze kunt u vinden op MIT's Logo-website en via een eenvoudige Google-zoekopdracht. Deze versie van Logo (KTurtle) richt zich alleen op de educatieve kwaliteiten van de programmeertaal en is daardoor ongeschikt voor professionele programmeurs.
KTurtle heeft enkele leuke functies die het beginnen met programmeren eenvoudig maken. Hier zijn enkele functies van KTurtle:
Een geïntegreerde Logo-interpreter (geen extra afhankelijkheden) die gebruik maakt van XML-bestanden voor de commandovertalingen. Er is ondersteuning voor door de gebruiker gedefinieerde functies en dynamische schakeling tussen typen.
De uitvoering kan op elk moment worden vertraagd, tijdelijk onderbroken of gestopt.
Een krachtige codebewerker voor de Logo-commando's met intuïtieve syntaxisaccentuering, regelnummering, en meer.
Het canvas kan worden opgeslagen als een afbeelding, en worden afgedrukt.
Het canvas heeft een zogenaamde wikkelmodus (wrapping mode, die standaard geactiveerd is), zodat de schildpad niet zo makkelijk kan verdwalen.
Contextuele hulp voor alle Logo-commando's: druk op F1.
De commando's in Logo zijn volledig vertaalbaar en momenteel beschikbaar in het Engels, Braziliaans Portugees, Nederlands, Duits, Frans, Sloveens, Servisch (Cyrillisch en Latijn), Spaans en Zweeds.
Een dialoog die de foutmeldingen koppelt aan de gemaakte programmeerfouten.
Vereenvoudigde programmeerterminologie.
Volledig scherm.
Veel geïntegreerde en vertaalde Logo-programma's als voorbeeld waarmee het u gemakkelijk wordt gemaakt om te beginnen.
Het hoofdvenster van KTurtle bestaat uit twee hoofdonderdelen: de codebewerker (3) links, waar je de Logo-opdrachten intypt, en het canvas (4) rechts waar de instructies zichtbaar worden gemaakt. Het canvas is het speelveld van de schildpad. Op dit canvas beweegt en tekent de schildpad jouw opdrachten. De drie andere onderdelen van het hoofdvenster zijn: de menubalk (1) waar alle mogelijke opties en handelingen zijn te vinden, de werkbalk (2), waarmee je vlug de meest gebruikte handelingen kunt aanklikken, en de statusbalk (5), waar je kunt lezen wat de toestand is van KTurtle.
In de codebewerker kun je de Logo-opdrachten intypen. Het heeft alle functies die je mag verwachten van een moderne tekstverwerker. De meeste functies zijn te vinden in het menu Bewerken en het menu Hulpmiddelen. De codebewerker kan op verschillende plekken van het venster worden gezet, of helemaal van het venster worden losgemaakt.
Je kunt op verschillende manieren code toevoegen aan de codebewerker. De makkelijkste manier is om een voorbeeld te gebruiken. Kies menuoptie -> in het Bestandsmenu en kies een bestand uit. De naam van het bestand vertelt je waar het voorbeeld over gaat (dus vierkant.logo
tekent een vierkant). Het bestand dat je hebt gekozen wordt geopend in de codebewerker. Als je wilt kun je nu de menuoptie -> aanklikken om de code uit te voeren.
Je kunt Logo-bestanden openen met behulp van menuoptie ->.
De derde manier is om zelf je eigen code in de codebewerker te typen, of door code uit deze handleiding te kopiëren naar de codebewerker.
De cursorpositie wordt aangegeven in de statusbalk. Rechts zie je het regelnummer en het kolomnummer staan.
Het canvas is het gebied waar de opdrachten zichtbaar worden gemaakt. De opdrachten “tekenen” een figuur. In andere woorden: het is het speelveld van de schildpad. Nadat je code hebt gezet in de codebewerker voer je het uit met menuoptie ->. Er kunnen dan twee dingen gebeuren: de code wordt netjes uitgevoerd en je ziet iets veranderen op het canvas, of er zit een fout in je code en je krijgt een bericht dat vertelt welke fout je hebt gemaakt.
Dit bericht helpt je bij het oplossen van de fout.
Het figuur dat is getekend kan worden bewaard als een afbeelding (met menuoptie ->) of worden afgedrukt (met menuoptie ->).
In de menubalk vind je alle acties van KTurtle. Je ziet de volgende groepen: , , , , en . Dit onderdeel beschrijft al deze groepen.
Opent de map met de voorbeeldprogramma's voor Logo. De voorbeelden horen in je eigen taal te zijn die je hebt gekozen in menu ->.
Opent een lijst met mogelijke uitvoersnelheden. Deze bestaat uit Volle snelheid, Traag, Trager, Traagst. Als de uitvoersnelheid op 'Volle snelheid' is gezet (standaard), dan kunnen we amper bijhouden wat er gebeurt. Soms is dit gedrag gewenst, maar soms willen we het uitvoeren kunnen bijbenen. In dat geval kun je de uitvoersnelheid op 'Traag', 'Trager' of 'Traagst' zetten. Als een van de trage standen wordt gekozen zal de huidige plaats in het programma worden bijgehouden in de codebewerker.
Onderbreekt het uitvoeren. Deze menuoptie is alleen actief wanneer er opdrachten worden uitgevoerd.
Stopt het uitvoeren. Deze menuoptie is alleen actief op het moment dat er opdrachten worden uitgevoerd.
Dit opent de kleurenkiezer. Met deze kleurenkiezer kun je heel eenvoudig een kleurcode kiezen en invoegen in de codebewerker.
Dit laat de regels die zijn geselecteerd “inspringen” (voegt spaties toe aan het begin van de regels). Als “inspringen” op de juiste manier wordt gebruikt kan dit het lezen van de code gemakkelijker maken. Alle voorbeelden maken gebruik van inspringen, bekijk ze eens.
Dit verwijdert het “inspringen” (dus de spaties aan het begin) van de regels die zijn geselecteerd.
Dit verwijdert van de geselecteerde regels het “inspringen” (verwijdert alle spaties aan het begin ervan).
Dit voegt een commentaarteken (#) toe aan het begin van de geselecteerde regels. De regels die met een commentaarteken beginnen worden genegeerd tijdens het uitvoeren van de opdracht. Commentaartekens worden gebruikt door de programmeur om een uitleg over de code toe te voegen, en om tijdelijk te voorkomen dat een bepaald gedeelte van de code wordt uitgevoerd.
Als je hier op klikt verandert je muispijl in een “vraagteken met pijl”. Klik met deze pijl op een onderdeel van het hoofdvenster van KTurtle om een beschrijving ervan te lezen.
Dit is een handige functie, dit geeft informatie over de code waar de cursor in de codebewerker op staat. Stel, je hebt de opdracht schrijf
in je code staan, en je wilt weten wat in het handboek over deze opdracht staat. Zet dan je muisaanwijzer op de opdracht schrijf
, en druk op de toets F2. Het handboek toont dan alle informatie over de opdracht schrijf
.
Deze functie is erg belangrijk bij het leren programmeren.
Op de werkbalk vind je knoppen met de meestgebruikte functies. Je vindt hier alle standaardfuncties met als laatste de knoppen Commando's uitvoeren en Uitvoeren stoppen.
Je kunt de werkbalk zelf inrichten met behulp van ->->
Op de statusbalk vind je informatie over de status van KTurtle. Links zie je de informatie over de laatste actie. Rechts vind je de huidige locatie van de cursor (regel- en kolomnummers). Het midden van de statusbalk meldt wat de huidige taal is die gebruikt wordt voor de opdrachten.
Als je KTurtle start, dan krijgt je ongeveer dit te zien:
Je hebt vast het kleine schildpadje gezien in het midden van het canvas. Je staat op het punt te leren hoe je die kunt bedienen met behulp van commando's in de codebewerker.
Laten we beginnen bij het in beweging krijgen van de schildpad. Onze schildpad kan zich op 3 manieren voortbewegen: (1) vooruit en achteruit, (2) naar links en naar rechts en (3) hij kan direct naar een positie op het scherm gaan. Probeer bijvoorbeeld dit eens:
vooruit 100 draailinks 90Typ of kopieer deze code naar de codebewerker en voer het uit (met behulp van menuoptie ->) om het resultaat te bekijken.
Als je de commando's zoals hierboven in de codebewerker hebt ingetypt en uitgevoerd, dan heb je een of meer van de volgende acties gezien:
Dat — na het uitvoeren van de commando's — de schildpad omhoog gaat, een lijn tekent en een kwartslag naar links draait. Dit doet hij omdat je de commando's vooruit
en draailinks
hebt gebruikt.
Dat de kleur van de code veranderde terwijl je het intypte: deze functie heet intuïtieve accentuering — verschillende soorten commando's worden op verschillende manieren geaccentueerd. Dit maakt het lezen van grote stukken code eenvoudiger.
Dat de schilpad een dunne zwarte lijn heeft getekend.
Mogelijk kreeg je een foutmelding. Dit kan twee dingen betekenen: je hebt een fout gemaakt bij het kopiëren van de commando's, of je hebt de juiste taal voor de Logo-commando's nog niet ingesteld. Je kunt de taal instellen via menuoptie ->, sectie Taal.
Je begrijpt dat het commando vooruit 100
de schildpad vooruit laat gaan en een lijn tekenen, en dat draailinks 90
de schildpad 90 graden naar links laat draaien.
Bekijk de volgende verwijzingen naar het naslaggedeelte van dit handboek voor een complete uitleg van deze commando's: vooruit
, achteruit
, draailinks
en draairechts
.
Het eerste voorbeeld was vrij eenvoudig, dus laten we verder gaan!
canvasmaat 200,200 canvaskleur 0,0,0 penkleur 255,0,0 pendikte 5 schoon ganaar 20,20 richting 135 vooruit 200 draailinks 135 vooruit 100 draailinks 135 vooruit 141 draailinks 135 vooruit 100 draailinks 45 ganaar 40, 100Ook hier kun je de code intypen of kopiëren naar de codebewerker, of door het bestand
arrow.logo
in het menu te openen en dat uit te voeren (gebruik ->) om het resultaat te bekijken. In de volgende voorbeelden wordt verwacht dat je deze werkwijze kent.Je hebt vast gemerkt dat het tweede voorbeeld veel meer code gebruikt. Ook heb je enkele nieuwe commando's gezien. Hier is een korte uitleg van alle nieuwe commando's:
canvasmaat 200,200
zet de breedte en hoogte van het canvas op 200 pixels. De breedte en hoogte zijn gelijk aan elkaar, dus krijgen we een vierkant canvas.
canvaskleur 0,0,0
maakt het canvas zwart. 0,0,0
is een zogenaamde RoodGroenBlauw-kleurcombinatie (RGB). Door alle waarden op 0
te zetten krijg je een zwart resultaat.
penkleur 255,0,0
zet de kleur van de pen op rood. 255,0,0
is een RGB-kleurcombinatie waarbij alleen de rode waarde op 255
(volledig aan) is gezet. De andere waarden (groen en blauw) zijn op 0
(volledig uit) gezet. Dit geeft een heldere kleur rood.
Als je de kleurwaarden niet begrijpt, lees dan even in de woordenlijst wat RGB-combinaties zijn.
pendikte 5
zet de dikte van de pen op 5
pixels. Vanaf nu zal elke lijn die de schildpad tekent de dikte 5
hebben, totdat we de pendikte
ergens anders in veranderen.
schoon
maakt het canvas leeg. Meer niet.
ganaar 20,20
vertelt de schildpad dat hij naar een bepaalde plek op het canvas moet gaan. Gerekend vanuit de linker bovenhoek ligt deze plek 20 pixels naar rechts, en 20 pixels naar beneden. Je ziet dat het commando ganaar
geen lijn tekent.
richting 135
bepaalt de richting van de schildpad. De commando's draailinks
en draairechts
draaien de schildpad naar een andere richting. Het commando richting
verandert de hoek van de schildpad vanuit positie nul, en is dus niet afhankelijk van de vorige richting van de schildpad.
Na het commando richting
volgen een aantal vooruit
- en draailinks
-commando's. Deze commando's maken de tekening.
Tot slot wordt het commando ganaar
gebruikt om de schildpad aan de zijkant te zetten.
Volg alle verwijzingen naar het naslaggedeelte van dit handboek. Hier vind je een grondige uitleg van elk commando in deze voorbeelden.
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.
Zoals elke taal heeft Logo verschillende soorten woorden en symbolen. Hier worden de verschillen tussen deze soorten kort uitgelegd.
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.
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.
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.
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 20Namen 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 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.
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.
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.
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.
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.
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.
Er zijn verschillende commando's waarmee je de schildpad over het scherm kunt bewegen.
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 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 X
draailinks
laat de schildpad X graden naar links draaien. draailinks
kun je afkorten als dl
.draairechts X
draairechts
laat de schildpad X graden naar rechts draaien. draairechts
kun je afkorten als dr
.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
.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 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 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
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
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 X
pendikte
zet de dikte van de pen (de breedte van de lijn) op X pixels. pendikte
kun je afkorten als pd
.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
.Er zijn verschillende commando's waarmee je het canvas kunt veranderen.
canvaskleur R,G,BMet
canvaskleur
kun je de kleur van het canvas veranderen. canvaskleur
vraagt om een RGB-combinatie als invoer. canvaskleur
kun je afkorten als ck
.Er zijn twee commando's waarmee je het canvas kunt schoonmaken nadat je er een bende van hebt gemaakt.
schoonMet
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
.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
maakt de schilpad weer zichtbaar nadat hij is verborgen. toon
kun je afkorten als ts
.Het antwoord is: “ja”. De schildpad kan schrijven. Hij schrijft zo'n beetje alles waartoe je hem opdraagt.
schrijf XHet 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 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.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 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.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 XDe 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 XHet
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 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 NDit drukt niets af op het canvas. Als we proberen met lege plaatshouders te rekenen, dan krijgen we foutmeldingen.
Laten we beginnen met een voorbeeld:
x = 3 schrijf xOp 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 - BOp 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.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.
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: "+dWeet 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 ) + 1De 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).
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.
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:
Tabel 4.1. 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.
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:
Tabel 4.2. 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.
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.
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
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.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.
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 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 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.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 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.voorDe lusstartpunt
toteindpunt
[ ... ]
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.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. In dit hoofdstuk vind je een uitleg van de betekenis van de meeste “vreemde” woorden die in het handboek wordden gebruikt.
Graden zijn eenheden die worden gebruikt om de grootte van hoeken of draaibewegingen te meten. Een keer helemaal rond is 360 graden, een halve keer rond is 180 graden (de schildpad gaat daarna in de tegengestelde richting), en een kwart keer rond is 90 graden. De commando's draailinks
, draairechts
en richting
hebben een invoer in graden nodig.
Sommige commando's vragen om invoer, andere commando's geven uitvoer terug, sommige commando's vragen invoer en geven uitvoer terug, en sommige commando's vragen geen invoer en geven ook geen uitvoer terug. Invoer is informatie die het commando nodig heeft en uitvoer is het resultaat dat het commando geeft.
Enkele voorbeelden van commando's die alleen invoer vragen zijn:
vooruit 50 penkleur 255,0,0 schrijf "Hallo!"Het commando
vooruit
heeft 50
als invoer. vooruit
heeft deze invoer nodig om te weten hoeveel pixels de schildpad vooruit moet lopen. penkleur
heeft een kleur als invoer en schrijf
heeft een tekenreeks (tekst) als invoer. Onthoudt dat de invoer ook een plaatshouder mag zijn. In het volgende voorbeeld wordt zo'n plaatshouder gebruikt: x = 50 schrijf x str = "hallo!" schrijf str
Nu enkele voorbeelden van commando's die uitvoer geven:
x = invoervenster "Typ wat in en druk op OK... bedankt!" r = gok 1,100Het commando
invoervenster
neemt een tekenreeks als invoer en geeft een het getal of tekenreeks dat is ingevoerd als uitvoer. Zoals je ziet is de uitvoer van uitvoervenster
verpakt in de plaatshouder x
. Het commando gok
geeft ook uitvoer. In dit geval is dat een getal tussen 1 en 100. De uitvoer van gok is ook in een plaatshouder verpakt, met de naam r
. Merk op dat de plaatshouders x
en r
verder niet in het voorbeeld worden gebruikt.Er zijn ook commando's die geen invoer nodig hebben en geen uitvoer geven. Hier zijn enkele voorbeelden:
schoon penop wikkel verberg
Dit is een functie van KTurtle die het programmeren eenvoudiger maakt. Met intuïtieve accentuering krijgt de tekst die je intypt een kleur die het type programmeercode aangeeft. In de volgende lijst vind je de verschillende types code en de kleur die die krijgt in de codebewerker.
Tabel 5.1. Verschillende types code en hun kleur
algemene commando's | donkergroen | De algemene commando's worden hier beschreven. |
uitvoercontroles | zwart (vet) | De speciale commando's uitvoercontroles, lees er hier meer over. |
commentaren | donkergeel | Commentaarregels beginnen met een commentaarteken (#). Deze regels worden genegeerd als de code wordt uitgevoerd. Commentaren kun je gebruiken om een uitleg over je code toe te voegen, of een stukje code tijdelijk niet uit te voeren. |
blokhaakjes [, ] | lichtgroen (vet) | Blokhaakjes worden gebruikt om regels met code te groeperen. Blokhaakjes worden vaak gebruikt in combinatie met uitvoercontroles. |
het commando leer | lichtgroen (vet) | Het commando leer wordt gebruikt voor het maken van nieuwe commando's. |
getallen | blauw | Getallen, je kent ze wel. |
tekenreeksen | donkerrood | Tekenreeks is een ander woord voor een stukje tekst. Tekenreeksen staan altijd tussen dubbele aanhalingstekens ("). |
wiskundige tekens | grijs | Dit zijn de wiskundige tekens: +, -, *, /, (, en ). Lees er hier meer over. |
vragen | blauw (vet) | Lees hier meer informatie over vragen. |
lijmwoorden voor vragen | roze | Lees hier meer over de lijmwoorden (en, of, niet). |
gewone tekst | zwart |
Een pixel is een stip op het beeldscherm. Als je het beeldscherm van heel dichtbij bekijkt zul je zien dat die is opgebouwd uit allemaal kleine stippen. Deze stippen worden pixels genoemd. Alle afbeeldingen op het beeldscherm zijn uit deze pixels opgebouwd. Een pixel is het kleinste dat je op een beeldscherm kunt tekenen.
Veel commando's vragen om een aantal pixels als invoer. Deze commando's zijn: vooruit
, achteruit
, ganaar
, ganaarx
, ganaary
, canvasmaat
en pendikte
.
RGB-combinaties worden gebruikt om de kleur te omschrijven. De “R” staat voor “rood”, de “G” staat voor “groen” en de “B” staat voor “blauw”. Een voorbeeld van een RGB-combinatie is 255,0,0
: de eerste waarde (“rood”) is 255, en de andere waarden zijn 0. Dus geeft deze combinatie een heldere kleur rood. Elke waarde van een RGB-combinatie moet tussen de 0 en 255 liggen. Hier is een kleine lijst van veelgebruikte kleuren:
Tabel 5.2. Veelgebruikte RGB-combinaties
0,0,0 | zwart |
255,255,255 | wit |
255,0,0 | rood |
150,0,0 | donkerrood |
0,255,0 | groen |
0,0,255 | blauw |
0,255,255 | lichtblauw |
255,0,255 | roze |
255,255,0 | geel |
Om op een gemakkelijke manier de RGB-combinatie te zoeken van de kleur die je wilt gebruiken kun je de kleurenkiezer gebruiken. Je kunt de kleurenkiezer openen met menuoptie ->.
Er zijn twee commando's die om een RGB-combinatie als invoer vragen. Deze commando's zijn canvaskleur
en penkleur
.
Een sprite is een klein plaatje dat over het scherm kan worden bewogen. De schildpad in dit programma is zo'n sprite.
In deze versie van KTurtle kun je de sprite niet in iets anders veranderen. Bij toekomstige versies zal dit wel mogelijk zijn.
Wikkelen (in het Engels: “wrapping”) is een manier om te voorkomen dat de schildpad het canvas verlaat als hij iets tekent dat te groot is voor het canvas. Stel je het canvas voor als een wikkel of etiket rondom een blikje. Als de schildpad de rand van het canvas bereikt gaat hij gewoon verder op de tegenovergestelde zijde verder met tekenen, net alsof beide zijden aan elkaar zitten zoals bij een wikkel.
Wikkelen kan aan- of uit worden gezet met de commando's wikkelaan
en wikkeluit
. Bij de start van KTurtle is wikkelen automatisch aangezet.
Zoals u misschien al weet is de unieke eigenschap van de programmeertaal Logo dat de opdrachten (commando's) vaak vertaald zijn naar de taal van de programmeur. Dit neemt voor sommige beginners een hinderpaal weg voor het begrijpen van de basis van het programmeren. Wanneer KTurtle naar een nieuwe taal wordt vertaald moeten naast de gewoonlijke tekenreeksen (strings) en documentatie nog een paar bestanden worden vertaald. Niettemin wordt het meeste werk automatisch gedaan door de scripts van Rafael Beccar. Deze scripts kunt u vinden op kdeedu/kturtle/scripts
, de te vertalen bestanden op kdeedu/kturtle/data
. Hier vindt u ook de README-bestanden met instructies voor het gebruik/vertalen.
Eerst maakt u een map aan waarin de vertaalde bestanden zullen worden opgeslagen. Maak de map kde-i18n
in uw KDE-CVS-map, waarbij u code
/data/kdeedu/kturtle/code
vervangt door uw landcode (de 2- of 4-letterige ISO-code).
Kopieer het bestand Makefile.am
vanuit kdeedu/kturtle/data
naar deze map. Open het met uw favoriete tekstverwerker en vervang alle “en-US” in het bestand door uw taalcode (die u ook hierboven heeft gebruikt) en sla het bestand op.
Kopieer het bestand logokeywords.en_US.xml
vanuit de map kdeedu/kturtle/data/
naar de map die u net heeft aangemaakt, en hernoem het bestand naar logokeywords.
, waarbij code
.xmlcode
uw taalcode is.
Vertaal de inhoud van de tag <keyword>
(dus de tekst tussen <keyword>
en </keyword>
) in uw eigen taal, voor zover dat mogelijk is. Vertaal ook de inhoud van de tag <alias>
(dus de tekst tussen <alias>
en </alias>
). Beide zijn namelijk verwant aan elkaar omdat de alias een snelkoppeling is voor het sleutelwoord.
Bijvoorbeeld voor een Nederlandse vertaling: vertaal de term “while” in <keyword>
while</keyword>
naar “terwijl”
Vertaal a.u.b. de rest niet, en vertaal ook niet de Engelse woorden in <command name="Engels woord">
. Deze dienen in het Engels te blijven.
En als laatste: verander niet de volgorde in dit bestand, deze wordt gebruikt in de scripts van Rafael Beccar voor de automatische vertaling.
Sla uw bestanden op met de tekenset UTF-8 (in Kate, gebruik menuoptie en verander het spinveld rechtsboven in utf-8).
Lever uw bestand in op KDE's cvs (vergeet niet om uw bestandsnaam toe te voegen aan het bestand Makefile.am
), of stuur het naar Anne-Marie.
Mocht u twijfelen, neem contact op met Anne-Marie Mahfouf (annemarie.mahfouf AT free.fr)
voor meer informatie.
De vertaling van de logohighlightstyle.en_US.xml
is een makkie als u gebruik maakt van de script van Rafael Beccar op kdeedu/kturtle/data/
. Maar leest u wel eerst het README-bestand dat u daar vindt.
Om compatibel te blijven met al diegenen die geen gebruik willen maken van de zegeningen van de perl-script die in de vorige alinea werd genoemd, volgt hier de ouderwetse manier om het te doen:
Kopieer het bestand logohighlightstyle.en_US.xml
vanuit de map kdeedu/kturtle/data/
naar de map die u eerder heeft aangemaakt en hernoem het naar logohighlightstyle.
waarbij u code
.xmlcode
vervangt door uw taalcode ( de 2- of 4-letterige ISO-code).
Op regel 4 in het bestand vindt u de tekst <Language name="en_US">
...: verander hier de term “en_US” naar de ISO-code van uw taal.
Vertaal vervolgens de inhoud van de tags <item>
(dus de tekst tussen <item>
en </item>
). Deze inhoud dient overeen te komen met het bestand logokeyword
. Bijvoorbeeld, voor de Nederlandse vertaling vertaalt u “while” in <item>
while </item>
in “terwijl” en laat de spaties zoals ze zijn (een aan het begin en een aan het einde). Vertaal verder niets.
Sla uw bestanden op met de tekenset UTF-8 (in Kate, gebruik menuoptie en verander het spinveld rechtsboven in utf-8).
Lever uw bestand in op KDE's cvs (vergeet niet om uw bestandsnaam toe te voegen aan het bestand Makefile.am
), of stuur het naar Anne-Marie.
Mocht u twijfelen, neem contact op met Anne-Marie Mahfouf (annemarie.mahfouf AT free.fr)
voor meer informatie.
Ook hier weer wordt dit werk aanzienlijk vereenvoudigd door de script van Rafael Beccar op kdeedu/kturtle/data/
. Maar leest u wel eerst even het README-bestand dat u daar vindt, omdat u nog steeds iets zult moeten doen nadat de voorbeeldbestanden van Logo automatisch zijn vertaald.
Wanneer u de instructies heeft opgevolgd in het README-bestand in de map van de scripts, bent u zo goed als klaar. Vergeet u niet de als voorbeeld vertaalde Logo-code uit te proberen, omdat een foutje zo is gemaakt. Controleert u ook dat de Makefile.am
in kde-i18n/
bijgewerkt is in overeenstemming met de nieuwe bestanden. Voor het Nederlands moet de code
/data/kdeedu/kturtle/Makefile.am
er als volgt uitzien:
txt_DATA = advertentie.logo driehoeken.logo krullen.logo tafels.logo \ bloem.logo driehoek.logo logohighlightstyle.nl.xml pijl.logo vierkanten.logo \ kleuren.logo logokeywords.nl.xml randomnaam.logo vierkant.logo txtdir = $(kde_datadir)/kturtle/examples/nl xml_DATA = logohighlightstyle.nl.xml xmldir = $(kde_datadir)/katepart/syntax keywords_DATA = logokeywords.nl.xml keywordsdir = $(kde_datadir)/kturtle/data EXTRA_DIST = $(txt_DATA) $(xml_DATA) $(keywords_DATA)
Hier volgt een beschrijving hoe u de vertaling kunt doen ZONDER de perl-scripts van Rafael Beccar te gebruiken:
Kopieer de Engelse voorbeelden vanuit kdeedu/kturtle/data
naar deze map en vertaal de bestandsnamen in uw eigen taal. Zo kunnen de gebruikers beter zien waar het voorbeeld over gaat.
Vertaal de sleutelwoorden in de voorbeelden, waarbij u gebruik maakt van de vertalingen uit het bestand logokeywords.xml
dat bij uw taal hoort. Voordat u de voorbeelden gaat vertalen dient dit bestand al vertaald te zijn.
Sla uw bestand op met tekenset UTF-8 (in Kate gebruik en verander het spinveld rechts boven in utf-8).
Lever uw map in bij KDE's cvs (vergeet niet uw bestandsnaam toe te voegen aan het bestand Makefile.am
), of stuur het aan Anne-Marie.
Bij twijfel, neem contact op met Anne-Marie Mahfouf, (annemarie.mahfouf AT free.fr)
voor meer informatie.
Tot slot kunt u uw eigen voorbeelden toevoegen aan deze map.
KTurtle
Programma copyright 2003-2005 Cies Breijs (cies AT kde DOT nl)
Met bijdragen van:
Hulp bij het programmeren van het bewerker-deel: Anne-Marie Mahfouf (annma AT kde.org)
Auteur van WSBASIC (http://wsbasic.sourceforge.net) die de basis vormt voor de interpreter van KTurtle: Walter Schreppers (Walter DOT Schreppers AT ua DOT ac DOT be)
Duitse gegevensbestanden: Matthias Meßmer (bmlmessmer AT web DOT de)
Duitse gegevensbestanden: Burkhard Lück (lueck AT hube-lueck DOT de)
Zweedse gegevensbestanden: Stefan Asserhäll (stefan DOT asserhal AT telia DOT com)
Sloveense gegevensbestanden: Jure Repinc (jlp AT holodeck1 DOT com)
Servische (Cyrillisch en Latijn) gegevensbestanden: Chusslove Illich (caslav DOT ilic AT gmx DOT net)
Italiaanse gegevensbestanden: Pino Toscano (toscano DOT pino AT tiscali DOT it)
Engelse GB gegevensbestanden: Andy Potter (A DOT J DOT Potter AT rhul DOT ac DOT uk)
Spaanse gegevensbestanden: Rafael Beccar (rafael DOT beccar AT kdemail DOT net)
Bestanden in het Braziliaans Portugees: Riverson Rios (riverson AT ccv.ufc.br)
Noorse Nynorsk en Bokmål gegevensbestanden: Karl Ove Hufthammer (karl AT huftis.org)
Inleesprogramma met ondersteuning voor Cyrillisch: Albert Astals Cid (astals11 AT terra DOT es)
Documentatie copyright 2004
Cies Breijs (cies AT kde DOT nl)
Anne-Marie Mahfouf (annma AT kde DOT org)
Proefgelezen en verbeterd door Philip Rodrigues(phil AT kde.org)
Bijgewerkte vertalingshandleiding en enkele verbeteringen door Andrew Coles (andrew_coles AT yahoo DOT co DOT uk)
Op- of aanmerkingen over de vertalingen van de toepassing en haar documentatie kunt u melden op http://www.kde.nl/bugs.
Dit document is vertaald in het Nederlands door Rinse de Vries.
Deze documentatie valt onder de bepalingen van de GNU vrije-documentatie-licentie.
Deze toepassing valt onder de bepalingen van de GNU General Public License.
Inhoudsopgave
KTurtle is een onderdeel van het KDE-project http://www.kde.org/.
KTurtle is een onderdeel van de module kdeedu. Deze module kunt u vinden op de FTP-site van het KDE-project: ftp://ftp.kde.org/pub/kde/.
Er zijn een aantal stappen nodig om KTurtle op uw systeem te compileren en te installeren. Voer de volgende commando's uit in de hoofdmap van de broncode van KTurtle:
%
./configure
%
make
%
make install
Aangezien KTurtle autoconf en automake gebruikt, zouden er bij de compilatie geen problemen mogen voorkomen. Indien u toch problemen tegenkomt, meldt u ze dan in de betreffende KDE-mailinglists.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team