Generovanie náhodného čísla
V predchádzajúcej kapitole sme sa oboznámili s funkciou random a možnosťami jej využitia pri kreslení náhodne veľkých obrazcov na náhodných pozíciách. Okrem toho však možno funkciu random použiť aj pri generovaní náhodných čísel.
Často je potrebné zvoliť náhodné číslo pri rôznych testovacích programoch alebo hrách (od jednoduchších po tie zložitejšie). Vo väčšine programovacích jazykov existuje podobná funkcia na generovanie náhodného čísla - random.
Funkciu random je možné využiť dvoma spôsobmi:
- generovanie náhodného prirodzeného čísla
Pri voľbe náhodného prirodzeného čísla sa uvádza do zátvorky ako parameter horná hranica (viď obr. 48)
V našom prípade sme zvolili hornú hranicu číslo 10, a teda náš program po (opätovnom) stlačení vždy vygeneruje náhodné číslo od 0 (vrátane) po 9 (vždy o 1 menšie číslo ako je uvedené v zátvorke).
Pozn. V príklade sme využili nový príkaz IntToStr (Integer to String - doslovne môžeme preložiť ako zmeň celé číslo na znakový reťazec) Tento príkaz sa nazýva konverzia - zmena údajového typu, pomocou ktorej dokáže príkaz na výpis textu (TextOut) načítať číselné hodnoty. V ďalšom príklade využijeme takisto konverziu ale zmeníme reálne (desatinné číslo) na znakový reťazec - FloatToStr.
2. generovanie náhodného desatinného čísla
Pri voľbe náhodného desatinného čísla do zátvorky nepíšeme žiaden parameter (viď. obr. 49).
Takýto príklad vygeneruje náhodné desatinné číslo, ktoré je väčšie alebo rovné 0 a menšie ako 1.
Aby bolo možné s náhodne vygenerovaným číslom ďalej pracovať je potrebné uložiť ho do premennej (viď. obr. 50).
Veľakrát nebudeme chcieť, aby nám program generoval náhodné čísla od 0, vtedy stačí pričítať dolnú hranicu čísel, ktoré chceme generovať (viď obr. 51).
Ak budete chcieť spúšťať program obsahujúci funkciu random viackrát, budú síce čísla generované náhodne, ale pri každom spustení budú rovnaké. V podstate sú tieto čísla vyberané z nejakej tabuľky náhodných čísel, ak chcete túto tabuľku zmeniť, je nutné použiť príkaz randomize (obr. 52), ktorý zabezpečí úplne "premiešanie náhodných čísel".