18. hodina - Vnorené vetvenie


  1. 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íše Absolútna hodnota -7 je 7,

    • ak bude a = 13, program vypíše Absolútna hodnota 13 je 13.


  1. 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. >>> 1 == 2

    3. >>> 0 != 2

    4. >>> 0 != 0

    5. >>> x = 100

      >>> x == 10 * 10

    6. >>> x != 10 * 10

    7. >>> 11 * 11 - 21 == x

    8. >>> 1000 / 10 - 1 != x


  1. 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ávu Nulou deliť neviem,

    • inak počítač zobrazí výsledok v tvare 1 / 10 = 0.1.


  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é.
      

  1. 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.
      

  1. 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
    

  1. (*) 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.


  1. Futbaloví rozhodcovia sa dohodli, ako budú hráčov hodnotiť za priestupky:

    • ak hráč spraví 0 priestupkov, hrá férovo,

    • ak spraví 1 alebo 2 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


  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 ako 20 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.


  1. 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.


  1. 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.


  1. Vlajku Nemecka môžeš nakresliť aj tak, že pomocou cyklu vygeneruješ 10000 náhodných súradníc x z intervalu <10, 350> a y z intervalu <10, 250>. Na vygenerované súradnice nakreslíš farebný krúžok s polomerom 5. Farbu krúžku zvolíš podľa y-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.

    _images/18_01.png

    Vyskúšaj tento program spustiť aj pre menší počet farebných krúžkov (napríklad 100 alebo 1000).


  1. (*) Vytvor program, ktorý podobne, ako v predchádzajúcej úlohe, nakreslí vlajku bývalého Československa:

    _images/18_02.png