17 - Cykly II

Úloha 1

V minulej lekcii sme vypisovali opakovane vypisovali do konzoly, že máme radi pondelky:

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

Skúste teraz takýto výpis do konzoly:

for (int i = 0; i < 10; i++)
{
  println("Cislo", i);  
}

Program vypíše:

Cislo 0
Cislo 1
Cislo 2
Cislo 3
Cislo 4
Cislo 5
Cislo 6
Cislo 7
Cislo 8
Cislo 9

Ako funguje cyklus for?

Cyklus for má hlavičku, definíciu: for (int i = 0; i < 10; i++) Má tri časti:

  • int i = 0; Tu sa vytvorí nová premenná s názvom i a nastaví sa na nula.

  • i<10; Tu sa určí podmienka, dokedy sa cyklus ešte opakuje

  • i++ Tu sa definuje, čo sa urobí s premennou i po každom jednom kole cyklu. V tomto prípade to znamená, že i sa po každom prebehnutí cyklu zväčší o 1.

Zápis i++ je to isté ako keby sme zapísali i=i+1.

Premenná i je teda novovytvorená premenná. A existuje len vnútri tela cyklu, medzi { a }. Podobne ako lokálna premenná v podprograme.

Úloha 2

Čo treba v predchádzajúcom programe zmeniť, aby sa vypísali čísla:

  • 0, 1, ... 10 - teda aj číslo 10

  • 1, 2, ... 10

  • 2, 4, ... 20

  • 10, 20, ... 100

Nezabúdajte, že môžete premennú i pri výpise použiť aj v nejakom matematickom výraze.

Úloha 3

Vytvorte program, ktorý pomocou cyklu for vypíše čísla a ich druhé mocniny:

0 na druhú je 0
1 na druhú je 1
2 na druhú je 4
3 na druhú je 9
4 na druhú je 16
5 na druhú je 25
6 na druhú je 36

Úloha 4

Vypíšte pomocou cyklu for takúto rozprávku:

Na strome bolo 0 vrabcov, jeden priletel a už je na ňom 1 vrabcov
Na strome bolo 1 vrabcov, jeden priletel a už je na ňom 2 vrabcov
Na strome bolo 2 vrabcov, jeden priletel a už je na ňom 3 vrabcov
Na strome bolo 3 vrabcov, jeden priletel a už je na ňom 4 vrabcov
Na strome bolo 4 vrabcov, jeden priletel a už je na ňom 5 vrabcov
Na strome bolo 5 vrabcov, jeden priletel a už je na ňom 6 vrabcov
Na strome bolo 6 vrabcov, jeden priletel a už je na ňom 7 vrabcov
Na strome bolo 7 vrabcov, jeden priletel a už je na ňom 8 vrabcov
Na strome bolo 8 vrabcov, jeden priletel a už je na ňom 9 vrabcov
Na strome bolo 9 vrabcov, jeden priletel a už je na ňom 10 vrabcov

Úloha 5

A vymyslite program, ktorý pomocou cyklu for porozpráva aj o odlietaní vrabcov:

Na strome bolo 10 vrabcov, jeden odletel a zostalo na ňom 9 vrabcov
Na strome bolo 9 vrabcov, jeden odletel a zostalo na ňom 8 vrabcov
Na strome bolo 8 vrabcov, jeden odletel a zostalo na ňom 7 vrabcov
Na strome bolo 7 vrabcov, jeden odletel a zostalo na ňom 6 vrabcov
Na strome bolo 6 vrabcov, jeden odletel a zostalo na ňom 5 vrabcov
Na strome bolo 5 vrabcov, jeden odletel a zostalo na ňom 4 vrabcov
Na strome bolo 4 vrabcov, jeden odletel a zostalo na ňom 3 vrabcov
Na strome bolo 3 vrabcov, jeden odletel a zostalo na ňom 2 vrabcov
Na strome bolo 2 vrabcov, jeden odletel a zostalo na ňom 1 vrabcov
Na strome bolo 1 vrabcov, jeden odletel a zostalo na ňom 0 vrabcov

Úloha 6

Vytvorte program, ktorý pomocou cyklu postupne nakreslí 10 kartičiek na náhodných pozíciách. Čísla na kartičkách postupne rastú o 0 po 9:

Úloha 7

Vytvorte program, ktorý vykreslí bankovky od 10 do 50:

Úloha 8

Nasledujúci program počíta x-ovú súradnicu a kreslí na ňu čísla:

size(400,400);
textSize(45);
for (int i = 0; i < 8; i++)
{
  int x = i * 50;
  text(i, x, 100);
}

Spustite program, aby ste videli, čo robí a vyplňte nasledujúcu tabuľku:

Hodnota premennej i
Hodnota premennej x

keď sa zobrazí 0

keď sa zobrazí 1

keď sa zobrazí 2

keď sa zobrazí 3

keď sa zobrazí 4

keď sa zobrazí 5

keď sa zobrazí 6

keď sa zobrazí 7

Úloha 9

Upravte predchádzajúci program, aby sa čísla kreslili šikmo:

Aký vzorec ste vymysleli pre výpočet y-ovej súradnice?

Ak sa vám 0 vypisuje mimo obrazovku, upravte si zarovnanie textu. (textAlign)

Úloha 10

Pomocou cyklu a obdĺžnikov vykreslite kocky domina stojace v zástupe:

Úloha 11 *

Vytvorte program, ktorý pomocou cyklu a obdĺžnikov nakreslí pyramídu:

Last updated