Kaksi for-silmukkaa

Tehdään ohjelma, joka piirtää 60 x 30 = 1800 pistettä.

SANALLINEN ALGORITMI
  1. Aseta ikkunan kooksi 400 px vaakaan ja 400 px pystyyn.
  2. Aseta ikkunan taustaväriksi valkoinen.
  3. Aseta täyttöväriksi sininen.
  4. Aseta asetus, joka poistaa piirroskuvioista reunaviivan.
  5. Määrittele ulompi for-silmukka (Määrittele kokonaislukumuuttuja b, joka saa alkuarvon 1. Toista niin kauan kun b on pienempi tai yhtä suuri kuin 60. Kasvata muuttujaa b yhdellä).
    1. Määrittele sisempi for-silmukka (Määrittele kokonaislukumuuttuja a, joka saa alkuarvon 1. Toista niin kauan kun a on pienempi tai yhtä suuri kuin 30. Kasvata muuttujaa a yhdellä).
      1. Piirrä ympyrä, jonka säde on 3 paikaan (a*6,b*6). Koska a ja b muuttuvat koko ajan, niin jokainen piste piirretään eri paikkaan. Pisteiden välimatka toisistaan on 6.

// Ohjelman tehnyt e-Oppi Oy
// 30.9.2017
void setup() {
size(400,400); // Ikkunan koko
background(255); // Taustaväri valkoinen
fill(0,0,255); // Täyttöväri sininen
noStroke(); // Ei reunaviivaa
}
void draw () {
for (int b=1; b <= 60; b++) { // b=1,2,3,...,60
for (int a=1; a <= 30; a++) { // a = 1,2,3,...,30
ellipse(a*6,b*6,3,3);
// Piirrä ympyrä paikkaan (a*6,b*6)
}
}
}


Ohjelman tulostus on seuraava.



Kun käytämme piirtokomennossa samoja muuttujia kuin for-silmukoissa, niin jokainen piste voidaan piirtää eri paikkaan. Sisemmällä silmukalla saamme määrättyä pisteen vaakasuuntaisen paikan ja ulommalla silmukalla saamme määrättyä pisteen pystysuuntaisen paikan. Koska ulointa silmukkaa toistetaan 60 kertaa, niin myös sisintä silmukkaa, jossa on 30 toistoa, toistetaan 60 kertaa. Voit kokeilla muuttaa toistojen määrää.