13 Cykly

Cyklem označujeme část kódu, který se opakuje. Chceme-li něco udělat třeba tisíckát, můžeme tisíckrát zkopírovat příkaz a nebo to udělat v cyklu.

Nedávno jsem si dělala tuto pomůcku pro kreslení a potřebovala jsem vygenerovat síť tlačítek, které mi zakryjí obrázek. Cykly potřebujeme znát když pracujeme s poli (složitější proměnná o které si povíme více příště).

POZOR! Hrajeme-li si s cykly, velmi snadno se nám stane, že se zacyklíme. Spustíme-li nekonečný cyklus většinou nám zatuhne prohlížeč, v horším případě budeme muset restartovat celý počítač.

Existují tři základní typy cyklů:

  • while (podmínka) { tělo cyklu }
  • do { tělo cyklu } while (podmínka)
  • for ( počáteční hodnota ; podmínka ; krok ) { tělo cyklu }

 

While je cyklus s podmínkou na začátku. Do-while je cyklus s podmínkou na konci. To je jediný rozdíl. U těchto dvou cyklů si však člověk musí dávat pořádně pozor, aby se nezacyklil. Všchny cykly běží tak dlouho, dokud je podmínka pravdivá. Zapomeneme-li teda uvnitř cyklu, měnit hodnotu proměnné v podmínce, jsme zacyklení.

Př.1: cykly.html

                       var juchu = 1;
			while ( juchu < 11 ) { 
			   	document.write("juchu je ");
			   	document.write(juchu);
				document.write("<br>");
				juchu = juchu + 1;
			}

 

Kdybych zapoměla na poslední zvýrazněný příkaz cyklu (jako že jsem zapoměla :)), došlo by k zacyklení. Neboť proměnná juchu by se neměnila, zůstavala by stále rovna jedné, a podmínka juchu < 11 by byla stále pravdivá 1<11.

No a protože se na tu kontrolní proměnnou často zapomíná a takové zapomnění, může udělat pěknou paseku, je tu cyklus for. V cyklu for, musíme ošetřit hned na začátku všechno. Kromě samotné podmínky obsahuje hlavička forka počáteční hodnotu a krok (přičtení s každým cyklem), vše odděleno středníkem.

Př.2: cykly-for.html

 

                       for (var juchu=1; juchu < 11 ; juchu = juchu+1) { 
document.write("juchu je ");
document.write(juchu);
document.write("<br>");
}

V tomto příkladu jste viděli přepsaný př.1 do forka. Všiměte si že dva řádky z př.1 se nyní ocitly v závorce spolu s podmínkou.

Kam dál?