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 > 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 < 10) edhe ($b == 5)) edhe ($a < $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 < 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 > 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 > $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 < $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 >= $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 <= $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 > — 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ë — siç e nënkupton edhe emri i tyre — 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 > 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 > 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 > 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 > 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 < 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 < 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 < 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>