Warning, /education/kturtle/po/lt/docs/kturtle/programming-reference.docbook is written in an unsupported language. File is not indexed.

0001 <chapter id="reference">
0002 <title
0003 >&turtlescript; žinynas programuotojui</title>
0004 <para
0005 >Čia yra &kturtle; scenarijaus kalbos &turtlescript; žinynas. Pirmoje šio skyriaus dalyje skaitykite apie &turtlescript; programų <link linkend="grammar"
0006 >gramatiką</link
0007 >. Antroje dalyje kalba išskirtinai apie <link linkend="mathematical-operators"
0008 >matematinius veiksmus</link
0009 >, <link linkend="boolean-operators"
0010 >loginius (tiesa/melas) veiksmus</link
0011 > ir <link linkend="comparing-operators"
0012 >sulyginimo veiksmus</link
0013 >. Trečia dalis – tiesiog didžiulis <link linkend="commands"
0014 >komandų</link
0015 > ir jų paaiškinimų sąrašas. Ketvirtoje dalyje aiškinama, kaip <link linkend="assignment-of-variables"
0016 >priskirti</link
0017 > reikšmes <link linkend="assignment-of-variables"
0018 >kintamiesiems</link
0019 >. Pabaigoje – penktoje dalyje –  mes paaiškiname, kaip valdyti komandų vykdymą naudojant <link linkend="controlling-execution"
0020 >vykdymo valdymo sakinius</link
0021 >, o šeštoje dalyje – kaip sukurti savo komandas <link linkend="learn"
0022 >mokantis</link
0023 >.</para>
0024 
0025 <sect1 id="grammar">
0026 <title
0027 >&turtlescript; gramatika</title>
0028 <para
0029 >Kaip ir kitos kalbos, &turtlescript; turi skirtingų tipų žodžių ir simbolių. Lietuvių kalboje mes skiriame veiksmažodžius (tokius kaip „eiti“ ar „dainuoti“) ir daiktavardžius (tokius kaip „sesuo“ ar „namas“). Jie naudojami skirtingiems tikslams. &turtlescript; yra programavimo kalba, kurios pagalba duodamos komandos vėžliukui.</para>
0030 <para
0031 >Šioje dalyje aprašomi keli skirtingi &turtlescript; žodžių tipai ir simboliai. Mes paaiškiname <link linkend="comment"
0032 >komentarus</link
0033 >, <link linkend="command"
0034 >komandas</link
0035 > ir tris skirtingas simbolių rūšis: <link linkend="number"
0036 >skaičius</link
0037 >, <link linkend="string"
0038 >eilutes</link
0039 > ir <link linkend="boolean-value"
0040 >logines (tiesa/melas) reikšmes</link
0041 >.</para>
0042 
0043 
0044 <sect2 id="comment">
0045 <title
0046 >Komentarai</title>
0047 <para
0048 >Programa susideda iš komandų, kurios vykdomos paleidus programą, ir iš taip vadinamų komentarų. Komentarai nėra vykdomi, &kturtle; juos tiesiog ignoruoja. Komentarai rašomi tam, kad kiti programuotojai galėtų geriau suprasti jūsų programą. Viskas, kas rašoma po simbolio <userinput
0049 >#</userinput
0050 > yra laikoma &turtlescript; komentaru. Pavyzdžiui ši maža programa, kuri nieko nedaro: <screen>
0051 # ši programėlė nieko nedaro, tai tik komentaras!
0052 </screen
0053 > Ji yra beprasmiška, bet padeda paaiškinti esmę.</para>
0054 <para
0055 >Komentarai labai praverčia, kai programa tampa šiek tiek sudėtingesnė. Jie gali padėti kitiems programuotojams. Toliau pateikiamoje programoje matomos komandos, kurios naudojamos kartu su komanda <link linkend="print"
0056 >rašyk</link
0057 >. <screen>
0058 # šią programą sukūrė Saulė Binkytė.
0059 rašyk "šis tekstas bus parašytas ant drobės"
0060 # aukščiau esanti eilutė nėra komentaras, bet žemiau esanti – yra:
0061 # rašyk "šis tekstas nebus parašytas!"
0062 </screen
0063 > Pirma eilutė aprašo programą. Antrą eilutę &kturtle; įvykdo ir parašo <userinput
0064 >šis tekstas bus parašytas ant drobės</userinput
0065 > ant drobės. Trečia eilutė yra komentaras. Ketvirta eilutė irgi yra komentaras, kuriame yra gabaliukas &turtlescript; kodo, jei bus pašalintas simbolis <userinput
0066 >#</userinput
0067 >, &kturtle; įvykdys rašymo komandą. Programuotojai sako: rašymo sakinys ketvirtoje eilutėje yra „užkomentuotas“.</para>
0068 <para
0069 ><link linkend="the-editor"
0070 >Kodo rašyklėje</link
0071 > komentarai <glossterm
0072 >paryškinami</glossterm
0073 > šviesiai pilka spalva.</para>
0074 </sect2>
0075 
0076 <sect2 id="command">
0077 <title
0078 >Komandos</title>
0079 <para
0080 >Komandų pagalba jūs nurodote vėžliukui, ką reikia daryti. Kai kurioms komandoms reikia pateikti papildomą informaciją, kitos informaciją parodo. <screen>
0081 # „priekin“ yra komanda, kuriai reikia papildomos informacijos, šiuo atveju skaičiaus 100:
0082 priekin 100
0083 </screen
0084 > Pirma eilutė yra <link linkend="comment"
0085 >komentaras</link
0086 >. Antroje eilutėje yra komanda <userinput
0087 >priekin</userinput
0088 > ir <link linkend="number"
0089 >skaičius</link
0090 > <userinput
0091 >100</userinput
0092 >. Skaičius nėra komandos dalis, tai komandos „įvestis“.</para>
0093 <para
0094 >Kai kurioms komandoms, tokioms kaip <userinput
0095 >eiti</userinput
0096 > reikia daugiau nei vienos reikšmės. Kelios pateikiamos reikšmės turi būti atskirtos simboliu <userinput
0097 >,</userinput
0098 > (kableliu).</para>
0099 <para
0100 >Visų &kturtle; komandų detalesnį aprašymą rasite <link linkend="commands"
0101 >čia</link
0102 >. Įsiūtos komandos <glossterm
0103 >paryškintos</glossterm
0104 > tamsiai mėlyna spalva.</para>
0105 </sect2>
0106 
0107 <sect2 id="number">
0108 <title
0109 >Skaičiai</title>
0110 <para
0111 >Ko gero apie skaičius Jūs žinote nemažai. &kturtle; programoje skaičiai beveik nesiskiria nuo naudojamų Jūsų šnekamojoje kalboje arba matematikoje. </para>
0112 <para
0113 >Čia taip pat naudojami natūralieji skaičiai: <userinput
0114 >0</userinput
0115 >, <userinput
0116 >1</userinput
0117 >, <userinput
0118 >2</userinput
0119 >, <userinput
0120 >3</userinput
0121 >, <userinput
0122 >4</userinput
0123 >, <userinput
0124 >5</userinput
0125 >, ir t.t. Neigiami skaičiai: <userinput
0126 >-1</userinput
0127 >, <userinput
0128 >-2</userinput
0129 >, <userinput
0130 >-3</userinput
0131 >, ir t.t. Ir dešimtainiai skaičiai, pavyzdžiui: <userinput
0132 >0.1</userinput
0133 >, <userinput
0134 >3.14</userinput
0135 >, <userinput
0136 >33.3333</userinput
0137 >, <userinput
0138 >-5.05</userinput
0139 >, <userinput
0140 >-1.0</userinput
0141 >. Trumpeninės skaičiaus dalies atskirimui naudojamas ne kablelis, o taško simbolis (<userinput
0142 >.</userinput
0143 >). </para>
0144 <para
0145 >Skaičiai naudojami <link linkend="mathematical-operators"
0146 >matematiniuose skaičiavimuose</link
0147 > ir <link linkend="comparing-operators"
0148 >palyginimo sąlygose</link
0149 >. Be to, juos galima patalpinti į <link linkend="assignment-of-variables"
0150 >kintamuosius</link
0151 >. Skaičiai <glossterm
0152 >paryškinami</glossterm
0153 > tamsiai raudona spalva.</para>
0154 </sect2>
0155 
0156 <!-- constants like pi? -->
0157 
0158 <sect2 id="string">
0159 <title
0160 >Tekstinės eilutės</title>
0161 <para
0162 >Pirma pavyzdys: <screen>
0163 rašyk "Labas, aš esu tekstinė eilutė."
0164 </screen
0165 > Šiame pavyzdyje <userinput
0166 >rašyk</userinput
0167 > yra komanda, o <userinput
0168 >"Labas, aš esu tekstinė eilutė."</userinput
0169 > tai tekstinė eilutė. Tekstinės eilutės prasideda ir baigiasi ženklu <userinput
0170 >"</userinput
0171 >, tik pagal šiuos ženklus &kturtle; supranta, kad tai tekstinė eilutė.</para>
0172 <para
0173 >Eilutes galima priskirti <link linkend="assignment-of-variables"
0174 >kintamiesiems</link
0175 >, kaip ir <link linkend="number"
0176 >skaičius</link
0177 >. Bet, priešingai nei skaičiai, eilučių negalima naudoti <link linkend="mathematical-operators"
0178 >matematiniuose veiksmuose</link
0179 > ar <link linkend="comparing-operators"
0180 >palyginimo veiksmuose</link
0181 >. Eilutės <glossterm
0182 >paryškinamos</glossterm
0183 > raudonai.</para>
0184 </sect2>
0185 
0186 <sect2 id="boolean-value">
0187 <title
0188 >Loginės (tiesa/melas) reikšmės</title>
0189 <para
0190 >Yra tik dvi loginio tipo reikšmės: <userinput
0191 >taip</userinput
0192 > ir <userinput
0193 >ne</userinput
0194 >. Kartais jos vadinamos: įjungta ir išjungta, tiesa ir melas, vienas ir nulis. Bet &turtlescript; kalboje jos visada vadinamos <userinput
0195 >taip</userinput
0196 > ir <userinput
0197 >ne</userinput
0198 >. Štai &turtlescript; kodo pavyzdys: <screen>
0199 $a = taip
0200 </screen
0201 > Jei pažiūrėsite, kas matosi <link linkend="the-inspector"
0202 >inspektoriuje</link
0203 >, pamatysite, kad <link linkend="assignment-of-variables"
0204 >kintamojo</link
0205 > <userinput
0206 >$a</userinput
0207 > reikšmė yra <userinput
0208 >taip</userinput
0209 >, o jo tipas yra loginis.</para>
0210 <para
0211 >Dažnai loginės reikšmės yra <link linkend="comparing-operators"
0212 >palyginimo veiksmų</link
0213 > rezultatai, kaip pavyzdžiui tokiame &turtlescript; kode: <screen>
0214 $atsakymas = 10 &gt; 3
0215 </screen
0216 > <link linkend="assignment-of-variables"
0217 >Kintamojo</link
0218 > <userinput
0219 >$atsakymas</userinput
0220 > reikšmė yra <userinput
0221 >taip</userinput
0222 >, nes <userinput
0223 >10</userinput
0224 > yra daugiau už <userinput
0225 >3</userinput
0226 >.</para>
0227 <para
0228 >Loginės reikšmės, <userinput
0229 >taip</userinput
0230 > ir <userinput
0231 >ne</userinput
0232 > <glossterm
0233 >paryškinamos</glossterm
0234 > tamsiai raudona spalva.</para>
0235 </sect2>
0236 
0237 </sect1>
0238 
0239 
0240 
0241 <sect1 id="operators">
0242 <title
0243 >Matematiniai, loginiai ir palyginimo operatoriai</title>
0244 <para
0245 >Nors šio skyriaus pavadinimas gali skambėti sudėtingai, iš tiesų jis nėra toks sudėtingas, kaip atrodo.</para>
0246 
0247 <sect2 id="mathematical-operators">
0248 <title
0249 >Matematiniai operatoriai</title>
0250 <para
0251 >Pagrindiniai matematiniai simboliai yra: sudėtis (<userinput
0252 >+</userinput
0253 >), atimtis (<userinput
0254 >-</userinput
0255 >), daugyba (<userinput
0256 >*</userinput
0257 >), dalyba (<userinput
0258 >/</userinput
0259 >) bei kėlimas laipsniu (<userinput
0260 >^</userinput
0261 >).</para>
0262 
0263 <para
0264 >Štai keletas matematinių operatorių, kuriuos galima naudoti &turtlescript;, pavyzdžių: <screen>
0265 $sudėtis  = 1 + 1
0266 $atimtis  = 20 - 5
0267 $daugyba  = 15 * 2
0268 $dalyba   = 30 / 30
0269 $laipsnis = 2 ^ 2
0270 </screen
0271 > Matematinių operacijų rezultatai <link linkend="assignment-of-variables"
0272 >priskiriami</link
0273 > įvairiems <link linkend="assignment-of-variables"
0274 >kintamiesiems</link
0275 >. Jūs galite peržiūrėti reikšmes pasinaudoję <link linkend="the-inspector"
0276 >inspektoriumi</link
0277 >.</para>
0278 <para
0279 >Jei Jums prireiktų paprastų skaičiavimų, tai Jūs galite daryti tiesiog taip: <screen
0280 >rašyk 2010-12
0281 </screen
0282 ></para>
0283 <para
0284 >Dabar skliaustelių naudojimo pavyzdys: <screen>
0285 rašyk ( ( 20 - 5 ) * 2 / 30 ) + 1
0286 </screen
0287 > Pirma bus apskaičiuojamas skliaustelių viduje esantis reiškinys. Šiuo atveju, pirma bus sumuojama 20-5, po to padauginta iš 2, padalyta iš 30, ir tik tada pridėtas 1 (rezultatas bus 2). Skliaustelius galima naudoti ir kitais atvejais.</para>
0288 <para
0289 >&kturtle; turi ir sudėtingesnių matematinių savybių, tokių kaip komandos. Atkreipkite dėmesį į šias komandas, tik turėkite omenyje, kad tai sudėtingesnės operacijos: <link linkend="round"
0290 >apvalink</link
0291 >, <link linkend="random"
0292 >bet_koks</link
0293 >, <link linkend="sqrt"
0294 >šaknis</link
0295 >, <link linkend="pi"
0296 >pi</link
0297 >, <link linkend="sin"
0298 >sin</link
0299 >, <link linkend="cos"
0300 >cos</link
0301 >, <link linkend="tan"
0302 >tg</link
0303 >, <link linkend="arcsin"
0304 >arcsin</link
0305 >, <link linkend="arccos"
0306 >arccos</link
0307 >, <link linkend="arctan"
0308 >arctg</link
0309 >.</para>
0310 </sect2>
0311 
0312 <sect2 id="boolean-operators">
0313 <title
0314 >Loginiai (taip/ne) operatoriai</title>
0315 <para
0316 >Kaip <link linkend="mathematical-operators"
0317 >Matematiniai operatoriai</link
0318 > pagrinde skirti <link linkend="number"
0319 >skaičiams</link
0320 >, taip loginiai operatoriai skirti <link linkend="boolean-value"
0321 >loginėms reikšmėms</link
0322 > (<userinput
0323 >taip</userinput
0324 > ir <userinput
0325 >ne</userinput
0326 >). Yra tik trys loginiai operatoriai: <userinput
0327 >ir</userinput
0328 >, <userinput
0329 >arba</userinput
0330 > ir <userinput
0331 >ne</userinput
0332 >. Toliau pateikiamas &turtlescript; pavyzdys, rodantis, kaip galima naudoti šiuos operatorius: <screen>
0333 $ir_1_1 = taip ir taip # -> taip
0334 $ir_1_0 = taip ir ne   # -> ne
0335 $ir_0_1 = ne ir taip   # -> ne
0336 $ir_0_0 = ne ir ne     # -> ne
0337 
0338 $arba_1_1 = taip arba taip # -> taip
0339 $arba_1_0 = taip arba ne   # -> taip
0340 $arba_0_1 = ne arba taip   # -> taip
0341 $arba_0_0 = ne arba ne     # -> ne
0342 
0343 $ne_1 = ne taip  # -> ne
0344 $ne_0 = ne ne    # -> taip
0345 </screen
0346 > Reikšmes galite pažiūrėti naudodami <link linkend="the-inspector"
0347 >inspektorių</link
0348 >, nors mes pateikėme rezultatus kaip nedidelius komentarus eilučių pabaigose. <userinput
0349 >ir</userinput
0350 > rezultatas yra <userinput
0351 >taip</userinput
0352 > tik tada, jei abi pusės yra <userinput
0353 >taip</userinput
0354 >. <userinput
0355 >arba</userinput
0356 > rezultatas yra <userinput
0357 >taip</userinput
0358 >, jei nors viena iš pusių yra <userinput
0359 >taip</userinput
0360 >. <userinput
0361 >ne</userinput
0362 > keičia <userinput
0363 >taip</userinput
0364 > į <userinput
0365 >ne</userinput
0366 >, o <userinput
0367 >ne</userinput
0368 > į <userinput
0369 >taip</userinput
0370 >.</para>
0371 <para
0372 >Loginiai operatoriai <glossterm
0373 >paryškinami</glossterm
0374 > rožine spalva.</para>
0375 
0376 <sect3 id="boolean-operators-advanced-examples">
0377 <title
0378 >Keletas sudėtingesnių pavyzdžių</title>
0379 <para
0380 >Panagrinėkite šį pavyzdį su <userinput
0381 >ir</userinput
0382 >: <screen>
0383 $a = 1
0384 $b = 5
0385 jei (($a &lt; 10) ir ($b == 5)) ir ($a &lt; $b) {
0386   rašyk "labas"
0387 }
0388 </screen
0389 > Šiame &turtlescript; gabaliuke trijų <link linkend="comparing-operators"
0390 >palyginimo operatorių</link
0391 > rezultatas sujungiamas naudojant <userinput
0392 >ir</userinput
0393 > operatorius. Tai reiškia, kad visi trys turi būti „taip“, tam, kad būtų parašytas tekstas „labas“.</para>
0394 
0395 <para
0396 >Pavyzdys su <userinput
0397 >arba</userinput
0398 >: <screen>
0399 $n = 1
0400 jei ($n &lt; 10) arba ($n == 2) {
0401   rašyk "labas"
0402 }
0403 </screen
0404 > Šiame &turtlescript; kodo gabaliuke, kairės operatoriaus <userinput
0405 >arba</userinput
0406 > pusės reikšmė bus „taip“, dešinės – „ne“. Kadangi vienoje iš <userinput
0407 >arba</userinput
0408 > operatoriaus pusių yra „taip“, <userinput
0409 >arba</userinput
0410 > operatorius grąžina „taip“. Tai reiškia, kad bus parašyta „labas“.</para>
0411 
0412 <para
0413 >Ir pabaigai pavyzdys su <userinput
0414 >ne</userinput
0415 >, kuris keičia „taip“ į „ne“ ir „ne“ į „taip“. Pažiūrėkite: <screen
0416 >$n = 1
0417 jei ne ($n == 3) {
0418   rašyk "labas"
0419 } antraip {
0420   rašyk "ne labas ;-)"
0421 }
0422 </screen
0423 ></para>
0424 </sect3>
0425 </sect2>
0426 
0427 <sect2 id="comparing-operators">
0428 <title
0429 >Palyginimo operatoriai</title>
0430 <para
0431 >Panagrinėkime paprastą palyginimą: <screen>
0432 $atsakymas = 10 &gt; 3
0433 </screen
0434 > Čia <userinput
0435 >10</userinput
0436 > lyginamas su <userinput
0437 >3</userinput
0438 > naudojant operatorių „didesnis už“. Šio palyginimo rezultatas – <link linkend="boolean-value"
0439 >loginė reikšmė</link
0440 > <userinput
0441 >taip</userinput
0442 > – įrašoma į <link linkend="assignment-of-variables"
0443 >kintamąjį</link
0444 > <userinput
0445 >$atsakymas</userinput
0446 >.</para>
0447 <para
0448 >Visi <link linkend="number"
0449 >skaičiai</link
0450 > ir <link linkend="assignment-of-variables"
0451 >kintamieji</link
0452 > (į kuriuos įrašyti skaičiai) gali būti lyginami tarpusavyje naudojant palyginimo operatorius.</para>
0453 <para
0454 >Čia pateikiami visi įmanomi palyginimo operatoriai: <table
0455 > <title
0456 >Klausimų tipai</title
0457 > <tgroup cols="3"
0458 > <tbody
0459 > <row
0460 > <entry
0461 ><userinput
0462 >$A == $B</userinput
0463 ></entry
0464 > <entry
0465 >lygu</entry
0466 > <entry
0467 >atsakymas yra <quote
0468 >taip</quote
0469 >, jei <userinput
0470 >$A</userinput
0471 > lygu <userinput
0472 >$B</userinput
0473 ></entry
0474 > </row
0475 > <row
0476 > <entry
0477 ><userinput
0478 >$A != $B</userinput
0479 ></entry
0480 > <entry
0481 >nelygu</entry
0482 > <entry
0483 >atsakymas yra <quote
0484 >taip</quote
0485 >, jei <userinput
0486 >$A</userinput
0487 > nėra lygu <userinput
0488 >$B</userinput
0489 ></entry
0490 > </row
0491 > <row
0492 > <entry
0493 ><userinput
0494 >$A &gt; $B</userinput
0495 ></entry
0496 > <entry
0497 >daugiau už</entry
0498 > <entry
0499 >atsakymas yra <quote
0500 >taip</quote
0501 >, jei <userinput
0502 >$A</userinput
0503 > yra didesnis už <userinput
0504 >$B</userinput
0505 ></entry
0506 > </row
0507 > <row
0508 > <entry
0509 ><userinput
0510 >$A &lt; $B</userinput
0511 ></entry
0512 > <entry
0513 >mažiau už</entry
0514 > <entry
0515 >atsakymas yra <quote
0516 >taip</quote
0517 >, jei <userinput
0518 >$A</userinput
0519 > yra mažiau už <userinput
0520 >$B</userinput
0521 ></entry
0522 > </row
0523 > <row
0524 > <entry
0525 ><userinput
0526 >$A &gt;= $B</userinput
0527 ></entry
0528 > <entry
0529 >daugiau už arba lygu</entry
0530 > <entry
0531 >atsakymas yra <quote
0532 >taip</quote
0533 >, jei <userinput
0534 >$A</userinput
0535 > yra daugiau už arba lygu <userinput
0536 >$B</userinput
0537 ></entry
0538 > </row
0539 > <row
0540 > <entry
0541 ><userinput
0542 >$A &lt;= $B</userinput
0543 ></entry
0544 > <entry
0545 >mažiau už arba lygu</entry
0546 > <entry
0547 >atsakymas yra <quote
0548 >taip</quote
0549 >, jei <userinput
0550 >$A</userinput
0551 > yra mažiau už arba lygu <userinput
0552 >$B</userinput
0553 ></entry
0554 > </row
0555 > </tbody
0556 > </tgroup
0557 > </table
0558 > Atkreipkite dėmesį, kad $A ir $B turi būti <link linkend="number"
0559 >skaičiai</link
0560 > arba <link linkend="assignment-of-variables"
0561 >kintamieji</link
0562 >, į kuriuos įrašyti skaičiai.</para>
0563 </sect2>
0564 
0565 
0566 </sect1>
0567 
0568 
0569 
0570 <sect1 id="commands">
0571 <title
0572 >Komandos</title>
0573 <para
0574 >Komandomis vėžliukas arba &kturtle; liepiamas atlikti kokius nors veiksmus. Kai kurioms komandoms reikia pateikti argumentus, kai kurios grąžina rezultatą. Šioje skiltyje aprašomos visos &kturtle; naudojamos komandos. Naudodami <link linkend="learn"
0575 >mokymą</link
0576 > galite sukurti savo komandas. Visos čia aprašomos vidinės komandos <glossterm
0577 >paryškinamos</glossterm
0578 > tamsiai mėlyna spalva.</para>
0579 
0580 <sect2 id="moving-the-turtle">
0581 <title
0582 >Vėžliuko stumdymas</title>
0583 <para
0584 >Vėžliuką stumdyti drobėje galima keliomis komandomis.</para>
0585 
0586   <variablelist>
0587     <anchor id="forward"/>
0588     <varlistentry
0589 > 
0590       <term
0591 >priekin (pr)<indexterm
0592 ><primary
0593 >priekin (pr)</primary
0594 ></indexterm
0595 ></term>
0596       <listitem
0597 ><para
0598 ><screen
0599 >priekin X</screen>
0600 Komanda <userinput
0601 >priekin</userinput
0602 > vėžliukas pastumiamas X pikselių į priekį. Jei pieštukas nuleistas, tai vėžliukas paliks pėdsaką. Vietoje komandos <userinput
0603 >priekin</userinput
0604 > galima naudoti jos santrumpą <userinput
0605 >pr</userinput
0606 >.</para
0607 ></listitem>
0608     </varlistentry>
0609   </variablelist>
0610   <variablelist>
0611     <anchor id="backward"/>
0612     <varlistentry
0613 >  
0614       <term
0615 >atgal (at)<indexterm
0616 ><primary
0617 >atgal (at)</primary
0618 ></indexterm
0619 ></term>
0620       <listitem
0621 ><para
0622 ><screen
0623 >atgal X</screen>
0624 Komanda <userinput
0625 >atgal</userinput
0626 > vėžliukas pastumiamas X pikselių atgalios. Jei pieštukas nuleistas, tai vėžliukas paliks pėdsaką. Vietoje komandos <userinput
0627 >atgal</userinput
0628 > galima naudoti jos santrumpą <userinput
0629 >at</userinput
0630 >.</para
0631 ></listitem>
0632     </varlistentry>
0633   </variablelist>
0634   <variablelist>
0635     <anchor id="turnleft"/>
0636     <varlistentry
0637 > 
0638       <term
0639 >kairėn (kr)<indexterm
0640 ><primary
0641 >kairėn (kr)</primary
0642 ></indexterm
0643 ></term>
0644       <listitem
0645 ><para
0646 ><screen
0647 >kairėn X</screen>
0648 Komanda <userinput
0649 >kairėn</userinput
0650 > vėžliukas pasukamas X laipsnių į kairę pusę. Vietoje komandos <userinput
0651 >kairėn</userinput
0652 > galima naudoti jos santrumpą <userinput
0653 >kr</userinput
0654 >.</para
0655 ></listitem>
0656     </varlistentry>
0657   </variablelist>
0658   <variablelist>
0659     <anchor id="turnright"/>
0660     <varlistentry
0661 > 
0662       <term
0663 >dešinėn (dš)<indexterm
0664 ><primary
0665 >dešinėn (dš)</primary
0666 ></indexterm
0667 ></term>
0668       <listitem
0669 ><para
0670 ><screen
0671 >dešinėn X</screen>
0672 Komanda <userinput
0673 >dešinėn</userinput
0674 > vėžliukas pasukamas X laipsnių į dešinę pusę. Vietoje komandos <userinput
0675 >dešinėn</userinput
0676 > galima naudoti jos santrumpą <userinput
0677 >dš</userinput
0678 >.</para
0679 ></listitem>
0680     </varlistentry>
0681   </variablelist>
0682   <variablelist>
0683     <anchor id="direction"/>
0684     <varlistentry
0685 > 
0686       <term
0687 >žvelk (žv)<indexterm
0688 ><primary
0689 >žvelk (žv)</primary
0690 ></indexterm
0691 ></term>
0692       <listitem
0693 ><para
0694 ><screen
0695 >žvelk X</screen>
0696 Komanda <userinput
0697 >žvelk</userinput
0698 > vėžliukas pasukamas X laipsnių kryptimi. Šiuo atveju nėra paisoma prieš tai buvusios vėžliuko krypties, nes  kampas atidedamas nuo nulio laipsnių.  Vietoje komandos <userinput
0699 >žvelk</userinput
0700 > galima naudoti jos santrumpą <userinput
0701 >žv</userinput
0702 >.</para
0703 ></listitem>
0704     </varlistentry>
0705   </variablelist>
0706   <variablelist>
0707     <anchor id="getdirection"/>
0708     <varlistentry
0709 > 
0710       <term
0711 >gauk_kryptį<indexterm
0712 ><primary
0713 >gauk_kryptį</primary
0714 ></indexterm
0715 ></term>
0716       <listitem
0717 ><para
0718 ><screen
0719 >gauk_kryptį</screen>
0720 Komanda <userinput
0721 >gauk_kryptį</userinput
0722 > grąžina vėžliuko kryptį, kaip laipsnių skaičių pradedant nuo nulio. Nulis – tai kryptis, kai vėžliukas žiūri aukštyn.</para
0723 ></listitem>
0724     </varlistentry>
0725   </variablelist>
0726   <variablelist>
0727     <anchor id="center"/>
0728     <varlistentry
0729 > 
0730       <term
0731 >namo<indexterm
0732 ><primary
0733 >namo</primary
0734 ></indexterm
0735 ></term>
0736       <listitem
0737 ><para
0738 ><screen
0739 >namo</screen>
0740 Komanda <userinput
0741 >namo</userinput
0742 > vėžliukas perkeliamas į drobės centrą.</para
0743 ></listitem>
0744     </varlistentry>
0745   </variablelist>
0746   <variablelist>
0747     <anchor id="go"/>
0748     <varlistentry
0749 > 
0750       <term
0751 >eik_x_y<indexterm
0752 ><primary
0753 >eik_x_y</primary
0754 ></indexterm
0755 ></term>
0756       <listitem
0757 ><para
0758 ><screen
0759 >eik_x_y X,Y</screen>
0760 Komanda <userinput
0761 >eik_x_y</userinput
0762 > vėžliukas perkeliamas į nurodytą drobės vietą. Vietos koordinatės nurodomos <glossterm linkend="pixels"
0763 >pikseliais</glossterm
0764 >: skaičius X tai atstumas iki kairiojo drobės krašto, skaičius Y &mdash; iki viršutiniojo drobės krašto.</para
0765 ></listitem>
0766     </varlistentry>
0767   </variablelist>
0768   <variablelist>
0769     <anchor id="gox"/>
0770     <varlistentry
0771 > 
0772       <term
0773 >eik_x<indexterm
0774 ><primary
0775 >eik_x</primary
0776 ></indexterm
0777 ></term>
0778       <listitem
0779 ><para
0780 ><screen
0781 >eik_x X</screen>
0782 Komanda <userinput
0783 >eik_x</userinput
0784 > vėžliukas horizontaliai perkeliamas į tašką, kuris nuo drobės kairiojo krašto yra nutolęs X <glossterm linkend="pixels"
0785 >pikselių</glossterm
0786 >.</para
0787 ></listitem>
0788     </varlistentry>
0789   </variablelist>
0790   <variablelist>
0791     <anchor id="goy"/>
0792     <varlistentry
0793 > 
0794       <term
0795 >eik_y<indexterm
0796 ><primary
0797 >eik_y</primary
0798 ></indexterm
0799 ></term>
0800       <listitem
0801 ><para
0802 ><screen
0803 >eik_y Y</screen>
0804 Komanda <userinput
0805 >eik_y</userinput
0806 > vėžliukas vertikaliai perkeliamas į tašką, kuris nuo drobės viršutiniojo krašto yra nutolęs Y <glossterm linkend="pixels"
0807 >pikselių</glossterm
0808 >.</para
0809 ></listitem>
0810     </varlistentry>
0811   </variablelist>
0812   <note
0813 ><para
0814 >Jei vėžliukas judinamas komandomis <userinput
0815 >eik_x_y</userinput
0816 >, <userinput
0817 >eik_x</userinput
0818 >, <userinput
0819 >eik_y</userinput
0820 > arba <userinput
0821 >namo</userinput
0822 >, tai jis judėdamas pėdsako nepalieka, nežiūrint į tai ar pieštukas yra nuleistas ar atitrauktas.</para>
0823   </note>
0824 </sect2>
0825 
0826 <sect2 id="locate-the-turtle">
0827 <title
0828 >Kur vėžliukas?</title>
0829 <para
0830 >Yra dvi komandos, kurios grąžina drobėje esančio vėžliuko koordinates.</para>
0831 
0832   <variablelist>
0833     <anchor id="getx"/>
0834     <varlistentry
0835 > 
0836       <term
0837 >koks_x<indexterm
0838 ><primary
0839 >koks_x</primary
0840 ></indexterm
0841 ></term>
0842       <listitem
0843 ><para
0844 >Komanda <userinput
0845 >koks_x</userinput
0846 > grąžina dabartinę vėžliuko X koordinatę pikseliais, t.y. jo atstumą iki drobės kairiojo krašto.</para
0847 ></listitem>
0848     </varlistentry>
0849   </variablelist>
0850   <variablelist>
0851     <anchor id="gety"/>
0852     <varlistentry
0853 > 
0854       <term
0855 >koks_y<indexterm
0856 ><primary
0857 >koks_y</primary
0858 ></indexterm
0859 ></term>
0860       <listitem
0861 ><para
0862 >Komanda <userinput
0863 >koks_y</userinput
0864 > grąžina dabartinę vėžliuko Y koordinatę pikseliais, t.y. jo atstumą iki drobės viršutiniojo krašto.</para
0865 ></listitem>
0866     </varlistentry>
0867   </variablelist>
0868 </sect2>
0869 
0870 <sect2 id="pen">
0871 <title
0872 >Vėžliukas turi pieštuką</title>
0873 <para
0874 >Vėžliukas turi pieštuką, juo judėdamas vėžliukas piešia. Pieštuką valdyti galima keliomis komandomis. Apie jas sužinosite šiame skyriuje.</para>
0875   <variablelist>
0876     <anchor id="penup"/>
0877     <varlistentry
0878 > 
0879       <term
0880 >eisim (es)<indexterm
0881 ><primary
0882 >eisim (es)</primary
0883 ></indexterm
0884 ></term>
0885       <listitem
0886 ><para
0887 ><screen
0888 >eisim</screen>
0889 Komanda <userinput
0890 >eisim</userinput
0891 > nuo drobės atitraukiamas pieštukas (t.p. žvilgtelėkite į komandą <userinput
0892 >piešim</userinput
0893 >). Kai pieštukas būna <quote
0894 >atitrauktas</quote
0895 >, tada judėdamas vėžliukas linijos nebrėžia.  Vietoje komandos <userinput
0896 >eisim</userinput
0897 > galima naudoti jos santrumpą <userinput
0898 >es</userinput
0899 >. </para
0900 ></listitem>
0901     </varlistentry>
0902   </variablelist>
0903   <variablelist>
0904     <anchor id="pendown"/>
0905     <varlistentry
0906 > 
0907       <term
0908 >piešim (pš)<indexterm
0909 ><primary
0910 >piešim (pš)</primary
0911 ></indexterm
0912 ></term>
0913       <listitem
0914 ><para
0915 ><screen
0916 >piešim</screen>
0917 Komanda <userinput
0918 >piešim</userinput
0919 > ant drobės nuleidžiamas pieštukas (t.p. žvilgtelėkite į komandą <userinput
0920 >eisim</userinput
0921 >). Kai pieštukas būna <quote
0922 >nuleistas</quote
0923 >, tada judėdamas vėžliukas brėžia linijos.  Vietoje komandos <userinput
0924 >piešim</userinput
0925 > galima naudoti jos santrumpą <userinput
0926 >pš</userinput
0927 >. </para
0928 ></listitem>
0929     </varlistentry>
0930   </variablelist>
0931   <variablelist>
0932     <anchor id="setpenwidth"/>
0933     <varlistentry
0934 > 
0935       <term
0936 >pieštuko_storis (ps)<indexterm
0937 ><primary
0938 >pieštuko_storis (ps)</primary
0939 ></indexterm
0940 ></term>
0941       <listitem
0942 ><para
0943 ><screen
0944 >pieštuko_storis X</screen>
0945 Komanda <userinput
0946 >pieštuko_storis</userinput
0947 > nustatomas X <glossterm linkend="pixels"
0948 >pikselių</glossterm
0949 > storio pieštukas, t.y. brėžiamų linijų storis. Vietoje komandos <userinput
0950 >pieštuko_storis</userinput
0951 > galima naudoti jos santrumpą <userinput
0952 >ps</userinput
0953 >.</para
0954 ></listitem>
0955     </varlistentry>
0956   </variablelist>
0957   <variablelist>
0958     <anchor id="setfgcolor"/>
0959     <varlistentry
0960 > 
0961       <term
0962 >pieštuko_spalva (psp)<indexterm
0963 ><primary
0964 >pieštuko_spalva (psp)</primary
0965 ></indexterm
0966 ></term>
0967       <listitem
0968 ><para
0969 ><screen
0970 >pieštuko_spalva R,Ž,M</screen>
0971 Komanda <userinput
0972 >pieštuko_spalva</userinput
0973 > nustatoma pieštuko spalvas. Šios komandos parametras tai <glossterm linkend="rgb"
0974 >RŽM kombinacija</glossterm
0975 > nusakanti pieštuko spalvą. Vietoje komandos <userinput
0976 >pieštuko_spalva</userinput
0977 > galima naudoti jos santrumpą <userinput
0978 >psp</userinput
0979 >.</para
0980 ></listitem>
0981     </varlistentry>
0982   </variablelist>
0983 </sect2>
0984 
0985 <sect2 id="canvas">
0986 <title
0987 >Drobės valdymo komandos</title>
0988 <para
0989 >Drobę galima valdyti keliomis komandomis.</para>
0990   <variablelist>
0991     <anchor id="resizecanvas"/>
0992     <varlistentry>
0993       <term
0994 >nustatyk_lauko_dydį (nld)<indexterm
0995 ><primary
0996 >nustatyk_lauko_dydį (nld)</primary
0997 ></indexterm
0998 ></term>
0999       <listitem
1000 ><para
1001 ><screen
1002 >nustatyk_lauko_dydį X,Y</screen>
1003 Komanda <userinput
1004 >nustatyk_lauko_dydį</userinput
1005 > keičiamas drobės dydis. Šiai komandai reikia nurodyti du parametrus: drobės plotį X <glossterm linkend="pixels"
1006 >pikseliais</glossterm
1007 >, ir drobės aukštį Y <glossterm linkend="pixels"
1008 >pikseliais</glossterm
1009 >. Vietoje komandos <userinput
1010 >nustatyk_lauko_dydį</userinput
1011 > galima naudoti jos santrumpą <userinput
1012 >nld</userinput
1013 >.</para
1014 ></listitem>
1015     </varlistentry>
1016   </variablelist>
1017   <variablelist>
1018     <anchor id="setbgcolor"/>
1019     <varlistentry
1020 > 
1021       <term
1022 >keisk_foną (kf)<indexterm
1023 ><primary
1024 >keisk_foną (kf)</primary
1025 ></indexterm
1026 ></term>
1027       <listitem
1028 ><para
1029 ><screen
1030 >keisk_foną R,Ž,M</screen>
1031 Komanda <userinput
1032 >keisk_foną</userinput
1033 > keičiama drobės spalva. Šiai komandai, kai parametrą, reikia nurodyti <glossterm linkend="rgb"
1034 >RŽM kombinaciją</glossterm
1035 >. Vietoje komandos <userinput
1036 >keisk_foną</userinput
1037 > galima naudoti jos santrumpą <userinput
1038 >kf</userinput
1039 >.</para
1040 ></listitem>
1041     </varlistentry>
1042   </variablelist>
1043 </sect2>
1044 
1045 <sect2 id="clean">
1046 <title
1047 >Valymo komandos</title>
1048 <para
1049 >Drobėje nubraižytą piešinį ištrinti gali dvi komandos.</para>
1050   <variablelist>
1051     <anchor id="clear"/>
1052     <varlistentry
1053 > 
1054       <term
1055 >valyk (vvl)<indexterm
1056 ><primary
1057 >valyk (vvl)</primary
1058 ></indexterm
1059 ></term>
1060       <listitem
1061 ><para
1062 ><screen
1063 >valyk</screen>
1064 Komanda <userinput
1065 >valyk</userinput
1066 > ištrinami drobėje nupiešti piešiniai. Įvykdžius šią komandą, vėžliuko vieta ir kryptis, jo matomumas, drobės spalva ir dydis lieka nepakitę.</para
1067 ></listitem>
1068     </varlistentry>
1069   </variablelist>
1070   <variablelist>
1071     <anchor id="reset"/>
1072     <varlistentry
1073 > 
1074       <term
1075 >pradžių_pradžia<indexterm
1076 ><primary
1077 >pradžių_pradžia</primary
1078 ></indexterm
1079 ></term>
1080       <listitem
1081 ><para
1082 ><screen
1083 >pradžių_pradžia</screen>
1084 Komanda <userinput
1085 >pradžių_pradžia</userinput
1086 > „valo“ daug daugiau nei komanda <userinput
1087 >valyk</userinput
1088 >. Įvykdžius komandą <userinput
1089 >pradžių_pradžia</userinput
1090 > viskas nustatoma tokią būseną, lyg &kturtle; būtų ką tik startavęs: vėžliukas perkeliamas į drobės vidurį, drobės spalva pakeičiama į baltą, nustatoma juoda pieštuko spalva, nustatoma 400×400 pikselių dydžio drobė.</para
1091 ></listitem>
1092     </varlistentry>
1093   </variablelist>
1094 </sect2>
1095 
1096 <sect2 id="sprites">
1097 <title
1098 >Vėžliukas tai spruklys</title>
1099 <para
1100 >Pirma, kas tas spruklys: spruklys tai mažas, ekrane slankiojantis paveikslėlis, toks, kokius galima dažnai aptikti dvimačiuose žaidimuose. Vėžliukas taip pat yra spruklys. Jei norite sužinoti daugiau, tai skaitykite termino <glossterm linkend="sprites"
1101 >spruklys</glossterm
1102 > išsamesnį paaiškinimą. </para>
1103 <para
1104 >Toliau aprašomos visos komandos, kurios valdo spruklius.</para>
1105 <para
1106 >[Šioje &kturtle; laidoje kol kas dar neįmanoma vėžliuko spruklį pakeisti kitu. Tai bus galima daryti tik ateinančių laidų &kturtle; programose]</para>
1107   <variablelist>
1108     <anchor id="spriteshow"/>
1109     <varlistentry
1110 > 
1111       <term
1112 >rodykis (rd)<indexterm
1113 ><primary
1114 >rodykis (rd)</primary
1115 ></indexterm
1116 ></term>
1117       <listitem
1118 ><para
1119 ><screen
1120 >rodykis</screen>
1121 Paslėptas vėžliukas vėl parodomas komanda <userinput
1122 >rodykis</userinput
1123 >. Vietoje komandos <userinput
1124 >rodykis</userinput
1125 > galima naudoti jos santrumpą <userinput
1126 >rd</userinput
1127 >.</para
1128 ></listitem>
1129     </varlistentry>
1130   </variablelist>
1131   <variablelist>
1132     <anchor id="spritehide"/>
1133     <varlistentry
1134 > 
1135       <term
1136 >slėpkis (sl)<indexterm
1137 ><primary
1138 >slėpkis (sl)</primary
1139 ></indexterm
1140 ></term>
1141       <listitem
1142 ><para
1143 ><screen
1144 >slėpkis</screen>
1145 Vėžliukas paslepiamas įvykdžius komandą <userinput
1146 >slėpkis</userinput
1147 >. Tai paranku, kai, tarkim, vėžliuko <glossterm linkend="sprites"
1148 >spruklys</glossterm
1149 > nebetelpa drobėje. Vietoje komandos <userinput
1150 >slėpkis</userinput
1151 > galima naudoti jos santrumpą <userinput
1152 >sl</userinput
1153 >.</para
1154 ></listitem>
1155     </varlistentry>
1156   </variablelist>
1157 </sect2>
1158 
1159 <sect2 id="writing">
1160 <title
1161 >Ar vėžliukas moka rašyti?</title>
1162 <para
1163 >Atsakymas: <quote
1164 >taip</quote
1165 >. Vėžliukas moka rašyti &mdash; jis parašys viską ką jam liepsite.</para>
1166   <variablelist>
1167     <anchor id="print"/>
1168     <varlistentry
1169 > 
1170       <term
1171 >rašyk<indexterm
1172 ><primary
1173 >rašyk</primary
1174 ></indexterm
1175 ></term>
1176       <listitem
1177 ><para
1178 ><screen
1179 >rašyk X</screen>
1180 Komanda <userinput
1181 >rašyk</userinput
1182 > vėžliukui liepiama drobėje parašyti nurodytą tekstą. Komandai <userinput
1183 >rašyk</userinput
1184 > kaip parametrą galima nurodyti skaičių arba tekstinę eilutę. Jei prireiktų vienu metu parašyti skaičius ir tekstą, juos galima apjungti ženklu <quote
1185 >+</quote
1186 >. Žvilgtelėkite į pavyzdį: <screen
1187 >$metai = 2003
1188 $autorius = "Cies"
1189 rašyk $metai + " metais " + $autorius + " pradėjo kurti KTurtle, ir vis dar mielu noru jį tobulina!"
1190 </screen>
1191       </para
1192 ></listitem>
1193     </varlistentry>
1194   </variablelist>
1195   <variablelist>
1196     <anchor id="fontsize"/>
1197     <varlistentry
1198 > 
1199       <term
1200 >teksto_dydis<indexterm
1201 ><primary
1202 >teksto_dydis</primary
1203 ></indexterm
1204 ></term>
1205       <listitem
1206 ><para
1207 ><screen
1208 >teksto_dydis X</screen>
1209 Komanda <userinput
1210 >teksto_dydis</userinput
1211 > nustatomas teksto, kuris rašomas drobėje naudojant komandą <userinput
1212 >rašyk</userinput
1213 >, šrifto dydis. Komandos <userinput
1214 >teksto_dydis</userinput
1215 > parametras tai būsimo teksto aukštis <glossterm linkend="pixels"
1216 >pikseliais</glossterm
1217 >.</para
1218 ></listitem>
1219     </varlistentry>
1220   </variablelist>
1221 </sect2>
1222 
1223 <sect2 id="math-commands">
1224 <title
1225 >Matematinės komandos</title>
1226 <para
1227 >Šios komandos yra kiek sudėtingesnės &kturtle; matematinės komandos.</para>
1228   <variablelist>
1229     <anchor id="round"/>
1230     <varlistentry>
1231       <term
1232 >apvalink<indexterm
1233 ><primary
1234 >apvalink</primary
1235 ></indexterm
1236 ></term>
1237       <listitem
1238 ><para
1239 ><screen
1240 >apvalink(x)</screen>
1241 Komanda <userinput
1242 >apvalink</userinput
1243 > skaičių apvalina iki jo sveikosios dalies. <screen>
1244 rašyk apvalink(10.8)
1245 pirmyn 20
1246 rašyk apvalink(10.3)
1247 </screen
1248 > Paleidus šį kodą, drobėje bus parašyti skaičiai 11 ir 10.</para
1249 ></listitem>
1250     </varlistentry>
1251   </variablelist>
1252   <variablelist>
1253     <anchor id="random"/>
1254     <varlistentry
1255 > 
1256       <term
1257 >bet_koks (bk)<indexterm
1258 ><primary
1259 >bet_koks (bk)</primary
1260 ></indexterm
1261 ></term>
1262       <listitem
1263 ><para
1264 ><screen
1265 >bet_koks X,Y</screen>
1266 Komanda <userinput
1267 >random</userinput
1268 > reikalauja parametrų ir grąžina rezultatą. Kaip parametrus reikia nurodyti du skaičius: pirmasis (X) nurodo rezultato minimumą, o antrasis (Y) &mdash; maksimumą. Komanda grąžins atsitiktinį skaičių, kuris gali būti ne mažesnis nei minimumas ir ne didesnis nei maksimumas. Štai pavyzdys: <screen>
1269 kartok 500 {
1270   $x = bet_koks 1,20
1271   priekin $x
1272   kairėn 10 - $x
1273 }
1274 </screen
1275 > Programa, kurioje naudosite komandą <userinput
1276 >bet_koks</userinput
1277 >, Jūs galite sukelti šiokį tokį chaosą.</para
1278 ></listitem>
1279     </varlistentry>
1280   </variablelist>
1281   <variablelist>
1282     <anchor id="mod"/>
1283     <varlistentry
1284 > 
1285       <term
1286 >mod<indexterm
1287 ><primary
1288 >mod</primary
1289 ></indexterm
1290 ></term>
1291       <listitem
1292 ><para
1293 ><screen
1294 >mod X,Y</screen>
1295 Komanda <userinput
1296 >mod</userinput
1297 > grąžina pirmo skaičiaus dalinimo iš antrojo liekaną.</para
1298 ></listitem>
1299     </varlistentry>
1300   </variablelist>
1301   <variablelist>
1302     <anchor id="sqrt"/>
1303     <varlistentry
1304 > 
1305       <term
1306 >šaknis<indexterm
1307 ><primary
1308 >šaknis</primary
1309 ></indexterm
1310 ></term>
1311       <listitem
1312 ><para
1313 ><screen
1314 >šaknis X</screen>
1315 Komanda <userinput
1316 >šaknis</userinput
1317 > naudojama skaičiaus X kvadratinei šakniai suskaičiuoti.</para
1318 ></listitem>
1319     </varlistentry>
1320   </variablelist>
1321 <!--
1322   <variablelist>
1323     <anchor id="exp"/>
1324     <varlistentry
1325 > 
1326       <term
1327 >exp<indexterm
1328 ><primary
1329 >exp</primary
1330 ></indexterm
1331 ></term>
1332       <listitem
1333 ><para
1334 ><screen
1335 >sqrt X</screen>
1336       </para
1337 ></listitem>
1338     </varlistentry>
1339   </variablelist>
1340 -->
1341   <variablelist>
1342     <anchor id="pi"/>
1343     <varlistentry
1344 > 
1345       <term
1346 >pi<indexterm
1347 ><primary
1348 >pi</primary
1349 ></indexterm
1350 ></term>
1351       <listitem
1352 ><para
1353 ><screen
1354 >pi</screen>
1355 Ši komanda grąžina Pi konstantą – <userinput
1356 >3.14159</userinput
1357 >.</para
1358 ></listitem>
1359     </varlistentry>
1360   </variablelist>
1361   <variablelist>
1362     <anchor id="sin"/>
1363     <anchor id="cos"/>
1364     <anchor id="tan"/>
1365     <varlistentry>
1366       <term
1367 >sin<indexterm
1368 ><primary
1369 >sin</primary
1370 ></indexterm
1371 >, cos<indexterm
1372 ><primary
1373 >cos</primary
1374 ></indexterm
1375 >, tg<indexterm
1376 ><primary
1377 >tg</primary
1378 ></indexterm
1379 ></term>
1380       <listitem
1381 ><para>
1382 <screen
1383 >sin X
1384 cos X
1385 tg X
1386 </screen>
1387 Šios komandos – tai visame pasaulyje įžymiosios trigonometrinės funkcijos <userinput
1388 >sin</userinput
1389 >, <userinput
1390 >cos</userinput
1391 > ir <userinput
1392 >tg</userinput
1393 >. Šių komandų argumentas X yra <link linkend="number"
1394 >skaičius</link
1395 >.</para
1396 ></listitem>
1397     </varlistentry>
1398   </variablelist>
1399   <variablelist>
1400     <anchor id="arcsin"/>
1401     <anchor id="arccos"/>
1402     <anchor id="arctan"/>
1403     <varlistentry>
1404       <term
1405 >arcsin<indexterm
1406 ><primary
1407 >arcsin</primary
1408 ></indexterm
1409 >, arccos<indexterm
1410 ><primary
1411 >arccos</primary
1412 ></indexterm
1413 >, arctg<indexterm
1414 ><primary
1415 >arctg</primary
1416 ></indexterm
1417 ></term>
1418       <listitem
1419 ><para>
1420 <screen
1421 >arcsin X
1422 arccos X
1423 arctg X
1424 </screen>
1425 Šios komandos yra atvirkštinės anksčiau aprašytoms <link linkend="sin"
1426 >sin</link
1427 >, <link linkend="cos"
1428 >cos</link
1429 > ir <link linkend="tan"
1430 >tg</link
1431 >. Komandos argumentas X yra <link linkend="number"
1432 >skaičius</link
1433 >.</para
1434 ></listitem>
1435     </varlistentry>
1436   </variablelist>
1437 </sect2>
1438 
1439 <sect2 id="dialogs">
1440 <title
1441 >Užklausa ir atsakas naudojant dialogus</title>
1442 <para
1443 >Dialogas tai mažas iššokantis langelis, duodantis kokį nors atsaką programos naudotojui arba prašantis naudotojo įvesti duomenis. &kturtle; programoje yra dvi dialogų komandos: <userinput
1444 >pranešimas</userinput
1445 > ir <userinput
1446 >klausk</userinput
1447 >.</para>
1448   <variablelist>
1449     <anchor id="message"/>
1450     <varlistentry
1451 > 
1452       <term
1453 >pranešimas<indexterm
1454 ><primary
1455 >pranešimas</primary
1456 ></indexterm
1457 ></term>
1458       <listitem
1459 ><para
1460 ><screen
1461 >pranešimas X</screen>
1462 Komandai <userinput
1463 >pranešimas</userinput
1464 > reikia nurodyti parametrą &mdash; <link linkend="string"
1465 >tekstinę eilutę</link
1466 >. Šis tekstas bus rodomas komandos atvertame lange. <screen
1467 >pranešimas "2003 metais Cies pradėjo kurti KTurtle, ir vis dar mielu noru jį tobulina!"
1468 </screen>
1469       </para
1470 ></listitem>
1471     </varlistentry>
1472   </variablelist>
1473   <variablelist>
1474     <anchor id="ask"/>
1475     <varlistentry
1476 > 
1477       <term
1478 >klausk<indexterm
1479 ><primary
1480 >klausk</primary
1481 ></indexterm
1482 ></term>
1483       <listitem
1484 ><para
1485 ><screen
1486 >klausk X</screen>
1487 Komandai <userinput
1488 >klausk</userinput
1489 > reikia nurodyti parametrą &mdash; <link linkend="string"
1490 >tekstinę eilutę</link
1491 >. Ši komanda, panašiai kaip ir komanda <link linkend="message"
1492 >pranešimas</link
1493 >, atvers langą su nurodytu tekstu. Be to, atvertame lange bus dar ir įvesties laukelis, į kurį naudotojas galės įvesti <link linkend="number"
1494 >skaičių</link
1495 > arba <link linkend="string"
1496 >tekstinę eilutę</link
1497 >. Naudotojui uždarius langą, įvestieji duomenys bus patalpinti <link linkend="assignment-of-variables"
1498 >kintamajame</link
1499 > arba perduoti kaip argumentas <link linkend="commands"
1500 >komandai</link
1501 >. Pavyzdžiui <screen>
1502 $gauta = klausk "Kada tu gimei?"
1503 $metai = 2011 - $gauta
1504 rašyk "2011-taisiais tau buvo " + $metai + " metų."
1505 </screen
1506 > Jei naudotojas atšauks dialogą, arba jį užvers nieko neįvedęs, tai <link linkend="assignment-of-variables"
1507 >kintamasis</link
1508 > bus ištuštintas.</para
1509 ></listitem>
1510     </varlistentry>
1511   </variablelist>
1512 </sect2>
1513 
1514 </sect1>
1515 
1516 
1517 
1518 <sect1 id="assignment-of-variables">
1519 <title
1520 >Kintamųjų reikšmių priskyrimas</title>
1521 <para
1522 >Pirma pakalbėkime apie kintamuosius, o tada – apie reikšmių jiems priskyrimą. </para>
1523 
1524 <para
1525 >Kintamieji – tai žodžiai, prasidedantys simboliu <quote
1526 >$</quote
1527 >, <link linkend="the-editor"
1528 >rašyklėje</link
1529 > jie <glossterm
1530 >paryškinami</glossterm
1531 > purpurine spalva.</para>
1532 
1533 <para
1534 >Į kintamąjį gali būti įrašytas bet koks <link linkend="number"
1535 >skaičius</link
1536 >, <link linkend="string"
1537 >tekstinė eilutė</link
1538 > arba <link linkend="boolean-value"
1539 >loginė (taip/ne) reikšmė</link
1540 >. Naudojant priskyrimą <userinput
1541 >=</userinput
1542 >, kintamąjam suteikiama reikšmė. Ši reikšmė bus saugoma tol, kol programa baigia darbą arba kol kintamajam nepriskiriama kita reikšmė.</para>
1543 
1544 <para
1545 >Po to, kai kintamajam priskirta reikšmė, galite jį naudoti lygiai taip pat, kaip ir pačią reikšmę. Pavyzdžiui šioje &turtlescript; kodo ištraukoje: <screen>
1546 $x = 10
1547 $x = $x / 3
1548 rašyk $x
1549 </screen
1550 > Visų pirma kintamajam <userinput
1551 >$x</userinput
1552 > priskiriama reikšmė <userinput
1553 >10</userinput
1554 >. Tada kintamojo <userinput
1555 >$x</userinput
1556 > reikšmė keičiama į jo paties reikšmę, padalintą iš <userinput
1557 >3</userinput
1558 > &mdash; tai realiai reiškia, kad kintamajam <userinput
1559 >$x</userinput
1560 > priskiriama reikšmė <userinput
1561 >10 / 3</userinput
1562 >. Galų gale <userinput
1563 >$x</userinput
1564 > reikšmė yra parašoma. Antroje ir trečioje eilutėje kintamasis <userinput
1565 >$x</userinput
1566 > naudojamas tarsi jis būtų jo reikšmė.</para>
1567 
1568 <para
1569 >Norint naudoti kintamuosius, jiems reikia priskirti reikšmę. Pavyzdys: <screen>
1570 rašyk $N
1571 </screen
1572 > Tai nieko neparašys ir Jūs gausite pranešimą apie klaidą.</para>
1573 
1574 <para
1575 >Panagrinėkite šį &turtlescript; kodą: <screen>
1576 $a = 2004
1577 $b = 25
1578 
1579 # tolesnė komanda parašys „2029“
1580 rašyk $a + $b
1581 atgal 30
1582 # tolesnė komanda parašys „2004 plius 25 lygu 2029“
1583 rašyk $a + " plius " + $b + " lygu " + ($a + $b)
1584 </screen
1585 > Pirmose dviejose eilutėse kintamiesiems <userinput
1586 >$a</userinput
1587 > ir <userinput
1588 >$b</userinput
1589 > buvo priskirtos vertės 2004 ir 25. Tada vykdomos dvi komandos <userinput
1590 >rašyk</userinput
1591 > su tarp jų įrašyta <userinput
1592 >atgal 30</userinput
1593 >. Komentarai prieš komandas <userinput
1594 >rašyk</userinput
1595 > paaiškina, ką jos daro. Komanda <userinput
1596 >atgal 30</userinput
1597 > buvo naudota tam, kad tolesnis tekstas būtų rašomas naujoje eilutėje. Šiame pavyzdyje Jūs matėte, kad kintamuosius galima naudoti tarsi jie būtų jų reikšmės, juos galite naudoti su bet kokiais <link linkend="operators"
1598 >operatoriais</link
1599 > arba panaudoti juos kaip argumentus kviečiant <link linkend="commands"
1600 >komandas</link
1601 >.</para>
1602 
1603 <para
1604 >Dar vienas pavyzdys: <screen>
1605 $vardas = klausk "Koks tavo vardas?"
1606 rašyk "Labas " + $vardas + "! Sėkmės mokantis programavimo meno..."
1607 </screen
1608 > Gan paprasta. Vėlgi galite pastebėti, kad kintamasis <userinput
1609 >$vardas</userinput
1610 > naudojamas tarsi tai būtų tekstinė eilutė.</para>
1611 
1612 <para
1613 >Naudojant kintamuosius, labai naudingas įrankis yra <link linkend="the-inspector"
1614 >inspektorius</link
1615 >. Jis parodo visų šiuo metu naudojamų kintamųjų turinį.</para>
1616 </sect1>
1617 
1618 
1619 
1620 <sect1 id="controlling-execution">
1621 <title
1622 >Vykdymo valdymas</title>
1623 <para
1624 >Valdymo procedūromis galima valdyti programos vykdymo eigą.</para>
1625 <para
1626 >Valdymo procedūros <glossterm
1627 >paryškinamos</glossterm
1628 > tamsiai žalios spalvos pusjuodžiu šriftu. Kartu su vykdymo valdymo komandomis dažniausiai naudojami ir skliausteliai, kurie <glossterm
1629 >paryškinami</glossterm
1630 > juoda spalva.</para>
1631 
1632 <sect2 id="wait">
1633 <title
1634 >Priverskite vėžliuką luktelėti</title>
1635 <para
1636 >Programuodami &kturtle; programa, Jūs tikriausiai pastebėjot tai, kad vėžliukas labai greitai piešia. Šia komanda Jūs priversite vėžliuką luktelėti nurodytą laikotarpį.</para>
1637   <variablelist>
1638     <varlistentry>
1639       <term
1640 >lauk<indexterm
1641 ><primary
1642 >lauk</primary
1643 ></indexterm
1644 ></term>
1645       <listitem
1646 ><para
1647 ><screen
1648 >lauk X</screen>
1649 Komanda <userinput
1650 >lauk</userinput
1651 > vėžliuką priverčia luktelėti X sekundžių. <screen>
1652 kartok 36 {
1653   priekin 5
1654   dešinėn 10
1655   lauk 0.5
1656 }
1657 </screen
1658 > Šiuo kodu brėžiamas apskritimas, tačiau ties kiekvienu žingsniu vėžliukas pusei sekundės stabtelėja. Tai sudaro lėtai judančio vėžliuko įspūdį.</para
1659 ></listitem>
1660     </varlistentry>
1661   </variablelist>
1662 </sect2>
1663 
1664 <sect2 id="if">
1665 <title
1666 >Vykdyk „jei“</title>
1667   <variablelist>
1668     <varlistentry>
1669       <term
1670 >jei<indexterm
1671 ><primary
1672 >jei</primary
1673 ></indexterm
1674 ></term>
1675       <listitem
1676 ><para
1677 ><screen
1678 >jei <link linkend="boolean-value"
1679 >loginė reikšmė</link
1680 > { ... }</screen>
1681 Kodas, esantis tarp skliaustelių, bus vykdomas tik <userinput
1682 >jei</userinput
1683 > <link linkend="boolean-value"
1684 >loginė reikšmė</link
1685 > bus <quote
1686 >taip</quote
1687 >. <screen>
1688 $x = 6
1689 jei $x &gt; 5 {
1690   rašyk "x yra didesnis nei penki!"
1691 }
1692 </screen
1693 > Pirmoje eilutėje kintamajam <userinput
1694 >$x</userinput
1695 > priskirtas 6. Antroje eilutėje panaudotas <link linkend="comparing-operators"
1696 >palyginimo operatorius</link
1697 >, tikrinant ar <userinput
1698 >$x &gt; 5</userinput
1699 >. Kadangi sąlygos atsakymas yra <quote
1700 >taip</quote
1701 > – 6 tikrai daugiau už 5 – tai vykdomas tarp valdymo procedūros <userinput
1702 >jei</userinput
1703 > skliaustelių esantis kodas.</para
1704 ></listitem>
1705     </varlistentry>
1706   </variablelist>
1707 </sect2>
1708 
1709 <sect2 id="else">
1710 <title
1711 >Jei ne, kitaip tariant: „antraip“</title>
1712   <variablelist>
1713     <varlistentry>
1714       <term
1715 >antraip<indexterm
1716 ><primary
1717 >antraip</primary
1718 ></indexterm
1719 ></term>
1720       <listitem
1721 ><para
1722 ><screen
1723 >jei <link linkend="boolean-value"
1724 >loginė reikšmė</link
1725 > { ... } else { ... }</screen>
1726 <userinput
1727 >antraip</userinput
1728 > naudojamas kartu su valdymo procedūra <link linkend="if"
1729 ><userinput
1730 >jei</userinput
1731 ></link
1732 >. Kodas, esantis tarp skliaustelių einančių po <userinput
1733 >antraip</userinput
1734 >, vykdomas tik tada, jei <link linkend="boolean-value"
1735 >loginė reikšmė</link
1736 > yra <quote
1737 >ne</quote
1738 >. <screen>
1739 pradžių_pradžia
1740 $x = 4
1741 jei $x &gt; 5 {
1742   rašyk "$x yra didesnis nei penki!"
1743 } antraip {
1744   rašyk "$x yra mažesnis nei šeši!"
1745 }
1746 </screen
1747 > <link linkend="comparing-operators"
1748 >Palyginimo operatorius</link
1749 > tikrina, ar <userinput
1750 >$x &gt; 5</userinput
1751 >. Kadangi 4 nėra didesnis už 5, tai sąlygos atsakymas yra <quote
1752 >ne</quote
1753 >. Tai reiškia kad bus vykdomas kodas, esantis po <userinput
1754 >antraip</userinput
1755 > einančiuose skliausteliuose.</para
1756 ></listitem>
1757     </varlistentry>
1758   </variablelist>
1759 </sect2>
1760 
1761 <sect2 id="while">
1762 <title
1763 >Ciklas „kol“</title>
1764   <variablelist>
1765     <varlistentry>
1766       <term
1767 >kol<indexterm
1768 ><primary
1769 >kol</primary
1770 ></indexterm
1771 ></term>
1772       <listitem
1773 ><para
1774 ><screen
1775 >kol <link linkend="boolean-value"
1776 >loginė reikšmė</link
1777 > { ... }</screen>
1778 Valdymo procedūra <userinput
1779 >kol</userinput
1780 > labai panaši į <link linkend="if"
1781 ><userinput
1782 >jei</userinput
1783 ></link
1784 >. Skirtumas tik tas, kad <userinput
1785 >kol</userinput
1786 > kartoja tarp skliaustelių esantį kodą tol, kol <link linkend="boolean-value"
1787 >loginė reikšmė</link
1788 > būna <quote
1789 >taip</quote
1790 >. <screen>
1791 $x = 1
1792 kol $x &lt; 5 {
1793   priekin 10
1794   lauk 1
1795   $x = $x + 1
1796 }
1797 </screen
1798 > Pirmoje eilutėje kintamajam <userinput
1799 >$x</userinput
1800 > priskiriamas 1. Antroje tikrinama, ar <userinput
1801 >$x &lt; 5</userinput
1802 >. Kadangi atsakymas į šį klausimą yra <quote
1803 >taip</quote
1804 >, tai valdymo procedūra <userinput
1805 >kol</userinput
1806 > vykdo jos skliausteliuose esantį kodą tol, kol <userinput
1807 >$x &lt; 5</userinput
1808 > bus <quote
1809 >ne</quote
1810 >. Šiuo atveju kodas tarp skliaustelių bus įvykdytas 4 kartus, nes kiekvieną kartą įvykdžius penktą eilutę kintamojo <userinput
1811 >$x</userinput
1812 > reikšmė didinama vienetu.</para
1813 ></listitem>
1814     </varlistentry>
1815   </variablelist>
1816 </sect2>
1817 
1818 <sect2 id="repeat">
1819 <title
1820 >Ciklas „kartok“</title>
1821   <variablelist>
1822     <varlistentry>
1823       <term
1824 >kartok<indexterm
1825 ><primary
1826 >kartok</primary
1827 ></indexterm
1828 ></term>
1829       <listitem
1830 ><para
1831 ><screen
1832 >kartok <link linkend="number"
1833 >skaičius</link
1834 > { ... }</screen>
1835 Valdymo procedūra <userinput
1836 >kartok</userinput
1837 > yra labai panaši į <link linkend="while"
1838 ><userinput
1839 >kol</userinput
1840 ></link
1841 >. Skirtumas tik tas, kad procedūra <userinput
1842 >kartok</userinput
1843 > tarp skliaustelių esantį kodą kartoją nurodytą skaičių kartų.</para
1844 ></listitem>
1845     </varlistentry>
1846   </variablelist>
1847 </sect2>
1848 
1849 <sect2 id="for">
1850 <title
1851 >Skaičiuojantysis ciklas „nuo“</title>
1852   <variablelist>
1853     <varlistentry>
1854       <term
1855 >nuo<indexterm
1856 ><primary
1857 >nuo</primary
1858 ></indexterm
1859 ><indexterm
1860 ><primary
1861 >kas</primary
1862 ></indexterm
1863 ></term>
1864       <listitem
1865 ><para
1866 ><screen
1867 >nuo <link linkend="assignment-of-variables"
1868 >kintamasis</link
1869 > = <link linkend="number"
1870 >skaičius</link
1871 > iki <link linkend="number"
1872 >skaičius</link
1873 > { ... }</screen>
1874 Ciklas <userinput
1875 >nuo</userinput
1876 > tai <quote
1877 >skaičiuojantysis ciklas</quote
1878 >, t.y. jis keičia Jūsų nurodyto kintamojo vertę. Pirmo ciklo metu kintamajam priskiriama pirmoji reikšmė. Kiekvieno kito ciklo metu kintamojo reikšmė didinama ir ciklai kartojami tol, kol pasiekiama antroji reikšmė. <screen>
1879 nuo $x = 1 iki 10 {
1880   rašyk $x * 7
1881   priekin 15
1882 }
1883 </screen
1884 > Kiekvieną kartą vykdant tarp skliaustelių esantį kodą, <userinput
1885 >$x</userinput
1886 > kaskart padidėja vienetu tol, kol <userinput
1887 >$x</userinput
1888 > vertė tampa 10. Skliausteliuose esantis kodas spausdina <userinput
1889 >$x</userinput
1890 > ir 7 sandaugą. Įvykdžius šia programą, drobėje bus parašyta septinių daugybos lentelė. </para>
1891      <para
1892 >Numatytasis ciklo žingsnis yra 1, kitokį žingsnį galima nustatyti su <screen
1893 >nuo <link linkend="assignment-of-variables"
1894 >kintamasis</link
1895 > = <link linkend="number"
1896 >skaičius</link
1897 > iki <link linkend="number"
1898 >skaičius</link
1899 > kas <link linkend="number"
1900 >skaičius</link
1901 > { ... }</screen
1902 ></para
1903 ></listitem>
1904     </varlistentry>
1905   </variablelist>
1906 </sect2>
1907 
1908 <sect2 id="break">
1909 <title
1910 >Ciklo nutraukimas</title>
1911   <variablelist>
1912     <varlistentry>
1913       <term
1914 >baik<indexterm
1915 ><primary
1916 >baik</primary
1917 ></indexterm
1918 ></term>
1919       <listitem
1920 ><para
1921 ><screen
1922 >baik</screen>
1923 Tuoj pat nutraukia dabartinį ciklą, ir vykdymą nukreipia po šio ciklo einančiai komandai.</para
1924 ></listitem>
1925     </varlistentry>
1926   </variablelist>
1927 </sect2>
1928 
1929 <sect2 id="exit">
1930 <title
1931 >Nutraukti jūsų programos vykdymą</title>
1932   <variablelist>
1933     <varlistentry>
1934       <term
1935 >stabdyk<indexterm
1936 ><primary
1937 >stabdyk</primary
1938 ></indexterm
1939 ></term>
1940       <listitem
1941 ><para
1942 ><screen
1943 >stabdyk</screen>
1944 Baigia jūsų programos vykdymą.</para
1945 ></listitem>
1946     </varlistentry>
1947   </variablelist>
1948 </sect2>
1949 </sect1>
1950 
1951 
1952 <sect1 id="learn">
1953 
1954 
1955 <!--<sect2 id="name">
1956 <title
1957 >Names</title>
1958 <para
1959 >When using the &turtlescript; programming language you create new things. If you write a program you will often need <link linkend="containers"
1960 >containers</link
1961 > and in some cases you need <link linkend="learn"
1962 >learn</link
1963 > to create new commands. When making a new command with <link linkend="learn"
1964 >learn</link
1965 > you will have to specify a name.</para>
1966 <para
1967 >You can choose any name, as long as it does not already have a meaning. For instance you cannot name a function <link linkend="forward"
1968 >forward</link
1969 >, since that name is already used for an internal command.
1970 <screen
1971 >
1972 # here forward is used as a new command, 
1973 # but it already has a meaning so 
1974 # this will produce an error:
1975 learn forward {
1976   print "this is invalid"
1977 }
1978 
1979 # this works:
1980 learn myforward {
1981   print "this is ok"
1982 }
1983 </screen>
1984 Names can contain only letters, numbers and underscores (_). Yet they have to start with a letter. Container names have to start with the container prefix ($).
1985 <screen
1986 >
1987 # here forward is used as a container, 
1988 # starting with the $ prefix, so it does
1989 # not conflict with the forward command
1990 $forward = 20
1991 print $forward
1992 </screen>
1993 </para>
1994 <para
1995 >Containers are <glossterm
1996 >highlighted</glossterm
1997 > with bolded purple in the <link linkend="the-editor"
1998 >code editor</link
1999 >.</para>
2000 <para>
2001 Please read the documentation on <link linkend="containers"
2002 >containers</link
2003 > and the <link linkend="learn"
2004 >learn</link
2005 > command for a better explanation and more examples.
2006 </para>
2007 </sect2
2008 >-->
2009 
2010 
2011 
2012 
2013 
2014 <title
2015 >Kurkite savas komandas komanda <quote
2016 >išmok</quote
2017 ></title>
2018 <para
2019 ><userinput
2020 >išmok</userinput
2021 > yra ypatinga komanda, nes ja galima kurti savas komandas. Sukurtosios komandos gali reikalauti <glossterm linkend="input-output"
2022 >parametrų</glossterm
2023 > ir grąžinti <glossterm linkend="input-output"
2024 >rezultatą</glossterm
2025 >. Štai kaip kuriama nauja komanda: <screen>
2026 išmok apskritimas $x {
2027   kartok 36 {
2028     priekin $x
2029     kairėn 10
2030   }
2031 }
2032 </screen
2033 > Naujosios komandos pavadinimas yra <userinput
2034 >apskritimas</userinput
2035 >. <userinput
2036 >apskritimas</userinput
2037 > reikalauja vieno <glossterm linkend="input-output"
2038 >parametro</glossterm
2039 > &mdash; skaičiaus, nurodančio apskritimo dydį. <userinput
2040 >apskritimas</userinput
2041 > negrąžina <glossterm linkend="input-output"
2042 >rezultato</glossterm
2043 >. Dabar, komandą <userinput
2044 >apskritimas</userinput
2045 > galima naudoti kaip ir bet kurią kitą komandą. Žvilgtelėkit į šį pavyzdį: <screen
2046 >išmok apskritimas $X {
2047   kartok 36 {
2048     priekin $X 
2049     kairėn 10 
2050   }
2051 }
2052 
2053 eik_x_y 200,200 
2054 apskritimas 20
2055 
2056 eik_x_y 300,200 
2057 apskritimas 40  
2058 </screen>
2059 </para>
2060 <para
2061 >Kitame pavyzdyje sukuriama komanda, kuri grąžina rezultatą. <screen>
2062 išmok faktorialas $x {
2063   $r = 1
2064   nuo $i = 1 iki $x {
2065     $r = $r * $i
2066   }
2067   grąžink $r
2068 }
2069 
2070 rašyk faktorialas 5
2071 </screen
2072 > Šiame pavyzdyje kviečiama naujai sukurta komanda, pavadinta <userinput
2073 >faktorialas</userinput
2074 >. Jei šios komandos argumentas yra <userinput
2075 >5</userinput
2076 >, tai rezultatas yra <userinput
2077 >5*4*3*2*1</userinput
2078 >. Naudojant <userinput
2079 >grąžink</userinput
2080 >, nurodoma <glossterm linkend="input-output"
2081 >grąžinama</glossterm
2082 > reikšmė ir baigiamas naujos komandos vykdymas.</para>
2083 <para
2084 >Komanda gali turėti daugiau nei vieną <glossterm linkend="input-output"
2085 >argumentą</glossterm
2086 >. Kitame pavyzdyje sukuriama komanda, kuri braižo keturkampį: <screen>
2087 išmok keturkampis $x, $y {
2088   priekin $y
2089   dešinėn 90
2090   priekin $x
2091   dešinėn 90
2092   priekin $y
2093   dešinėn 90
2094   priekin $x
2095   dešinėn 90
2096 }
2097 </screen
2098 > Dabar, įvykdžius <userinput
2099 >keturkampis 50, 100</userinput
2100 >, vėžliukas drobėje nubrėš keturkampį. </para>
2101   
2102 </sect1>
2103 
2104 </chapter>