Programmēšanas vide jebkuram skolēnam – Scratch jeb datorprogrammēšanas pamati dažās stundās. E-grāmata, autors: Imants Gorbāns

Scratch ir vienkārša programmēšanas valoda un vide, arī multimediju radīšanas rīks, ko var izmantot, lai iepazītos ar programmēšanu. Scratch ir noderīga kā vidusskolēniem, tā pamatskolēniem, to var lietot dažādos sarežģītības līmeņos – no pirmo klašu skolēna līdz pirmo kursu studentiem. Šīs Scratch pamācība ir rakstītas ar mērķi piedāvāt vienkāršu un viegli patstāvīgi īsā laikā (dažās stundās) apgūstamu rīku skolēniem, kuriem skolā nav bijusi programmēšana, vai tā apgūta niecīgā apjomā. Tas varētu palīdzēt pašiem saprast, vai jums programmēšanas abstraktā domāšana interesē un padodas, vai ir pamatota vēlme studēt programmēšanu Latvijas Universitātes Datorikas fakultātē vai citur. Tāpat šīs instrukcijas var būt noderīgas kā topošajiem tā jau strādājošiem informātikas skolotājiem, gatavojoties programmēšanas stundām, kurās radīt atraktīvu dažādību valodas Pascal utml. matemātiskajam skaistumam, pielietojumu šaurumam un vizuālajai garlaicībai.

4. Vēl dažas no Scratch 2 daudzajām iespējām

Apgūstot Scrath, atceramies ideju par dialogu ar datoru: dators ne tikai dara, ko mēs tam liekam (nevis, ko tikai domās gribam), bet arī mums piedāvā iespējas. Vai pamanījāt pie gariņa ikonas burtiņu "i” augšējā kreisajā stūrītī, paklikšķiniet uz tā, un iegūsiet mazliet informācijas par doto gariņu un mainīt dažas tā īpašības. Vienmēr der izpētīt programmas visu laukumu, paklikšķināt, kur vien var, tas vēlāk atvieglo iespēju meklēšanu.

Tā, piemēram, pievērsiet uzmanību, ka virs skatuves augšējā kreisā stūra atrodas zila taisnleņķa poga, ar to var skatuvi pārslēgt pilnekrāna (Full screen) režīmā, kad demonstrējam programmu. Tā kā izeja parasti atrodas turpat, kur ieeja, tad poga, kas pilnekrāna režīmā ir tajā vietā, ļaus atgriezties atpakaļ pamatskatā. Scratch 2 atbalsta 3 ekrāna izmērus, trešais ir samazinātais, tajā koplietotie projekti redzami dažās lietotāju profilu lappusēs Scratch portālā.

Veidojot programmu, nav arī Scratch nav ierobežojuma tās garumam - bloku skaitam, tas var būt ļoti liels, teorētiski robežu nosaka datora veiktspēja. Tomēr ļoti garas programmas veidot un rediģēt uz mazākas veiktspējas datora (svarīga šeit ir arī videokarte, ne tikai procesors un RAM) var būt apgrūtinoši. Uz skatuves ne tikai var darboties vairāki gariņi, bet tai var būt piešķirti arī vairāki foni, kas programmas izpildes gaitā mainās.

Ja atverat svešu projektu, tā bloku kodu var apskatīt, spiežot "See inside”, bet to pārveidot, radot savu versiju, var  spiežot "Remix”.

Scratch 2 var strādāt ar šādiem attēlu tipiem: PNG, JPG, BMP, GIF, animētie GIF. Kad attēls konvertēts vektorgrafikā ar to strādā SVG režīmā. Atēlus varat zimēt kā Scratch rīkā, tā ar plašākām iespējām citās grafiskās programmās, piemēram, brīvlietojuma Gimp (http://www.gimp.org/), Tux Paint, vai Paint.

Scratch 2 var strādāt ar divu tipu audio failiem: WAV un MP3.

Pēc kāda objekta nodzēšanas var pārdomāt un "Edit” izvēlnē atrast "Undelete” iespēju.

Projekta labajā apakšējā stūrī ir mērogošanas pogas "-”, "=”, "+”, kas gara koda režīmā ļauj to samazinātu it kā attālināti pārredzēt.

Scratch 2 tiešsaistes jeb pārlūkprogrammas versijā redaktora apakšējā labajā pusē ir krājumu vieta - josla ar nelielu trijstūri, uz kura klikšķinot parādās "Backpack” josla, tur var saglabāt objektus vēlākai atkalizmantošanai, "Backpack” joslā ievelkot.

Viena gariņa kodu var nokopēt citam gariņam, koda bloku velkot un nometot uz otra gariņa sīktēla gariņu joslā.

Pievērsiet uzmanību, ka bloki satur dažādu tipu argumentus, piemēram, bloks "move 10 steps” satur skaitlisku argumentu, bet "Say Hello!” - simbolu virkni, "play sound meow2 until done” - izkrītošo izvēlni, "if then” - bināru (boolean) ceļa norādi, "set pen color to” - krāsu, "repeat until key space pressed” - klaviatūras ievadu. Bloka noklusēto argumenta vērtību parasti var mainīt uz citu tā paša vērtību, izņēmums ir boolean argumenti, tiem noklusētā vērtība ir nekas (false).

Pavisam Scratch 2 ir 148 bloki, kur katram ir sava nozīme. Bloka aprakstu var iegūt, klikšķinot Scratch 2 redaktora augšējā rīku joslā uz aplīša ar jautājuma zīmi un tūlīt pēc tam uz interesējoša bloka, tad atvērsies labajā pusē bloka apraksts.

Klasisks programmēšanas uzdevums ir skolā pazīstamā kvadrātvienādojuma (quadratic) atrisināšanas programma, Scratch, protams tādu var izveidot. Aplūkojiet programmētāja ar segvārdu HaiTek doto vienu no iespējamajiem piemēriem: http://scratch.mit.edu/projects/395439/. Pirmajā brīdī programmiņa liekas īsa, bet tā gluži nav - paklikškiniet uz gariņu joslas visām ikonām un skatuves fona, papētiet kodu, mēģiniet tam izsekot.

Savukārt Scratch 1.4 prpgrammas piemērs par interesantajiem Fibonači skaitļiem atrodams http://progopedia.com/language/scratch/, izveidojiet to Scratch 2.0 versijā. Šādus un citus vingrinājumus aplūkosim nākamajos pamācību failos.

Scratch gariņi savā starpā apmainās ar pārraidītajiem ziņojumiem, kas šim nolūkam speciāli jāizveido, bloki "pārraidīt (message1)" ("broadcast (message1)") un "kad es saņemu (message1)" ("when I receive (message1)"). Tas ir veids, kā nodot informāciju no viena gariņa otram.

Scratch ir noderīgas iespējas veidot jaunus mainīgos, viendimensijas masīvus (sarakstus), definēt savas procedūras. Ja kāda darbība lineāri izveidotā programmā daudzreiz atkārtojas, programmu var optimizēt vai nu ar ciklu, vai sarežģītākā gadījumā ar ar procedūru - apakšprogrammu, kas atgriež vienveidīgus notikumus, bieži, no dažādiem ieejas datiem. Piemēram, jds.df.lu.lv 1. tēmā ir Scratch veidota prezentācija "PROGRAMMAS PIEMĒRS: Scratch veidota prezentācija v.1 par Jauno datoriķu skolas šo e-vidi...” - http://scratch.mit.edu/projects/24238708, šajā, 1. versijā programma ir veidota vienkārša, bet samērā gara. Savukārt, prezentācijas 2. versija "PROGRAMMAS PIEMĒRS: Scratch veidota prezentācija v.2 par Jauno datoriķu skolas šo e-vidi...” - http://scratch.mit.edu/projects/24542389 ir ar īsāku, bet pirmajā brīdi grūtāk uztveramu kodu; koda gabals, kas 12 reizes atkārtojas v.1, šajā v.2 ir izdalīts kā jauna procedūra "prezentācijas solis (1)”. Īsāka programma parasti ir labāka, jo tērē mazāk datora resursu. Programmētāji mēdz teikt, ka jebkuru programmu var uzlabot vismaz par vienu operatoru. Savukārt filozofi saka, ka jebkuru lietu var pilnveidot līdz bezgalībai. Reālisti saka, ka vienā brīdī arī neideāla programma ir gana laba lietošanai, ja testēšanas rezultāti ir gana labi...