You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Toistorakenteet

Kun jotain koodin osaa halutaan toistaa ennalta tiedetty määrä kertoja tai ennalta tuntematon määrä, niin voimme käyttää toistorakennetta.

RobotC-kielessä on kolme toistorakennetta:

  1. while
  2. for
  3. do...while

Näistä kaksi ensimmäistä ovat ns. alkuehtoisia ja viimeinen, do...while on loppuehtoinen toistorakenne.


"Ikuinen" silmukka

  • Joskus on tarpeen rakenne, joka toistaa haluttua koodia "ikuisesti".
  • Lainausmerkit siksi, että ei tietenkään mikään ohjelma pyöri ikuisesti, mutta merkintää käytetään ilmaisemaan että toistorakenne toistuu ennalta tuntemattoman määrän kertoja.

Esimerkki

Seuraavassa on esimerkki ikuisen silmukan sekä if ja else-lauseiden käytöstä.
Ikuista silmukkaa tarvitaan ohjelmissa, missä ei ennalta tiedetä milloin ohjelmasta tulisi poistua.
Ikuisesta silmukasta poistutaan break tai return käskyillä.

task main()
{
   int Luku;
   while (1) // "ikuinen" silmukka
   {
      if (sensorValue[soundSensor] < 10)                                        motors[motorB] = motors[motorC] = 10;
      else if (sensorValue[soundSensor] >= 10 && sensorValue[soundSensor] < 50) motors[motorB] = motors[motorC] = 50;
      else                                                                      motors[motorB] = motors[motorC] = 0;
   }
   return 1;
}
  • No labels
You must log in to comment.