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

0001 <chapter id="reference">
0002 <title
0003 >Referenca e  Programimit për &turtlescript;</title>
0004 <para
0005 >Kjo është referenca për gjuhën &turtlescript; të &kturtle;. Në pjesën e parë të këtij kapitulli do të hedhim një vështrim në disa aspekte të <link linkend="grammar"
0006 >gramatikës</link
0007 > së gjuhës &turtlescript;. Pjesa e dytë merret veçanërisht me <link linkend="mathematical-operators"
0008 >veprimet matematikore</link
0009 >, <link linkend="boolean-operators"
0010 >veprimet logjike (e vërtetë / e rreme)</link
0011 > dhe <link linkend="comparing-operators"
0012 >veprimet krahasuese</link
0013 >. Pjesa e tretë është në thelb një listë gjigante e të gjitha <link linkend="commands"
0014 >komandave</link
0015 >, me shpjegimet përkatëse për secilën prej tyre. Pjesa e katërt shpjegon se si u <link linkend="assignment-of-variables"
0016 >jepen vlera</link
0017 > <link linkend="assignment-of-variables"
0018 >ndryshoreve</link
0019 > . Së fundi, në pjesën e pestë shpjegojmë se si organizohet zbatimi i komandave me <link linkend="controlling-execution"
0020 >deklarimet për kontrollin e zbatimit</link
0021 >, dhe në pjesën e gjashtë si mund të krijoni ju vetë komandat tuaja me anë të deklarimit <link linkend="learn"
0022 >mëso</link
0023 >.</para>
0024 
0025 <sect1 id="grammar">
0026 <title
0027 >Gramatika e &turtlescript;</title>
0028 <para
0029 >Si çdo gjuhë, &turtlescript; ka lloje të ndryshme fjalësh dhe simbolesh. Në shqip ne bëjmë dallim midis foljeve (si 'të ecësh' apo 'të këndosh') dhe emrave (si 'motër' apo 'shtëpi'); ato përdoren për qëllime të ndryshme. &turtlescript; është një gjuhë programimi; ajo përdoret për të udhëzuar &kturtle; çfarë të bëjë.</para>
0030 <para
0031 >Në këtë seksion shpjegohen shkurtimisht disa prej llojeve të ndryshme të fjalëve dhe simboleve të &turtlescript;-it. Do shpjegojmë <link linkend="comment"
0032 >komentet</link
0033 >, <link linkend="command"
0034 >komandat</link
0035 > dhe tre lloje të ndryshme vlerash: <link linkend="number"
0036 >numrat</link
0037 >, <link linkend="string"
0038 >vargjet</link
0039 > dhe <link linkend="boolean-value"
0040 >vlerat logjike (e vërtetë / e rreme)</link
0041 > .</para>
0042 
0043 
0044 <sect2 id="comment">
0045 <title
0046 >Komentet</title>
0047 <para
0048 >Një program përbëhet nga udhëzimet (apo komandat) që zbatohen kur programi niset, dhe të ashtuquajturat 'komente'. Komentet nuk zbatohen, &kturtle; thjesht i injoron ato gjatë zbatimit të programit tuaj. Komentet janë për programuesit e tjerë, për t'i bërë ata të kuptojnë më mirë programin tuaj. Çdo gjë që pason një simbol <userinput
0049 >#</userinput
0050 > konsiderohet si koment në &turtlescript;. Për shembull, ky program i vogël që nuk bën asgjë: <screen>
0051 # Ky program i vogël është vetëm një koment dhe nuk bën asgjë!
0052 </screen
0053 > Ai është i padobishëm por e shpjegon çështjen mirë.</para>
0054 <para
0055 >Komentet bëhen shumë të dobishëm kur programi bëhet pak më i komplikuar. Ato mund të ndihmojnë për të dhënë disa këshilla për programuesit e tjerë. Në programin e mëposhtëm ju shihni komente që përdoren bashkë me komandën <link linkend="print"
0056 >shtyp</link
0057 >. <screen>
0058 # Ky program është bërë nga Cies Breijs.
0059 shkruaj "ky tekst do të shkruhet në tabelë"
0060 # rreshti më sipër nuk është një koment, por rreshti pasues është:
0061  # shkruaj "ky tekst nuk do të shkruhet!"
0062 </screen
0063 > Rreshti i parë përshkruan programin. Rreshti i dytë zbatohet nga &kturtle; dhe shkruan në tabelën e vizatimit: <userinput
0064 >ky tekst do të shkruhet në tabelë</userinput
0065 >. Rreshti i tretë është një koment. Dhe rreshti i katërt është një koment i cili përmban një copë &turtlescript;. Në qoftë se simboli <userinput
0066 >#</userinput
0067 > do të hiqet në rreshtin e katërt, komanda e shkrimit do të zbatohet nga &kturtle;. Programuesit thonë: komanda e shkrimit në vijën e katërt është 'komentuar'.</para>
0068 <para
0069 >Rreshtat e komentuar <glossterm
0070 >theksohen</glossterm
0071 > me ngjyrë gri të hapur në <link linkend="the-editor"
0072 >shkrimore</link
0073 > .</para>
0074 </sect2>
0075 
0076 <sect2 id="command">
0077 <title
0078 >Komandat</title>
0079 <para
0080 >Duke përdorur komandat ju i tregoni breshkës ose &kturtle; të bëj diçka. Disa komanda nevojë të marrin parametra, disa nxjerrin rezultate. <screen>
0081 # ec_përpara është  një komandë që merr një parametër, në këtë rast numrin 100:
0082 ec_përpara 100
0083 </screen
0084 > Rreshti i parë është një <link linkend="comment"
0085 >koment</link
0086 >. Rreshti i dytë përmban komandën <userinput
0087 >ec_përpara</userinput
0088 > dhe <link linkend="number"
0089 >numrin</link
0090 > <userinput
0091 >100</userinput
0092 >. Numri nuk është pjesë e komandës, por konsiderohet si një 'input' ose 'marrje' për komandën.</para>
0093 <para
0094 >Për një pasqyrë të detajuar të të gjitha komandave që pranon &kturtle; shkoni te <link linkend="commands"
0095 >lista e komandave</link
0096 > . Komandat e veta (ose të brendshme) janë <glossterm
0097 >të theksuara</glossterm
0098 > në ngjyrë blu të errët.</para>
0099 </sect2>
0100 
0101 <sect2 id="number">
0102 <title
0103 >Numrat</title>
0104 <para
0105 >Ka shumë mundësi që ju e dini mjaft mirë se ç'janë numrat. Mënyra si përdoren numrat në &kturtle; nuk ndryshon shumë nga gjuha e folur, apo nga matematika. </para>
0106 <para
0107 >Kemi numrat e ashtuquajtur natyrorë: <userinput
0108 >0</userinput
0109 >, <userinput
0110 >1</userinput
0111 >, <userinput
0112 >2</userinput
0113 >, <userinput
0114 >3</userinput
0115 >, <userinput
0116 >4</userinput
0117 >, <userinput
0118 >5</userinput
0119 >, etj. Numrat negativë: <userinput
0120 >-1</userinput
0121 >, <userinput
0122 >-2</userinput
0123 >, <userinput
0124 >-3</userinput
0125 >, etj. Dhe numrat me pikë dhjetore, për shembull: <userinput
0126 >0.1</userinput
0127 >, <userinput
0128 >3.14</userinput
0129 >, <userinput
0130 >33.3333</userinput
0131 >, <userinput
0132 >-5.05</userinput
0133 >, <userinput
0134 >-1.0</userinput
0135 >. </para>
0136 <para
0137 >Numrat mund të përdoren në <link linkend="mathematical-operators"
0138 >veprimet matematikore</link
0139 > dhe <link linkend="comparing-operators"
0140 >veprimet krahasuese</link
0141 >. Po ashtu ata mund të ruhen në <link linkend="assignment-of-variables"
0142 >ndryshore</link
0143 >. Numrat <glossterm
0144 >theksohen</glossterm
0145 > me të kuqe të errët.</para>
0146 </sect2>
0147 
0148 <!-- constants like pi? -->
0149 
0150 <sect2 id="string">
0151 <title
0152 >Vargjet</title>
0153 <para
0154 >Së pari një shembull: <screen>
0155 shkruaj "Përshëndetje, unë jam një varg."
0156 </screen
0157 > Në këtë shembull <userinput
0158 >shkruaj</userinput
0159 > është një urdhër (komandë), ku <userinput
0160 >"Përshëndetje, unë jam një varg."</userinput
0161 > është një varg. Vargjet fillojnë dhe mbarojnë me shenjën <userinput
0162 >"</userinput
0163 >, nga këto shenja &kturtle; e di se është një varg.</para>
0164 <para
0165 >Vargjet mund të vihet në <link linkend="assignment-of-variables"
0166 >ndryshore</link
0167 >, ashtu si <link linkend="number"
0168 >numrat</link
0169 >. Megjithatë, ndryshe nga numrat, vargjet nuk mund të përdoren në <link linkend="mathematical-operators"
0170 >veprimet matematikore</link
0171 > ose në <link linkend="comparing-operators"
0172 >veprimet krahasuese</link
0173 > . Vargjet <glossterm
0174 >theksohen</glossterm
0175 > me të kuqe.</para>
0176 </sect2>
0177 
0178 <sect2 id="boolean-value">
0179 <title
0180 >Vlerat e vërtetësisë (e vërtetë / e rreme)</title>
0181 <para
0182 >Ka vetëm dy vlera vërtetësie: <userinput
0183 >e vërtetë</userinput
0184 > dhe <userinput
0185 >e rreme</userinput
0186 >. Nganjëherë ato quhen edhe: ndezur dhe fikur, po dhe jo, një dhe zero. Por në &turtlescript; ne i quajmë ato gjithmonë, <userinput
0187 >e_vërtetë</userinput
0188 > dhe <userinput
0189 >e_rreme</userinput
0190 >. Hidhini një sy në kësaj pjese &turtlescript;: <screen>
0191 $a = e_vërtetë
0192 </screen
0193 > Nëse shikoni në <link linkend="the-inspector"
0194 >shqyrtues</link
0195 > ju mund të vini re se <link linkend="assignment-of-variables"
0196 > ndryshores </link
0197 ><userinput
0198 >$a</userinput
0199 > i është dhënë vlera<userinput
0200 >e_vërtetë</userinput
0201 >, dhe është e tipit vërtetësi.</para>
0202 <para
0203 >Shpesh vlerat e vërtetësisë janë rezultat i një <link linkend="comparing-operators"
0204 >veprimi krahasues</link
0205 >, si në pjesën &turtlescript; më poshtë: <screen>
0206 $përgjigje = 10 &gt; 3
0207 </screen
0208 > <link linkend="assignment-of-variables"
0209 >Ndryshorja</link
0210 ><userinput
0211 >$përgjigje</userinput
0212 > merr vlerën <userinput
0213 >e_vërtetë</userinput
0214 > sepse numri <userinput
0215 >10</userinput
0216 > është më i madh se numri <userinput
0217 >3</userinput
0218 >.</para>
0219 <para
0220 >Vlerat e vërtetësisë, <userinput
0221 >e_vërtetë</userinput
0222 > dhe <userinput
0223 >e_rreme</userinput
0224 > <glossterm
0225 >theksohen</glossterm
0226 > me të kuqe të errët.</para>
0227 </sect2>
0228 
0229 </sect1>
0230 
0231 
0232 
0233 <sect1 id="operators">
0234 <title
0235 >Veprimet matematikore dhe krahasuese</title>
0236 <para
0237 >Titulli i kësaj pjese mund të tingëllojë pak si i vështirë, por në fakt nuk është aq e vështirë sa duket.</para>
0238 
0239 <sect2 id="mathematical-operators">
0240 <title
0241 >Veprimet matematike</title>
0242 <para
0243 >Këto janë simbolet themelore matematike të njohur si: mbledhje (<userinput
0244 >+</userinput
0245 >), zbritje (<userinput
0246 >-</userinput
0247 >), shumëzim ( <userinput
0248 >*</userinput
0249 >), pjesëtim (<userinput
0250 >/</userinput
0251 > ) dhe ngritje në fuqi (<userinput
0252 >^</userinput
0253 >).</para>
0254 
0255 <para
0256 >Ja një shembull i vogël i veprimeve matematikore që ju mund të përdorni në &turtlescript;: <screen>
0257 $mbledhje = 1 + 1
0258 $zbritje = 20 - 5
0259 $shumëzim = 15 * 2
0260 $pjesëtim = 30 / 30
0261 $fuqi = 2 ^ 2
0262 </screen
0263 > Vlerat që përftohen nga këto veprime matematikore <link linkend="assignment-of-variables"
0264 >u janëcaktuar disa ndryshoreve</link
0265 >. Duke përdorur <link linkend="the-inspector"
0266 >shqyrtuesin</link
0267 > ju mund të shihni vlerat e këtyre ndryshoreve.</para>
0268 <para
0269 >Nëse doni të bëni vetëm një llogaritje të thjeshtë, mund të bëni diçka të tillë: <screen
0270 >shkruaj 2010-12
0271 </screen
0272 ></para>
0273 <para
0274 >Tani një shembull me kllapa: <screen>
0275 shkruaj ( (20 - 5) * 2 / 30) + 1
0276 </screen
0277 > Shprehjet brenda kllapave do të llogariten të parat. Në këtë shembull, do të llogaritet fillimisht 20-5, pastaj do të shumëzohet me 2, do të pjesëtohet me 30, dhe pastaj do t'i shtohet 1 (duke dhënë 2). Kllapat mund të përdoren edhe në raste të tjera.</para>
0278 <para
0279 >&kturtle; ka edhe veçori më të përparuara matematikore, në formën e komandave. Hidhuni një sy komandave të mëposhtme, por të jenë të vetëdijshëm se kanë lidhje me veprime të përparuara: <link linkend="round"
0280 >rrumbullakos</link
0281 >, <link linkend="random"
0282 >rastësisht</link
0283 >, <link linkend="sqrt"
0284 >sqrt</link
0285 >, <link linkend="pi"
0286 >pi</link
0287 >, <link linkend="sin"
0288 >sin</link
0289 >, <link linkend="cos"
0290 >cos</link
0291 >, <link linkend="tan"
0292 >tan</link
0293 >, <link linkend="arcsin"
0294 >arcsin</link
0295 >, <link linkend="arccos"
0296 >arccos</link
0297 >, <link linkend="arctan"
0298 >arctan</link
0299 >.</para>
0300 </sect2>
0301 
0302 <sect2 id="boolean-operators">
0303 <title
0304 >Veprimet logjike të vërtetësisë (e vërtetë / e rreme)</title>
0305 <para
0306 >Ndërsa <link linkend="mathematical-operators"
0307 >veprimet matematikore</link
0308 > janë kryesisht për <link linkend="number"
0309 >numrat</link
0310 >, veprimet logjike janë për <link linkend="boolean-value"
0311 >vlerat e vërtetësisë</link
0312 > (<userinput
0313 >e_vërtetë</userinput
0314 > dhe <userinput
0315 >e_rreme</userinput
0316 >). Ka vetëm tre veprime logjike, të cilat janë: <userinput
0317 >edhe</userinput
0318 >, <userinput
0319 >ose</userinput
0320 >, dhe <userinput
0321 >jo</userinput
0322 >. Fragmenti &turtlescript; i mëposhtëm tregon se si përdoren ato: <screen>
0323 $edhe_1_1 = e_vërtetë edhe e_vërtetë # -> e_vërtetë
0324 $edhe_1_0 = e_vërtetë edhe e_rreme   # -> e_rreme
0325 $edhe_0_1 = e_rreme edhe e_vërtetë   # -> e_rreme
0326 $edhe_0_0 = e_rreme edhe e_rreme     # -> e_rreme
0327 
0328 $ose_1_1 = e_vërtetë ose e_vërtetë # -> e_vërtetë
0329 $ose_1_0 = e_vërtetë ose e_rreme   # -> e_vërtetë
0330 $ose_0_1 = e_rreme ose e_vërtetë   # -> e_vërtetë
0331 $ose_0_0 = e_rreme ose e_rreme     # -> e_rreme
0332 
0333 $jo_1 = jo e_vërtetë   # -> e_rreme
0334 $jo_0 = jo e_rreme     # -> e_vërtetë
0335 </screen
0336 > Duke përdorur <link linkend="the-inspector"
0337 >shqyrtuesin</link
0338 > ju mund të shihni vlerat e ndryshoreve, por rezultatet e veprimeve janë dhënë gjithashtu si komente të vogla në fund të rreshtave. Veprimi <userinput
0339 >edhe</userinput
0340 > jep vlerën <userinput
0341 >e_vërtetë</userinput
0342 > vetëm nëse të dyja anët kanë vlerën <userinput
0343 >e_vërtetë</userinput
0344 >. Veprimi <userinput
0345 >ose</userinput
0346 > jep vlerën <userinput
0347 >e_vërtetë</userinput
0348 > kur të paktën njëra anë është <userinput
0349 >e_vërtetë</userinput
0350 >. Kurse veprimi <userinput
0351 >jo</userinput
0352 > kthen vlerën <userinput
0353 >e_vërtetë</userinput
0354 > në <userinput
0355 >e_rreme</userinput
0356 > dhe vlerën <userinput
0357 >e_rreme</userinput
0358 > në <userinput
0359 >e_vërtetë</userinput
0360 >.</para>
0361 <para
0362 >Veprimet logjike <glossterm
0363 >theksohen</glossterm
0364 > me rozë.</para>
0365 
0366 <sect3 id="boolean-operators-advanced-examples">
0367 <title
0368 >Disa shembuj më të përparuar</title>
0369 <para
0370 >Shqyrtoni shembullin e mëposhtme me <userinput
0371 >edhe</userinput
0372 >: <screen>
0373 $a = 1
0374 $b = 5
0375 nëse (($a &lt; 10) edhe ($b == 5)) edhe ($a &lt; $b) {
0376   shkruaj "tungjatjeta"
0377 }
0378 </screen
0379 > Në këto rreshta &turtlescript;, përfundimet e tre <link linkend="comparing-operators"
0380 >veprimeve krahasuese</link
0381 > janë bashkuar me anë të veprimit <userinput
0382 >edhe</userinput
0383 >. Kjo do të thotë që të treja duhet të japin vlerën "e_vërtetë", me qëllim që të shkruhet "tungjatjeta".</para>
0384 
0385 <para
0386 >Një shembull me <userinput
0387 >ose</userinput
0388 >: <screen>
0389 $n = 1
0390 nëse ($n &lt; 10) ose ($n == 2) {
0391   shkruaj "tungjatjeta"
0392 }
0393 </screen
0394 > Në këto rreshta &turtlescript;, ana e majtë e veprimit <userinput
0395 >ose</userinput
0396 > merr vlerën 'e_vërtetë', ana e djathtë vlerën 'e_rreme'. Meqë njëra nga të dy anët e veprimit <userinput
0397 >ose</userinput
0398 > është 'e_vërtetë', vlera që jep veprimi <userinput
0399 >ose</userinput
0400 > është 'e_vërtetë'. Kjo do të thotë që "tungjatjeta" do të shkruhet.</para>
0401 
0402 <para
0403 >Dhe në fund një shembull me veprimin <userinput
0404 >jo</userinput
0405 >, i cili vlerën 'e_vërtetë' e bën 'e_rreme', dhe vlerën 'e_rreme' e bën 'e_vërtetë'. Hidhini një sy: <screen
0406 >$n = 1
0407 nëse jo ($n == 3) {
0408   shkruaj "Shëndet!"
0409 } përndryshe {
0410   shkruaj "Plaç! ;-)"
0411 }
0412 </screen
0413 ></para>
0414 </sect3>
0415 </sect2>
0416 
0417 <sect2 id="comparing-operators">
0418 <title
0419 >Veprimet krahasuese</title>
0420 <para
0421 >Shikoni këtë krahasim të thjeshtë: <screen>
0422 $përgjigje = 10 &gt; 3
0423 </screen
0424 > Këtu numri <userinput
0425 >10</userinput
0426 > krahasohet me numrin <userinput
0427 >3 </userinput
0428 > me anë të veprimit krahasues 'më i madh se'. Rezultati i këtij krahasimi, <link linkend="boolean-value"
0429 >vlera logjike</link
0430 > <userinput
0431 >e_vërtetë</userinput
0432 >, ruhet në <link linkend="assignment-of-variables"
0433 >ndryshoren</link
0434 > <userinput
0435 >$përgjigje</userinput
0436 >.</para>
0437 <para
0438 >Të gjithë <link linkend="number"
0439 >numrat</link
0440 > dhe <link linkend="assignment-of-variables"
0441 >ndryshoret</link
0442 > (që përmbajnë numra) mund të krahasohen me njëri-tjetrin me anë të veprimeve krahasuese.</para>
0443 <para
0444 >Këtu janë të gjitha veprimet krahasuese të mundshme: <table
0445 > <title
0446 >Llojet e pyetjeve</title
0447 > <tgroup cols="3"
0448 > <tbody
0449 > <row
0450 > <entry
0451 ><userinput
0452 >$A == $B</userinput
0453 ></entry
0454 > <entry
0455 >e barabartë</entry
0456 > <entry
0457 >përgjigja është <quote
0458 >e_vërtetë</quote
0459 > nëse <userinput
0460 >$A</userinput
0461 > është e barabartë me <userinput
0462 >$B</userinput
0463 ></entry
0464 > </row
0465 > <row
0466 > <entry
0467 ><userinput
0468 >$A != $B</userinput
0469 ></entry
0470 > <entry
0471 >e ndryshme </entry
0472 > <entry
0473 >përgjigja është <quote
0474 >e_vërtetë</quote
0475 > nëse <userinput
0476 >$A</userinput
0477 > është e ndryshme nga <userinput
0478 >$B</userinput
0479 ></entry
0480 > </row
0481 > <row
0482 > <entry
0483 ><userinput
0484 >$A &gt; $B</userinput
0485 ></entry
0486 > <entry
0487 >më e madhe</entry
0488 > <entry
0489 >përgjigja është <quote
0490 >e_vërtetë</quote
0491 > nëse <userinput
0492 >$A</userinput
0493 > është më e madhe se <userinput
0494 >$B</userinput
0495 ></entry
0496 > </row
0497 > <row
0498 > <entry
0499 ><userinput
0500 >$A &lt; $B</userinput
0501 ></entry
0502 > <entry
0503 >më e vogël</entry
0504 > <entry
0505 >përgjigja është <quote
0506 >e_vërtetë</quote
0507 > nëse <userinput
0508 >$A</userinput
0509 > është më e vogël se <userinput
0510 >$B</userinput
0511 ></entry
0512 > </row
0513 > <row
0514 > <entry
0515 ><userinput
0516 >$A &gt;= $B</userinput
0517 ></entry
0518 > <entry
0519 >më e madhe baraz</entry
0520 > <entry
0521 >përgjigja është <quote
0522 >e_vertetë</quote
0523 > nëse <userinput
0524 >$A</userinput
0525 > është më e madhe ose e barabartë me <userinput
0526 >$B</userinput
0527 ></entry
0528 > </row
0529 > <row
0530 > <entry
0531 ><userinput
0532 >$A &lt;= $B</userinput
0533 ></entry
0534 > <entry
0535 >më e vogël baraz</entry
0536 > <entry
0537 >përgjigja është <quote
0538 >e_vërtetë</quote
0539 > nëse <userinput
0540 >$A</userinput
0541 > është më e vogël ose e barabartë më <userinput
0542 >$B</userinput
0543 ></entry
0544 > </row
0545 > </tbody
0546 > </tgroup
0547 > </table
0548 > Mos harroni se $A dhe $B duhet të jenë <link linkend="number"
0549 >numra</link
0550 > ose <link linkend="assignment-of-variables"
0551 >ndryshore</link
0552 > që përmbajnë numra.</para>
0553 </sect2>
0554 
0555 
0556 </sect1>
0557 
0558 
0559 
0560 <sect1 id="commands">
0561 <title
0562 >Komandat</title>
0563 <para
0564 >Duke përdorur komandat ju i tregoni breshkës ose &kturtle; të bëjë diçka. Disa komanda kanë nevojë për të marrë të dhëna, disa nxjerrin rezultate. Në këtë ndarje do të shpjegojmë të gjitha komandat e veta (të brendshme) të &kturtle;. Nga ana tjetër, duke përdorur <link linkend="learn"
0565 >mëso</link
0566 >, ju mund të krijoni komandat tuaj. Komandat e veta për të cilat do të flasim këtu <glossterm
0567 >theksohen</glossterm
0568 > me ngjyrë blu të errët.</para>
0569 
0570 <sect2 id="moving-the-turtle">
0571 <title
0572 >Lëvizja e breshkës</title>
0573 <para
0574 >Ka komanda të ndryshme për ta lëvizur breshkën mbi ekran.</para>
0575 
0576   <variablelist>
0577     <anchor id="forward"/>
0578     <varlistentry
0579 > 
0580       <term
0581 >ec_përpara (pp)<indexterm
0582 ><primary
0583 >ec_përpara (pp)</primary
0584 ></indexterm
0585 ></term>
0586       <listitem
0587 ><para
0588 ><screen
0589 >ec_përpara X</screen>
0590 <userinput
0591 >ec_përpara X</userinput
0592 > e lëviz breshkën përpara me një sasi prej X pikësh. Kur lapsi është i ulur, breshka lë një gjurmë (bën një vijë) gjatë lëvizjes. <userinput
0593 > ec_përpara</userinput
0594 > mund të shkurtohet si <userinput
0595 >pp</userinput
0596 ></para
0597 ></listitem>
0598     </varlistentry>
0599   </variablelist>
0600   <variablelist>
0601     <anchor id="backward"/>
0602     <varlistentry
0603 >  
0604       <term
0605 >ec_mbrapsht (mb)<indexterm
0606 ><primary
0607 >ec_mbrapsht (mb)</primary
0608 ></indexterm
0609 ></term>
0610       <listitem
0611 ><para
0612 ><screen
0613 >ec_mbrapsht X</screen>
0614 <userinput
0615 >ec_mbrapsht X</userinput
0616 > e lëviz breshkën mbrapa me një sasi prej X pikësh. Kur lapsi është i ulur, breshka lë një gjurmë (bën një vijë) gjatë lëvizjes. <userinput
0617 >ec_mbrapsht</userinput
0618 > mund të shkurtohet si <userinput
0619 >mb</userinput
0620 >.</para
0621 ></listitem>
0622     </varlistentry>
0623   </variablelist>
0624   <variablelist>
0625     <anchor id="turnleft"/>
0626     <varlistentry
0627 > 
0628       <term
0629 >kthehu_majtas (mj)<indexterm
0630 ><primary
0631 >kthehu_majtas (mj)</primary
0632 ></indexterm
0633 ></term>
0634       <listitem
0635 ><para
0636 ><screen
0637 >kthehu_majtas X</screen>
0638 <userinput
0639 >kthehu_majtas</userinput
0640 > i thotë breshkës që të kthehet me një madhësi prej X gradësh në të majtë. <userinput
0641 >kthehu_majtas</userinput
0642 > mund të shkurtohet si <userinput
0643 >mj</userinput
0644 >.</para
0645 ></listitem>
0646     </varlistentry>
0647   </variablelist>
0648   <variablelist>
0649     <anchor id="turnright"/>
0650     <varlistentry
0651 > 
0652       <term
0653 >kthehu_djathtas (dj)<indexterm
0654 ><primary
0655 >kthehu_djathtas (dj)</primary
0656 ></indexterm
0657 ></term>
0658       <listitem
0659 ><para
0660 ><screen
0661 >kthehu_djathtas X</screen>
0662 <userinput
0663 >kthehu_djathtas</userinput
0664 > i thotë breshkës që të kthehet me një madhësi prej X gradësh në të djathtë. <userinput
0665 >kthehu_djathtas</userinput
0666 > mund të shkurtohet si <userinput
0667 >dj</userinput
0668 >.</para
0669 ></listitem>
0670     </varlistentry>
0671   </variablelist>
0672   <variablelist>
0673     <anchor id="direction"/>
0674     <varlistentry
0675 > 
0676       <term
0677 >drejtimi (drj)<indexterm
0678 ><primary
0679 >drejtimi (drj)</primary
0680 ></indexterm
0681 ></term>
0682       <listitem
0683 ><para
0684 ><screen
0685 >drejtimi X</screen>
0686 <userinput
0687 >drejtimi</userinput
0688 > cakton drejtimin e breshkës me një madhësi prej X gradësh duke filluar nga drejtimi zero, dhe kështu që nuk ka lidhje me drejtimin e mëparshëm të breshkës. Drejtimi zero është drejtimi nga poshtë lartë. <userinput
0689 >drejtimi</userinput
0690 > mund të shkurtohet si <userinput
0691 >drj</userinput
0692 >.</para
0693 ></listitem>
0694     </varlistentry>
0695   </variablelist>
0696   <variablelist>
0697     <anchor id="center"/>
0698     <varlistentry
0699 > 
0700       <term
0701 >shko_në_qendër<indexterm
0702 ><primary
0703 >shko_në_qendër</primary
0704 ></indexterm
0705 ></term>
0706       <listitem
0707 ><para
0708 ><screen
0709 >shko_në_qendër</screen>
0710 <userinput
0711 >shko_në_qendër</userinput
0712 > e çon breshkën në qendër të tabelës së vizatimit.</para
0713 ></listitem>
0714     </varlistentry>
0715   </variablelist>
0716   <variablelist>
0717     <anchor id="go"/>
0718     <varlistentry
0719 > 
0720       <term
0721 >shko<indexterm
0722 ><primary
0723 >shko</primary
0724 ></indexterm
0725 ></term>
0726       <listitem
0727 ><para
0728 ><screen
0729 >shko X,Y</screen>
0730 <userinput
0731 >shko</userinput
0732 > i thotë breshkës të shkojë në një vend të caktuar në tabelë. Ky vend është X <glossterm linkend="pixels"
0733 >pika</glossterm
0734 > larg nga ana e majtë e tabelës, dhe Y <glossterm linkend="pixels"
0735 >pika</glossterm
0736 > larg nga ana e sipërme e tabelës. </para
0737 ></listitem>
0738     </varlistentry>
0739   </variablelist>
0740   <variablelist>
0741     <anchor id="gox"/>
0742     <varlistentry
0743 > 
0744       <term
0745 >shko_x<indexterm
0746 ><primary
0747 >shko_x</primary
0748 ></indexterm
0749 ></term>
0750       <listitem
0751 ><para
0752 ><screen
0753 >shko_x X</screen>
0754 Duke përdorur komandën <userinput
0755 >shko_x</userinput
0756 > breshka do të vendoset X <glossterm linkend="pixels"
0757 >pika</glossterm
0758 > larg anës së majtë të tabelës, duke qëndruar në të njëjtën lartësi.</para
0759 ></listitem>
0760     </varlistentry>
0761   </variablelist>
0762   <variablelist>
0763     <anchor id="goy"/>
0764     <varlistentry
0765 > 
0766       <term
0767 >shko_y<indexterm
0768 ><primary
0769 >shko_y</primary
0770 ></indexterm
0771 ></term>
0772       <listitem
0773 ><para
0774 ><screen
0775 >shko_y Y</screen>
0776 Duke përdorur komandën <userinput
0777 >shko_y</userinput
0778 > breshka do të vendoset X <glossterm linkend="pixels"
0779 >pika</glossterm
0780 > poshtë anës së sipërme të tabelës, duke qëndruar në të njëjtën largësi nga ana e majtë.</para
0781 ></listitem>
0782     </varlistentry>
0783   </variablelist>
0784   <note
0785 ><para
0786 >Duke përdorur komandat <userinput
0787 >shko</userinput
0788 >, <userinput
0789 >shko_x</userinput
0790 >, <userinput
0791 >shko_y</userinput
0792 > dhe <userinput
0793 >shko_në_qendër</userinput
0794 > breshka nuk do të bëjë vijë, pa marrë parasysh nëse lapsi është i ngritur apo i ulur.</para>
0795   </note>
0796 </sect2>
0797 
0798 <sect2 id="locate-the-turtle">
0799 <title
0800 >Ku është breshka?</title>
0801 <para
0802 >Ka dy komanda që na japin pozicionin e breshkës në ekran.</para>
0803 
0804   <variablelist>
0805     <anchor id="getx"/>
0806     <varlistentry
0807 > 
0808       <term
0809 >merr_x<indexterm
0810 ><primary
0811 >merr_x</primary
0812 ></indexterm
0813 ></term>
0814       <listitem
0815 ><para
0816 ><userinput
0817 >merr_x</userinput
0818 > kthen numrin e pikave nga ana e majtë e tabelës deri në vendin e tanishëm të breshkës.</para
0819 ></listitem>
0820     </varlistentry>
0821   </variablelist>
0822   <variablelist>
0823     <anchor id="gety"/>
0824     <varlistentry
0825 > 
0826       <term
0827 >merr_y<indexterm
0828 ><primary
0829 >merr_y</primary
0830 ></indexterm
0831 ></term>
0832       <listitem
0833 ><para
0834 ><userinput
0835 >merr_y</userinput
0836 > kthen numrin e pikave nga ana e sipërme e tabelës deri në vendin e tanishëm të breshkës.</para
0837 ></listitem>
0838     </varlistentry>
0839   </variablelist>
0840 </sect2>
0841 
0842 <sect2 id="pen">
0843 <title
0844 >Breshka ka një laps</title>
0845 <para
0846 >Breshka ka një laps që bën një vijë kur breshka lëviz. Ka disa komanda për të kontrolluar lapsin. Në këtë pjesë do të shpjegojmë këto komanda.</para>
0847   <variablelist>
0848     <anchor id="penup"/>
0849     <varlistentry
0850 > 
0851       <term
0852 >ngri_lapsin (ngri)<indexterm
0853 ><primary
0854 >ngri_lapsin (ngri)</primary
0855 ></indexterm
0856 ></term>
0857       <listitem
0858 ><para
0859 ><screen
0860 >ngri_lapsin</screen>
0861 <userinput
0862 >ngri_lapsin</userinput
0863 > e ngre lapsin nga tabela. Kur lapsi është <quote
0864 >i ngritur</quote
0865 > nuk do të bëhet vijë kur breshka lëviz. Shiko dhe <userinput
0866 >ul_lapsin</userinput
0867 >. <userinput
0868 >ngri_lapsin</userinput
0869 > mund shkurtohet si <userinput
0870 >ngri</userinput
0871 >.</para
0872 ></listitem>
0873     </varlistentry>
0874   </variablelist>
0875   <variablelist>
0876     <anchor id="pendown"/>
0877     <varlistentry
0878 > 
0879       <term
0880 >ul_lapsin (ul)<indexterm
0881 ><primary
0882 >ul_lapsin (ul)</primary
0883 ></indexterm
0884 ></term>
0885       <listitem
0886 ><para
0887 ><screen
0888 >ul_lapsin</screen>
0889 <userinput
0890 >ul_lapsin</userinput
0891 > ngjesh lapsin poshtë në tabelë. Me lapës të ulur poshtë në tabelë, kur breshka lëviz lë pas një vijë. Shiko edhe <userinput
0892 >ngri_lapsin</userinput
0893 >. <userinput
0894 >ul_lapsin</userinput
0895 > mund të shkurtohet në <userinput
0896 >ul</userinput
0897 >.</para
0898 ></listitem>
0899     </varlistentry>
0900   </variablelist>
0901   <variablelist>
0902     <anchor id="setpenwidth"/>
0903     <varlistentry
0904 > 
0905       <term
0906 >majë_lapsi (mjl)<indexterm
0907 ><primary
0908 >majë_lapsi (mjl)</primary
0909 ></indexterm
0910 ></term>
0911       <listitem
0912 ><para
0913 ><screen
0914 >majë_lapsi X</screen>
0915 <userinput
0916 >majë_lapsi</userinput
0917 > cakton trashësinë e majës së lapsit (gjerësinë e vijës) në një madhësi prej X <glossterm linkend="pixels"
0918 >pikash</glossterm
0919 >. <userinput
0920 >majë_lapsi</userinput
0921 > mund të shkurtohet si <userinput
0922 >mjl</userinput
0923 >.</para
0924 ></listitem>
0925     </varlistentry>
0926   </variablelist>
0927   <variablelist>
0928     <anchor id="setfgcolor"/>
0929     <varlistentry
0930 > 
0931       <term
0932 >ngjyrë_lapsi (ngjl)<indexterm
0933 ><primary
0934 >ngjyrë_lapsi (ngjl)</primary
0935 ></indexterm
0936 ></term>
0937       <listitem
0938 ><para
0939 ><screen
0940 >ngjyrë_lapsi R,G,B</screen>
0941 <userinput
0942 >ngjyrë_lapsi</userinput
0943 > cakton ngjyrën e lapsit. <userinput
0944 >ngjyrë_lapsi </userinput
0945 > merr si parametra një <glossterm linkend="rgb"
0946 >kombinim RGB</glossterm
0947 >. <userinput
0948 >ngjyrë_lapsi</userinput
0949 > mund të shkurtohet në <userinput
0950 >ngjl</userinput
0951 >.</para
0952 ></listitem>
0953     </varlistentry>
0954   </variablelist>
0955 </sect2>
0956 
0957 <sect2 id="canvas">
0958 <title
0959 >Komandat për të kontrolluar tabelën e vizatimit</title>
0960 <para
0961 >Ka disa komanda për të kontrolluar tabelën e vizatimit.</para>
0962   <variablelist>
0963     <anchor id="resizecanvas"/>
0964     <varlistentry>
0965       <term
0966 >madhësi_tabele (mt)<indexterm
0967 ><primary
0968 >madhësi_tabele (mt)</primary
0969 ></indexterm
0970 ></term>
0971       <listitem
0972 ><para
0973 ><screen
0974 >madhësi_tabele X,Y</screen>
0975 Me komandën <userinput
0976 >madhësi_tabele</userinput
0977 > ju mund të caktoni madhësinë e tabelës së vizatimit. Ajo merr X dhe Y si parametra, ku X është gjerësia e re e tabelës në <glossterm linkend="pixels"
0978 >pika (pixel)</glossterm
0979 >, dhe Y është lartësia e re e tabelës në <glossterm linkend="pixels"
0980 >pika (pixel)</glossterm
0981 >. <userinput
0982 >madhësi_tabele</userinput
0983 > mund të shkurtohet si <userinput
0984 >mt</userinput
0985 >.</para
0986 ></listitem>
0987     </varlistentry>
0988   </variablelist>
0989   <variablelist>
0990     <anchor id="setbgcolor"/>
0991     <varlistentry
0992 > 
0993       <term
0994 >ngjyrë_tabele (ngjt)<indexterm
0995 ><primary
0996 >ngjyrë_tabele (ngjt)</primary
0997 ></indexterm
0998 ></term>
0999       <listitem
1000 ><para
1001 ><screen
1002 >ngjyrë_tabele R,G,B</screen>
1003 <userinput
1004 >ngjyrë_tabele</userinput
1005 > cakton ngjyrën e tabelës së vizatimit. <userinput
1006 >ngjyrë_tabele</userinput
1007 > merr një <glossterm linkend="rgb"
1008 >kombinim RGB</glossterm
1009 > si input. <userinput
1010 >ngjyrë_tabele</userinput
1011 > mund të shkurtohet si <userinput
1012 >ngjt</userinput
1013 >.</para
1014 ></listitem>
1015     </varlistentry>
1016   </variablelist>
1017 </sect2>
1018 
1019 <sect2 id="clean">
1020 <title
1021 >Komandat për të pastruar</title>
1022 <para
1023 >Ka dy komanda për të fshirë tabelën pasi të keni bërë ndonjë rrëmujë.</para>
1024   <variablelist>
1025     <anchor id="clear"/>
1026     <varlistentry
1027 > 
1028       <term
1029 >pastro (fshi)<indexterm
1030 ><primary
1031 >pastro (fshi)</primary
1032 ></indexterm
1033 ></term>
1034       <listitem
1035 ><para
1036 ><screen
1037 >pastro</screen>
1038 Me <userinput
1039 >pastro</userinput
1040 > ju mund të fshini të gjitha vizatimet në tabelë. Të gjitha gjërat e tjera mbesin: vendi dhe drejtimi i breshkës, ngjyra e tabelës, dukshmëria e breshkës, dhe madhësia e tabelës.</para
1041 ></listitem>
1042     </varlistentry>
1043   </variablelist>
1044   <variablelist>
1045     <anchor id="reset"/>
1046     <varlistentry
1047 > 
1048       <term
1049 >rifillo<indexterm
1050 ><primary
1051 >rifillo</primary
1052 ></indexterm
1053 ></term>
1054       <listitem
1055 ><para
1056 ><screen
1057 >rifillo</screen>
1058 <userinput
1059 >rifillo</userinput
1060 > pastron shumë më tepër se sa komanda <userinput
1061 >pastro</userinput
1062 >. Pas një komande <userinput
1063 >rifillo</userinput
1064 > çdo gjë bëhet siç ishte kur sapo u jap &kturtle;. Breshka është e vendosur në mes të ekranit, ngjyra e tabelës është e bardhë, breshka bën një vijë të zezë në tabelë dhe madhësia e tabelës është 400 x 400 pika.</para
1065 ></listitem>
1066     </varlistentry>
1067   </variablelist>
1068 </sect2>
1069 
1070 <sect2 id="sprites">
1071 <title
1072 >Breshka është një figurinë</title>
1073 <para
1074 >Së pari një shpjegim të shkurtër se çfarë janë figurinat. Figurinat janë fotografi të vogla që mund të lëvizen nëpër ekran, si i shohim shpesh në lojërat me kompjuter. Edhe breshka jonë është gjithashtu një figurinë. Për më tepër informacion shiko fjalorin te <glossterm linkend="sprites"
1075 >figurinat</glossterm
1076 >. </para>
1077 <para
1078 >Në vazhdim do të gjeni një pasqyrë të plotë mbi të gjitha komandat për të punuar me figurinat.</para>
1079 <para
1080 >[Versioni i tanishëm i &kturtle; nuk mbështet akoma përdorimin e figurinave të tjera përveç breshkës. Në versionet e ardhshme ju do të mund ta ndërroni breshkën me diçka tjetër që ju pëlqen.]</para>
1081   <variablelist>
1082     <anchor id="spriteshow"/>
1083     <varlistentry
1084 > 
1085       <term
1086 >shfaq_figurinën (shf)<indexterm
1087 ><primary
1088 >shfaq_figurinën (shf)</primary
1089 ></indexterm
1090 ></term>
1091       <listitem
1092 ><para
1093 ><screen
1094 >shfaq_figurinën</screen>
1095 <userinput
1096 >shfaq_figurinën</userinput
1097 > e bën të breshkën përsëri të dukshme, pasi të ketë qenë e fshehur. <userinput
1098 >shfaq_figurinën</userinput
1099 > mund të shkurtohet si <userinput
1100 >shf</userinput
1101 >.</para
1102 ></listitem>
1103     </varlistentry>
1104   </variablelist>
1105   <variablelist>
1106     <anchor id="spritehide"/>
1107     <varlistentry
1108 > 
1109       <term
1110 >fshih_figurinën (fsh)<indexterm
1111 ><primary
1112 >fshih_figurinën (fsh)</primary
1113 ></indexterm
1114 ></term>
1115       <listitem
1116 ><para
1117 ><screen
1118 >fshih_figurinën</screen>
1119 <userinput
1120 >fshih_figurinën</userinput
1121 > fsheh breshkën. Kjo mund të përdoret nëse breshka nuk përshtatet me vizatim tuaj. <userinput
1122 >fshih_figurinën</userinput
1123 > mund të shkurtohet si <userinput
1124 >fsh</userinput
1125 >.</para
1126 ></listitem>
1127     </varlistentry>
1128   </variablelist>
1129 </sect2>
1130 
1131 <sect2 id="writing">
1132 <title
1133 >A mund të shkruaj breshka?</title>
1134 <para
1135 >Përgjigja është: <quote
1136 >po</quote
1137 >. Breshka mund të shkruaj: ajo shkruan çdo gjë që ju ti thoni.</para>
1138   <variablelist>
1139     <anchor id="print"/>
1140     <varlistentry
1141 > 
1142       <term
1143 >shkruaj<indexterm
1144 ><primary
1145 >shkruaj</primary
1146 ></indexterm
1147 ></term>
1148       <listitem
1149 ><para
1150 ><screen
1151 >shkruaj X</screen>
1152 Komanda <userinput
1153 >shkruaj</userinput
1154 > përdoret për ti thënë breshkës të shkruajë diçka në tabelë. <userinput
1155 >shkruaj</userinput
1156 > merr numra dhe vargje si input. Ju mund të <userinput
1157 >shkruani</userinput
1158 > numra dhe vargje të ndryshme duke përdorur shenjën <quote
1159 >+</quote
1160 >. Shikoni një shembull të vogël: <screen
1161 >$viti = 2003
1162 $autori = "Cies"
1163 shkruaj $autori + " e filloi projektin KTurtle në vitin " + $viti + " dhe akoma punon me qejf në të!"
1164 </screen>
1165       </para
1166 ></listitem>
1167     </varlistentry>
1168   </variablelist>
1169   <variablelist>
1170     <anchor id="fontsize"/>
1171     <varlistentry
1172 > 
1173       <term
1174 >madhësi_shkrimi<indexterm
1175 ><primary
1176 >madhësi_shkrimi</primary
1177 ></indexterm
1178 ></term>
1179       <listitem
1180 ><para
1181 ><screen
1182 >madhësi_shkrimi X</screen>
1183 <userinput
1184 >madhësi_shkrimi</userinput
1185 > cakton madhësinë e shkronjave që përdoren nga <userinput
1186 >shkruaj</userinput
1187 >. <userinput
1188 >madhësi_shkrimi</userinput
1189 > merr një të dhënë që duhet të jetë një numër. Madhësia caktohet në <glossterm linkend="pixels"
1190 >pika (pixel)</glossterm
1191 >.</para
1192 ></listitem>
1193     </varlistentry>
1194   </variablelist>
1195 </sect2>
1196 
1197 <sect2 id="math-commands">
1198 <title
1199 >Komandat matematikore</title>
1200 <para
1201 >Në vijim janë komandat matematikore më të përparuara të &kturtle;.</para>
1202   <variablelist>
1203     <anchor id="round"/>
1204     <varlistentry>
1205       <term
1206 >rrumbullakos<indexterm
1207 ><primary
1208 >rrumbullakos</primary
1209 ></indexterm
1210 ></term>
1211       <listitem
1212 ><para
1213 ><screen
1214 >rrumbullakos(x)</screen>
1215 <userinput
1216 >rrumbullakos</userinput
1217 > numrin e dhënë te numri më i afërt i plotë. <screen>
1218 shkruaj rrumbullakos(10.8)
1219 ec_përpara 20
1220 shkruaj rrumbullakos(10.3)
1221 </screen
1222 >Me këtë program breshka do të shkruajë numrat 11 dhe 10.</para
1223 ></listitem>
1224     </varlistentry>
1225   </variablelist>
1226   <variablelist>
1227     <anchor id="random"/>
1228     <varlistentry
1229 > 
1230       <term
1231 >rastësisht (kot)<indexterm
1232 ><primary
1233 >rastësisht (kot)</primary
1234 ></indexterm
1235 ></term>
1236       <listitem
1237 ><para
1238 ><screen
1239 >rastësisht X,Y</screen>
1240 <userinput
1241 >rastësisht</userinput
1242 > është një komandë që merr të dhëna dhe kthen një rezultat. Si të dhëna janë dy numra, i pari (X) cakton vlerën më të vogël (minimumin) e rezultatit, i dyti (Y) cakton vlerën më të madhe (maksimumin). Rezultati është një numër i zgjedhur rastësisht, i cili është më i madh ose i barabartë me minimumin dhe më i vogël ose i barabartë me maksimumin. Ja një shembull i vogël: <screen>
1243 rifillo
1244 përsërit 500 {
1245   $x = rastësisht 1,100
1246   ec_përpara $x
1247   kthehu_majtas 100 - $x
1248 }
1249 </screen
1250 > Duke përdorur komandën <userinput
1251 >rastësisht</userinput
1252 > ju mund ti shtoni pak rrëmujë (kaos) programit tuaj.</para
1253 ></listitem>
1254     </varlistentry>
1255   </variablelist>
1256   <variablelist>
1257     <anchor id="sqrt"/>
1258     <varlistentry
1259 > 
1260       <term
1261 >sqrt<indexterm
1262 ><primary
1263 >sqrt</primary
1264 ></indexterm
1265 ></term>
1266       <listitem
1267 ><para
1268 ><screen
1269 >sqrt X</screen>
1270 Komanda <userinput
1271 >sqrt</userinput
1272 > përdoret për të gjetur rrënjën katrore të një numri X.</para
1273 ></listitem>
1274     </varlistentry>
1275   </variablelist>
1276 <!--
1277   <variablelist>
1278     <anchor id="exp"/>
1279     <varlistentry
1280 > 
1281       <term
1282 >exp<indexterm
1283 ><primary
1284 >exp</primary
1285 ></indexterm
1286 ></term>
1287       <listitem
1288 ><para
1289 ><screen
1290 >sqrt X</screen>
1291       </para
1292 ></listitem>
1293     </varlistentry>
1294   </variablelist>
1295 -->
1296   <variablelist>
1297     <anchor id="pi"/>
1298     <varlistentry
1299 > 
1300       <term
1301 >pi<indexterm
1302 ><primary
1303 >pi</primary
1304 ></indexterm
1305 ></term>
1306       <listitem
1307 ><para
1308 ><screen
1309 >pi</screen>
1310 Kjo komandë kthen vlerën e konstantes Pi, <userinput
1311 >3.14159</userinput
1312 >.</para
1313 ></listitem>
1314     </varlistentry>
1315   </variablelist>
1316   <variablelist>
1317     <anchor id="sin"/>
1318     <anchor id="cos"/>
1319     <anchor id="tan"/>
1320     <varlistentry>
1321       <term
1322 >sin<indexterm
1323 ><primary
1324 >sin</primary
1325 ></indexterm
1326 >, cos<indexterm
1327 ><primary
1328 >cos</primary
1329 ></indexterm
1330 >, tan<indexterm
1331 ><primary
1332 >tan</primary
1333 ></indexterm
1334 ></term>
1335       <listitem
1336 ><para>
1337 <screen
1338 >sin X
1339 cos X
1340 tan X
1341 </screen>
1342 Këto tre komanda përfaqësojnë funksionet e famshme trigonometrike <userinput
1343 >sin</userinput
1344 >, <userinput
1345 >cos</userinput
1346 > dhe <userinput
1347 >tan</userinput
1348 >. Argumenti X që u jepet këtyre komandave është një <link linkend="number"
1349 >numër</link
1350 >.</para
1351 ></listitem>
1352     </varlistentry>
1353   </variablelist>
1354   <variablelist>
1355     <anchor id="arcsin"/>
1356     <anchor id="arccos"/>
1357     <anchor id="arctan"/>
1358     <varlistentry>
1359       <term
1360 >arcsin<indexterm
1361 ><primary
1362 >arcsin</primary
1363 ></indexterm
1364 >, arccos<indexterm
1365 ><primary
1366 >arccos</primary
1367 ></indexterm
1368 >, arctan<indexterm
1369 ><primary
1370 >arctan</primary
1371 ></indexterm
1372 ></term>
1373       <listitem
1374 ><para>
1375 <screen
1376 >arcsin X
1377 arccos X
1378 arctan X
1379 </screen>
1380 Këto komanda janë funksionet e kundërta të <link linkend="sin"
1381 >sin</link
1382 >, <link linkend="cos"
1383 >cos</link
1384 > dhe <link linkend="tan"
1385 >tan</link
1386 >. Argumenti X që u jepet këtyre komandave është një <link linkend="number"
1387 >numër</link
1388 >.</para
1389 ></listitem>
1390     </varlistentry>
1391   </variablelist>
1392 </sect2>
1393 
1394 <sect2 id="dialogs">
1395 <title
1396 >Bashkëbisedimi me programin</title>
1397 <para
1398 >Bashkëbisedimi me programin kryhet përmes disa dritarezave të vogla që i nxjerr programi, të cilat ose japin një informacion, ose pyesin për diçka. &kturtle; ka dy komanda për bashkëbisedimin, të cilat janë <userinput
1399 >mesazh</userinput
1400 > dhe <userinput
1401 >pyet</userinput
1402 ></para>
1403   <variablelist>
1404     <anchor id="message"/>
1405     <varlistentry
1406 > 
1407       <term
1408 >mesazh<indexterm
1409 ><primary
1410 >mesazh</primary
1411 ></indexterm
1412 ></term>
1413       <listitem
1414 ><para
1415 ><screen
1416 >mesazh X</screen>
1417 Komanda <userinput
1418 >mesazh</userinput
1419 > merr një <link linkend="string"
1420 >varg</link
1421 > si plotësues. Ajo shfaq një dritare bashkëbisedimi që përmban <link linkend="string"
1422 >vargun</link
1423 > e dhënë. <screen
1424 >mesazh "Cies e filloi programin KTurtle në vitin 2003 dhe akoma merret me qejf në të!"
1425 </screen>
1426       </para
1427 ></listitem>
1428     </varlistentry>
1429   </variablelist>
1430   <variablelist>
1431     <anchor id="ask"/>
1432     <varlistentry
1433 > 
1434       <term
1435 >pyet<indexterm
1436 ><primary
1437 >pyet</primary
1438 ></indexterm
1439 ></term>
1440       <listitem
1441 ><para
1442 ><screen
1443 >pyet X</screen>
1444 Komanda <userinput
1445 >pyet</userinput
1446 > merr një <link linkend="string"
1447 >varg</link
1448 > si plotësues. Ajo e nxjerr këtë varg në një dritare bashkëbisedimi (si komanda <link linkend="message"
1449 >mesazh</link
1450 >), bashkë me një vend për përgjigjen. Pasi përdoruesi të ketë futur një <link linkend="number"
1451 >numër</link
1452 > ose një <link linkend="string"
1453 >varg</link
1454 > në të, rezultati mund të ruhet në një <link linkend="assignment-of-variables"
1455 >ndryshore</link
1456 > ose ti kalohet si plotësuese një <link linkend="commands"
1457 >komande</link
1458 > tjetër. Për shembull: <screen>
1459 $merr = pyet "Në cilin vit keni lindur?"
1460 $nxirr = 2003 - $merr
1461 mesazh "Në vitin 2003 keni qenë " + $nxirr + " vjeç."
1462 </screen
1463 > Nëse përdoruesi e ndërpret dritaren e bashkëbisedimit, ose nuk shkruan në të asgjë fare, <link linkend="assignment-of-variables"
1464 >ndryshorja</link
1465 > është bosh.</para
1466 ></listitem>
1467     </varlistentry>
1468   </variablelist>
1469 </sect2>
1470 
1471 </sect1>
1472 
1473 
1474 
1475 <sect1 id="assignment-of-variables">
1476 <title
1477 >Vlerëdhënia e ndryshoreve</title>
1478 <para
1479 >Fillimisht do tu hedhim një sy ndryshoreve, dhe më pas do të shohim si u jepen vlera këtyre ndryshoreve. </para>
1480 
1481 <para
1482 >Emrat e ndryshoreve fillojnë gjithmonë me një <quote
1483 >$</quote
1484 >. Në <link linkend="the-editor"
1485 >shkrimore</link
1486 > ato <glossterm
1487 >theksohen</glossterm
1488 > me ngjyrë vjollcë.</para>
1489 
1490 <para
1491 >Ndryshoret mund të përmbajnë ndonjë <link linkend="number"
1492 >numër</link
1493 >, <link linkend="string"
1494 >varg shkronjash</link
1495 > ose <link linkend="boolean-value"
1496 > vlerë vërtetësie (e_vërtetë / e_rreme)</link
1497 >. Përmbajtja e një ndryshoreje caktohet me anë të veprimit të vlerëdhënies, <userinput
1498 >=</userinput
1499 >. Ndryshorja do të vazhdojë ta ketë këtë vlerë deri në përfundim të programit, ose deri sa ti jepet një vlerë tjetër.</para>
1500 
1501 <para
1502 >Pasi u është dhënë një vlerë, ndryshoret mund të përdoren njësoj si vetë vlera që ato përmbajnë. Shikoni për shembull rreshtat e mëposhtëm &turtlescript;: <screen>
1503 $x = 10
1504 $x = $x / 3
1505 shkruaj $x
1506 </screen
1507 > Fillimisht ndryshores <userinput
1508 >$x</userinput
1509 > i jepet vlera <userinput
1510 >10</userinput
1511 >. Pastaj <userinput
1512 >$x</userinput
1513 > i ri-jepet vlera  e vetvetes e pjesëtuar për <userinput
1514 >3</userinput
1515 > &mdash; që do të thotë se vlera e re e <userinput
1516 >$x</userinput
1517 > është <userinput
1518 >10 / 3</userinput
1519 >. Më në fund, ndryshorja <userinput
1520 >$x</userinput
1521 > shkruhet. Vini re që në rreshtin e dytë dhe të tretë <userinput
1522 >$x</userinput
1523 > është përdorur si të ishte vetë vlera që ajo përmban.</para>
1524 
1525 <para
1526 >Që të përdoren ndryshoret duhet që fillimisht tu jepet një vlerë. Për shembull: <screen>
1527 shkruaj $n
1528 </screen
1529 > do të japë një njoftim gabimi, sepse ndryshorja <userinput
1530 >$n</userinput
1531 > nuk ka asnjë vlerë.</para>
1532 
1533 <para
1534 >Ju lutem shikoni me vëmendje rreshtat e mëposhtëm &turtlescript;: <screen>
1535 $a = 2004
1536 $b = 25
1537 
1538 # komanda pasuese shkruan "2029"
1539 shkruaj $a + $b
1540 ec_mbrapsht 30
1541 # komanda pasuese shkruan "2004 plus 25 baraz 2029"
1542 shkruaj $a + " plus " + $b + " baraz " + ($a + $b)
1543 </screen
1544 > Në dy rreshtat e parë ndryshoret <userinput
1545 >$a</userinput
1546 > dhe <userinput
1547 >$b</userinput
1548 > kanë marrë vlerat 2004 dhe 25. Pastaj zbatohen dy komandat <userinput
1549 >shkruaj</userinput
1550 > me një komandë <userinput
1551 >ec_mbrapsht 30</userinput
1552 > në mes. Komentet përpara komandave <userinput
1553 >shkruaj</userinput
1554 > shpjegojnë çfarë bëjnë këto komanda. Komanda <userinput
1555 >ec_mbrapsht 30</userinput
1556 > është përdorur për tu siguruar që gjërat e shkruara janë në rreshta më vete. Siç e shihni, ndryshoret mund të përdoren si vetë përmbajtja që ato kanë, mund të përdoren me çdo lloj <link linkend="operators"
1557 >veprimi</link
1558 > ose të jepen si plotësuese të <link linkend="commands"
1559 >komandave</link
1560 > që thirren.</para>
1561 
1562 <para
1563 >Edhe një shembull tjetër: <screen>
1564 $emër = pyet "Si e ke emrin?"
1565 print "Përshëndetje " + $emër + "! Suksese gjatë mësimit të artit të programimit..."
1566 </screen
1567 > Mjaft i thjeshtë. Përsëri mund të shihni që ndryshorja <userinput
1568 >$emër</userinput
1569 >, është përdorur si të ishte një varg shkronjash.</para>
1570 
1571 <para
1572 >Kur përdoren ndryshoret, <link linkend="the-inspector"
1573 >shqyrtuesi</link
1574 > është shumë i dobishëm. Ai tregon përmbajtjen e të gjitha ndryshoreve që janë aktualisht në përdorim.</para>
1575 </sect1>
1576 
1577 
1578 
1579 <sect1 id="controlling-execution">
1580 <title
1581 >Kontrollimi i zbatimit</title>
1582 <para
1583 >Kontrolluesit e zbatimit mundësojnë &mdash; siç e nënkupton edhe emri i tyre &mdash; që të kontrollohet rrjedha e zbatimit të komandave.</para>
1584 <para
1585 >Komandat e kontrollit të zbatimit <glossterm
1586 >theksohen</glossterm
1587 > me të gjelbër të errët dhe me të trasha. Kllapat përdoren kryesisht së bashku me kontrolluesit e zbatimit dhe ato <glossterm
1588 >theksohen</glossterm
1589 > me të zezë.</para>
1590 
1591 <sect2 id="wait">
1592 <title
1593 >Bëjeni breshkën të presë</title>
1594 <para
1595 >Nëse keni programuar ndopak në &kturtle; ju mund të keni vënë re se breshka mund të jetë shumë e shpejtë në vizatim. Kjo komandë e bën breshkën të presë për një sasi të caktuar kohe.</para>
1596   <variablelist>
1597     <varlistentry>
1598       <term
1599 >prit<indexterm
1600 ><primary
1601 >prit</primary
1602 ></indexterm
1603 ></term>
1604       <listitem
1605 ><para
1606 ><screen
1607 >prit X</screen>
1608 <userinput
1609 >prit</userinput
1610 > e bën breshkën të presë për X sekonda. <screen
1611 > 
1612 përsërit 36 {
1613   ec_përpara 5
1614   kthehu_djathtas 10
1615   prit 0.5
1616 }
1617 </screen
1618 > Ky program vizaton një rreth, por breshka do të presë gjysmë sekonde pas çdo hap. Kjo të jep përshtypjen e një breshke që lëviz ngadalë.</para
1619 ></listitem>
1620     </varlistentry>
1621   </variablelist>
1622 </sect2>
1623 
1624 <sect2 id="if">
1625 <title
1626 >Zbato "nëse"</title>
1627   <variablelist>
1628     <varlistentry>
1629       <term
1630 >nëse<indexterm
1631 ><primary
1632 >nëse</primary
1633 ></indexterm
1634 ></term>
1635       <listitem
1636 ><para
1637 ><screen
1638 >nëse <link linkend="boolean-value"
1639 >vërtetësi</link
1640 > { ... }</screen>
1641 Komandat që janë vendosur midis kllapave do të zbatohen vetëm <userinput
1642 >nëse</userinput
1643 > <link linkend="boolean-value"
1644 >vlera e vërtetësisë</link
1645 > është <quote
1646 >e_vërtetë</quote
1647 >. <screen>
1648 $x = 6
1649 nëse $x &gt; 5 {
1650   shkruaj "numri $x është më i madh se pesa!"
1651 }
1652 </screen
1653 > Në rreshtin e parë <userinput
1654 >$x</userinput
1655 > merr vlerën 6. Në rreshtin e dytë një <link linkend="comparing-operators"
1656 >veprim krahasimi</link
1657 > është përdorur për të vlerësuar <userinput
1658 >$x &gt; 5</userinput
1659 >. Meqë ky jep vlerën <quote
1660 >e_vërtetë</quote
1661 >, 6 është më e madhe se 5, kontrolluesi i zbatimit <userinput
1662 >nëse</userinput
1663 > do të lejojë komandat midis kllapave që të zbatohen.</para
1664 ></listitem>
1665     </varlistentry>
1666   </variablelist>
1667 </sect2>
1668 
1669 <sect2 id="else">
1670 <title
1671 >Nëse jo, ose me fjalë të tjera: "përndryshe"</title>
1672   <variablelist>
1673     <varlistentry>
1674       <term
1675 >përndryshe<indexterm
1676 ><primary
1677 >përndryshe</primary
1678 ></indexterm
1679 ></term>
1680       <listitem
1681 ><para
1682 ><screen
1683 >nëse <link linkend="boolean-value"
1684 >vërtetësi</link
1685 > { ... } përndryshe { ... }</screen>
1686 <userinput
1687 >përndryshe</userinput
1688 > mund të përdoret si plotësues i kontrolluesit të zbatimit <link linkend="if"
1689 ><userinput
1690 >nëse</userinput
1691 ></link
1692 >. Komandat rrethuar nga kllapat, pas <userinput
1693 >përndryshe</userinput
1694 >, zbatohen vetëm nëse <link linkend="boolean-value"
1695 >vërtetësia</link
1696 > del <quote
1697 >e_rreme</quote
1698 >. <screen>
1699 rifillo
1700 $x = 4
1701 nëse $x &gt; 5 {
1702   shkruaj "numri $x është më i madh se pesë!"
1703 } përndryshe {
1704   shkruaj "numri $x është më i vogël se gjashtë!"
1705 }
1706 </screen
1707 > <link linkend="comparing-operators"
1708 >Veprimi i krahasimit</link
1709 > vlerëson shprehjen <userinput
1710 >$x &gt; 5</userinput
1711 >. Me që 4 nuk është më i madh se 5, shprehja merr vlerën <quote
1712 >e_rreme</quote
1713 >. Kjo do të thotë se do të zbatohen komandat mes kllapave pas <userinput
1714 >përndryshe</userinput
1715 >.</para
1716 ></listitem>
1717     </varlistentry>
1718   </variablelist>
1719 </sect2>
1720 
1721 <sect2 id="while">
1722 <title
1723 >Cikli "përderisa"</title>
1724   <variablelist>
1725     <varlistentry>
1726       <term
1727 >përderisa<indexterm
1728 ><primary
1729 >përderisa</primary
1730 ></indexterm
1731 ></term>
1732       <listitem
1733 ><para
1734 ><screen
1735 >përderisa <link linkend="boolean-value"
1736 >vërtetësi</link
1737 > { ... }</screen>
1738 Kontrolluesi i zbatimit <userinput
1739 >përderisa</userinput
1740 > është mjaft i ngjashëm me <link linkend="if"
1741 ><userinput
1742 >nëse</userinput
1743 ></link
1744 >. Ndryshimi është se <userinput
1745 >përderisa</userinput
1746 > vazhdon të përsërit (në mënyrë ciklike) komandat midis kllapave, deri sa <link linkend="boolean-value"
1747 >vërtetësia</link
1748 > të bëhet <quote
1749 >e_rreme</quote
1750 >. <screen>
1751 $x = 1
1752 përderisa $x &lt; 5 {
1753   ec_përpara 10
1754   prit 1
1755   $x = $x + 1
1756 }
1757 </screen
1758 > Në rreshtin e parë <userinput
1759 >$x</userinput
1760 > merr vlerën 1. Në rreshtin e dytë vlerësohet <userinput
1761 >$x &lt; 5</userinput
1762 >. Meqenëse përgjigja e kësaj pyetje është <quote
1763 >e_vërtetë</quote
1764 >, kontrolluesi i zbatimit <userinput
1765 >përderisa</userinput
1766 > fillon zbatimin e komandave midis kllapave. Kjo punë përsëritet disa herë, derisa <userinput
1767 >$x &lt; 5</userinput
1768 > bëhet <quote
1769 >e_rreme</quote
1770 >. Në këtë shembull, komandat midis kllapave do të zbatohen 4 herë, sepse çdo herë që zbatohet rreshti i pestë, <userinput
1771 >$x</userinput
1772 > rritet me 1.</para
1773 ></listitem>
1774     </varlistentry>
1775   </variablelist>
1776 </sect2>
1777 
1778 <sect2 id="repeat">
1779 <title
1780 >Cikli "përsërit"</title>
1781   <variablelist>
1782     <varlistentry>
1783       <term
1784 >përsërit<indexterm
1785 ><primary
1786 >përsërit</primary
1787 ></indexterm
1788 ></term>
1789       <listitem
1790 ><para
1791 ><screen
1792 >përsërit <link linkend="number"
1793 >numër</link
1794 > { ... }</screen>
1795 Kontrolluesi i zbatimit <userinput
1796 >përsërit</userinput
1797 > është shumë i ngjashëm me <link linkend="while"
1798 ><userinput
1799 >përderisa</userinput
1800 ></link
1801 >. Ndryshimi është se <userinput
1802 >përsërit</userinput
1803 > vazhdon të përsërisë (në mënyrë ciklike) komandat midis kllapave për aq herë sa numri i dhënë.</para
1804 ></listitem>
1805     </varlistentry>
1806   </variablelist>
1807 </sect2>
1808 
1809 <sect2 id="for">
1810 <title
1811 >Cikli "për_çdo", një cikël numërues</title>
1812   <variablelist>
1813     <varlistentry>
1814       <term
1815 >për_çdo<indexterm
1816 ><primary
1817 >për_çdo</primary
1818 ></indexterm
1819 ><indexterm
1820 ><primary
1821 >me_hap</primary
1822 ></indexterm
1823 ></term>
1824       <listitem
1825 ><para
1826 ><screen
1827 >për_çdo <link linkend="assignment-of-variables"
1828 >ndryshore</link
1829 > = <link linkend="number"
1830 >numër</link
1831 > deri_në <link linkend="number"
1832 >numër</link
1833 > { ... }</screen>
1834 Cikli <userinput
1835 >për_çdo</userinput
1836 > është një <quote
1837 >cikël numërues</quote
1838 >, që do të thotë se numëron për ju. Numri i parë i cakton ndryshores vlerën e parë në cikël. Në çdo rrotullim numri rritet deri sa të arrijë numrin e dytë.<screen>
1839 për_çdo $x = 1 deri_në 10 {
1840   shkruaj $x * 7
1841   ec_përpara 15
1842 }
1843 </screen
1844 > Sa herë që komandat midis kllapave zbatohen, ndryshorja <userinput
1845 >$x</userinput
1846 >rritet me 1, deri sa <userinput
1847 >$x</userinput
1848 > arrin vlerën 10. Komandat midis kllapave shkruajnë <userinput
1849 >$x</userinput
1850 > shumëzuar me 7. Pasi programi përfundon zbatimin, ju do të shihni në ekran tabelën e shumëzimit me 7. </para>
1851      <para
1852 >Madhësia e hapit zakonisht është 1, por you mund të zgjidhni një vlerë tjetër. <screen
1853 >për_çdo <link linkend="assignment-of-variables"
1854 >ndryshore</link
1855 > = <link linkend="number"
1856 >numër</link
1857 > deri_në <link linkend="number"
1858 >numër</link
1859 > me_hap <link linkend="number"
1860 >numër</link
1861 > { ... }</screen
1862 ></para
1863 ></listitem>
1864     </varlistentry>
1865   </variablelist>
1866 </sect2>
1867 
1868 <sect2 id="break">
1869 <title
1870 >Braktisja e një cikli</title>
1871   <variablelist>
1872     <varlistentry>
1873       <term
1874 >braktis<indexterm
1875 ><primary
1876 >braktis</primary
1877 ></indexterm
1878 ></term>
1879       <listitem
1880 ><para
1881 ><screen
1882 >braktis</screen>
1883 E përfundon menjëherë ciklin aktual dhe e kalon kontrollin te komanda që vjen menjëherë pas këtij cikli.</para
1884 ></listitem>
1885     </varlistentry>
1886   </variablelist>
1887 </sect2>
1888 
1889 <sect2 id="exit">
1890 <title
1891 >Ndaloni zbatimin e programit</title>
1892   <variablelist>
1893     <varlistentry>
1894       <term
1895 >dil<indexterm
1896 ><primary
1897 >dil</primary
1898 ></indexterm
1899 ></term>
1900       <listitem
1901 ><para
1902 ><screen
1903 >dil</screen>
1904 Përfundon zbatimin e programit tuaj.</para
1905 ></listitem>
1906     </varlistentry>
1907   </variablelist>
1908 </sect2>
1909 </sect1>
1910 
1911 
1912 <sect1 id="learn">
1913 
1914 
1915 <!--<sect2 id="name">
1916 <title
1917 >Names</title>
1918 <para
1919 >When using the &turtlescript; programming language you create new things. If you write a program you will often need <link linkend="containers"
1920 >containers</link
1921 > and in some cases you need <link linkend="learn"
1922 >learn</link
1923 > to create new commands. When making a new command with <link linkend="learn"
1924 >learn</link
1925 > you will have to specify a name.</para>
1926 <para
1927 >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"
1928 >forward</link
1929 >, since that name is already used for an internal command.
1930 <screen
1931 >
1932 # here forward is used as a new command, 
1933 # but it already has a meaning so 
1934 # this will produce an error:
1935 learn forward {
1936   print "this is invalid"
1937 }
1938 
1939 # this works:
1940 learn myforward {
1941   print "this is ok"
1942 }
1943 </screen>
1944 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 ($).
1945 <screen
1946 >
1947 # here forward is used as a container, 
1948 # starting with the $ prefix, so it does
1949 # not conflict with the forward command
1950 $forward = 20
1951 print $forward
1952 </screen>
1953 </para>
1954 <para
1955 >Containers are <glossterm
1956 >highlighted</glossterm
1957 > with bolded purple in the <link linkend="the-editor"
1958 >code editor</link
1959 >.</para>
1960 <para>
1961 Please read the documentation on <link linkend="containers"
1962 >containers</link
1963 > and the <link linkend="learn"
1964 >learn</link
1965 > command for a better explanation and more examples.
1966 </para>
1967 </sect2
1968 >-->
1969 
1970 
1971 
1972 
1973 
1974 <title
1975 >Krijoni komandat tuaja me <quote
1976 >mëso</quote
1977 ></title>
1978 <para
1979 ><userinput
1980 >mëso</userinput
1981 > është e veçantë sepse përdoret për të krijuar komandat tuaja. Komandat që krijoni mund të marrin <glossterm linkend="input-output"
1982 >të dhëna plotësuese</glossterm
1983 > dhe të kthejnë <glossterm linkend="input-output"
1984 >rezultate</glossterm
1985 >. Le të hedhim një sy se si krijohet një komandë e re: <screen>
1986 mëso rreth $x {
1987   përsërit 36 {
1988     ec_përpara $x
1989     kthehu_majtas 10
1990   }
1991 }
1992 </screen
1993 > Komanda e re është quajtur <userinput
1994 >rreth</userinput
1995 >. Komanda <userinput
1996 >rreth</userinput
1997 > merr një <glossterm linkend="input-output"
1998 > të dhëna plotësuese</glossterm
1999 >, për të vendosur madhësinë e rrethit. <userinput
2000 >rreth</userinput
2001 > nuk kthen <glossterm linkend="input-output"
2002 >rezultat</glossterm
2003 >. Komanda <userinput
2004 >rreth</userinput
2005 > tani mund të përdoret si një komandë e zakonshme në pjesën tjetër të programit. Shikoni këtë shembull: <screen
2006 >mëso rreth $x {
2007   përsërit 36 {
2008     ec_përpara $x
2009     kthehu_majtas 10
2010   }
2011 }
2012 
2013 shko 200,200 
2014 rreth 20
2015 
2016 shko 300,200 
2017 rreth 40  
2018 </screen>
2019 </para>
2020 <para
2021 >Në shembullin tjetër krijohet një komandë e cila kthen një vlerë. <screen>
2022 mëso faktorial $x {
2023   $r = 1
2024   për_çdo $i = 1 deri_në $x {
2025     $r = $r * $i
2026   }
2027   kthim $r
2028 }
2029 
2030 shkruaj faktorial 5
2031 </screen
2032 > Në këtë shembull është krijuar një komandë e re e quajtur <userinput
2033 >faktorial</userinput
2034 >. Nëse kësaj komande i jepet <userinput
2035 >5</userinput
2036 >  në hyrje,  ajo na kthen në dalje <userinput
2037 >5*4*3*2*1</userinput
2038 >. Duke përdorur <userinput
2039 >kthim</userinput
2040 >, përcaktohet <glossterm linkend="input-output"
2041 >vlera e daljes</glossterm
2042 > dhe rrjedha e zbatimit kthehet aty ku u thirr komanda.</para>
2043 <para
2044 >Komandat mund të marrin më shumë se një <glossterm linkend="input-output"
2045 >vlerë hyrëse</glossterm
2046 >. Në këtë shembull krijohet një komandë që vizaton një drejtkëndësh: <screen>
2047 mëso kuti $x, $y {
2048   ec_përpara $y
2049   kthehu_djathtas 90
2050   ec_përpara $x
2051   kthehu_djathtas 90
2052   ec_përpara $y
2053   kthehu_djathtas 90
2054   ec_përpara $x
2055   kthehu_djathtas 90
2056 }
2057 </screen
2058 > Tani ju mund të zbatoni <userinput
2059 >kuti 50, 100</userinput
2060 > dhe breshka do të vizatojë një drejtkëndësh në tabelë. </para>
2061   
2062 </sect1>
2063 
2064 </chapter>