Scratch
Laskuri
Laskurilla tarkoitetaan muuttujan arvon kasvamista. Kun määrittelemme Tieto-välilehdellä uuden muuttujan: laskuri, niin siellä löytyy komento, jolla muuttujan arvo voidaan kasvattaa halutulla määrällä. Se on seuraava.
Tämä tarkoittaa käytännössä sitä, että laskuri-muuttuja kasvaa aina yhdellä, kun sitä kutsutaan.
Kun tämän komennon laittaa silmukan sisälle, niin olemme saaneet laskuri-muuttujan. Tällöin laskuri-muuttuja saa arvoja: 0, 1, 2, 3, 4, 5,…
Kun lisäksi sijoitamme laskuri- muuttujan komentoon: mene kohtaan x: y:, niin saamme hahmon liikkumaan. Koska muutos on +1, niin hahmo liikkuu oikealle. Jos muutos olisi -1, niin hahmo liikkuisi tällöin vasemmalle.
Scracthissa laskuri-idea ja muuttuja on piilotettu jo valmiiksi komentoon
Hahmo liikkuu, kun laitamme komennon silmukan sisälle, vaikka emme ole määritelleet edes muuttujaa hahmon vaakasuuntaiselle koordinaatille.
Hahmon liikuttelu nuolinäppäimillä
Hahmon liikuttelu nuolinäppäimillä tapahtuu seuraavasti.
Tässä on otettu käyttöön kaksi muuttujaa: x ja y, missä x ilmaisee hahmon vaakasuuntaista paikkaa ja y ilmaisee hahmon pystysuuntaista paikkaa. Kun x kasvaa, niin mennään oikealle ja kun x pienenee, niin mennään vasemmalle. Vastaavasti kun y kasvaa, niin mennään ylöspäin ja kun y pienenee, mennään alaspäin.
Hahmon liikuttelu hiirellä
Jos haluat, että hahmo liikkuu hiiren mukana, niin se onnistuu seuraavalla ohjausrakenteella.
Ilman muuttujia koodin voi lyhentää muotoon.
Kuten huomaat, niin hahmosta tuli käytännössä hiiriosoitin. Entäpä jos haluan liikkeen hitaammaksi? Se onnistuu tekemällä koodi.
Jos hiiren vaakasuuntainen osoitin on suurempi kuin hahmon paikka x, tällöin kasvatetaan muuttujan x-arvoa, ja hahmo liikkuu oikealle. Jos hiiren vaakasuuntainen osoitin on pienempi kuin hahmon paikka x, niin tällöin pienennetään muuttujan x-arvoa, ja hahmo liikkuu vasemmalle.
Vastaavasti jos hiiren pystysuuntainen osoitin on suurempi kuin hahmon paikka y, niin tällöin kasvatetaan muuttujan y-arvoa, ja hahmo liikkuu ylös. Jos hiiren pystysuuntainen osoitin on pienempi kuin hahmon paikka y, niin tällöin pienennetään muuttujan y-arvoa, ja hahmo liikkuu alaspäin.
Tässä muutos on laitettu arvoon 2 tai -2. Muuttamalla tätä arvoa saadaan hahmon liike hitaammaksi tai nopeammaksi, jolloin hiiren liike saadaan halutunlaiseksi.
On vielä yksi tapa liikutella hahmoa. Tässä tavassa hahmo tulee kohti hiirenosoitinta. Seuraavalla koodilla saat hahmon liikkumaan kohti hiirenosoitinta.
Hahmon liikuttelu liukusäätimillä
Hahmoa voidaan myös liikutella liukusäätimien avulla. Aluksi tarvitset kaksi muuttujaa: x ja y, joilla ilmaistaan hahmon paikka. Tee hahmoon seuraava koodi.
Paina työpöydällä hiiren oikeaa painiketta ikkunan päällä, joka näyttää muuttujan ja avautuvasta valikosta valitse komento: säädin. Tämä lisää muuttujalle liukusäätimen.
Paina uudestaan hiiren oikeaa painiketta muuttujan päällä ja avautuvasta valikosta valitse komento: aseta säätimen minimi ja maksimi.
Laita x-muuttujalle minimiksi -240 ja maksimiksi 240. Vastaavalla tavalla laita y-muuttujalle minimiksi -180 ja maksimiksi 180.
Kun suoritat ohjelman ja liikutat liukusäätimiä, hahmo liikkuu uuteen paikkaan näiden arvojen mukaisesti.
For-silmukka

Kuinka tehtäisiin ohjelma, joka tulostaa allekkain 10 kertaa Hei-sanan? Tehdään seuraava ohjelma.

Koska tekstin tulostus on sidottu hahmon paikkaan, niin teksti saadaan tulostettua eri paikkaan vain liikuttamalla hahmoa alapäin. Koska Scratchissa ei pelkkää tekstiä voi tulostaa koordinaatistoon, niin käytännössä näytölle saadaan vain yksi puhekupla kerrallaan.

For-silmukka ja muuttuja

Koska toista x kertaa -lauseessa ei ole oletuksena muuttujaa, niin tarvitsemme luoda erikseen muuttujan. Tämä on käytännössä sama kuin, jos luomme laskuri-muuttujan, jonka arvoa kasvatamme toista x kertaa -silmukan sisällä.

Esimerkki: Reitin kulkeminen

Kun piilotamme hahmon ja laskemme kynän alas liikkumisen ajaksi, niin saamme aikaiseksi seuraavan reitin.
Esimerkki: Viiden kertotaulu
Tehdään ohjelma, joka laskee ja tulostaa viiden kertotaulun. Kun teemme laskurin a, joka kasvaa yhdestä kymmeneen silmukan sisällä, niin saamme viiden kertotaulun aikaiseksi kertomalla laskurin viidellä. Kokonainen ohjelma näyttää tältä.
Ohjelman tulostus näyttää tältä.
Tulostuslause, jossa on sekaisin tekstiä ja muuttujia, voidaan muodostaa: sano x sekunnin ajan - ja yhdistä ja – komennoilla. Alla oleva kuva havainnollistaa asiaa.
Pinta-alojen summa
Pyörivä neliö

Nyt tulostuu seuraavaa.

Sisempi toistolause piirtää yhden neliön neljällä viivalla. Ulompi toistolause piirtää 30 kappaletta neliöitä. Ennen kuin neliö voidaan piirtää, niin meidän täytyy kuljettaa hahmon keskipiste origosta paikkaan (-100, 100). Neliön piirtämisen jälkeen meidän täytyy palauttaa hahmo takaisin origoon eli paikaan (0, 0). Kun hahmo on origossa, niin muutamme aloitussuunnan 12 astetta oikealle, niin seuraava neliö piirretään 12 astetta kiertyneenä edelliseen neliöön nähden. Koska 12° ∙ 30 = 360°, niin täyteen ympyrään mahtuu 30 neliötä.
1800 pistettä

Nyt ohjelma tulostaa seuraavaa.

Tarvitset kaksi muuttujaa: a ja b. Muuttujalla a liikutaan vaakasuunnassa ja muuttujalla b liikutaan pystysuunnassa. Sisempi toistolause hoitaa vaakasuuntaisen liikkeen ja ulompi toistolause hoitaa pystysuuntaisen liikkeen. Koska sisempää toistolausetta toistetaan 60 kertaa, niin muuttujan a arvo pitää aina nollata eli asettaa arvo a = 1 ennen uuden toistolauseen aloittamista. Muuttuja b tarvitaan vain nollata yhden kerran heti alussa. Piste (-230, 150) on kuvion alkukoordinaatti ja pisteet tulostetaan 5 yksikön välein eli siksi siellä on laskutoimitus 5*a ja 5*b.
Pyörivä ympyräjono
1000 ympyrää

Scratchissa satunnainen väri on jokin numeroarvo väliltä 0–200. Scratchissa ikkunan koko on 480 x 360, missä origo on ikkunan keskellä, jolloin arvomme paikan tälle alueelle. Laitamme nämä komennot toistolauseen sisälle, jossa laitamme kynän alas satunnaiseen paikkaan. Ohjelma tulostaa nyt seuraavaa.

Suora xy-koordinaatistossa

Ohjelma tulostaa nyt seuraavaa.

Kokeile muuttaa muuttujan k arvoa. Mitä havaitset?