For toistorakenne
While-rakenne on kätevä, kun halutaan toistaa koodia kunnes joku ehto toteutuu. Usein kuitenkin halutaan
suorittaa koodia tietty määrä toistoja peräkkäin. Tällöin voidaan käyttää for-rakennetta
for (int laskuri = 0; laskuri < 5; laskuri++) { // tehdään asioita niin kauan kuin ehto on voimassa}For-lause on siis toiminnaltaan hieman monimutkaisempi kuin while-rakenne. for alustuksessa onkin kolme osiota, jotka on
eroteltu puolipisteellä ;.
int laskuri = 0Ensimmäinen osio alustaa muuttujan, jolla lasketaan suoritettujen kierrosten määrää. Tämä suoritetaan vain kerran, ennen kuin for-toistorakenne alkaa.laskuri < 5Toinen osio asettaa ehdonfortoistolle. Ehto tarkistetaan ennen jokaista toistoa jaforrakenteen koodi toistetaan vain, jos ehto antaa arvontrue(kutenifrakenteessa). Mikäli ehto antaisi arvoksifalse, siirrytään suorittamaan koodiaforrakenteen hakasulkujen jälkeen. Tässä esimerkissä ehtona on, että laskurin arvo on pienempi kuin 5.laskuri++Viimeinen osio on vastuussa laskurin arvon muuttamisesta, ja se suoritetaan jokaisenfor-toistokerran jälkeen. Tässä++tarkoittaa “Lisää muuttujan arvoa yhdellä”, eli samaa kuinlaskuri = laskuri + 1.
Harjoitus 1
Tässä koodissa vilkutetaan lediä kolme kertaa. Kuinka muuttaisit koodia, jotta ledi vilkkuisi viisi kertaa?
Laskurin käyttö
For-rakenteessa käytetty laskuri on siis ihan tavallinen muuttuja, jota voidaan käyttää for-rakenteen sisällä. Tästä on
hyötyä, kun halutaan tietää, monesko toisto on parhaillaan menossa.
for (int laskuri = 0; laskuri < 5; laskuri++) { Serial.println(laskuri); // Käytetään sarjaporttia tulostamiseen delay(1000);}Harjoitus 2
Tässä koodissa tulostetaan luvut nollasta neljään. Kuinka saisit koodin tulostamaan luvut 1 - 5?