VĒL PROGRAMMU PIEMĒRI: Tipiski skolu programmēšanas 8 uzdevumi, pārnesti uz Scratch
+ Noderīgi 8 uzdevumi ievadam programmēšanā. Vairāk vai mazāk klasiski programmēsanas priekšmetu skolas uzdevumi, izpildāmi ne tikai Free Pascal, C++, Java, Visual Basic, bet arī Scratch: mērvienību kalkulators, varbūtību eksperiments, pirmskaitļi, Fibonači skaitļi, Lisažū figūras, fraktāļi un MS Excel funkcijai PMT() līdzīgi aprēķini.
Materiāla autors doc. Imants Gorbāns.
6. Lisažū figurās
Lisažū figūras (Lissajous figure, curve) var viegli demonstrēt fizikas laboratorijā uz oscilogrāfa ekrāna, tās apraksta harmoniskas kustības. Šīs figūras matemātiski apraksta ar diviem parametriskiem vienādojumiem, kuru pamats ir: sin() funkcija:
x = A * sin(a*t+d) , y = B * sin(b*t)
Pirms pārdesmit gadiem Lisažū figūras bija gaismas noformējuma pamatideja lāzerdiskotēkās (ņem lāzeru ar līdz 5 mW jaudu un divus skaļruņus, pie kuru mebrānām pielīmēts neliels spogulītis; uz skaļruņiem laiž sinusoidālu spriegumu no skaņu ģeneratora; sistēmu izveido tā, ka lāzera stars vispirms krīt uz vienu spoguli, tad uz otru; spoguļu radītās stara novirzes ir savstarpēji perpendikulāras).
Izveidosim Scratch programmiņu, kas uz datora ekrāna zīmē Lisažū figuras līdzīgi kā tās var novērot uz oscilogrāfa ekrāna vai lāzerdiskotēkā. Programmiņas ideja ir:
1) notīram ekrānu un mainīgo t pēc iepriekšējās palaišanas,
2) novietojam zīmuli ekrāna centrā un to virtuāli piespīežam darbvirsmai,
3) veidojam ciklu, kas darbosies līdz pārtraukšanai (sarkanā poga),
4) cikla iekšienē pasakam, par kādu soli mainīsies mainīgais t,
5) ievietojam koda bloku "iet uz x: y:" un tajā ierakstam Lisažū figūras aprakstošās formulas, mainīgos a un b ļaujam lietotājam uz ekrāna mainīt ar bīdīšanu.
16. att. Lisažū figūru programa idejiski tīrā variantā
17. att. Viens no programmas zīmējumu rezultātiem.
Lai iegūtu savādākas figūras, maniet parametrus a un b, kā arī varat mainīt skaitliskos koeficientus programmas kodā.
Programmiņas URL adrese: http://scratch.mit.edu/projects/26291425/
UZDEVUMI:
a) uzzīmējeit figūras, kurām a un b attiecība ir kā 1:1, 1:2, 3:2, 3:4, 4:5.
b) izvidojiet programmu, kura prasa ievadīt a, b, c, d un zīmē līnijas pēc šādiem noteikumiem:
R = cos(m*t)+p
kur m=a/b un p=c/d
x(t) = R * cos (t)
y(t) = R * sin (t)