Funkcia → random()

Popis :

Náhodná funkcia generuje pseudonáhodné čísla.

Syntax :

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

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Nemôžete kopírovať obsah tejto stránky