9. hodina - Náhoda


  1. Napíš program, v ktorom zadefinuješ 2 podprogramy s príkazmi print:

    • podprogram ciara zobrazí v jednom riadku 19 znakov +--+-- a tak ďalej

    • podprogram palicky zobrazí na striedačku paličku a dve medzery tak, aby znakov bolo 19.

    Na konci programu zavolaj na striedačku podprogramy ciara a palicky tak, aby sa zobrazilo:

    +--+--+--+--+--+--+
    |  |  |  |  |  |  |
    +--+--+--+--+--+--+
    |  |  |  |  |  |  |
    +--+--+--+--+--+--+
    

  1. Pridaj do predchádzajúceho programu ešte jeden podprogram stvorcekovy_papier. Ten využije tvoje podprogramy ciara a palicky tak, že pomocou ich volania zobrazí štvorcovú sieť:

    +--+--+--+--+--+--+
    |  |  |  |  |  |  |
    +--+--+--+--+--+--+
    |  |  |  |  |  |  |
    +--+--+--+--+--+--+
    |  |  |  |  |  |  |
    +--+--+--+--+--+--+
    |  |  |  |  |  |  |
    +--+--+--+--+--+--+
    

  1. V počítači funguje náhoda. Zadaj do príkazového riadku tieto príkazy:

    >>> import random
    >>> random.randint(1, 6)
    

    Počítač zobrazí nejaké číslo, napríklad:

    5
    

    Nechaj vykonať príkaz random.randint(1, 6) niekoľkokrát. Aké čísla počítač zobrazil?

    >>> random.randint(1, 6)
    6
    >>> random.randint(1, 6)
    4
    >>> random.randint(1, 6)
    4
    

    Slovo random znamená náhodný. Pri vykonaní príkazu random.randint(1, 6) si počítač vymyslí nejaké číslo od 1 po 6. Je to podobné, akoby si počítač hodil hracou kockou.


  1. Náhodné číslo si môžeš zapamätať – napíš a spusti (aj viackrát) takýto program:

    import random
    
    n = random.randint(1, 6)
    print('Na kocke padla', n)
    

  1. Vyrob podprogram hod_kockou a doplň ho tak, aby hodil kockou 10 krát:

    import random
    
    def hod_kockou():
        n = random.randint(1, 6)
        print('Na kocke padla', n)
    
    hod_kockou()
    

    Mal by si vidieť podobný výpis:

    Na kocke padla 5
    Na kocke padla 3
    Na kocke padla 4
    Na kocke padla 1
    Na kocke padla 3
    Na kocke padla 2
    Na kocke padla 1
    Na kocke padla 1
    Na kocke padla 1
    Na kocke padla 3
    

  1. Uprav predchádzajúci program tak, aby počítač simuloval hod na 20 stennej kocke.


  1. (*) Máme binárnu hraciu kocku, ktorá má na troch stenách 0 a zvyšných troch 1. Uprav predchádzajúci program, aby simuloval hod takou kockou.


  1. (*) Máme párnu hraciu kocku, ktorá má na stenách tieto čísla: 2, 4, 6, 8, 10, 12. Uprav predchádzajúci program, aby simuloval hod takou kockou.


  1. (*) Máme nepárnu hraciu kocku, ktorá má na stenách tieto čísla: 1, 3, 5, 7, 9, 11. Uprav predchádzajúci program, aby simuloval hod takou kockou.


  1. (*) Máme exotickú hraciu kocku, ktorá má na stenách tieto čísla: 1, 4, 9, 16, 25, 36. Uprav predchádzajúci program, aby simuloval hod takou kockou.


  1. Napíš podprogram predpoved, ktorý vypíše správu:

    Dnes bude 15 stupňov.
    

    Číselný údaj podprogram zvolí náhodne z intervalu <-15, 35>.


  1. Vyrob program, ktorý vygeneruje náhodný PIN pre tvoj mobil. Do 4 premenných a, b, c, d priraď náhodné čísla od 0 po 9, a potom ich jedným príkazom print vypíš. Napríklad:

    Tvoj nový PIN je 1 3 7 3
    

  1. Vyrob generátor náhodných dátumov (nech má každý mesiac 30 dní). Po spustení program vypíše, napríklad:

    Koniec sveta bude 30 . 2 . 2019
    

  1. Takto nakreslíš náhodne umiestnený štvorček:

    import tkinter
    import random
    
    canvas = tkinter.Canvas()
    canvas.pack()
    
    def nahodny_stvorcek():
        x = random.randint(10, 300)
        y = random.randint(10, 200)
        canvas.create_rectangle(x, y, x + 50, y + 50, fill='orange')
    
    nahodny_stvorcek()
    

  1. Doplň do programu príkazy tak, aby program nakreslil 5 náhodných štvorčekov:

    _images/09_01.png

  1. Uprav predchádzajúci program tak, aby sa štvorčeky kreslili nielen na náhodných pozíciách, ale aj aby mal každý štvorček náhodnú veľkosť z intervalu od 10 do 100:

    _images/09_02.png

  1. Doplň do predchádzajúceho programu nový podprogram nahodny_obdlznik. Ten si vymyslí náhodné súradnice aj rozmery obdĺžnika a nakreslí ho. Vlož príkazy, ktoré na striedačku nakreslia 5 náhodných štvorčekov a 5 obdĺžnikov.

    _images/09_03.png

  1. Napíš program, ktorý bude generovať športovú vlajku vašej triedy:

    Program si náhodne zvolí x, y miesta, kde sa všetky štyri farby stretávajú. Vonkajšie rozmery vlajky nech sú 300x200.

    _images/09_04.png