18. hodina - Vnorené vetvenie¶
Napíš program, ktorý zobrazí absolútnu hodnotu čísla. Do premennej
a
priraď číslo. Použi príkaz vetvenia na to, aby si vypísal absolútnu hodnotu tohto čísla. Napríklad:ak bude
a = -7
, program vypíšeAbsolútna hodnota -7 je 7
,ak bude
a = 13
, program vypíšeAbsolútna hodnota 13 je 13
.
Zatiaľ vieš porovnávať dve čísla pomocou
<
,>
. Vyskúšaj, ako fungujú testy na rovnosť==
a rôznosť!=
. Napíš do príkazového riadku výrazy a zisti, čo vypíšu:>>> 1 == 1
>>> 1 == 2
>>> 0 != 2
>>> 0 != 0
>>> x = 100
>>> x == 10 * 10
>>> x != 10 * 10
>>> 11 * 11 - 21 == x
>>> 1000 / 10 - 1 != x
Vieš, čo sa stane, keď má počítač deliť nulou? Vyskúšaj v príkazovom riadku. Napíš program, ktorý počíta prevrátenú hodnotu čísla. Do premennej
n
priraď číslo. Použi príkaz vetvenia a test na rovnosť na to, aby si:v prípade, že
n = 0
zobrazil správuNulou deliť neviem
,inak počítač zobrazí výsledok v tvare
1 / 10 = 0.1
.
Do premenných
x
,y
priraď dve čísla. Napíš program, ktorý vypíše, či sú čísla rovnaké alebo rôzne. Napríklad:pre
x = 1
,y = 0
Čísla sú rôzne.
pre
x = 2
,y = 2
Čísla sú rovnaké.
Do premenných
a
,b
priraď dĺžky strán. Napíš program, ktorý vypíše, či je to obdĺžnik alebo štvorec. Napríklad:pre
a = 10
,b = 10
Je to štvorec.
pre
a = 10
,b = 20
Je to obdĺžnik.
Hodíme
10
krát hracou kockou a chceme vedieť, koľkokrát padla šestka a koľkokrát iné číslo. Napíš program, ktorý pomocou cyklu a vnoreného príkazu vetvenia spočíta. Napríklad:5 6 5 2 2 3 1 4 5 3 Padlo 1 šestiek a 9 iných čísel
(*)
Hráme hru, v ktorej hádžeme 10x kockou a získavame prémiu vždy vtedy, keď za sebou padnú dve rovnaké čísla. Napríklad:4 4 6 5 3 3 3 1 5 5 Prémie 4
Napíš program, ktorý simuluje
10
hodov kockou a spočíta prémie.
Futbaloví rozhodcovia sa dohodli, ako budú hráčov hodnotiť za priestupky:
ak hráč spraví
0
priestupkov, hrá férovo,ak spraví
1
alebo2
priestupky, dostáva žltú kartu,inak dostane červenú a je vylúčený z hry.
Vidíme, že v tejto úlohe je viac podmienok. Pozri si a vyskúšaj toto riešenie:
pocet = 0 if pocet == 0: print('Hráš férovo') else: if pocet < 3: # print('Máš žltú kartu') # vnorený if else – odsaď ho else: # print('Máš červenú kartu´') #
príkazy v oboch vetvách vnoreného
if else
odsaď ešte viac
Doplň do tabuľky, čo program vypíše, ak do premennej
pocet
priradíme hodnotu:program vypíše:
pocet = 0
pocet = 1
pocet = 2
pocet = 3
pocet = 4
pocet = -1
V televíznej súťaži o pečení Môj dedo pečie lepšie ako tvoj sú takéto pravidlá:
ak súťažiaci stihne upiecť menej ako
10
koláčikov, je hodnotený ako začiatočník,ak stihne upiecť aspoň
10
ale menej ako20
koláčikov, je hodnotený ako pokročilý,pre aspoň
20
koláčikov, je hodnotený ako super.
Vytvor program, v ktorom najprv do premennej
kolace
priradíš počet upečených koláčikov. Program sa potom rozhodne, akú hlášku vypíše.Otestuj, že program zobrazí správnu hlášku pre čísla
1
,9
,10
,19
,20
,100
.
V úlohe 6 vidno, že počítač nevie správne skloňovať slová. Mal by vypísať:
Padla 1 šestka...
Padli 2 šestky...
Padlo 5 šestiek...
Napíš program, v ktorom do premennej
n
priradíš číslo a počítač zobrazí gramaticky správnu vetu.
Chceš porovnať svoj vek s kamarátkou. Vytvor program, v ktorom do premenných ja a ona priradíš tvoj vek a vek tvojej kamarátky. Program ich porovná a podľa toho vypíše: Sme rovnako starí, Mám menej rokov alebo Ona je mladšia.
Vlajku Nemecka môžeš nakresliť aj tak, že pomocou cyklu vygeneruješ
10000
náhodných súradnícx
z intervalu<10, 350>
ay
z intervalu<10, 250>
. Na vygenerované súradnice nakreslíš farebný krúžok s polomerom5
. Farbu krúžku zvolíš podľay
-ovej súradnice:ak je
y < 90
kresli čierny krúžok,inak, ak je
y < 170
kresli čierny krúžok,inak nakresli žltý krúžok.
Vyskúšaj tento program spustiť aj pre menší počet farebných krúžkov (napríklad
100
alebo1000
).
(*)
Vytvor program, ktorý podobne, ako v predchádzajúcej úlohe, nakreslí vlajku bývalého Československa: