11 - Vetvenie programu
Teraz budeme chvíľu robiť bez kreslenia, aj bez setup
a draw
. Ale o chvíľu sa vrátime naspäť k grafike.
Úloha 1
Počítač dokáže porovnávať čísla. Vytvorte si nový prázdny skeč, bez setup
a draw
a napíšte do neho:
println(1<2);
Pozrite sa, čo po spustení vypíše do konzoly:
true
Počítač nám odpovedal na otázku, či je 1
menšie ako 2
. Je to pravda, preto nám odpovedal true
.
Vyskúšajte, čo napíše, keď sa ho namiesto 1<2
spýtame, či 3
je menšie ako 4
.
Úloha 2
Vyskúšaj takto porovnať aj zložitejšie výrazy, aké výsledky počítač vypísal:
1+2 > 3
-1 > -2
(1 + 2) * 3 < 1 + 2*3
Úloha 3
Zistite pomocou programu, čo ma za 1 rok stojí viac peňazí? Platiť za kávu každý deň 1.25 EUR alebo platiť za internet 38 eur mesačne?
Úloha 4
Porovnávať vieme okrem čísel aj premenné a hocijaké výrazy s premennými. Vytvorte si v program premennú a
a priraďte do nej hodnotu 17. Vyskúšajte, tieto porovnania:
a < 11
a * a * a > 5000
a + a/2 + a/3 + a/4 < 3 * a
Úloha 5
Vytvoríme spolu program, ktorý podľa teploty povie, či je vonku teplo alebo zima. Do premennej teplota
priradíme číslo. A chceme, aby počítač pri teplote väčšej ako 20 stupňov vypísal, že je teplo. Inak nech vypíše, že je zima.
Urobíme to takto:
int teplota = 25;
println("Teplota je", teplota, "stupnov.");
if (teplota > 20)
{
println("Dnes je teplo.");
}
else
{
println("Dnes je zima.");
}
Ak ste program napísali správne, vypíše:
Teplota je 25 stupnov.
Dnes je teplo.
Úloha 6
Zmeň v programe hodnotu teploty z 25
na 10
. Čo vypíše zmenený program?
Ako to funguje?
Príkazy if () .... else ...
tvoria takzvané vetvenie programu.
Do zátvoriek if( )
sa píše podmienka, podľa ktorej sa počítač rozhodne, čo vykoná.
Ak podmienka je splnená, ak je pravdivá, tak sa vykoná ten blok programu, ktorý je hneď za if
. Tento blok je zavretý do brčatých zátvoriek { ... }
.
Ak podmienka nie je splnená, vykoná sa ten blok, ktorý je za else
.
Úloha 7
Uprav program z Úlohy 5 tak, aby pre záporné teploty vypísal Zober si rukavice
a inak nech vypíše Rukavice ti netreba
.
Over si, či program funguje pre rôzne hodnoty premennej teplota
. Aj kladné, aj záporné. Napríklad:
Teplota je -5 stupnov
Zober si rukavice.
alebo:
Teplota je 14 stupnov
Rukavice ti netreba.
Úloha 8
Chceme poslať list. Vytvorte program, ktorý nám poradí s cenou listu. Na začiatku programu do premennej hmotnost
priraďte hmotnosť listu v gramoch. Použi vetvenie, nech program:
pre listy do 50g vypíše
"Zaplatis 1.25 EUR"
inak vypíše
"Zaplatis 1.4 EUR".
Overte, že program správe počíta celu listu pre hmotnosti 30
, 50
a 100
gramov.
Úloha 9
Ideme na zmrzlinu. Cena za jeden za kopček zmrzliny je 1.50
eura. Zmrzlinár však ponúka zľavu: ak vezmeme viac ako 5
kopčekov, cena za každý kopček bude 1.30
eura. Vytvor program, ktorému na začiatku priradíš do premennej pocet
počet kopčekov a on vypíše výslednú cenu. Napríklad:
Za 5 kopcekov zmrzliny zaplatis:
7.5 EUR
Overte, že program funguje správne pre 4
, 5
a 6
kopčekov.
Úloha 10
Už ideme kresliť, ale zatiaľ stále ešte bez setup
a draw
. Vyrobíme si semafor. Vytvorte nový skeč. Do premennej cas
priraďte nejaký počet sekúnd. Ak je toto číslo menšie ako 30, nakreslí sa červené svetlo, inak sa nakreslí zelené:

cas=5

cas=50
Úloha 11
Uprav svoj program tak, aby bolo vidno aj ostatné svetlá, ktoré práve nesvietia:

cas=5

cas=50
Úloha 12
Máme škatuľu v tvare obdĺžnika s dĺžkami strán, ktoré sú uložené v premenných a
, b
. Škatuľu chceme položiť vždy na ležato. Vytvor program, v ktorom na začiatku priradíš do premenných a
, b
rozmery. Program nakreslí škatuľu tak, aby vždy ležala dlhšou stranou na zemi. Over, že program funguje pre rôzne kombinácie hodnôt premenných a
, b
.

a=50, b=100

a=200, b=70
Úloha 13
Vytvorte skeč na kreslenie dvojdielneho snehuliaka. V premenných v1
a v2
sú uložené veľkosti gulí. Napíšte program tak, aby vždy bola vykreslená menšia guľa na väčšej. Overte si funkčnosť na rôznych kombináciách veľkostí.

v1=70, v2=40

v1=20, v2=100
Úloha 14
Konečne sa vrátime do dynamického kreslenia so setup
a draw
. Vytvorte skeč, ktorý pri kliknutí myšou nakreslí nejaký tvar. Ak bolo kliknuté v ľavej polovici obrazovky, tak nakreslí krúžok. Inak nakreslí štvorček:

Úloha 15 *
Doplňte svoj predošlý program tak, aby v hornej polovici obrazovky boli útvary modré a v dolnej polovici zelené.

Last updated