Bevezetés a véletlenszám-generátorba C
A várt output generálásához a programnak megfelelő bemenetet kell igényelnie. Általában a bemeneteket a felhasználó biztosítja, de néha a programnak saját magának kell kiválasztania a bemenetet. Például az aktuális időbélyeg megszerzéséhez az alkalmazás egy beépített függvényt használ a rendszerből való letöltéshez. Ugyanígy, néha szükségünk van arra, hogy az alkalmazás generáljon minden véletlenszámot, amelyet tovább lehet feldolgozni, hogy megkapjuk a feltételezett kimenetet. Noha a felhasználó számára véletlenszerűnek tűnik, a programozási nyelv felkínálja a mechanizmust a véletlen szám tartományának meghatározására. Ebben a cikkben láthatjuk a véletlenszám-generálás programjának a C programozási nyelv használatával történő megvalósítását. A C által biztosított beépített funkcióra összpontosítunk, hogy véletlenszerű számot állítsunk elő.
Mi a véletlenszám-generátor funkció a C-ben?
Számos megközelítés létezik a véletlenszám előállítására a programozási nyelv bármelyikével. Meg lehet határozni a véletlenszám becslésének vagy előállításának saját módját, míg a programozási nyelv bármelyikében beépített függvények vannak, amelyek a véletlenszámot generálják. A C programozási nyelven van egy Rand nevû függvény, amely segít a véletlen szám elõállításában. Ez a függvény előre definiált C-ben van, és a programban végrehajtható az stdlib.h fejléc fájl használatával. A rand funkció függvényében a fejlesztõnek meg kell említenie az stdlib.h fejléc fájlt a program elején. Mindig, amikor ezt a funkciót hívják, teljesen véletlenszerű számot generál. A követelmény alapján a szám generálható egész szám, úszó vagy dupla adattípushoz tartozik. Egyszerűen használható a programban a rand () függvény használatával.
Noha a rand függvénynek állítólag a véletlenszerű értéket kell generálnia, a program végrehajtásakor mindenképpen ugyanazt az értéket generálja, és ez az állandó magérték miatt előfordulhat. Ha az a követelmény, hogy az új véletlenszámot a program végrehajtásakor minden alkalommal generáljuk, akkor ellenőriznünk kell, hogy a vetőmag megváltozzon, amikor a program fut. Az idő folyamatosan változik, és úgy tekinthető, hogy minden alkalommal segít véletlenszerű vetőmag-értéket szerezni, és az idő felhasználásához a programban a time.h fejléc fájlt kell használni.
Nemzedékek egész számai
A rand () függvény véletlenszerű szám előállítására szolgál. Minden alkalommal, amikor hívják, véletlenszerű számot ad. Ha a fejlesztők hozzáadnak valamilyen logikát, akkor a véletlenszámot egy meghatározott tartományon belül generálhatják, és ha a tartományt nem határozza meg kifejezetten, akkor egy teljesen véletlenszerű egész értéket ad vissza. A C (rand) függvény felhasználható a véletlen szám előállítására, és a generált szám teljesen törli a magot. A vetőmag az az érték, amelyet a Rand függvény használ a véletlenszerű érték előállításához. Ha a vetőmag értékét megváltoztatva tartják, akkor a generált szám minden program összeállításakor új lesz, egyébként ugyanazt az értéket adja vissza, amikor a program első végrehajtásakor jött létre. Az alábbiak generálása érdekében az egész véletlenszámot generál.
Program
#include
#include
#include
int main()
(
int rand_num;
srand(time(0));
printf("The randomly generated number is”);
rand_num = rand();
printf("%d\n", rand_num);
)
)
Kimenet:
A véletlenszerűen generált szám 1804289383.
Ebben a programban a time.h fejléc fájlt használtunk, amelyet arra használunk, hogy a rendszeridőt kihasználjuk a véletlenszám előállításához. Mivel az idő minden alkalommal változik, a vetőmag értéke a program minden végrehajtásakor megváltozik, segítve egy véletlenszerű szám előállítását a program végrehajtásakor. A Rand_num a változó, amelyet véletlenszerűen generált szám tárolására használnak. A rand () függvény véletlenszerű számot generál, amelyet a rand_num változóhoz rendelnek. Mivel nem határoztuk meg egyértelműen a véletlen szám visszatérési értékét, egész számot kap.
Lebegőpontos számok generálása
A véletlenszerű úszó érték előállítási megközelítése hasonló az egész szám előállítási módszeréhez. Az egyetlen különbség az, hogy kifejezetten meg kell határoznunk, hogy a rand függvénytől elvárt értéknek floatnak kell lennie. Az úszó érték általában több helyet foglal el a tárolásban, mint a rövid int. A program, amelyet a fentiekben írtunk a véletlenszerű egész érték generálására, ugyanaz lesz, mint amit itt fogunk írni. Az egyetlen különbség egy explicit adattípus-meghatározás. Az előző programhoz hasonlóan itt használtuk a time.h fejléc fájlt is, hogy lehetővé tegyük a véletlenszerű float szám generálásában való hozzájárulást. Ha ezt a fejléc fájlt nem tartalmazza a program, akkor ugyanazt az értéket fogja adni a program minden alkalommal. Kivégzik. Az alábbiakban bemutatjuk a véletlenszerű úszóérték-generáló programot.
Program
#include
#include
#include
int main()
(
float rand_num;
srand(time(0));
printf("The randomly generated float number is ”);
rand_num = (float) rand();
printf("%f", rand_num);
)
)
Kimenet:
Ebben a programban a (float) kifejezést használtuk, amely kifejezetten meghatározza, hogy a rand függvényből visszaadott értéknek float jellegűnek kell lennie. Mivel a ran_num változót úszó adattípussal is meghatározzuk, képes lesz kezelni az úszó számot, amelynek a C programozási nyelven történő generáláskor általában hat számjegy van a tizedes pont után. Az úszó érték kinyomtatásakor a% f-et használtuk, mivel ez az, amit ügyelni kell az úszó érték kinyomtatására.
Következtetés
A szám véletlenszerűségének javítása érdekében ki lehet használni a matematikai kifejezéseket. Ezenkívül a logika segítségével meg lehet határozni a számtartományt is, amely alatt a számot véletlenszerűen generálni akarják. A véletlenszerű gumi előállítását az összes programozási nyelv biztosítja, és a követelmény alapján a tényleges alkalmazásban használja. A szám erős véletlenszerűségének biztosítása érdekében meg kell bizonyosodnunk arról, hogy a vetőmag, amelyet a Rand függvény a véletlenszerű érték előállításához használ, nagyon véletlenszerű és új legyen minden egyes program futtatásakor.
Ajánlott cikkek
Ez egy útmutató a C véletlenszám-generátorhoz. Itt tárgyaljuk a függvényt, a generációs egészeket és a lebegőpontos számok generálását C.-ban. További tudnivalókat áttekinthet más javasolt cikkeinkben is -
- Véletlenszám-generátor R-ben
- Mi a C ++ sablon osztály?
- Véletlenszerű erdő algoritmus
- Keretek a Java-ban
- Mi a véletlenszám-generátor a Pythonban?
- Véletlenszám-generátor C ++-ban (példák lépésekkel)
- Véletlenszám-generátor a Matlab-ban
- Véletlenszám-generátor C # -ben
- Véletlenszám-generátor a JavaScript-ben
- Véletlenszám-generátor a PHP-ben