Funkcia → random()
Popis :
Náhodná funkcia generuje pseudonáhodné čísla.
Syntax :
random(max)
random(min, max)
Parametre :
min: spodná hranica náhodnej hodnoty vrátane (voliteľné).
max: horná hranica náhodnej hodnoty, vylučujúca.
Returns :
Náhodné číslo medzi min a max-1. (data typu) : long
Príklad kódu :
Kód generuje náhodné čísla a zobrazuje ich.
long randNumber;
void setup() {
Serial.begin(9600);
// ak analógový vstup pin 0 nie je zapojený, generuj náhodne
// šum spôsobí, že sa vygeneruje volanie randomSeed().
// rôzne čísla pri každom spustení skice.
// randomSeed() potom zamieša funkciu náhodného výberu.
randomSeed(analogRead(0));
}
void loop() {
// zobraziť náhodné číslo od 0 do 299
randNumber = random(300);
Serial.println(randNumber);
// zobraziť náhodné číslo from 10 to 19
randNumber = random(10, 20);
Serial.println(randNumber);
delay(50);
}
Poznámky :
Ak je dôležité, aby sa sekvencia hodnôt vygenerovaných pomocou random() líšila, pri následnom vykonaní programu použite randomSeed() na inicializáciu generátora náhodných čísel s pomerne náhodným vstupom, ako napríklad analogRead() na nepripojenom kolíku.
Naopak, občas môže byť užitočné použiť pseudonáhodné sekvencie, ktoré sa presne opakujú. Dá sa to dosiahnuť volaním randomSeed() s pevným číslom pred spustením náhodnej sekvencie. Parameter max by sa mal zvoliť podľa typu údajov premennej, v ktorej je hodnota uložená. V každom prípade je absolútne maximum viazané na long charakter vygenerovanej hodnoty (32 bit – 2 147 483 647). Nastavenie maxima na vyššiu hodnotu nevyvolá chybu počas kompilácie, ale počas vykonávania programu vygenerované čísla nebudú podľa očakávania.
Pridaj komentár