Autoriõigus © 2004 Cies Breijs
Käesolevat dokumenti võib kopeerida, edasi levitada ja/või muuta vastavalt GNU Vaba Dokumentatsiooni Litsentsi tingimustele, nagu need on avaldanud Vaba Tarkvara Fond; kas Litsentsi versioon 1.1 või ükskõik milline hilisem versioon; kaasa arvatud mittemuudetavad sektsioonid (puudub), esikaane tekstid (puudub), ja tagakaane tekstid (puudub). Litsentsi koopiaga võimaldab tutvuda sektsioon "GNU Vaba Dokumentatsiooni Litsents".
KTurtle on haridusalane programmeerimiskeskkond, mis kasutab programmeerimiskeelt Logo. LOGO unikaalseks omaduseks on see, et käske saab tõlkida ka programmeerija emakeelde.
Sisukord
Tabelite nimekiri
KTurtle on haridusalane programmeerimiskeskkond, mis kasutab programmeerimiskeelt Logo. Rakenduse mõte on muuta programmeerimine nii lihtsaks ja arusaadavaks, kui vähegi võimalik. Nii sobib KTurtle ka lastele matemaatika, geomeetria ja ... programmeerimise õpetamiseks. Rakenduses kasutatavad käsud sarnanevad stiililt programmeerimiskeele Logo omadele. Logo unikaalseks omaduseks on see, et käske saab tõlkida ka programmeerija emakeelde.
KTurtle on saanud nime ingliskeelse sõna “turtle” ehk “kilpkonn” järgi, sest just kilpkonnal on meie programmeerimiskeskkonnas keskne osa: kasutaja programmerib kilpkonna Logo käskudega joonistama lõuendile vajalikku pilti.
Programmeerimiskeele Logo esimese versiooni lõi Seymour Papert 1967. aastal MIT tehisintelligentsi laboris, võttes aluseks programmeerimiskeele LISP. Sealtpeale on ilmavalgust näinud arvukalt Logo versioone. Aastaks 1980 olid olemas Logo MSX, Commodore'i, Atari, Apple II ja IBM PC versioonid. Peamiselt olid need mõeldudki õppevahendiks. LCSI laskis 1985. aastal välja professionaalsetele programmeerijatele mõeldud Mac®Logo, kuid see ei võitnud erilist populaarsust. MIT haldab seniajani Logo veebilehekülge: http://el.media.mit.edu/logo- foundation/.
Tänapäeval on olemas mitu Logo versiooni, mida võib hõlpsasti leida MIT Logo veebileheküljelt või lihtsa Google'i otsinguga. Käesolev Logo versioon (KTurtle) keskendub ainult programmeerimiskeele haridusalastele omadustele ega püüagi rahuldada professionaalse programmeerija vajadusi.
KTurtle pakub mitmeid vahvaid ja võimsaid omadusi, mis lubavad igaühel kerge vaevaga programmeerimisega tegelda. Mõned neist:
integreeritud Logo interpretaator - ei mingit vajadust veel mõne programmi järele -, mis kasutab tõlgitud käskude jaoks XML-faile, toetab kasutaja määratud funktsioone ning dünaamilist lülitumist.
Käskude täitmist saab aeglustada, peatada või katkestada igal ajahetkel.
võimas redaktor, mis lubab Logo käskude süntaksit esile tõsta, nummerdab ridu ja teeb veel palju muud toredat.
lõuendi võib salvestada pildina või välja trükkida.
lõuendil saab kasutada murdmist, mis ei lase kilpkonnal nii kergesti kaotsi minna.
kõigi Logo käskude kontekstiabi - vajuta vaid F2.
Logo käsud on täielikult tõlgitavad (praegu on toetatud Brasiilia portugali, hollandi, inglise, itaalia, prantsuse, rootsi, saksa, serbia (kirillitsa ja ladina) ja sloveeni keel).
veadialoog, mis seob veateated programmis esinevate vigadega.
lihtsustatud programmeerimisterminoloogia.
täisekraanirežiim.
hulk põimitud ja internatsionaliseeritud Logo näidisprogramme, mis muudavad alustamise eriti lihtsaks.
KTurtle'i peaaken koosneb kahest põhiosast: koodiredaktor (3) vasakul, kus saab kirja panna Logo käsud, ja lõuend (4) paremal, kus need käsud täide viiakse. Lõuend on kilpkonna nii-öelda liivakast, kus ta omaette askeldades sinu soovitud pildi lõpuks valmis joonistab. Peaaknal on veel kolm osa: menüüriba (1), mis võimaldab kasutada kõiki saadaolevaid käske, tööriistariba (2), kus saab kiiresti valida sagedamini kasutatavate käskude seast, ja olekuriba (5), kus näeb KTurtle'i tagasisidena rakenduse staatust.
Koodiredaktor on koht, kus panna kirja Logo käsud. See pakub kõiki võimalusi, mida üks tänapäevane redaktor ikka pakkuma peab. Enamik neist on kasutatavad menüüst Redigeerimine või Tööriistad. Koodiredaktori võib dokkida ükspuha millisele peaakna küljele või ka hoopis lahti haakida ja töölaual sootuks mujale asetada.
Koodi saab redaktorisse mitmel moel sisestada. Lihtsaim meetod on kasutada juba valmis tehtud näidiseid. Selleks vali -> failimenüüs ja klõpsa vajalikul failil. Failinimi annab teada, mida näidis sisaldab (nt. ruut.logo
joonistab ruudu). Valitud fail avatakse koodiredaktoris, pärast mida saab käsuga -> hakata seda ellu viima.
Logo faile saab avada menüükäsuga ->.
Kolmas võimalus on kirjutada kood ise redaktorisse või kopeerida ja asetada kood kuskilt mujalt, kas või käesolevast käsiraamatust.
Kursori asukohta näeb olekuriba paremas ääres, see on määratud rea ja veeru numbriga.
Lõuend on ala, kus käsud visualiseeritakse, kus nendega “joonistatakse” pilt. Ehk siis - see on kilpkonna mängumaa. Kui oled sisestanud mingi koodi koodiredaktorisse ja selle käivitanud käsuga ->, võib juhtuda üks kahest: 1) kood täidetakse edukalt ja sa näed midagi lõuendil muutumas või 2) koodis on viga ja ilmub teade, mis ütleb, millise veaga on tegemist.
See teade peaks aitama probleemi lahendada.
Joonistatud pildi võib salvestada pildina (->) või ka kohe trükkida (->).
Menüüribal leiad kõik toimingud, mida KTurtle'is on võimalik kasutada. Need on jagatud järgmistesse rühmadesse: , , , , ja . Kirjeldame siin neid kõiki.
Avab Logo näidisfailidega kataloogi. Need peaksid olema keeles, mis on määratud seadistustedialoogis (->).
Näitab võimalikke täitmise kiirusi: täiskiirus, aeglane, aeglasem ja kõige aeglasem. Kui kiiruseks valida 'täiskiirus' (vaikeväärtus), on vaevu võimalik jälgida, mis toimub. Sageli on see kasulik, kuid vahel võib tekkida soov käskude täitmist üksikasjalikult jälgida. Sel juhul tuleks valida kiiruseks 'aeglane', aeglasem' või 'kõige aeglasem'. Mõne aeglase kiiruse valimisel näidatakse redaktoris täitmise hetkeasukohta.
Peatab käskude täitmise. Seda saab kasutada ainult siis, kui käske parajasti täidetakse.
Katkestab käskude täitmise. Seda saab kasutada ainult siis, kui käske parajasti täidetakse.
Avab värvivalija. Selle abil saab hõlpsasti valida värvikoodi ja lisada selle koodiredaktorisse.
See “trepib” valitud read (lisab nende algusse tühimärgi). “Treppimise” korralikul kasutamisel on koodi palju lihtsam lugeda. Kõik näidised kasutavad samuti treppimist, nii et palun tutvu nendega.
Sellega saab valitud read “tagasi treppida”, s.t. eemaldada ridade algusest tühimärgi.
Sellega saab valitud read “treppimisest” puhastada, s.t. eemaldada ridade algusest kõik tühimärgid.
Pärast selle valimist muutub hiirekursor küsimärgikujuliseks. Sellega mõnel KTurtle'i peaakna osal klõpsates näeb väikest kohtspikrit infoga antud osa kohta.
See on väga kasulik võimalus, näidates abi koodi selle koha kohta, kus parajasti asub kursor. Kui nt. kasutasid koodis käsku print
, saad selle abil teada, mida käsiraamat vastava käsu kohta ütleb. Vii kursor käsu print
peale ja vajuta F2. Seejärel näed käsiraamatus käsust print
rääkivat kohta.
See on päris kasulik ja oluline programmeerimise õppimisel.
Siin saab kiiresti valida kõige sagedamini vajaminevaid toiminguid. Vaikimisi ongi siin just käsud, mida kõige enam vaja läheb, sealhulgas Käskude täitmine ja Täitmise peatamine.
Tööriistariba saab oma maitse järgi kohandada menüükäsuga ->->
Olekuribal annab KTurtle sulle tagasisidet oma oleku kohta. Vasakul on näha viimane toiming. Paremal näeb kursori hetkeasukohta (rea ja veeru number). Keskel näeb, millist keelt käskude puhul parajasti kasutatakse.
KTurtle'i käivitamisel ilmub nähtavale midagi sellist:
Ilmselt märkasid, et keset lõuendit tudub kilpkonn. Nüüd aga vaatame, kuidas teda koodiredaktoris kirjutatud käskudega liikuma panna.
Paneme nüüd kilpkonna liikuma. Ta võib liikuda kolme moodi: (1) edasi ja tagasi, (2) pöörata paremale ja vasakule ning (3) minna otse mingisse ekraanipunkti. Proovime näiteks nii:
forward 100 turnleft 90Kirjuta see koodiredaktorisse või kopeeri ja aseta ning seejärel käivita käsud (->).
Kui kirjutasid toodud käsud koodiredaktorisse ja käivitasid need, nägid ilmselt vähemalt üht järgmistest asjadest:
Pärast käskude käivitamist liikus kilpkonn üles, joonistas sirge ja pööras siis oma liikumissuunaga risti vasakule. Seda põhjustasidki käsud forward
ja turnleft
.
Koodi värv muutus kirjutamisel. Seda nimetatakse intuitiivseks esiletõstmiseks — erinevat laadi käskudele antakse erinev värv. Nii on eriti suuremaid koodiblokke märksa lihtsam lugeda. Samuti leiab hõlpsamini üles vead, sest sellistele sõnadele värvi ei anta.
Kilpkonn joonistas peenikese musta joone.
Võis juhtuda ka, et said veateate. See tähendab üht kahest: tegid käskude kopeerimisel mingi vea või siis ei ole sul veel määratud Logo käskude korrektne keel. Viimast saab teha seadistustedialoogi (->) keelesektsioonis.
Igaks juhuks kordame üle: forward 100
andis kilpkonnale korralduse liikuda joont maha jättes edasi ning turnleft 90
käsu pöörata 90 kraadi vasakule.
Palun uuri ka käskude kirjeldusi, mida tutvustame lähemalt käesolevas raamatus edaspidi: forward
, backward
, turnleft
ja turnright
.
Esimene näide oli imelihtne, nii et vaatame nüüd edasi!
canvassize 200,200 canvascolor 0,0,0 pencolor 255,0,0 penwidth 5 clear go 20,20 direction 135 forward 200 turnleft 135 forward 100 turnleft 135 forward 141 turnleft 135 forward 100 turnleft 45 go 40, 100Kirjuta taas toodud kood redaktorisse või kopeeri see siit või ava fail
arrow.logo
kataloogis ning käivita käsud (->). Edasistes näidetes me enam seda ei ütle, eeldades, et sa oled selle juba meelde jätnud...Nagu näed, on teises näites koodi märksa enam. Samuti on siin mitu uut käsku. Seletame need nüüd lühidalt lahti:
canvassize 200,200
määrab lõuendi laiuseks ja kõrguseks 200 pikslit. Laius ja kõrgus on võrdsed, see tähendab, et lõuend on ruudukujuline.
canvascolor 0,0,0
muudab lõuendi mustaks. 0,0,0
on RGB värvikood, milles kõik väärtused on 0
, mis tähendabki kokkuvõttes musta.
pencolor 255,0,0
määrab pliiatsi värviks punase. 255,0,0
on RGB värvikood, kus ainult punase väärtus on maksimaalne 255
, teistel (rohelisel ja sinisel) aga 0
, mis annab kokku erepunase.
Kui sa ei ole kursis, mis on värviväärtused, loe kindlasti sõnastikust artiklit RGB värvikoodide kohta.
penwidth 5
määrab pliiatsi laiuseks 5
pikslit. See tähendab, et siitpeale on kõik kilpkonna tõmmatavad jooned paksusega 5
, kuni me anname penwidth
väärtuseks midagi muud.
clear
puhastab lõuendi.
go 20,20
annab kilpkonnale korralduse minna lõuendi kindlasse punkti. Ülemisest vasakust nurgast arvestades asub see koht lõuendi vasakust servast 20 piksli ning ka lõuendi ülaservast 20 piksli kaugusel. Pane tähele, et käsu go
kasutamisel kilpkonn joont ei tõmba.
direction 135
määrab kilpkonna suuna. Käsud turnleft
ja turnright
muudavad kilpkonna nurka selle praeguse suuna suhtes. Käsk direction
muudab kilpkonna suunda alates nullist, see ei ole seotud kilpkonna varasema suunaga.
Pärast käsku direction
tuleb mitu käsku forward
ja turnleft
. Nendega käibki tegelik joonistamine.
Uus go
annab lõpuks kilpkonnale käsu eemale minna.
Uuri kindlasti ka käskude seletusi, kus on kõik põhjalikult lahti seletatud.
Käesolev osa selgitab KTurtle'i Logo keelt. Esmalt puudutame lühidalt erinevaid instruktsioonide tüüpe. Seejärel selgitame ükshaaval kõiki käske. Sellele järgnevad konteinereid, matemaatikat, küsimusi ja täitmise kontrollereid puudutavad selgitused. Lõpuks aga näitame, kuidas on võimalik luua omaenda käske käsuga learn.
Nagu igal keelel, nii on ka LOGO-l mitut laadi sõnu ja sümboleid. Järgnevalt selgitame lühidalt nende tüüpide erinevusi.
Just käskudega saab panna kilpkonna või KTurtle'i midagi tegema. Osa käske eeldab sisendit, osa annab väljundi.
# forward on käsk, mis vajab sisendit, antud juhul on selleks arv 100: forward 100
Täpsemalt kirjeldatakse kõiki käske, mida KTurtle toetab, siin.
Arvatavasti oled juba koolis õppinud, mis asjad on arvud või mingil muul moel osanud selle välja uurida. KTurtle kasutab arve üsna sarnaselt sellele, kuidas kasutatakse neid matemaatikas või kas või tavalises kõnepruugis.
Me kasutamine niinimetatud naturaalarve: 0
, 1
, 2
, 3
, 4
, 5
jne. Samuti negatiivseid arve: -1
, -2
, -3
jne. Aga ka murdarve, näiteks: 0.1
, 3,14
, 33,3333
, -5,05
, -1,0
.
Arve saab pruukida matemaatilistes arvutustes ja küsimustes. Neid saab lisada ka konteineritesse.
Arvud on koodiredaktoris esile tõstetud sinise värviga.
Kõigepealt näide:
print "Hei, mina olen string."Selles näites on
print
käsk, "Hei, mina olen string."
aga string. Stringide alguses ja lõpus seisab "
, mille järgi KTurtle tunneb ära, et tegemist on stringiga.Stringe saab lisada konteineritele, kuid neid ei saa kasutada matemaatilistes arvutustes ega küsimustes.
Stringid on koodiredaktoris esile tõstetud tumepunase värviga.
Programmeerimiskeelt Logo kasutades on sul võimalik luua uusi asju. Mõnda programmi kirjutades läheb sageli tarvis konteinereid ning mõnigi kord tuleb uute käskude loomiseks tarvitada käsku learn. Luues konteinerit või uut käsku käsuga learn, tuleb määrata ka nimi.
Nime võib valida just sellise, nagu tahad - peaasi, et sel ei oleks juba tähendust. Nii ei saa näiteks anda konteinerile nimeks forward, sest seda kasutab juba üks käsk ja sellel on niisiis tähendus olemas.
# siin on forward kasutusel konteinerina, aga sel on juba tähendus, # mistõttu tulemuseks on viga: forward = 20 # aga nii läheb küll: forward 20Nimed tohivad sisaldada ainult tähti, arve ja alakriipse (_), sealjuures peavad nad algama tähega.
Täpsemalt ja põhjalikumalt ning näidetega tutvu konteineritest ja käsust learn rääkivates osades.
Omistamiseks kasutatakse sümbolit =
. Programmeerimiskeeles ei ole ühekordne =
mitte 'võrdub', vaid pigem 'saab'. Sõnale 'võrdub' vastab paremini sümbol ==
, mis kujutab endast küsimust.
Omistamist kasutatakse peamiselt kahel eesmärgil: (1) sisu lisamiseks konteineritele ja (2) konteineri sisu muutmiseks. Näide:
x = 10 # konteiner x sisaldab nüüd arvu 10 W = "Minu vanus on: " # konteiner W sisaldab nüüd stringi "Minu vanus on: " # järgmine käsk näitab konteinerite 'W' ja 'x' sisu lõuendil print W + x
Rohkem näiteid leiab konteineritest kõnelevas osas.
KTurtle toetab kõiki põhilisi matemaatikasümboleid: liitmine (+
), lahutamine (-
), korrutamine (*
), jagamine (/
) ja sulud (
ning )
.
Põhjalikuma seletuse ja rohkem näiteid leiab matemaatikast kõnelevas osas.
Me võime esitada lihtsaid küsimusi, mille vastus saab olla kas 'tõene' või 'väär'.
Küsimuste kasutamist selgitab põhjalikult küsimustele pühendatud osa.
Küsimusi saab ühendada niinimetatud ühendussõnadega. Sellisteks sõnadeks on and
, or
ja spetsiaalne ühendussõna not
.
Küsimuste ühendussõnade kasutamist selgitab ühendussõnadele pühendatud osa.
Kommentaarid on sellised read, mille alguses seisab #
. Näide:
# see on kommentaar! print "see ei ole kommentaar" # eelmine rida ei olnud kommentaar, aga järgmine on: # print "see ei ole kommentaar"Kommentaarireaga saame lisada kommentaare koodile iseenda või ka teiste jaoks, kes vähegi seda loevad. Kommentaare kasutatakse (1) programmile väikese kirjelduse lisamiseks, (2) koodiosa toimimise selgitamiseks, kui see võib tunduda veidi segasena, ning (3) selliste koodiridade 'väljakommenteerimiseks', mida tuleks (ajutiselt) ignoreerida (vaata toodud näite viimast rida).
Kommenteeritud read on koodiredaktoris esile tõstetud tumekollase värviga.
Just käskudega saab panna kilpkonna või KTurtle'i midagi tegema. Osa käske eeldab sisendit, osa annab väljundi. Selles osas kirjeldame kõiki käske, mida saab KTurtle'is kasutada. Pane tähele, et kõik rakenduse poolt pakutavad käsud, mida me siin tutvustame, on koodiredaktoris esile tõstetud tumerohelise värviga, mis aitab neid paremini eristada.
Kilpkonna saab lõuendil liigutada mitme käsuga.
forward X
forward
paneb kilpkonna otse edasi liikuma X piksli võrra. Kui pliiats on sees, jätab kilpkonna ka jälje maha. forward
asemel võib kasutada lühendit fw
.backward X
backward
paneb kilpkonna otse tagasi liikuma X piksli võrra. Kui pliiats on sees, jätab kilpkonna ka jälje maha. backward
asemel võib kasutada lühendit bw
.turnleft X
turnleft
paneb kilpkonna X kraadi võrra vasakule pöörama. turnleft
asemel võib kasutada lühendit tl
.turnright X
turnright
paneb kilpkonna X kraadi võrra paremale pöörama. turnright
asemel võib kasutada lühendit tr
.direction X
direction
määrab kilpkonna suunaks X kraadi arvestades nullist, see ei ole seotud kilpkonna varasema suunaga. direction
asemel võib kasutada lühendit dir
.gox X
gox
paneb kilpkonna samal kõrgusel liikuma X piksli kaugusele lõuendi vasakust servast.goy Y
goy
paneb kilpkonna samal laiusel (kaugusel vasakust servast) liikuma Y piksli kaugusele lõuendi ülaservast.Kilpkonnal on pliiats, millega ta liikudes joont veab. Pliiatsit saab juhtida mitme käsuga, mida siin tutvustamegi.
penup
penup
tõstab pliiatsi lõuendilt ja kuni see on “üleval”, ei tõmba kilpkonn liikudes ühtki joont. Vaata ka pendown
. penup
asemel võib kasutada lühendit pu
.pendown
pendown
surub pliiatsi lõuendi vastu ja kuni see on “all”, tõmbab kilpkonn liikudes joone. Vaata ka penup
. pendown
asemel võib kasutada ka lühendit pd
.penwidth X
penwidth
määrab pliiatsi tõmmatava joone laiuseks X pikslit. penwidth
asemel võib kasutada ka lühendit pw
.pencolor R,G,B
pencolor
määrab pliitsi tõmmatava joone värvi. pencolor
tahab saada sisendina RGB värvikoodi. pencolor
asemel võib kasutada ka lühendit pc
.Lõuendi omadusi saab muuta mitme käsuga.
canvascolor R,G,BKäsk
canvascolor
määrab lõuendi värvi. canvascolor
tahab saada sisendina RGB värvikoodi. canvascolor
asemel võib kasutada ka lühendit cc
.Kahe käsuga saab lõuendi puhastada sellest, mida sa sinna oled valmis meisterdanud.
clearKäsk
clear
puhastab lõuendilt kogu joonistatu. Muud asjad jäävad püsima: kilpkonna asukoht ja nurk, lõuendivärv, kilpkonna nähaolek ja lõuendi suurus. clear
asemel võib kasutada ka lühendit cr
.Vaevalt et paljud teavad, mis õieti on sprait, nii et ütleme siis saladuse välja: sprait on väike pilt, mida saab ekraanil liigutada. Täpsemalt vaata sõnastikust mõiste sprait kirjeldust. See tähendab, et meie kilpkonn on sprait!
Toome siin ära kõik käsud, mida saab spraidi puhul kasutada.
[KTurtle'i praegune versioon toetab spraidina ainult kilpkonna kasutamist. Aga tulevikus võib olla vägagi võimalik, et võid kilpkonna oma soovi kohaselt millegi muuga asendada.]
showKäsk
show
muudab kilpkonna uuesti nähtavaks pärast tema peitmist. show
asemel võib kasutada ka lühendit ss
.Õige vastus: “jah, muidugi”. Kilpkonn võib kirjutada küll, aga mõistagi pead sina talle ütlema, mida kirjutada.
print X
print
annab kilpkonnale käsu midagi lõuendile kirjutada. print
sisendiks võivad olla nii numbrid kui stringid. Sümbolit “+” kasutades saab käsuga print
lasta kirjutada mitmesuguseid numbreid ja stringe. Toome siin väikese näite: year = 2003 author = "Cies" print author + " alustas KTurtle'i projekti aastal " + year + " ja ta töötab endiselt rõõmuga selle kallal!"
fontsize X
fontsize
määrab fondi suuruse, mida print
kirjutamisel kasutab. fontsize
sisend peab olema number. Suurus määratakse pikslites.Üks käsk nii-öelda veeretab sinu eest täringut. Selle nimi on random
ja sellega saab igasuguseid vahvaid ning ootamatuid asju teha.
random X,Y
random
on käsk, mis tahab saada sisendit ja annab kohe ka väljundi. Sisendiks on kaks arvu, milles üks (X) määrab minimaalse ja teine (Y) maksimaalse väljundi. Väljund on juhuslik arv, mis on miinimumiga võrdne või suurem ning maksimumiga võrdne või väiksem. Üks väike näide: repeat 500 [ x = random 1,20 forward x turnleft 10 - x ]Selle käsuga saab oma programmi veidi kaootilisemaks muuta.
Dialoog on väike hüpikaken, mis annab teatud tagasisidet või soovib saada mingit sisendit. KTurtle kasutab dialoogidele kaht käsku: message
ja inputwindow
.
inputwindow XKäsk
inputwindow
vajab sisendina stringi. See näitab hüpikdialoogi, mis sisaldab stringi nagu ka message. Kuid lisaks sellele on dialoogis ka sisendiväli. Selle abil saab kasutaja sisestada arvu või stringi, mis on võimalik salvestada konteinerisse. Näide: in = inputwindow "Kui vana sa oled?" out = 2003 - in print "Aastal 2003 olid sa " + out + " aastat vana."Kui kasutaja sulgeb sisenddialoogi või ei sisesta midagi, tühjendatakse vastav konteiner.
Konteinerid on tähed või sõnad, mida programmeerija saab tarvitada arvu või teksti mahutamiseks. Arve sisaldavaid konteinereid nimetatakse muutujateks, teksti sisaldavaid stringideks.
Konteinerid, mida veel ei kasutata, tähendavad vaikimisi 0. Näide:
print NSee ei näita mitte midagi. Kui me püüame matemaatikas kasutada tühje konteinereid, on tulemuseks vead.
Toome taas näite:
x = 3 print xEsimesel real muudetakse täht
x
muutujaks (numbrikonteineriks). Nagu näed, antakse muutujale x
väärtuseks 3. Teisel real antakse korraldus see väärtus kirja panna.Pane tähele, et soovi korral panna kirja “x”, pidanuks me seda tegema nii:
print "x"
See oli lihtne, aga võtame kohe raskema näite:
A = 2004 B = 25 C = A + B # järgmine käsk kirjutab "2029" print C backward 30 # järgmine käsk kirjutab "2004 pluss 25" print A + " plus " + B backward 30 # järgmine käsk kirjutab "1979" print A - BEsimesel kahel real määratakse muutujate
A
ja B
väärtuseks 2004 ja 25. Kolmandal real määratakse muutuja C
väärtuseks A + B
ehk siis 2029. Ülejäänud osa näitest koosneb kolmest käsust print
, mida eraldab käsk backward 30
. backward 30
on siin selleks, et iga väljund oleks ikka uuel real. Toodud näites on ka näha, et muutujaid saab kasutada matemaatilisteks teheteks.Programmeerimiskoodis algab ja lõpeb tavaline tekst enamasti jutumärkidega. Me juba nägime seda:
print "Hei programmeerija!"Tavaline tekst on piiratud jutumärkidega. Sellist tavalise teksti juppi nimetamegi stringiks.
Stringe võib salvestada konteinerites täpselt samamoodi nagu arve. Stringid sarnanevad tublisti muutujatega. Suurim erinevus on see, et stringe ei saa kasutada matemaatilistes tehetes ega küsimustes. Näide stringide kasutamise kohta:
x = "Tere " name = inputwindow "Palun sisesta oma nimi..." print x + name + ", kuidas läheb?Esimesel real määratakse stringi
x
väärtuseks “Tere ”. Teisel real määratakse stringi name
väärtuseks käsu inputwindow
väljund. Kolmanda reaga antakse korraldus kirjutada lõuendile kolme stringi kombinatsioon.Programm palub sul sisestada oma nime. Kui sa näiteks annad oma nimeks “Paul”, kirjutab programm “Tere Paul, kuidas läheb?” Pane tähele, et plussmärk (+) on ainus matemaatiline sümbol, mida saab stringide puhul kasutada.
KTurtle? Ikka oskab. Ta võib liita (+), lahutada (-), korrutada (*) ja jagada (/). Toome siin näite kõigi nende tehetega:
a = 20 - 5 b = 15 * 2 c = 30 / 30 d = 1 + 1 print "a: "+a+", b: "+b+", c: "+c+", d: "+dTead sa ikka, mis on a, b, c ja d väärtus? Pane tähele ka omistamise sümboli
=
kasutamist.Kui soovid väga lihtsat tehet teha, siis see käib umbes nii:
print 2004-12
Ja nüüd näide sulgudega:
print ( ( 20 - 5 ) * 2 / 30 ) + 1Sulgudes olevad tehted sooritatakse esimestena.
if
ja while
on täitmise kontrollerid, mida me käsitleme järgmises osas. Siin kasutame käsku if
küsimuste selgitamiseks.
Lihtne näide küsimuse kohta:
x = 6 if x > 5 [ print "tere" ]Selles näites on küsimuseks
x > 5
. Kui vastus sellele küsimusele on 'tõene', täidetakse nurksulgudes olev kood. Küsimused on programmeerimises päris tähtsal kohal ning neid kasutataksegi tihtipeale koos täitmise kontrolleritega, näiteks if
. Kõiki arve ja muutujaid (arvukonteinereid) saab omavahel võrrelda küsimusi kasutades.Toome siin ära kõik võimalikud küsimused:
Tabel 4.1. Küsimuste tüübid
a == b | võrdub | vastus on “tõene”, kui a võrdub b |
a != b | ei võrdu | vastus on “tõene”, kui a ei võrdu b |
a > b | suurem kui | vastus on “tõene”, kui a on suurem kui b |
a < b | väiksem kui | vastus on “tõene”, kui a on väiksem kui b |
a >= b | suurem kui või võrdub | vastus on “tõene”, kui a on suurem kui või võrdub b |
a <= b | väiksem kui või võrdub | vastus on “tõene”, kui a on väiksem kui või võrdub b |
Küsimused on koodiredaktoris esile tõstetud sinise värviga.
Küsimusi saab ka üksteisega siduda niinimetatud küsimusliimiga. Sellisel moel saab mitmest küsimusest luua ühe suure küsimuse.
a = 1 b = 5 if a < 5 and b == 5 [ print "tere" ]Selles näites kasutatakse ühendussõna
and
kahe küsimuse 'liimimiseks' (a < 5
, b == 5
). Kui üks and
pooltest on “väär”, on kogu küsimuse vastus “väär”, sest ühendussõna and
korral peab mõlema poole vastus olema “tõene”, et kogu vastus oleks “tõene”. Ja ära unusta panna küsimuste ümber sulge!Põgus ülevaade, millele järgneb põhjalikum seletus:
Tabel 4.2. Küsimuste ühendussõnad
and | Mõlemad pooled peavad olema 'tõesed', et vastus oleks 'tõene' |
or | Kui üks pool on 'tõene', on vastus 'tõene' |
not | Erijuhtum: kasutada ainult ühe küsimusega! Sooritab teisenduse 'tõene' -> 'väär' või 'väär' -> 'tõene'. |
Küsimuste ühendussõnad on koodiredaktoris esile tõstetud purpurse värviga.
Kui küsimused seotakse kokku sõnaga and
, peavad mõlemad and
pooled olema 'tõesed', et kogu tulemus oleks tõene. Näide:
a = 1 b = 5 if ((a < 10) and (b == 5)) and (a < b) [ print "tere" ]Toodud näites on kaks ühendatud küsimust koos ühendatud kolmandaga.
Kui vähemalt üks sõnaga or
ühendatud küsimustest on 'tõene', on 'tõene' ka tulemus. Näide:
a = 1 b = 5 if ((a < 10) or (b == 10)) or (a == 0) [ print "tere" ]Toodud näites on kaks ühendatud küsimust koos ühendatud kolmandaga.
not
on spetsiaalne ühendussõna, sest see käib korraga ainult ühe küsimuse kohta. not
sooritab teisenduse 'tõene' -> 'väär' või 'väär' -> 'tõene'. Näide:
a = 1 b = 5 if not ((a < 10) and (b == 5)) [ print "tere" ] else [ print "ei ütle tere ;-)" ]Toodud näites on ühendatud küsimus 'tõene', kuid
not
muudab selle 'vääraks'. Seepärast kirjutatakse lõuendile lõpuks "ei ütle tere ;-)"
.Täitmise kontrollerid lubavad — nagu nimetuski ütleb — kontrollida käsu täitmist.
Täitmise kontrollimise käsud on esile tõstetud tumerohelise rasvase kirjaga. Nurksulud, mida väga sageli koos täitmise kontrolleritega pruugitakse, on esile tõstetud helerohelise värviga.
Kui oled juba natuke KTurtle'iga harjutanud, paned tähele, et kilpkonn võib päris kiiresti joonistada. See käsk muudab tema tegevuse aga veidi aeglasemaks.
wait X
wait
paneb kilpkonna X sekundiks ootama. repeat 36 [ forward 5 turnright 10 wait 0.5 ]Selle koodiga joonistatakse ringjoon, aga kilpkonn ootab igal sammul pool sekundit. See jätab mulje nii enam-vähem normaalse kiirusega liikuvast kilpkonnast - vähemalt kilpkonna kohta...
if küsimus [ ...]Kood, mis seisab “...” asemel, täidetakse ainult siis, kui (
if
) vastus küsimusele on “tõene”. Loe palun küsimuste kohta täpsemalt küsimusi käsitlevast osast. x = 6 if x > 5 [ print "x on suurem kui viis!" ]Esimesel real määratakse
x
väärtuseks 6. Teisel real esitatakse küsimus x > 5
. Et vastus sellele küsimusele on “tõene”, lubab täitmise kontroller if
nurksulgudes oleva koodi täita.while küsimus [ ... ]Täitmise kontroller
while
on üsna sarnane kontrolleriga if
. Nende peamine erinevus seisab selles, et while
kordab nurksulgudes olevat koodi seni, kuni vastus küsimusele on lõpuks “väär”. x = 1 while x < 5 [ forward 10 wait 1 x = x + 1 ]Esimesel real määratakse
x
väärtuseks 1. Teisel real esitatakse küsimus x < 5
. Et vastus sellele küsimusele on “tõene”, alustab täitmise kontroller while
nurksulgudes oleva koodi täitmist ja teeb seda seni, kuni vastus küsimusele on lõpuks “väär”. Antud juhul täidetakse nurksulgudes olev kood neli korda, sest iga viienda rea täitmisega suureneb x
ühe võrra.if küsimus [ ... ] else [ ... ]Kontrollerit
else
saab kasutada koos kontrolleriga if
. Kood, mis seisab nurksulgudes else
järel, täidetakse ainult siis, kui vastus esitatud küsimusele on “väär”. reset x = 4 if x > 5 [ print "x on suurem kui viis!" ] else [ print "x on väiksem kui kuus!" ]Küsimus ootab vastuseks, kas
x
on suurem kui 5. Et x
väärtuseks on esimesel real määratud 4, on vastuseks “väär”. See tähendab, et täidetakse kood, mis seisab nurksulgudes else
järel.foralguspunkt
tolõpp-punkt
[ ... ]
for
on “arvestussilmus”, mis teeb midagi teatud arv kordi. for x = 1 to 10 [ print x * 7 forward 15 ]Igal nurksulgudes oleva koodi täitmisel antakse
x
väärtus ühe võrra suuremana, kuni x võrdub lõpuks 10. Nurksulgudes olev kood antud juhul kirjutab tehte 'x
korda 7' tulemuse. Kui programm on töö lõpetanud, on tulemuseks lõuendil ilutsev numbri 7 korrutustabelike.Käsk learn
on väga eriline, sest selle abil saab luua omaenda käske. Sinu loodud käsk võib kasutada nii sisendit kui anda väljundit. Vaatamegi nüüd, kuidas uus käsk luua.
learn ringjoon (x) [ repeat 36 [ forward x turnleft 10 ] ]Uus käsk kannab nime
ringjoon
. ringjoon
kasutab sisendina numbrit, mis määrab ringjoone suuruse. ringjoon
ei tagasta mingit väljundit. Nüüd võime käsku ringjoon
kasutada täiesti tavalise käsuna, nagu selles näites: learn ringjoon X [ repeat 36 [ forward X turnleft 10 ] ] go 30,30 ringjoon 20 go 40,40 ringjoon 50
Järgmises näites aga loome väljundväärtusega käsu.
reset learn korrutaIseendaga n [ r = n * 1 r = n * n return r ] i = inputwindow "Palun sisesta arv ja vajuta OK" print i + " korrutatud iseendaga on: " + korrutaIseendaga (i)Selles näites on uue käsu nimeks
korrutaIseendaga
. Käsu sisend korrutatakse iseendaga ja tagastatakse käsuga return
. Käsk return
on meetod omaloodud funktsiooni väljundväärtuse saamiseks. Selles peatükis selgitame kõige “ebatavalisemaid” mõisteid, mida käsiraamat sisaldab.
Kraadid mõõdavad nurka ehk pöörde ulatust. Täispööre on 360 kraadi, järelikult poolpööre 180 ja veerandpööre 90 kraadi. Käskude turnleft
, turnright
ja direction
sisend peab olema antud kraadides.
Mõned käsud vajavad sisendit, mõned annavad väljundit, mõned vajavad sisendit ja annavad väljundit ning mõned ei vaja sisendit ega anna ka mingit väljundit.
Mõned näited ainult sisendiga käskudest:
forward 50 pencolor 255,0,0 print "tere!"Käsk
forward
võtab sisendiks 50
. forward
vajab seda sisendit määramaks, mitu pikslit edasi liikuda. pencolor
võtab sisendiks värvikoodi ja print
stringi. Pane tähele, et sisend võib olla ka konteiner, nagu näha järgnevas näites: x = 50 print x str = "tere!" print str
Nüüd mõned näited väljundit andvate käskude kohta:
x = inputwindow "palun kirjuta midagi ja vajuta OK... aitäh!" r = random 1,100Käsk
inputwindow
võtab stringi sisendiks ja annab väljundiks sisestatud arvu või stringi. Nagu näha, on inputwindow
väljund salvestatud konteineris x
. Ka käsk random
annab väljundi. Antud juhul on väljundiks number vahemikus 1 kuni 100. Ka see väljund on salvestatud konteinerisse, milleks siin on r
. Pane tähele, et konteinereid x
ja r
ei ole kasutatud eespool toodud näidiskoodis.Mõned käsud ei vaja sisendit ega anna ka väljundit, näiteks:
clear penup wrapon hide
See KTurtle'i omadus muudab koodi kirjutamise veelgi kergemaks. Esiletõstmine annab kirjutatud koodi osadele erinevad värvid, mis märgivad seda, millist tüüpi koodiga kuskil tegemist on. Järgnevas tabelis on ära toodud erinevad kooditüübid ja värv, millega selliseid osi näitab koodiredaktor.
Tabel 5.1. Erinevad kooditüübid ja nende esiletõstmise värv
tavalised käsud | tumeroheline | Tavalisi käske kirjeldatakse siin. |
täitmise kontrollerid | must (rasvane) | Nende spetsiaalsete käskude täitmist kontrollivate käskude kohta saab põhjalikumalt lugeda siit. |
kommentaarid | tumekollane | Kommenteeritud ridade alguses seisab vastav sümbol (#). Neid ridu koodi täitmisel ignoreeritakse. Kommentaarid lubavad programmeerijal oma koodi selgitada või siis ajutiselt teatud koodiosa täitmata jätta. |
nurksulud [, ] | heleroheline (rasvane) | Nurksulge kasutatakse koodiosade grupeerimiseks. Tihtipeale pruugitakse neid koos täitmise kontrolleritega. |
käsk learn | heleroheline (rasvane) | Käsuga learn saab luua uusi käske. |
numbrid | sinine | Numbrid on numbrid, mis nende kohta ikka rohkem öelda... |
stringid | tumepunane | Ega ka (teksti)stringide kohta pole palju muud öelda, kui et nende alguses ja lõpus on alati topeltjutumärgid ("). |
matemaatilised sümbolid | hall | Need on matemaatiliste tehete sümbolid: +, -, *, /, ( ja ). Loe nende kohta lähemalt siit. |
küsimused | sinine (rasvane) | Küsimuste kohta loe lähemalt siit. |
küsimuste ühendussõnad | roosa | Küsimuste ühendussõnade (and, or, not) kohta loe lähemalt siit. |
tavaline tekst | must |
Piksel on punkt ekraanil. Kui vaatad väga teraselt, näed, et kogu sinu monitori ekraan on piksleid täis. Kõik ekraanil olevad kujutised õigupoolest pikslitest koosnevadki. Piksel ongi kõige väiksem asi, mida saab ekraanile joonistada.
Paljud käsud vajavad sisendina pikslite arvu: forward
, backward
, go
, gox
, goy
, canvassize
ja penwidth
.
RGB värvikoodid tähistavad värve. “R‘ tähendab punast (inglise keeles “red”), “G” rohelist (“green”) ja “B” sinist (’blue”). RGB värvikood on näiteks 255,0,0
, kus esimene ehk punane väärtus on 255 ja teised 0, mis kokku annab erepunase. Iga RGB värvikoodi väärtus peab olema vahemikus 0 kuni 255. Toome siin ära mõned sagedamini kasutust leidvad värvid:
Tabel 5.2. Sagedasemad RGB värvikoodid
0,0,0 | must |
255,255,255 | valge |
255,0,0 | punane |
150,0,0 | tumepunane |
0,255,0 | roheline |
0,0,255 | sinine |
0,255,255 | helesinine |
255,0,255 | roosa |
255,255,0 | kollane |
RGB värvikoodi võimaldab imelihtsalt leida värvivalija. Selle saab avada menüükäsuga ->.
Kaks käsku vajavad sisendina RGB värvikoodi: canvascolor
ja pencolor
.
Sprait on väike pilt, mida saab ekraanil liigutada. Nii on näiteks ka meie armas pisike kilpkonnake sprait.
Märkus: KTurtle'i praeguses versioonis saab sprait olla ainult kilpkonn, aga tulevastes versioonides on loodetavasti võimalik kilpkonn asendada just sulle meelepärase spraidiga.
Murdmist kasutatakse siis, kui kilpkonn joonistab midagi nii suurt, mis ei taha lõuendile ära mahtuda ning murdmine on “sees”.
Murdmise saab sisse ja välja lülitada käskudega wrapon
ja wrapoff
. KTurtle'i käivitamisel on murdmine vaikimisi sees.
Nagu juba mainitud, on programmeerimiskeele Logo suur iseärasus see, et Logo käske saab tõlkida mis tahes keelde. See muudab isegi väikesele lapsele käskude mõistmise päris lihtsaks - peaasi, et ta lugeda oskaks. KTurtle tõlkimisel uude keelde tuleb lisaks tavapärastele rakenduse graafilise liidese stringidele ja dokumentatsioonile ära tõlkida veel mõned failid. Üldiselt saab need automaatselt luua tänu Rafael Beccari skriptidele. Skriptid leiab kataloogist kdeedu/kturtle/scripts
, tõlkimist vajavad failid kataloogist kdeedu/kturtle/data
. Neis kataloogides on ka README-failid, mis sisaldavad juhiseid, kuidas skripte kasutada ja faile tõlkida.
Kõigepealt tuleb luua kataloog, kuhu tõlgitud failid paigutada. Loo oma KDE CVS-kataloogis alamkataloog kde-i18n/
, kus kood
/data/kdeedu/kturtle/kood
on sinu keelekood (2- või 4-täheline ISO kood).
Kopeeri sellesse kataloogi kataloogist kdeedu/kturtle/data/
fail Makefile.am
. Ava see tekstiredaktoris, asenda failis kõik “en_US” oma keelekoodiga (sama, mida kasutasid eespool) ning salvesta fail.
Kopeeri kataloogist kdeedu/kturtle/data/
fail logokeywords.en_US.xml
äsja loodud kataloogi ja anna sellele nimeks logokeywords.
, kus kood
.xmlkood
on sinu riigi kood (2- või 4-täheline ISO kood).
Tõlgi oma keelde sildi <keyword>
sisu, st. info <keyword>
ja </keyword>
vahel kõikjal, kus vähegi võimalik, samuti sildi <alias>
sisu, st. info <alias>
ja </alias>
vahel. Need tekstid on omavahel seotud, sest alias on võtmesõna viidaks.
Nii näiteks tõlgi sõna “while” sildis <keyword>
while</keyword>
.
Palun ära tõlgi midagi muud ja ära tõlgi ka ingliskeelseid sõnu siltides <command name="ingliskeelne_sõna">
. Need peavad jääma ingliskeelseks.
Ja lõpuks: ära muuda failisisest järjekorda - seda läheb vaja Rafael Beccari automaattõlkeskriptidele.
Salvesta oma fail kodeeringus UTF-8 (näiteks Kates vali ja vali failinimest paremal asuvas kastis utf8).
Kanna oma fail CVS-hoidlasse sisse (lisa oma faili nimi faili Makefile.am
) või saada see Anne-Mariele.
Kui sul tekib mingeid küsimusi, võta julgesti ühendust Anne-Marie Mahtoufiga (annemarie.mahfouf AT free.fr)
.
Faili logohighlightstyle.en_US.xml
tõlkimine on imelihtne tänu Rafael Beccari skriptile, mille leiad kataloogist kdeedu/kturtle/data/
. Palun tutvu aga enne seda kindlasti samas kataloogis leiduva README-failiga.
Tagasiühilduvuse huvides ning kõigi nende inimeste rahuldamiseks, kes ei soovi kasutada äsjamainitud imepärast skripti, kirjeldame ka vana tõlkimismeetodit:
Kopeeri kataloogist kdeedu/kturtle/data/
fail logohighlightstyle.en_US.xml
äsja loodud kataloogi ja anna sellele nimeks logokeywords.
, kus kood
.xmlkood
on sinu riigi kood (2- või 4-täheline ISO kood).
Faili neljandal real seisab <language name="en_US">
...: vaheta siin “en_US” välja oma keele ISO koodiga (2 või 4 tähte).
Tõlgi oma keelde sildi <item>
sisu, st. info <item>
ja </item>
vahel. See peab vastama failis logokeyword
olevale sõnale. Näiteks tõlgi “while” sildis <item>
while </item>
ning jäta tühikud muutmata (üks alguses ja üks lõpus). Palun ära tõlgi midagi muud.
Salvesta oma fail kodeeringus UTF-8 (näiteks Kates vali ja vali failinimest paremal asuvas kastis utf8).
Kanna oma fail CVS-hoidlasse sisse (lisa oma faili nimi faili Makefile.am
) või saada see Anne-Mariele.
Kui sul tekib mingeid küsimusi, võta julgesti ühendust Anne-Marie Mahtoufiga (annemarie.mahfouf AT free.fr)
.
Ka siin muudab asja palju lihtsamaks Rafael Beccari skript, mille leiab kataloogist kdeedu/kturtle/data/
. Palun loe aga kindlasti eelnevalt samas kataloogis leiduvat README-faili, sest näidisfailide automaattõlkimise järel on samuti vaja üht-teist ette võtta.
Kui järgisid skriptide kataloogis leiduvas README-failis toodud juhiseid, peaks su töö nüüd suurel määral valmis olema. Ära unusta siiski testimast loodud näidiste koodi, sest vead on väga kerged sisse hiilima. Kontrolli ka, et fail Makefile.am
kataloogis kde-i18n/
arvestaks uute failidega. Näiteks hollandi keele puhul peaks kood
/data/kdeedu/kturtle/Makefile.am
välja nägema selline:
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)
Kirjeldame siin ka seda, kuidas tõlkida ILMA Rafaeli Perli-skripti kasutamata:
Kopeeri kataloogist kdeedu/kturtle/data/
ingliskeelsed näidisefailid kataloogi, kus asuvad tõlgitud võtmesõna- ja esiletõstmise fail. Nimeta failid oma keelde tõlgituna ümber. See aitab kasutajatel taibata, millega on mingi faili puhul tegemist.
Tõlgi näidiste võtmesõnad, kasutades eeskujuks neid, mis on tõlgitud sinu emakeelses failis logokeywords.xml
. Võtmesõnade fail peab olema kindlasti tõlgitud enne näidiste tõlkimise kallale asumist.
Salvesta oma fail kodeeringus UTF-8 (näiteks Kates vali ja vali failinimest paremal asuvas kastis utf8).
Kanna oma kataloog sisse CVS hoidlasse (lisa sellesse Makefile.am
) või saada Anne-Mariele.
Kui sul tekib mingeid küsimusi, võta julgesti ühendust Anne-Marie Mahtoufiga (annemarie.mahfouf AT free.fr)
.
Kui soovid, võid sellesse kataloogi lisada näidiseid ka omalt poolt.
KTurtle
Rakenduse autoriõigus 2003-2005: Cies Breijs (cies AT kde DOT nl)
Kaasautorid:
Koodiabi, redaktorikomponent: Anne-Marie Mahfouf (annma AT kde.org)
“wsbasic” (http://wsbasic.sourceforge.net) looja, mis on aluseks KTurtle'i interpretaatorile: Walter Schreppers (Walter DOT Schreppers AT ua DOT ac DOT be)
Saksa keele andmefailid: Matthias Meßmer (bmlmessmer AT web DOT de)
Saksa keele andmefailid: Burkhard Lück (lueck AT hube-lueck DOT de)
Rootsi keele andmefailid: Stefan Asserhäll (stefan DOT asserhal AT telia DOT com)
Sloveeni keele andmefailid: Jure Repinc (jlp AT holodeck1.com)
Serbia keele (kirillitsa ja ladina) andmefailid: Chusslove Illich (caslav.ilic AT gmx.net)
Itaalia keele andmefailid: Pino Toscano (toscano.pino AT tiscali.it)
Briti inglise keele andmefailid: Andy Potter (A.J.Potter AT rhul.ac.uk)
Hispaania keele andmefailid: Rafael Beccar (rafael.beccar AT kdemail.net)
Brasiilia portugali keele andmefailid: Riverson Rios (riverson AT ccv.ufc.br)
Norra keele (nynorsk ja bokmål) andmefailid: Karl Ove Hufthammer (karl AT huftis.org)
Parseri kirillitsa toetus: Albert Astals Cid (astals11 AT terra.es)
Dokumentatsiooni autoriõigus 2004:
Cies Briej (cies AT kde DOT nl)
Anne-Marie Mahfouf (annma AT kde DOT org)
Mõningane korrektuur: Philip Rodrigues (phil AT kde.org)
Tõlkimise HOWTO uuendamine ja osaline korrektuur: Andrew Coles (andrew_coles AT yahoo DOT co DOT uk)
Tõlge eesti keelde: Marek Laane (bald AT starman.ee)
Käesolev dokumentatsioon on litsenseeritud vastavalt GNU Vaba Dokumentatsiooni Litsentsi tingimustele.
Käesolev programm on litsenseeritud vastavalt GNU Üldise Avaliku Litsentsi tingimustele.
KTurtle on osa KDE projektist http://www.kde.org/.
KTurtle asub paketis kdeedu KDE projekti peamises FTP saidis ftp://ftp.kde.org/pub/kde/.
Et KTurtle oma süsteemis kompileerida ja paigaldada, anna KTurtle baaskataloogis järgmised käsud:
%
./configure
%
make
%
make install
Kuna KTurtle kasutab autoconf'i ja automake'i, ei tohiks kompileerimisel probleeme esineda. Kui neid siiski ette tuleb, anna sellest palun teada KDE meililistides.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team