Šachovnica (cyklus v cykle)

Cyklus v cykle

Cyklus môže vo svojom tele obsahovať príkazy. Cyklus je tiež príkaz. Môže teda cyklus vo svojom tele obsahovať aj cyklus? Odpoveď je áno, a je to často užitočné.

Obrázky usporiadané do štvorcovej siete často spravíš len tak, že použiješ cyklus vo vnútri iného cyklu:

Toto je kód, ktorý tento obrázok nakreslí.

def setup():
    size(400, 400);

    r = 0;
    while r < 10:
        s = 0;
        while s < 10:
            rect(40*s, 40*r, 30, 30);
            s += 1;
        r += 1;

    print("Hotovo, sefe!");

Úlohy 2. Nakresli nasledujúce obrázky. (spolu 10b)

Využi pritom príkaz while vo vnútri iného cyklu while a dve riadiace premenné riadok a stĺpec.

Tiež pomocou vnoreného cyklu

**Nepovinné (pre machrov):

**

Striedanie farieb (operácia modulo)

Na striedanie farieb môžeme použiť malú fintu v podobe matematickej operácie modulo. Operácia MODULO vypočíta zvyšok po delení celého čísla iným celým čislom. Často sa používa s deliteľom 2, na zisťovanie parity čísla (párne/nepárne).

4 % 2      # výsledok výrazu je 0, lebo párne číslo dáva pri delení zvyšok 0
5 % 2       # výsledok je 1, nepárne číslo dáva pri delení 2 zvyšok 1

Keď hodnotu modulo počítame pri každom prechode cyklu z hodnoty riadiacej premennej, vieme každý druhý (každý tretí, štvrtý, piaty...) nakreslený útvar kresliť inou farbou.

Program na to by mohol vyzerať napr. takto:

if (i % 2 == 0):
    fill(0);
else:
    fill(255);

rect(40*i, 0, 40, 40);

Alebo inak: Hádaj, čo nakreslí tento program?

i = 0;
while (i < 10):
    if (i % 2 == 0):
        fill(0);
    else:
        fill(255);
    rect(40 * i, 0, 40, 40);

No a teraz sa pokús využiť poznatky z tejto kapitoly na nakreslenie takejto šachovnice.