Cyklus FOR

GM přehled


For je velice často používaný typ cyklu. Bohužel mnoho z vás mu stále nerozumí, tak se vám jej dnes pokusím trochu přiblížit.



Zápis cyklu

Zápis cyklu for vypadá následovně:

for(i=0; i<=10; i+=1)
{
   ... příkazy;
}

 
Vysvětlení, máme proměnnou i, kterou deklarujeme tímto: for(i=0; i<=10; i+=1), dále zde máme podmínku která nám říká: opakuj dokuď proměnná i nebude 10 o to se stará tato část kódu:
for(i=0; i<=10; i+=1). Poslední část nám v každém cyklu zvýší proměnnou i o 1: for(i=0; i<=10; i+=1). Poslední část již není součástí cyklu for ale je to část která nám vykoná opakovaně to co potřebujeme. Hodnoty v cyklu se oddělují pomocí středníku! Cykly jsou nepostradatelné při práci s arrays[pole].

To bylo základní vysvětlení cyklu fór, nyní si ukážeme k čemu je to dobré a jak to vlastně funguje v praxi, ti kteří to stále ještě nepochopili, pochopí nyní.

 

Ukázka

Řekněme si že potřebujeme vytvořit například 10 instancí objektu zeď, na různých místech. Běžně by jsme to zapsali asi takhle:

instance_create(50,10,obj_zed);
instance_create(
50,20,obj_zed);
instance_create(
50,30,obj_zed);
instance_create(
50,40,obj_zed);
instance_create(
50,50,obj_zed);
instance_create(
50,60,obj_zed);
instance_create(
50,70,obj_zed);
instance_create(
50,80,obj_zed);
instance_create(
50,90,obj_zed);
instance_create(
50,100,obj_zed);


Což není tak uplně optimální jelikož to pomocí cyklu můžeme zkrátit z 10 na 2 řádky. Ačkoliv toto ještě není tak úplně strašné, představte si, že byste potřebovali těch objektů vytvořit třeba 200. V tom případě zkrátíte 200 řádků na 2 a to už je pořádná úspora.

for(i=1; i<=10; i+=1)
{
  instance_create(50,10*i,obj_zed);
}


Ypsilonovou hodnotu násobíme proměnnou i která se při každém průchodu cyklem zvýší o 1. Poprvé se tedy objekt vytvoří na souřadnicích (50,10), při dalším průchodu na (50,20) atd. Výsledkem tohoto kódu bude tedy 10 objektů obj_zed pod sebou.

Poznámka: cyklus for lze zapsat i takto:

for(i=1; i<=10; i+=1)
instance_create(50,10*i,obj_zed);

 
Poznámka: cykly neboli iterace se vyskytují ve valné většině programovacích jazyků, mimo cyklus for máme také například cykly while, do while...
To je vše k cyklu for.

 

Napsal uživatel Nivelety