Výukový materiál zpracován v rámci projektu EU peníze školám Název školy Střední škola elektrostavební a dřevozpracující, Frýdek-Místek, příspěvková organizace Adresa školy Pionýrů 2069, 73801 Frýdek-Místek IČ 13644301 Název operačního programu OP Vzdělávání pro konkurenceschopnost Registrační číslo CZ.1.07/1.5.00/34.0149 Označení vzdělávacího materiálu VY_32_INOVACE_10_29ŠebM-18 Název tematické oblasti (sady) Technická cvičení -Základy programování v jazyce C# Název vzdělávacího materiálu Generátor náhodných čísel Druh učebního materiálu Cvičení v prostředí Microsoft Visual Studio Anotace Téma je určeno žákům studijního oboru elektro na získání základních znalostí a vědomostí v algoritmizaci a programování. Klíčová slova algoritmus,vývojový diagram,zdrojový text programu Vzdělávací obor, pro který je materiál určen 26-41-M/01 Elektrotechnika Ročník IV. Typická věková skupina 18 let Speciální vzdělávací potřeby žádné Autor Ing.Milan Šebestík Zhotoveno, (datum/období) 1.1. až 30.1..2013 Celková velikost 236 kB Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Milan Šebestík Dostupné z portálu www.ssed-fm.cz
8.Generátor náhodných čísel Random Někdy je zapotřebí, aby se v programu prováděly některé činnosti na základě náhody, např.: Generování náhodných čísel v počítačových hrách Náhodný výběr oslovených tazatelů při veřejné anketě Simulace nepředvídaných situací jako součást přírodních nebo společenských jevů
Princip generování náhodných čísel: 1.Počítač získá „nějaké“ číslo. Např.: okamžitý aktuální datum a čas,nebo okamžitá velikost volného místa na pevném disku apod. 2.Toto číslo dle nastaveného vzorce přepočítá na jiné číslo. 3.Výsledek předchozího přepočtu znovu dosadí do téhož vzorce a získá se znovu nové číslo,…atd. 4.Tímto postupem se dá dojít k číslu,které představuje náhodně získané číslo – tzv. pseudonáhodné číslo. Protože se stav pevného disku při činnosti operačního systému stále mění,stejně tak i čas,bude vysoce pravděpodobné,že bude vypočítané pseudonáhodné číslo pokaždé jiné.
Postup při aktivaci generátoru náhodných čísel: 1. Ve veřejné části Public partial class programu je nutno vytvořit instanci třídy Random: Public partial class Form1 : Form { Random náhoda = new Random(); 2. Vždy při potřebě generovat náhodné číslo „n“ musíme zavolat metodu Next instance Random: { int n = náhoda.Next(min,max+1); } Tato metoda Next přebírá dva parametry min a max,které určují interval, ve kterém se má náhodné číslo „n“ generovat.
Pracovní plocha –formulář Příklad 7. Vytvořte program,který bude imitovat činnost hrací kostky.Na displeji se budou zobrazovat náhodná čísla v rozsahu jedna až šest vždy při kliknutí na tlačítko. Pracovní plocha –formulář komponenta Form1 Komponenta Label komponenta Button
Random nahodnecislo = new Random(); public Form1() Zdrojový text programu public partial class Form1 : Form { Random nahodnecislo = new Random(); public Form1() InitializeComponent(); } private void button1_Click(object sender, EventArgs e) int n = nahodnecislo.Next(1,6+1); label1.Text = Convert.ToString(n);