LeJos - Cykly

Jak vykonat nějaké příkazy vícekát ?

Program vykonává každý příkaz pouze jednou. Pokud chceme příkaz, nebo celou posloupnost příkazů opakovat, použijeme cyklus. Například robot stále dokola sleduje stav senzoru doteku a teprve když je stisknut cyklus opustí.

K tomu slouží cyklus while (dokud).


Konstrukce while
Základní zápis vypadá následovně:
while (podminka) {
...
}
Dokud platí podmínka, provádí se příkazy ve složené závorce pořád dokola maximální možnou rychlostí.
Podmínka je opět výraz jehož výsledkem může být pouze true (ano) nebo false (ne).
Nekonečný cyklus
Při programování robota se bude hodit i cyklus, který se opakuje neomezeně. Například při regulaci teploty potřebujeme, aby regulátor běžel nepřetržitě. Na to používá jednoduchý trik, do podmínky dáme jen logickou hodnotu true, kteá je vždy splněna:
while (true) {
// příkazy se opakují neustále dokola.
}

Konstrukce for
Pokud předem víme, kolikrát chceme příkazy zopakovat, použijeme raději konstrukci for:
for (int i = 1; i <= 10; i++) {
	System.out.println("Probiha " + i + ". krok");
}
Znamená to pro i od 1 do 10 vykonávej příkazy ve složené závorce a postupně i zvyšuj o 1. Jak vidíme, hodnota i se při každém kroku zvýší o jedničku, celý cyklus se tedy provede 10x a hodnotu i můžeme uvnitř cyklu využít.