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 -

  1. Véletlenszám-generátor R-ben
  2. Mi a C ++ sablon osztály?
  3. Véletlenszerű erdő algoritmus
  4. Keretek a Java-ban
  5. Mi a véletlenszám-generátor a Pythonban?
  6. Véletlenszám-generátor C ++-ban (példák lépésekkel)
  7. Véletlenszám-generátor a Matlab-ban
  8. Véletlenszám-generátor C # -ben
  9. Véletlenszám-generátor a JavaScript-ben
  10. Véletlenszám-generátor a PHP-ben

Kategória: