KURZ: Náhodná čísla

  • Vytisknout

Generování náhodných čísel slouží ke generování hodnot v zadaném rozmezí pro určité předem nedefinované chování robota. Můžeme například zasílat motoru náhodně generované hodnoty, které budou vyjadřovat dobu trvání otáčení, na jejichž základě se bude otáčet po předem nedefinovanou dobu.

generování náhodných čísel V PROGRAMOVACÍM PROSTŘEDÍ

NXT-G

Blok pro generování náhodných čísel

Rozcestník


UMÍSTĚNÍ BLOKU

Generování náhodných čísel můžeme využít díky bloku RandomNumberDragged Random, který je umístěn v paletě Paleta Complete Complete > DataOperations Data.

NXTG random block

 

Popis bloku

Programový blok RandomNumberDragged Random obsahuje tři konektory pro propojení s dalšími bloky.

A A - spodní hodnota rozpětí čísel, ze kterých jsou generována náhodná čísla (možný rozsah 0 - 32767).

B B - horní hodnota rozpětí čísel, ze kterých jsou generována náhodná čísla (možný rozsah 0 - 32767).

Number Numbernáhodně generované číslo z nadefinovaného rozpětí hodnot (mezi hodnotami A a B).

 

PARAMETRY BLOKU

NXTG random

Range: pole sloužící pro zadání rozpětí hodnot, ze kterých bude generováno náhodné číslo. A je spodní hodnota a B horní hodnota rozpětí. Hodnoty je možné zadat buďto do polí Minimum a Maximum nebo pomocí tažítka.

RobotC

Příkazy a metody

Rozcestník


Nastavení jádra pro generování čísel

Pokud chceme v programovacím prostředí RobotC generovat pseudonáhodná čísla musíme nejprve jádru definovat s jak velkým rozsahem čísel budeme pracovat. Pro nastavení generátoru slouží příkaz srand(). Parametrem uvedeným v závorce je číslo od -32767 do 32767. Použítím příkazu srand() docílíme toho, že při každém spuštění programu bude generována stejná sekvence čísel. Hodnota je následně zpracovávána v generátoru pseudonáhodných čísel ve firmware programového prostředí.

 
seed(4246); // Nastaveni generatoru pseudonahodnych cisel.
 

Generování náhodných čísel

Samotné generování náhodných čísel se provádí příkazem random(). Parametr v závorce udává horní mez pro generování. Spodní mez je automaticky nastavena na 0. Použití příkazu random() musí předcházet nastavení generátoru příkazem seed().

 
seed(4246); // Nastaveni generatoru pseudonahodnych cisel.
random(10); //Generuje nahodna cisla od 0 do 10.
 

Definování vlastního rozsahu generovaných čísel

Při použití příkazu random() jsou generována pouze čísla od 0 do hodnoty zadané jako parametr příkazu. Pokud zadáme kromě základní hodnoty i hodnotu spodní, můžeme tím definovat rozsah čísel, ze kterých se budou hodnoty generovat. Použití je představeno na jednoduchém příkladu, ve kterém chceme generovat čísla v rozsahu od 10 do 50. V příkazu jsme tedy zadali spodní mez 10. Přičtením příkazu random(40) v programu definujeme, že má být generováno ze 40 náhodných čísel od spodní meze.

 
10 + random(40);
 

1 1 1 1 1 1 1 1 1 1 Hodnocení 0.00 (0 hodnocení)