Handbok KTurtle

# Handbok KTurtle

Cies Breijs `<cies SNABELA kde PUNKT nl>`

Anne-Marie Mahfouf `<annma SNABELA kde PUNKT org>`

Mauricio Piacentini `<piacentini SNABELA kde PUNKT org>`

Översättare: Stefan Asserhäll
Revision Program 20.12 (2021-01-20)

Copyright © 2004, 2009 Cies Breijs

Copyright © 2004, 2007 Anne-Marie Mahfouf

Copyright © 2007 Mauricio Piacentini

Rättsligt Meddelande

KTurtle är en programmeringsmiljö för undervisning som har målet att göra det så lätt som möjligt att lära sig programmera. För att åstadkomma det, gör KTurtle alla programmeringsverktyg tillgängliga i användargränssnittet. Programspråket som används är KTurtles eget,som tillåter att kommandon översätts.

Tabellförteckning

4.1. Frågetyper
5.1. Olika kodtyper och deras färgläggning
5.2. Ofta använda RGB-kombinationer

Kapitel 1. Inledning
Inledning

# Kapitel 1. Inledning

KTurtle är en programmeringsmiljö för undervisning som använder ett programspråk fritt baserat på och inspirerat av Logo. Målet med KTurtle är att göra programmering så enkel och lättillgänglig som möjligt. Det gör KTurtle lämpligt för att lära barn grunderna i matematik, geometri och ... programmering. En av de viktigaste egenskaperna hos programspråket är möjligheten att översätta kommandon till programmerarens eget modersmål.

KTurtle är uppkallat efter ”sköldpaddan” (turtle på engelska) som har en central roll i programmeringsmiljön. Användaren programmerar sköldpaddan att rita en bild på duken med programspråkets kommandon.

## Vad är KTurtles programspråk?

Programspråket som används i KTurtle är inspirerat av programspråksfamiljen Logo. Den första versionen av Logo skapades av Seymour Papert från MIT:s laboratorium för artificiell intelligens under 1967 utgående från programspråket LISP. Därefter har många versioner av Logo givits ut. På 1980-talet hade Logo fått fart, med versioner för MSX, Commodore, Atari och IBM PC-system. Dessa versioner var i huvudsak avsedda för utbildning. MIT underhåller fortfarande en webbsida för Logo, som innehåller en lista med flera populära implementeringar av språket.

KTurtles programspråk delar en funktion som finns i många andra implementeringar av Logo: möjligheten att översätta kommandon för att passa elevens modersmål. Funktionen gör det enklare för elever som har ingen eller liten förståelse för engelska att komma igång. Förutom denna funktion har KTurtle många andra funktioner med målet att förenkla elevens inledande upplevelse av programmering.

Funktioner i KTurtle
Funktioner i KTurtle

## Funktioner i KTurtle

KTurtle har en hel del bra funktioner som gör att det går snabbt och enkelt att börja programmera. Här är några av höjdpunkterna i KTurtles uppsättning med funktioner:

- En integrerad miljö med tolk för KTurtles programspråk, editor, duk och andra verktyg, allt i ett program.

- Möjligheten att översätta kommandon på KTurtles programspråk, med användning av KDE:s översättningsramverk.

- KTurtles programspråk stöder användardefinierade funktioner, rekursion och dynamiskt byte av typ.

- Körningen kan fås att gå långsammare, göra paus eller stoppa när som helst.

- En kraftfull editor med intuitiv syntaxfärgläggning, radnumrering, felmarkering, visuell körning med mera.

- Duken, där sköldpaddan ritar, kan skrivas ut, eller antingen sparas som en bild (PNG) eller en teckning (SVG).

- Sammanhangsberoende hjälp: Hjälp där du behöver. Tryck bara på F2 (eller använd Hjälp → Hjälp om: ...) för att få hjälp om kodavsnittet där markören för närvarande befinner sig.

- En feldialogruta som länkar felmeddelanden till misstagen i programmet och markerar dem med rött.

- Förenklad programmeringsterminologi.

- Integrerade exempelprogram för att göra det enkelt att komma igång. Exemplen är översatta med användning av KDE:s översättningsramverk.

Kapitel 2. Använda KTurtle
Använda KTurtle

# Kapitel 2. Använda KTurtle

KTurtles huvudfönster har tre huvuddelar, editorn (3) till vänster där man skriver in kommandon på KTurtles språk, inspektören (4) som ger information om variabler när programmet kör, och duken (5) till höger där instruktionerna åskådliggörs. Duken är sköldpaddans lekplats, det är på duken som sköldpaddan verkligen rör sig och ritar. De fyra andra platserna i huvudfönstret är: menyraden (1) där alla åtgärder kan nås, verktygsraden (2) som snabbt låter dig välja de oftast använda åtgärderna, inmatningsrutan Terminal, som du kan använda för att mata in ett enraders kommando för att prova det, och statusraden (6) där du hittar information om KTurtles status.

## Editorn

Du skriver in kommandon i KTurtles språk i editorn. Den har alla funktioner du kan förvänta dig i en modern editor. De flesta funktionerna finns i menyn Redigera. Kodeditorn kan dockas vid varje kant i huvudfönstret, eller kopplas loss och placeras var som helst på skrivbordet.

Det finns flera sätt att lägga till kod i editorn. Det enklaste sättet är att använda ett färdigt exempel: Använd undermenyn Arkiv → Exempel och välj ett exempel. Exemplet som du väljer öppnas i editorn, och därefter kan du använda menyalternativet Kör → Kör (genväg: Alt+F2) eller Kör i verktygsraden för att köra koden om du vill.

Du kan öppna filer på KTurtles språk genom att välja menyalternativet Arkiv → Öppna....

Det tredje sättet är att direkt skriva in din egen kod i editorn eller kopiera och klistra in någon kod.

Duken
Duken

## Duken

Duken är stället där sköldpaddan hör hemma, och där sköldpaddan ritar enligt kommandona den för. Efter att ha lagt till kod i editorn och kört den med Arkiv → Kör, kan två saker ske: koden kör som den ska och du ser troligen någonting som ändras på duken, eller om du har gjort ett fel i koden, visas ett meddelande som talar om vilket fel du gjort.

Du kan zooma duken in och ut med mushjulet.

Inspektören
Inspektören

## Inspektören

Inspektören informerar dig om variabler, inlärda funktioner och kodträdet medan programmet kör.

Inspektören kan dockas vid varje kant i huvudfönstret, eller kopplas loss och placeras var som helst på skrivbordet.

Verktygsraden
Verktygsraden

## Verktygsraden

Här kan du snabbt nå de mest använda åtgärderna. Verktygsraden innehåller också inmatningsrutan Terminal där du snabbt kan utföra kommandon, vilket kan vara användbart om du vill prova ett kommando utan att ändra innehåll i editorn.

Du kan ställa in verktygsraden med Inställningar → Anpassa verktygsrader... så att den stämmer bättre med dina önskemål.

Menyraden
Menyraden

## Menyraden

Alla åtgärder i KTurtle finns i menyraden. De är grupperade på följande sätt: Arkiv, Redigera, Duk, Kör, Verktyg, Inställningar och Hjälp. I detta avsnitt beskrivs samtliga menyer.

### Menyn Arkiv

Arkiv → Ny (Ctrl+N)

  Skapar en ny, tom fil på KTurtles språk.

Arkiv → Öppna... (Ctrl+O)

  Öppnar en fil på KTurtles språk.

Arkiv → Öppna senaste

  Öppnar en fil på KTurtles språk som nyligen har öppnats.

Arkiv → Exempel

  Visar exempelprogram på KTurtles språk. Exemplen är på ditt favoritspråk, som du kan välja med undermenyn Inställningar → Skriptspråk.

Arkiv → Hämta fler exempel...

  Visa dialogrutan Heta nyheter för ladda ner ytterligare filer på KTurtles språk från Internet.

Arkiv → Spara (Ctrl+S)

  Sparar filen på KTurtles språk som för närvarande är öppen.

Arkiv → Spara som... (Ctrl+Skift+S)

  Sparar filen på KTurtles språk som för närvarande är öppen på en angiven plats.

Arkiv → Exportera till HTML...

  Exporterar editorns nuvarande innehåll som en HTML-fil, med färgläggning.

Arkiv → Skriv ut... (Ctrl+P)

  Skriver ut aktuell kod i kodeditorn.

Arkiv → Avsluta (Ctrl+Q)

  Avslutar KTurtle.

### Menyn Redigera

Redigera → Ångra (Ctrl+Z)

  Ångrar senaste ändringen i koden. KTurtle kan ångra hur mycket som helst.

Redigera → Gör om (Ctrl+Skift+Z)

  Gör om en ändring i koden som ångrats.

Redigera → Klipp ut (Ctrl+X)

  Klipper ut markerad text från editorn till klippbordet.

Redigera → Kopiera (Ctrl+C)

  Kopierar markerad text från editorn till klippbordet.

Redigera → Klistra in (Ctrl+V)

  Klistrar in texten från klippbordet i editorn.

Redigera → Markera alla (Ctrl+A)

  Markerar all text i editorn.

Redigera → Sök... (Ctrl+F)

  Du kan hitta meningar i koden med det här alternativet.

Redigera → Sök igen (F3)

  Använd det här för att hitta nästa förekomst av meningen du söker efter.

Redigera → Sök föregående (Skift+F3)

  Använd det här för att hitta föregående förekomst av meningen du söker efter.

Redigera → Överskrivningsläge (Insert)

  Välj mellan lägena 'infoga' och 'ersätt'.

### Menyn Duk

Duk → Exportera till bild (PNG)...

  Exporterar dukens nuvarande innehåll, som en rastrerad bild av typen PNG (portabel näverksgrafik).

Duk → Exportera till teckning (SVG)...

  Exporterar dukens nuvarande innehåll, som vektorgrafik av typen SVG (skalbar vektorgrafik).

Duk → Skriv ut duk...

  Skriver ut dukens nuvarande innehåll.

### Menyn Kör

Kör → Kör (F5)

  Starta körningen av kommandon i editorn.

Kör → Paus (F6)

  Gör paus i körningen. Den här åtgärden är bara aktiverad när kommandon verkligen kör.

Kör → Avbryt (F7)

  Stoppa körningen. Den här åtgärden är bara aktiverad när kommandon verkligen kör.

Kör → Körhastighet

  Visar en lista med möjliga körhastigheter, som består av Full hastighet (ingen färgläggning och inspektör), Full hastighet, Långsamt, Långsammare, Långsammast och Steg-för-steg. När körhastigheten är inställd till Full hastighet (normalvärdet) kan man knappt hänga med i vad som händer. Ibland är det önskat beteende, men ibland vill man följa körningen. I det senare fallet kan man ställa in körhastigheten till Långsam, Långsammare eller Långsammast. När ett av de långsamma lägena är valda, visas körningens nuvarande position i editorn. Steg-för-steg kör ett kommando åt gången.

### Menyn Verktyg

Verktyg → Riktningsväljare...

  Den här åtgärden visar dialogrutan Riktningsväljare.

Verktyg → Färgväljare...

  Den här åtgärden visar dialogrutan Färgväljare.

### Menyn Inställningar

Inställningar → Skriptspråk

  Välj kodens språk.

Inställningar → Visa editor (Ctrl+E)

  Visa eller dölj editorn.

Inställningar → Visa inspektör (Ctrl+I)

  Visa eller dölj inspektören.

Inställningar → Visa fel

  Visa eller dölj fliken Fel med en lista av fel som orsakats av att köra koden. Om alternativet är aktiverat, klicka på duken för att se sköldpaddan igen.

Inställningar → Visa radnummer (F11)

  Du kan visa radnummer i editorn med det här alternativet. Det kan vara praktiskt för att hitta ett fel.

Inställningar → Visa verktygsrad

  Visa eller dölj huvudverktygsraden.

Inställningar → Visa statusrad

  Visa eller dölj statusraden.

Inställningar → Anpassa genvägar...

  KDE:s vanliga dialogruta för att anpassa genvägar.

Inställningar → Anpassa verktygsrader...

  KDE:s vanliga dialogruta för att anpassa verktygsrader.

### Menyn Hjälp

KTurtle har KDE:s vanliga meny Hjälp som beskrivs i KDE:s grunder, med ytterligare ett alternativ:

Hjälp → Hjälp om: ... (F2)

  Det här är en mycket användbar funktion: den tillhandahåller hjälp om koden där markören i editorn finns. Om du t.ex. har använd kommandot `skriv` i koden, och vill läsa och ta reda på vad handboken skriver om kommandot, flyttar du bara markören så att den står på kommandot `skriv` och trycker på F2. Handboken visar då all information om kommandot `skriv`.

  Funktionen kan visa sig vara användbar vid inlärning av KTurtles språk.

Statusraden
Statusraden

## Statusraden

Du får information om KTurtles tillstånd på statusraden. Till vänster visas information om den senaste åtgärden. Till höger hittar du markörens nuvarande plats (rad- och kolumnnummer). I mitten på statusraden anges nuvarande språk som används för kommandon.

Kapitel 3. Komma igång
Komma igång

# Kapitel 3. Komma igång

När du startar KTurtle ser du något som liknar detta:

I den här guiden för att komma igång, antar vi att kommandona i KTurtles språk är på svenska. Du kan ändra språket med undermenyn Inställningar → Skriptspråk. Var medveten om att språket du ställer in i KTurtle är det som du använder när du skriver in kommandon på KTurtles språk, inte språket som KDE använder på datorn och som används för att visa gränssnittet och menyerna i KTurtle.

## De första stegen med KTurtles språk: Möt sköldpaddan!

Du måste ha lagt märke till sköldpaddan mitt på duken. Du ska precis få lära dig hur man styr den med kommandon i editorn.

### Sköldpaddan rör sig

Låt oss börja med att få sköldpaddan att röra sig. Vår sköldpadda kan utföra tre sorters rörelser: (1) den kan gå framåt och bakåt, (2) den kan vända sig åt vänster och höger och (3) den kan gå (hoppa) direkt till en plats på skärmen. Försök till exempel med detta:

    framåt 100
    svängvänster 90

Skriv in eller kopiera och klistra in koden i editorn och kör den (med Kör → Kör) för att se resultatet.

När du skrev in och körde kommandona ovan i editorn, kanske du märkte ett eller flera av följande saker:

1. Att sköldpaddan, efter kommandona utförts, går uppåt, ritar en linje och därefter svänger ett kvarts varv åt vänster. Det beror på att du har använd kommandona `framåt` och `svängvänster`.

2. Att färgen på koden ändrades medan du skrev in den. Den här funktionen kallas intuitiv färgläggning. Olika typer av kommandon färgläggs på olika sätt. Det gör det enklare att läsa stora kodblock.

3. Att sköldpaddan ritar en tunn svart linje.

4. Kanske fick du ett felmeddelande. Det kan helt enkelt betyda två saker: du kan ha gjort ett misstag när du kopierade kommandona, eller så måste du fortfarande ställa in rätt språk för kommandon (det kan du göra med undermenyn Inställningar → Skriptspråk).

Du förstår troligen att `framåt 100` talade om för sköldpaddan att gå framåt och rita en linje, medan `svängvänster 90` talade om för sköldpaddan att den skulle svänga 90 grader åt vänster.

Se följande länkar till referensmanualen för en fullständig förklaring av kommandona som nämnts: `framåt`, `bakåt`, `svängvänster` och `svänghöger`.

### Fler exempel

Det första exemplet var mycket enkelt, så låt oss gå vidare!

    återställ

    dukstorlek 200,200
    dukfärg 0,0,0
    pennfärg 255,0,0
    pennbredd 5

    gå 20,20
    riktning 135

    framåt 200
    svängvänster 135
    framåt 100
    svängvänster 135
    framåt 141
    svängvänster 135
    framåt 100
    svängvänster 45

    gå 40, 100

Återigen kan du skriva in eller kopiera och klistra in koden i editorn eller öppna filen `pil` i undermenyn Exempel och köra den (med Kör → Kör) för att se resultatet. I följande exempel förväntas du känna till detta.

Du bör märka att det andra exemplet använder mycket mer kod. Du har också sett ett antal nya kommandon. Här är en kort förklaring av de nya kommandona:

Efter kommandot `återställ` är allting som det var när du just hade startat KTurtle.

`dukstorlek 200,200` anger dukens bredd och höjd till 200 bildpunkter. Bredden och höjden har samma storlek, vilket betyder att duken nu bör vara en fyrkant.

`dukfärg 0,0,0` gör duken svart. `0,0,0` är en RGB-kombination där alla värden är satta till `0`, vilket ger ett svart resultat.

`pennfärg 255,0,0` anger att pennans färg ska vara röd. `255,0,0` är en RGB-kombination där bara det 'röda' värdet är satt till `255` (starkaste färg) medan de övriga (grönt och blått) är satta till `0` (ingen färg). Det ger en stark röd färgton.

Om du inte förstår färgvärdena, försäkra dig om att du har läst ordförklaringen av RGB-kombination.

`pennbredd 5` anger att bredden (storleken) på pennan ska vara `5` bildpunkter. Efter detta har varje rad som sköldpaddan ritar tjockleken `5`, ända till vi anger en annan `pennbredd`.

`gå 20,20` talar om för sköldpaddan att den ska gå till en viss plats på duken. Räknat från övre vänstra hörnet, är platsen 20 bildpunkter från vänster och 20 bildpunkter ner från dukens överkant. Observera att sköldpaddan inte ritar någon linje med kommandot `gå`.

`riktning 135` anger sköldpaddans riktning. Kommandona `svängvänster` och `svänghöger` ändrar sköldpaddans vinkel från dess nuvarande riktning. Kommandot `riktning` ändrar sköldpaddans vinkel från noll, och är alltså inte relativ i förhållande till sköldpaddans tidigare riktning.

Efter riktningskommandot följer många `framåt` och `svängvänster`. Dessa kommandon utför själva ritandet.

Till sist används ytterligare ett `gå` för att flytta undan sköldpaddan.

Försäkra dig om att du följer länkarna till referensen. Referensen förklarar varje kommando i mer detalj.

Kapitel 4. Programmeringsreferens för KTurtles språk
Programmeringsreferens för KTurtles språk

# Kapitel 4. Programmeringsreferens för KTurtles språk

Det här är referensen för KTurtles språk. I kapitlets första avsnitt, kan du ta en titt på vissa aspekter hos grammatiken i KTurtles språk. Det andra avsnittet handlar enbart om matematiska operatorer, Booleska operatorer (sann eller falsk) och jämförelseoperatorer. Det tredje avsnittet är egentlingen en enorm lista med alla kommandon som förklaras ett i taget. Avsnitt fyra förklarar hur värden tilldelas till variabler. Till sist förklarar vi hur körning av kommandon arrangeras med kommandon för styrning av körningen i avsnitt fem, och hur egna kommandon kan skapas med `lär` i avsnitt sex.

## Grammatiken för KTurtles språk

Som med alla språk, har KTurtles språk olika typer av ord och symboler. På svenska skiljer vi på verb (som 'att gå' eller 'att sjunga') och substantiv (som 'syster' eller 'hus'), eftersom de används för olika syften. KTurtles språk är ett programspråk, och används för att tala om för KTurtle vad som ska göras.

I det här avsnittet förklaras vissa av de olika typerna av ord och symboler KTurtles språk kortfattat. Vi förklarar kommentarer, kommandon och de tre olika typerna av litteraler: tal, strängar och Booleska värden (sann eller falsk).

### Kommentarer

Ett program består av instruktioner som utförs när programmet körs, och så kallade kommentarer. Kommentarer utförs inte. KTurtle ignorerar helt enkelt dem när programmet körs. Kommentarer finns till för andra programmerare, för att få dem att förstå programmet bättre. Allt som följer symbolen `#` anses vara en kommentar i KTurtles språk. Exempelvis gör det här lilla programmet ingenting:

    # det här lilla programmet gör ingenting, det är bara en kommentar!

Det är inte särskilt användbart, men förklarar saken bra.

Kommentarer är mycket användbara när programmen blir lite mer komplicerade. De kan hjälpa till med att ge råd till andra programmerare. I följande program ser du kommentarer som används tillsammans med kommandot skriv.

    # Programmet är skapat av Cies Breijs.
    skriv "Den här texten skrivs ut på duken"
    # Den föregående raden är inte en kommentar, men nästa rad är det:
    # skriv "Den här texten kommer inte att skrivas ut."

Den första raden beskriver programmet. Den andra raden utförs av KTurtle och skriver ut `Den här texten skrivs ut på duken` på duken. Den tredje raden är en kommentar, och den fjärde raden är en kommentar som innehåller kod på KTurtles språk. Om symbolen `#` skulle tas bort från den fjärde raden, skulle utskriften utföras av KTurtle. Programmerare säger: utskriften på fjärde raden är 'bortkommenterad'.

Kommentarrader är färglagda med ljusgrått i editorn.

### Kommandon

Genom att använda kommentarer kan du tala om för sköldpaddan eller KTurtle att göra någonting. Vissa kommandon behöver indata, vissa ger utdata.

    # framåt är ett kommando som behöver indata, i detta fall talet 100:
    framåt 100

Den första raden är en kommentar. Den andra raden innehåller kommandot `framåt` och talet `100`. Talet är inte en del av kommandot, utan anses vara 'indata' till kommandot.

Vissa kommandon, som t.ex. `gå` behöver mer än ett indatavärde. Flera värden måste skiljas åt med ett kommatecken: `,`.

För en detaljerad översikt av alla kommandon som KTurtle stöder, titta här. Inbyggda kommandon är färglagda med mörkblått.

### Tal

Troligen kan du redan en hel del om tal. Sättet som tal används i KTurtle är inte särskilt annorlunda än ett talat språk eller matematik.

Vi har de så kallade naturliga talen: `0`, `1`, `2`, `3`, `4`, `5`, etc. De negativa talen: `-1`, `-2`, `-3`, etc. Och talen med decimaler eller decimaltalen, till exempel: `0.1`, `3.14`, `33.3333`, `-5.05`, `-1.0`. Tecknet `.` (punkt) används som decimaltecken.

Tal kan användas i matematiska beräkningar och jämförelser. De kan också placeras i variabler. Tal färgläggs i mörkrött.

### Strängar

Först ett exempel:

    skriv "Hej, jag är en sträng."

I det här exemplet är `skriv` ett kommando, medan `"Hej, jag är en sträng."` är en sträng. Strängar börjar och slutar med tecknet `"`. Det är dessa tecken som gör att KTurtle vet att det är en sträng.

Strängar kan tilldelas till variabler precis som tal. Ändå, i motsats till tal, kan inte strängar användas med matematiska operatorer eller jämförelseoperatorer. Strängar färgläggs med rött.

### Booleska värden (sann eller falsk)

Det finns bara två Booleska värden: `sann` och `falsk`. Ibland kallas de också ”`på`” och ”`av`”, ”`ja`” och ”`nej`”, ”`ett`” och ”`noll`”. Men i KTurtles språk kallar vi dem alltid `sann` och `falsk`. Ta en titt på följande kod i KTurtles språk:

    a = sann

Om du tittar i inspektören kan du se att variabeln `$a` har värdet `sann`, och typen Boolean.

Ofta är Booleska värden resultat av en jämförelseoperator, som i följande kod på KTurtles språk:

    $svar = 10 > 3

Variabeln `$svar` tilldelas `sann` eftersom `10` är större än `3`.

Booleska värden, `sann` och `falsk`, färgläggs med mörkrött.

Matematiska, Booleska och jämförelseoperatorer
Matematiska, Booleska och jämförelseoperatorer

## Matematiska, Booleska och jämförelseoperatorer

Det här avsnittets titel kan låta mycket svår, men det är inte så svårt som det låter.

### Matematiska operatorer

Det här är de grundläggande matematiska symbolerna: addera (`+`), subtrahera (`-`), multiplicera (`*`), dividera (`/`) och upphöjt till (`^`).

Här är ett litet exempel på de matematiska operatorerna du kan använda med KTurtles språk:

    $addera       = 1 + 1
    $subtrahera   = 20 - 5
    $multiplicera = 15 * 2
    $dividera     = 30 / 30
    $upphöja      = 2 ^ 2

Värden som är resultatet av matematiska operationer tilldelas till diverse variabler. Genom att använda inspektören kan du se värdena.

Om du bara vill göra en enkel beräkning kan du skriva något som liknar detta:

    skriv 2010-12

Nu ett exempel med parenteser:

    skriv ( ( 20 - 5 ) * 2 / 30 ) + 1

Uttrycken inne i parenteserna räknas ut först. I det här exemplet beräknas 20-5, och därefter multipliceras det med 2, divideras med 30 och därefter läggs 1 till (vilket ger 2). Parenteser kan också användas i andra fall.

KTurtle har också mer avancerade matematiska funktioner i form av kommandon. Ta en titt på följande kommandon, men var medveten om att det gäller avancerade operationer: avrunda, slump, kvadratrot, pi, sin, cos, tan, arcsin, arccos, arctan.

### Booleska operatorer (sann eller falsk)

Medan matematiska operatorer i huvudsak är till för tal, är Booleska operatorer till för Booleska värden (`sann` och `falsk`). Det finns bara tre booleska operatorer, nämligen: `och`, `eller` och `inte`. Följande kod på KTurtles språk visar hur de används:

    $och_1_1 = sann  och sann   # -> sann
    $och_1_0 = sann  och falsk  # -> falsk
    $och_0_1 = falsk och sann   # -> falsk
    $och_0_0 = falsk och falsk  # -> falsk

    $eller_1_1 = sann  eller sann    # -> sann
    $eller_1_0 = sann  eller falsk   # -> sann
    $eller_0_1 = falsk eller sann    # -> sann
    $eller_0_0 = falsk eller falsk   # -> falsk

    $inte_1 = inte sann   # -> falsk
    $inte_0 = inte falsk  # -> sann

Genom att använda inspektören kan du se värdena, men vi tillhandahåller också resultaten som små kommentarer i slutet av raderna. `och` utvärderas bara som `sann` om båda sidorna är `sann`. `eller` utvärderas som `sann` om någon av sidorna är `sann`. Och `inte` omvandlar `sann` till `falsk`, och `falsk` till `sann`.

Booleska operatorer färgläggs med rosa.

#### Några mer avancerade exempel

Betrakta följande exempel med `och`:

    $a = 1
    $b = 5
    om (($a < 10) och ($b == 5)) och ($a < $b) {
      skriv "hej"
    }

I denna kod på KTurtles språk, sammanfogas resultatet av tre jämförelseoperatorer med operatorn `och`. Det betyder att alla tre måste utvärderas till ”sann”, för att ”hej” ska skrivas ut.

Ett exempel med `eller`:

    $n = 1
    om ($n < 10) eller ($n == 2) {
      skriv "hej"
    }

I denna kod på KTurtles språk, utvärderas vänster sida av `eller` till ”sann”, och höger sida till ”falsk”. Eftersom en av de två sidorna av operatorn `eller` är sann, utvärderas operatorn `eller` till ”sann”. Det betyder att ”hej” skrivs ut.

Och till sist ett exempel med `inte` som ändrar ”sann” till ”falsk” och ”falsk” till ”sann”. Ta en titt:

    $n = 1
    om inte ($n == 3) {
      skriv "hej"
    } annars {
      skriv "inte hej ;-)"
    }

### Jämförelseoperatorer

Betrakta följande enkla jämförelse:

    $svar = 10 > 3

Här jämförs `10` med `3` med operatorn ”större än”. Resultatet av jämförelsen, det Booleska värdet `sann` lagras i variabeln `$svar`.

Alla tal och variabler (som innehåller tal) kan jämföras med varandra med jämförelseoperatorer.

Här är alla tillgängliga jämförelseopratorer:

Tabell 4.1. Frågetyper

`$A == $B` | lika med | svaret är ”sann” om `$A` är lika med `$B`
`$A != $B` | inte lika med | svaret är ”sann” om `$A` inte är lika med `$B`
`$A > $B` | större än | svaret är ”sann” om `$A` är större än `B`
`$A < $B` | mindre än | svaret är ”sann” om `$A` är mindre än ' `$B`
`A >= B` | större än eller lika med | svaret är ”sann” om `$A` är större än eller lika med `$B`
`$A <= $B` | mindre än eller lika med | svaret är ”sann” om `$A` är mindre än eller lika med `$B`

Observera att `$A` och `$B` måste vara tal och variabler som innehåller tal.

Kommandon
Kommandon

## Kommandon

Du talar om för sköldpaddan eller KTurtle att göra något med kommandon. Vissa kommandon behöver indata, andra ger utdata. I det här avsnittet förklarar vi alla inbyggda kommandon i KTurtle. Som alternativ, kan du skapa dina egna kommandon genom att använda `lär`. Inbyggda kommandon som vi beskriver här är färglagda med mörkblått.

### Flytta sköldpaddan

Det finns flera kommandon för att flytta sköldpaddan över skärmen.

framåt (fr)

      framåt X

  `framåt` flyttar sköldpaddan framåt X bildpunkter. När pennan är sänkt lämnar sköldpaddan ett spår. `framåt` kan förkortas `fr`.

bakåt (ba)

      bakåt X

  `bakåt` flyttar sköldpaddan bakåt X bildpunkter. När pennan är sänkt lämnar sköldpaddan ett spår. `bakåt` kan förkortas `ba`.

svängvänster (sv)

      svängvänster X

  `svängvänster` talar om för sköldpaddan att svänga X grader åt vänster. `svängvänster` kan förkortas till `sv`.

svänghöger (sh)

      svänghöger X

  `svänghöger` talar om för sköldpaddan att svänga X grader åt höger. `svänghöger` kan förkortas till `sh`.

riktning (ri)

      riktning X

  `riktning` ställer in sköldpaddans riktning till X grader från noll, och är på så sätt inte relativ till sköldpaddans tidigare riktning. `riktning` kan förkortas till `ri`.

hämtariktning

      hämtariktning

  `hämtariktning` returnerar sköldpaddans riktning som ett gradantal räknat från noll, där noll är riktningen då sköldpaddan pekar uppåt.

mitten

      mitten

  `mitten` flyttar sköldpaddan till dukens mitt.

gå

      gå X,Y

  `gå` talar om för sköldpaddan att gå till en viss plats på duken. Den platsen är X bildpunkter från dukens vänsterkant och Y bildpunkter från dukens överkant.

gåx

      gåx X

  `gåx` gör att sköldpaddan flyttas till X bildpunkter från dukens vänsterkant, medan den bibehåller samma höjd. `gåx` kan förkortas till `gx`.

gåy

      gåy Y

  `gåy` gör att sköldpaddan flyttas till Y bildpunkter från dukens överkant, medan den behåller samma avstånd från dukens vänsterkant. `gåy` kan förkortas till `gy`.

### Notera

När kommandona `gå`, `gåx`, `gåy` och `mitten` används ritar sköldpaddan inte någon linje oberoende av om pennan är uppe eller nere.

### Var är sköldpaddan?

Det finns två kommandon som returnerar sköldpaddans position på skärmen.

hämtax

  `hämtax` returnerar antal bildpunkter från dukens vänsterkant till sköldpaddans nuvarande position.

hämtay

  `hämtay` returnerar antal bildpunkter från dukens överkant till sköldpaddans nuvarande position.

### Sköldpaddan har en penna

Sköldpaddan har en penna som ritar en linje medan sköldpaddan rör sig. Det finns några få kommandon att styra pennan. I det här avsnittet förklarar vi dessa kommandon.

höjpenna (hp)

      höjpenna

  `höjpenna` lyfter pennan från duken. När pennan är ”höjd”, ritas ingen linje när sköldpaddan rör sig. Se också `sänkpenna`. `höjpenna` kan förkortas till `hp`.

sänkpenna (sp)

      sänkpenna

  `sänkpenna` sänker ner pennan på duken. När pennan är ”sänkt”, ritas en linje när sköldpaddan rör sig. Se också `höjpenna`. `sänkpenna` kan förkortas till `sp`.

pennbredd (pb)

      pennbredd X

  `pennbredd` ställer in pennans bredd (linjebredden) till X bildpunkter. `pennbredd` kan förkortas till `pb`.

pennfärg (pf)

      pennfärg R,G,B

  `pennfärg` ställer in pennans färg. `pennfärg` behöver en RGB-kombination som indata. `pennfärg` kan förkortas till `pf`.

### Kommandon för att kontrollera duken

Det finns flera kommandon för att kontrollera duken.

dukstorlek (ds)

      dukstorlek X,Y

  Med kommandot `dukstorlek` kan du ställa in dukens storlek. Den har X och Y som indata, där X är den nya dukbredden i bildpunkter, och Y är den nya höjden av duken i bildpunkter. `dukstorlek` kan förkortas till `ds`.

dukfärg (df)

      dukfärg R,G,B

  `dukfärg` ställer in dukens färg. `dukfärg` behöver en RGB-kombination som indata. `dukfärg` kan förkortas till `df`.

### Kommandon för att städa

Det finns två kommandon för att städa duken efter du har ställt till den.

rensa (ren)

      rensa

  Med `rensa` suddar du allt som ritats på duken. Allt annat blir kvar: sköldpaddans position och vinkel, dukfärgen, sköldpaddans synlighet och dukstorleken.

återställ

      återställ

  `återställ` städar mycket noggrannare än kommandot `rensa`. Efter kommandot `återställ` är allt som det var precis när du startat KTurtle. Sköldpaddan är placerad i mitten av skärmen, dukfärgen är vit, sköldpaddan ritar en svart linje på duken och dukstorleken är inställd till 400 x 400 bildpunkter.

### Sköldpaddan är en sprite

Först en kort förklaring av vad en sprite är: En sprite är en liten bild som kan flyttas omkring på skärmen, som vi ofta ser i datorspel. Vår sköldpadda är alltså en sprite. För ytterligare information se ordförklaringen av sprite.

Härnäst hittar du en fullständig översikt av alla kommandon som arbetar med en sprite.

### Notera

Nuvarande version av KTurtle stöder ännu inte användning av någon annan sprite än sköldpaddan. I framtida versioner kommer du att kunna ändra sköldpaddan till något som du själv skapat.

visa (vi)

      visa

  `visa` gör sköldpaddan synlig igen efter den har gömts. `visa` kan förkortas till `vi`.

göm

      göm

  `göm` gömmer sköldpaddan. Det kan användas om sköldpaddan inte passar in i bilden. `göm` kan förkortas `gö`.

### Kan sköldpaddan skriva?

Svaret är ”ja”. Sköldpaddan kan skriva. Den skriver nästan vad som helst som du talar om för den att skriva.

skriv

      skriv X

  Kommandot `skriv` används för att tala om för sköldpaddan att skriva någonting på duken. `skriv` behöver tal och strängar som indata. Du kan använda `skriv` för att skriva ut olika tal och strängar med symbolen '+'. Här är ett litet exempel:

      $år = 2003
      $upphovsman = "Cies"
      skriv $upphovsman + " startade projektet Kturtle " + $år + " och gillar ännu att jobba med det!"

teckenstorlek

      teckenstorlek X

  `teckenstorlek` anger storlek på teckensnittet som används av `skriv`. `teckenstorlek` behöver indata som ska vara ett tal. Storleken ställs in i bildpunkter.

### Matematiska kommandon

Följande kommandon är KTurtles mer avancerade matematiska kommandon.

avrunda

      avrunda(x)

  `avrunda` det givna talet till närmaste heltal.

      skriv avrunda(10,8)
      framåt 20
      skriv avrunda(10,3)

  Sköldpaddan skriver ut talen 11 och 10 med den här koden.

slump (slu)

      slump X,Y

  `slump` är ett kommando som kräver indata och ger utdata. Två tal krävs som indata, det första (X) anger minimal utdata och det andra (Y) anger maximal. Utdata är ett slumpmässigt valt tal som är större än eller lika med minimum och mindre än eller lika med maximum. Här är ett litet exempel:

      upprepa 500 {
        $x = slump 1,20
        framåt $x
        svängvänster 10 - $x
      }

  Med kommandot `slump` kan du lägga till en viss mängd kaos i programmet.

mod

      mod X,Y

  Kommandot `mod` returnerar resten vid division av det första talet med det andra.

kvadratrot

      kvadratrot X

  Kommandot `kvadratrot` används för att beräkna kvadratroten av ett tal, X.

pi

      pi

  Kommandot returnerar konstanten π (pi), `3.14159`.

sin, cos, tan

      sin X
      cos X
      tan X

  De här tre kommandona representerar de världsberömda trigonometriska funktionerna `sin`, `cos` och `tan`. Indata till kommandona, X, är ett tal.

arcsin, arccos, arctan

      arcsin X
      arccos X
      arctan X

  De här kommandona är de inversa funktionerna för `sin`, `cos` och `tan`. Indata till kommandona, X, är ett tal.

### Inmatning och återmatning via dialogrutor

En dialogruta är ett litet fönster som dyker upp och tillhandahåller återmatning eller frågar efter inmatning. KTurtle har två kommandon för dialogrutor, närmare bestämt `meddelande` och `fråga`.

meddelande

      meddelande X

  Kommandot `meddelande` har en sträng som indata. Det visar en dialogruta som innehåller texten från strängen.

      skriv "Cies startade Kturtle 2003 och gillar fortfarande att jobba med det!"

fråga

      fråga X

  Kommandot `fråga` har en sträng som indata. Det visar strängen i en dialogruta (på likande sätt som meddelande), tillsammans med ett inmatningsfält. Efter användaren har skrivit in ett tal eller en sträng, kan resultatet lagras i en variabel eller skickas som ett argument till ett kommando. Till exempel

      $in = fråga "Hur gammal är du?"
      $ut = 2003 - $in
      skriv "År 2003 var du " + $ut + " år gammal vid något tillfälle."

  Om användaren avbryter inmatningsdialogrutan, eller inte skriver in någonting alls, blir variabeln tom.

Tilldelning av variabler
Tilldelning av variabler

## Tilldelning av variabler

Först tar vi en titt på variabler, därefter tittar vi på tilldelning av värden till variablerna.

Variabler är ord som börjar med ”$”, i editorn färgläggs de med violett.

Variabler kan använda vilket tal, vilken sträng eller vilket Booleskt värde (sann eller falsk) som helst. Genom att använda en tilldelning, `=`, får en variabel sitt innehåll. Den behåller det innehållet till programmet har kört klart, eller till variabeln tilldelas någonting annat.

När variabler väl har tilldelats någonting, kan de användas precis som om de vore innehållet. Titta exempelvis på följande kod i KTurtles språk:

    $x = 10
    $x = $x / 3
    skriv $x

Först tilldelas variabeln `$x` värdet `10`. Därefter tilldelas `$x` värdet av sig själv dividerat med `3`. Det betyder alltså att `$x` tilldelas resultatet av `10 / 3`. Till sist skrivs `$x` ut. På den andra och tredje raden ser du att `$x` används som sitt innehåll.

Variabler måste tilldelas för att kunna användas. Ett exempel:

    skriv $n

Ger ett felmeddelande.

Betrakta följande kod på KTurtles språk:

    $a = 2004
    $b = 25

    # nästa kommando skriver "2029"
    skriv $a + $b
    bakåt 30
    # nästa kommando skriver "2004 plus 25 är lika med 2029"
    skriv $a + " plus " + $b + " är lika med " + ($a + $b)

På de första två raderna sätts variablerna `$a` och `$b` till 2004 och 25. Därefter följer två `skrivkommandon` med `bakåt 30` mellan. Kommentarerna innan `skrivkommandona` förklarar vad de gör. Som du ser kan variabler användas precis som det de innehåller, och man kan kan använda dem med alla sorters operatorer eller använda dem som indata när kommandon utförs.

Ett exempel till:

    $namn = fråga "Vad heter du?"
    skriv "Hej " + $namn + "! Lycka till med att lära dig programmeringens konst ..."

Ganska enkelt. Återigen kan du se att variabeln `$namn` behandlas precis som en sträng.

När variabler används är inspektören till stor hjälp. Den visar innehållet i alla variabler som för närvarande används.

Styra körning
Styra körning

## Styra körning

Styrning av körningen gör det möjligt för dig att styra körningen, precis som namnet anger.

Kommandon för att styra körningen färgläggs med mörkgrönt och fetstil. Hakparenteserna som oftast används tillsammans med kommandon för att styra körningen färgläggs med svart.

### Låta sköldpaddan vänta

Om du försökt programmera en del med KTurtle kanske du märker att sköldpaddan kan vara mycket snabb när den ritar. Det här kommandot gör att sköldpaddan väntar en angiven tid.

vänta

      vänta X

  `vänta` låter sköldpaddan vänta X sekunder.

      upprepa 36 {
        framåt 5
        svänghöger 10
        vänta 0.5
      }

  Den här koden ritar en cirkel, men sköldpaddan väntar en halv sekund mellan varje steg. Det ger intrycket av en sköldpadda som rör sig långsamt.

### Kör ”om”

om

      om Boolean { ... }

  Koden som placeras mellan krullparenteserna utförs bara `om` det Booleska värdet utvärderas till ”sann”.

      $x = 6
      om $x > 5 {
        skriv "$x är större än fem!"
      }

  På första raden tilldelas `$x` värdet 6. På den andra raden används en jämförelseoperator för att utvärdera `$x > 5`. Eftersom det utvärderas till ”sann”, 6 är större än 5, tillåter kommandot för styrning av körningen `om` att koden mellan krullparenteserna utförs.

### Om inte, med andra ord ”annars”

annars

      om Boolean { ... } annars { ... }

  `annars` kan användas som tillägg till kommandot för styrning av körningen `om`. Koden mellan krullparenteserna efter `annars` utförs bara om det Booleska värdet utvärderas till ”falsk”.

      $x = 4
      om $x > 5 {
        skriv "x är större än fem!"
      } annars {
        skriv "x är mindre än sex!"
      }

  Jämförelseoperatorn utvärderar uttrycket `$x > 5`. Eftersom 4 inte är större än 5, utvärderas uttrycket till ”falsk”. Det betyder att koden mellan krullparenteserna efter `annars` utförs.

### En ”medan” snurra

medan

      medan Boolean { ... }

  Kommandot för styrning av körningen `medan` liknar `om` en hel del. Skillnaden är att `medan` fortsätter upprepa (snurra i) koden mellan krullparenteserna, ända till det Booleska värdet utvärderas till ”falsk”.

      $x = 1
      medan $x < 5 {
        framåt 10
        vänta 1
        $x = $x + 1
      }

  På den första raden sätts `x` till 1. På den andra raden utvärderas `x < 5`. Eftersom svaret på frågan är ”sann” utför kommandot `medan` för styrning av körningen koden mellan krullparenteserna, ända till `$x < 5` utvärderas till ”falsk”. I det här fallet utförs koden mellan hakparenteserna fyra gånger, eftersom varje gång den femte raden utförs ökas `x` med ett.

### En ”upprepa” snurra

upprepa

      upprepa tal { ... }

  Kommandot för att styra körningen `upprepa` är mycket likt `medan`. Skillnaden är att `upprepa` fortsätter upprepa (snurra i) koden mellan krullparenteserna lika många gånger som det angivna talet.

### En ”för” snurra, en räknande snurra

för

      för variabel = tal till tal { ... }

  Snurran `för` är en ”räknande snurra”, dvs. den håller räkning åt dig.

      för $x = 1 till 10 {
        skriv $x * 7
        framåt 15
      }

  Varje gång koden mellan krullparenteserna utförs ökas `$x` med ett, till `$x` når värdet 10. Koden mellan krullparenteserna skriver ut `$x` multiplicerat med 7. När programmet har kört färdigt, ser du sjuans multiplikationstabell på duken.

  Den förvalda stegstorleken i en snurra är 1, du kan använda ett annat värde med:

      för variabel = tal till tal steg tal { ... }

### Lämna en snurra

avbryt

      avbryt

  Avbryter omedelbart nuvarande snurra och överför kontroll till satsen som kommer direkt efter snurran.

### Stoppa körning av programmet

avsluta

      avsluta

  Avslutar körningen av programmet.

### Kontrollera påståenden under körning

påstå

      påstå Boolean

  Kan användas för att resonera om programmets eller indatas riktighet.

      $in = fråga "När fyller du år?"
      # året måste vara positivt
      påstå $in
      > 0

Skapa dina egna kommandon med ”lär”
Skapa dina egna kommandon med ”lär”

## Skapa dina egna kommandon med ”lär”

`lär` är speciellt eftersom det används för att skapa dina egna kommandon. Kommandot som du skapar kan ha indata och returnera utdata. Låt oss ta en titt på hur ett nytt kommando skapas:

    lär cirkel $x {
      upprepa 36 {
        framåt $x
        svängvänster 10
      }
    }

Det nya kommandot kallas `cirkel`. `cirkel` har indata, som anger cirkelns storlek. `cirkel` returnerar ingen utdata. Kommandot `cirkel` kan nu användas som ett vanligt kommando i resten av koden. Se följande exempel:

    lär cirkel $x {
      upprepa 36 {
        framåt $x
        svängvänster 10
      }
    }

    gå 200,200
    cirkel 20

    gå 300,200
    cirkel 40

I nästa exempel skapas ett kommando som returnerar ett värde med .

    lär fakultet $x {
      $r = 1
      för$i = 1 till $x {
        $r = $n * $i
      }
      returnera $r
    }

    skriv fakultet 5

I det här exemplet skapas ett nytt kommando som heter `fakultet`. Om indata till kommandot är `5` är utdata `5*4*3*2*1`. Genom att använda `returnera` anges utdata och körningen returnerar.

Kommandon kan ha mer än ett indatavärde. I nästa exempel, skapas ett kommando som ritar en fyrkant:

    lär fyrkant $x, $y {
      framåt $y
      svänghöger 90
      framåt $x
      svänghöger 90
      framåt $y
      svänghöger 90
      framåt $x
      svänghöger 90
    }

Nu kan du köra `fyrkant 50, 100` så ritar sköldpaddan en rektangel på duken.

Kapitel 5. Ordlista
Ordlista

# Kapitel 5. Ordlista

I det här kapitlet hittar du en förklaring av de flesta ”ovanliga” ord som används i handboken.

grader

  Grader är en enhet för att mäta vinklar eller svängar. Ett helt varv är 360 grader, och alltså är ett halvt varv 180 grader och ett kvarts varv 90 grader. Kommandona `svängvänster`, `svänghöger` och `riktning` behöver indata i grader.

kommandon med in- och utdata

  Vissa kommandon behöver indata, vissa ger utdata, vissa kommandon behöver indata och ger utdata, och vissa kommandon behöver varken indata eller ger utdata.

  Några exempel på kommandon som bara behöver indata är:

      framåt 50
      pennfärg 255,0,0
      skriv "Hej!"

  Kommandot `framåt` behöver `50` som indata, `framåt` behöver indata för att veta hur många bildpunkter det ska gå framåt. `pennfärg` behöver en färg som indata och `skriv` behöver en sträng som indata. Observera att indata också kan vara en behållare. Nästa exempel illustrerar det:

      $x = 50
      skriv $x
      $str = "Hej!"
      skriv $str

  Nu några exempel på kommandon som ger utdata:

      $x = fråga "Skriv någonting och klicka på Ok... Tack!"
      $s = slump 1,100

  Kommandot `fråga` behöver en sträng som indata, och ger talet eller strängen som skrivs. Som du ser lagras utdata från `fråga` i behållaren `x`. Kommandot `slump` ger också utdata. I det här fallet ger det ett tal mellan 1 och 100. Utdata från slump lagras återigen i en behållare, som heter `s`. Observera att behållarna `x` och `s` inte används i kodexemplet ovan.

  Det finns också vissa kommandon som varken behöver indata eller ger utdata. Här är några exempel:

      rensa
      höjpenna

intuitiv färgläggning

  Det här är en funktion i KTurtle som gör det ännu enklare att koda. Med intuitiv färgläggning får koden som du skriver en färg som anger vilken sorts kod det är. I listan som följer hittar du de olika sorter kod och färgen de får i editorn.

  Tabell 5.1. Olika kodtyper och deras färgläggning

  vanliga kommandon | mörkblå | De vanliga kommandona beskrivs här.
  kommandon för styrning av körningen | svart (fetstil) | De speciella kommandon som styr körningen. Läs mer om dem här.
  kommentarer | grå | Rader som är kommentarer börjar med kommentartecknet (#). Dessa rader ignoreras när koden körs. Kommentarer låter programmeraren till viss del förklara koden, eller kan användas för att tillfälligt förhindra att en viss del av koden körs.
  krullparenteser {, } | mörkgrön (fetstil) | Krullparenteser används för att gruppera delar av koden. Krullparenteser används ofta tillsammans med styrning av körningen.
  kommandot lär | ljusgrön (fetstil) | Kommandot lär används för att skapa nya kommandon.
  strängar | röd | Det finns inte mycket att säga om (text) strängar heller, utom att de alltid börjar och slutar med tecknet ".
  siffror | mörkröd | Siffror. Ja det finns inte mycket att säga om dem.
  Booleska värden | mörkröd | Det finns exakt två booleska värden, nämligen: sant och falskt.
  variabler | violett | Börjar med ett dollartecken '$' och kan innehålla tal, strängar eller Booleska värden.
  matematiska operatorer | grå | Detta är de matematiska operatorerna: `+`, `-`, `*`, `/` och `^`.
  jämförelseoperatorer | ljusblå (fetstil) | Detta är jämförelseoperatorerna: `==`, `!=`, `<`, `>`, `<=` och `>=`.
  Booleska operatorer | rosa (fetstil) | De här är de Booleska operatorerna: `och`, `eller` och `inte`.
  vanlig text | svart |

bildpunkter

  En bildpunkt är en punkt på skärmen. Om du tittar mycket nära ser du att din bildskärm använder bildpunkter. Alla bilder på skärmen byggs upp med dessa bildpunkter. En bildpunkt är det minsta som kan ritas på skärmen.

  Många kommandon behöver ett antal bildpunkter som indata. Dessa kommandon är `framåt`, `bakåt`, `gå`, `gåx`, `gåy`, `dukstorlek` och `pennbredd`.

  I tidiga versioner av KTurtle var duken väsentligen en rastrerad bild, men i senare versioner är duken vektorgrafik. Det betyder att det går att zooma in eller zooma ut duken, och därför motsvarar en bildpunkt inte nödvändigtvis en punkt på skärmen.

RGB-kombinationer (färgkoder)

  RGB-kombinationer används för att beskriva färger. 'R' står för 'röd', 'G' står för 'grön' och 'B' står för 'blå'. Ett exempel på en RGB-kombination är `255,0,0`. Det första röda värdet är 255 och de övriga är 0, vilket ger en stark röd färgton. Varje värde i en RGB-kombination måste vara i området 0 till 255. Här är en lista på några färger som ofta används:

  Tabell 5.2. Ofta använda RGB-kombinationer

  `0,0,0` | svart
  `255,255,255` | vit
  `255,0,0` | röd
  `150,0,0` | mörkröd
  `0,255,0` | grön
  `0,0,255` | blå
  `0,255,255` | ljusblå
  `255,0,255` | rosa
  `255,255,0` | gul

  Två kommandon behöver en RGB-kombination som indata. Dessa kommandon är: `dukfärg` och `pennfärg`.

sprite

  En sprite är en liten bild som kan flyttas omkring på skärmen. Vår älskade sköldpadda är ett exempel på en sprite. (I den här versionen av Kturtle kan inte en sprite ändras från sköldpaddan till något annat. Framtida versioner av Kturtle kommer att kunna göra det.)

  ### Notera

  I den här versionen av KTurtle kan inte en sprite ändras från sköldpaddan till något annat. Framtida versioner av KTurtle kommer att kunna göra det.

Kapitel 6. Översättningsguide för KTurtle
Översättningsguide för KTurtle

# Kapitel 6. Översättningsguide för KTurtle

Som du förmodligen redan vet, är KTurtles programspråk möjligt att översätta. Det tar bort en barriär för vissa, när de anstränger sig för att förstå programmeringens grunder.

När KTurtle översätts till ett nytt språk märker du att programkommandon, exempel och felmeddelanden ingår i de vanliga `.pot`-filerna som används för översättning i KDE, förutom de vanliga strängarna i det grafiska gränssnittet. Allt översätts med den vanliga översättningsmetoden som används i KDE, men ändå rekommenderas du starkt att lära dig lite mer om hur de ska översättas (som du också kan läsa i översättningskommentarerna).

Ta gärna en titt på https://edu.kde.org/kturtle/translation.php för mer information om översättningsprocessen. Tack så mycket för ditt arbete! KTurtle beror i stor utsträckning på översättarna.

Kapitel 7. Tack till och licens
Tack till och licens

# Kapitel 7. Tack till och licens

KTurtle

Program copyright 2003-2007 Cies Breijs `(cies SNABELA kde PUNKT nl)`

Dokumentation copyright 2004, 2007, 2009

- Cies Briej `(cies SNABELA kde PUNKT nl)`

- Anne-Marie Mahfouf `(annma AT kde.org)`

- Vissa ändringar efter korrekturläsning av Philip Rodrigues `(phil AT kde.org)`

- Uppdaterad översättningsguide och vissa ändringar efter korrekturläsning av Andrew Coles `(andrew_coles SNABELA yahoo PUNKT co PUNKT uk)`

Översättning Stefan Asserhäll `(stefan.asserhall AT bredband.net)`

Den här dokumentationen licensieras under villkoren i GNU Free Documentation License.

Det här programmet licensieras under villkoren i GNU General Public License.

Kommandoindex
Kommandoindex

# Kommandoindex

### A

annars, Om inte, med andra ord ”annars”
arccos, Matematiska kommandon
arcsin, Matematiska kommandon
arctan, Matematiska kommandon
återställ, Kommandon för att städa
avbryt, Lämna en snurra
avrunda, Matematiska kommandon
avsluta, Stoppa körning av programmet

### B

bakåt (ba), Flytta sköldpaddan

### C

cos, Matematiska kommandon

### D

dukfärg (df), Kommandon för att kontrollera duken
dukstorlek (ds), Kommandon för att kontrollera duken

### E

eller, Booleska operatorer (sann eller falsk)

### F

falsk, Booleska värden (sann eller falsk)
för, En ”för” snurra, en räknande snurra
fråga, Inmatning och återmatning via dialogrutor
framåt (fr), Flytta sköldpaddan

### G

gå, Flytta sköldpaddan
gåx (gx), Flytta sköldpaddan
gåy (gy), Flytta sköldpaddan
göm, Sköldpaddan är en sprite

### H

hämtariktning, Flytta sköldpaddan
hämtax, Var är sköldpaddan?
hämtay, Var är sköldpaddan?
höjpenna (hp), Sköldpaddan har en penna

### I

inte, Booleska operatorer (sann eller falsk)

### K

kvadratrot, Matematiska kommandon

### L

lär, Skapa dina egna kommandon med ”lär”

### M

medan, En ”medan” snurra
meddelande, Inmatning och återmatning via dialogrutor
mitten, Flytta sköldpaddan
mod, Matematiska kommandon

### O

och, Booleska operatorer (sann eller falsk)
om, Kör ”om”

### P

påstå, Kontrollera påståenden under körning
pennbredd (pb), Sköldpaddan har en penna
pennfärg (pf), Sköldpaddan har en penna
pi, Matematiska kommandon

### R

rensa (ren), Kommandon för att städa
returnera, Skapa dina egna kommandon med ”lär”
riktning (ri), Flytta sköldpaddan

### S

sänkpenna (sp), Sköldpaddan har en penna
sann, Booleska värden (sann eller falsk)
sin, Matematiska kommandon
skriv, Kan sköldpaddan skriva?
slump (slu), Matematiska kommandon
steg, En ”för” snurra, en räknande snurra
svänghöger (sh), Flytta sköldpaddan
svängvänster (sv), Flytta sköldpaddan

### T

tan, Matematiska kommandon
teckenstorlek, Kan sköldpaddan skriva?
till, En ”för” snurra, en räknande snurra

### U

upprepa, En ”upprepa” snurra

### V

vänta, Låta sköldpaddan vänta
visa (vi), Sköldpaddan är en sprite