16 - Cykly I

Na chviľu budeme teraz písať zas len jednoduché skeče, bez setup a draw. Dokonca začneme úplne bez kreslenia, len s vypisovaním do konzoly:

Úloha 1

Napíšte program, ktorý do konzoly vypíše text "Mam rad pondelky.":

Mam rad pondelky.

Úloha 2

Upravte svoj program tak, aby obsahoval 5x výpis do konzoly:

Mam rad pondelky.
Mam rad pondelky.
Mam rad pondelky.
Mam rad pondelky.
Mam rad pondelky.

Úloha 3

Váš program vyzerá asi takto:

println("Mam rad pondelky.");
println("Mam rad pondelky.");
println("Mam rad pondelky.");
println("Mam rad pondelky.");
println("Mam rad pondelky.");

Zmeňte ho na takýto program:

for (int i = 0; i < 5; i++)
{
  println("Mam rad pondelky.");  
}

Úloha 4

Vyskúšajte namiesto 5 dať číslo 10 a spustite program. Experimentujte s inými číslami. Skúste dať 1, 100, 0 a podobne.

Úloha 5

Doplňte program takto:

for (int i = 0; i < 5; i++)
{
  println("Mam rad pondelky.");  
  println("=================");
}

Mali by ste po spustení vidieť toto:

Mam rad pondelky.
=================
Mam rad pondelky.
=================
Mam rad pondelky.
=================
Mam rad pondelky.
=================
Mam rad pondelky.
=================

Úloha 6

Zmeňte program takto:

for (int i = 0; i < 5; i++)
{
  println("Mam rad pondelky.");  
}
println("=================");

Spustite ho a pozorujte, čo vykoná inak. Prečo?

Cyklus for

Ako to celé funguje? Pomocou príkazu for vytvoríme opakovanie nejakej časti programu.

Časť programu, ktorá sa má opakovať, je zavreté medzi kučeravé zátvorky { a } . Tejto časti hovoríme aj telo. Aj podprogramy akomousePressed, alebo podmienky if majú svoje telo vymedzené týmito zátvorkami.

Samotná hlavička for (int i = 0; i < 5; i++) má 4 časti:

  • Príkaz for, ten hovorí, že budeme niečo opakovať

  • int i = 0; definuje, že začíname na nule

  • i<5 hovorí, že budeme opakovať, kým platí, že i je menšie ako 5

  • i++ hovorí, že po každom kole zvýšime i o 1.

Cyklus teda je niečo ako behanie dookola po bežeckom okruhu. Začíname s 0 prebehnutými okruhmi (i=0). Po každom prebehnutí nám tréner započíta o 1 okruh viac (i++). A ak platí, že i<5, tak nás trenér pustí bežať ešte ďalšie kolo. Po odbehnutí 5 kôl máme počítadlo nastavené na 5, takže už neplatí, že i<5 a tréner naše behanie dokola končí.

A to, čo všetko vykonávame počas behania dokola, sú príkazy zavreté medzi { a }.

Úloha 7

Zatiaľ ešte bez setup a draw, vyrobte skeč, ktorý nakreslí štvorec na náhodné miesto na obrazovke.

Upravte program pomocou cyklu for tak, aby nakreslil týchto štvorcov 200:

Úloha 8

Doplňte svoj program tak, aby v tom istom for cykle nakreslila vždy červený aj modrý štvorec. Každý na iné náhodné miesto.

Úloha 9

Vytvorte nový skeč, teraz už aj so setup a draw. Nastavte belasé pozadie obrazovky.

Vytvorte podprogram bublina. Ten nakreslí na náhodnú pozíciu na obrazovke bielu kružnicu. Jej priemer je tiež náhodný z rozsahu 210.

Do podprogramu setup dopíšte cyklus, ktorý zavolá bublinu 100-krát.

Úloha 10

Pozrite si nasledujúci program. Popíšte slovami, čo vykoná:

for (int i = 0; i < 5; i++)
{
    int n = int(random(1,100));
    println("Bolo vylosované číslo", n);  
}

Úloha 11

Napíš program, ktorý simuluje hádzanie dvomi kockami. Pomocou cyklu for nech sa vykoná 5 hodov, pričom v tele cyklu sa do dvoch rôznych premenných priradia dve náhodné čísla. Tieto čísla sa vypíšu a vypíše sa aj ich súčet. Napríklad takto:

Na prvej kocke padlo 6
Na druhej kocke padlo 3
Súčet oboch je 9

Na prvej kocke padlo 1
Na druhej kocke padlo 3
Súčet oboch je 4

Na prvej kocke padlo 6
Na druhej kocke padlo 6
Súčet oboch je 12

Na prvej kocke padlo 6
Na druhej kocke padlo 6
Súčet oboch je 12

Na prvej kocke padlo 2
Na druhej kocke padlo 1
Súčet oboch je 3

Úloha 12

Vytvorte program, ktorý nakreslí na 5 náhodných miest kartičku. Kartička je obdĺžnik do ktorého je vpísané náhodne vygenerované čislo.

Vyrobte si podprogram karticka na vykreslenie kartičky s textom na náhodné miesto a v cykle volajte tento podprogram.

Last updated