Sissejuhatus juhuslike arvude generaatorisse C-s

Oodatava väljundi genereerimiseks peab programm vajama õiget sisendit. Tavaliselt pakub sisendeid kasutaja, kuid mõnikord peab programm sisendi ise valima. Näiteks praeguse ajatempli saamiseks kasutab rakendus süsteemist toomiseks sisseehitatud funktsiooni. Samamoodi, mõnikord peab meil olema rakendus, mis genereerib suvalise arvu, mida võiks eeldatava väljundi saamiseks täiendavalt töödelda. Ehkki see tundub kasutaja jaoks juhuslik, pakub programmeerimiskeel meile mehhanismi juhusliku arvu vahemiku määratlemiseks. Selles artiklis näeme juhuslike numbrite genereerimise programmi rakendamist, kasutades C programmeerimiskeelt. Keskendume sisseehitatud funktsioonile, mida juhib C juhusliku arvu genereerimiseks.

Mis on juhuslike arvude generaatori funktsioonid C-s?

Juhusliku arvu genereerimiseks mis tahes programmeerimiskeelt kasutades on mitu lähenemisviisi. Juhusliku arvu hindamiseks või genereerimiseks saab omal moel funktsiooni määratleda, kui mõnes programmeerimiskeeles on sisseehitatud funktsioonid, mis juhusliku arvu genereerib. C-programmeerimiskeeles on meil funktsioon nimega rand, mis aitab juhusliku arvu genereerimisel. See funktsioon on eelnevalt määratletud C-vormingus ja seda saab programmis rakendada päisefaili stdlib.h abil. Rand-funktsiooni võimendamiseks peab arendaja mainima päisefaili stdlib.h programmi alguses. Iga kord, kui seda funktsiooni kutsutakse, genereerib see täiesti juhusliku arvu. Nõude põhjal saab numbri genereerida täisarvu, ujuki või topeltandmetüübi järgi. Seda saab programmis lihtsalt kasutada, kasutades funktsiooni rand ().

Ehkki Rand-funktsioon peaks genereerima juhusliku väärtuse, takerdus see sama väärtuse genereerimisse iga kord, kui programmi käivitatakse, ja see võib juhtuda konstantse algväärtuse tõttu. Kui nõue on, et uus juhuslik arv genereeritaks iga kord, kui programm käivitub, peame veenduma, et seeme peaks programmi käivitamisel muutuma. Aeg on midagi, mis pidevalt muutub, ja seda võib pidada ka millekski, mis aitab iga kord juhuslikku algväärtust saada ja programmis aega kasutada peame kasutama päisefaili time.h.

Põlvkondade täisarvud

Rand () funktsiooni kasutatakse juhusliku arvu genereerimiseks. Iga kord, kui seda kutsutakse, annab see juhusliku arvu. Kui arendajad lisavad sellele loogika, saavad nad genereerida juhusliku arvu määratletud vahemikus ja kui vahemikku pole selgesõnaliselt määratletud, tagastab see täiesti juhusliku täisarvu. C funktsiooni rand () saab juhusliku arvu genereerimiseks kasutada ja genereeritud arv kustutab seemne täielikult. Seeme on väärtus, mida Rand-funktsioon kasutab juhusliku väärtuse genereerimiseks. Kui seemne väärtust hoitakse muutumas, siis genereeritav arv on uus iga kord, kui programm kompileeritakse, tagastab see sama väärtuse iga kord, mis genereeriti programmi esmakordsel käivitamisel. Alljärgneva genereerimiseks on programm täisarvu juhusliku arvu genereerimiseks.

Programm

#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);
)
)

Väljund:

Juhuslikult genereeritud arv on 1804289383.

Selles programmis oleme kasutanud päisefaili time.h, mida kasutatakse süsteemi aja juhusliku arvu genereerimiseks. Kuna kellaaeg muutub iga kord, muutub seemne väärtus iga kord, kui programm käivitatakse, aidates meil genereerida juhusliku arvu iga kord, kui programm käivitatakse. Rand_num on muutuja, mida kasutatakse juhuslikult genereeritud arvu salvestamiseks. Funktsioon rand () genereerib juhusliku arvu, mis omistatakse muutujale rand_num. Kuna me ei määratlenud juhusliku arvu tagastamisväärtust selgesõnaliselt, annab see meile täisarvu.

Ujukpunkti numbrite genereerimine

Juhusliku ujuki väärtuse genereerimise meetod sarnaneb täisarvu genereerimise meetodile. Ainus erinevus on see, et peame selgesõnaliselt määratlema, et väärtus, mida me ootame Rand-funktsioonilt, peaks olema ujuk. Ujuki väärtus kulutab tavaliselt lühikese vahekaugusega võrreldes rohkem ruumi. Programm, mille oleme ülalpool juhusliku täisarvu väärtuse genereerimiseks kirjutanud, on sama, mida siin kirjutada. Ainus erinevus on andmetüübi selgesõnaline määratlus. Sarnaselt viimase programmiga oleme siin kasutanud ka päisefaili time.h, et lasta sellel kaasa lüüa juhusliku ujukinumbri genereerimisel. Kui seda päisefaili ei lisata programmi, annab see iga programmi korral sama väärtuse. Täidetakse. Allpool on juhusliku ujuki väärtuse genereerimise programm.

Programm

#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);
)
)

Väljund:

Selles programmis oleme kasutanud (float), mida kasutatakse selgesõnaliselt määratlemiseks, et funktsiooni rand funktsioonilt tagastatav väärtus peaks oma olemuselt olema float. Kuna muutujat ran_num määratletakse ka ujuki andmetüübiga, saab see C-programmeerimiskeeles genereerimisel hakkama ujukinumbriga, millel on tavaliselt koma järel kuus kohta pärast koma. Ujuki väärtuse printimisel oleme kasutanud% f, kuna ujuki väärtuse printimisel tuleb selle eest hoolt kanda.

Järeldus

Arvu juhuslikkuse suurendamiseks saab kasutada matemaatilisi avaldisi. Samuti saab loogika abil määratleda numbrite vahemiku, mille all nad soovivad, et number genereeritakse juhuslikult. Juhusliku kummi genereerimise funktsiooni pakuvad kõik programmeerimiskeeled ja seda kasutatakse nõude alusel tegelikus rakenduses. Arvu tugeva juhuslikkuse tagamiseks peame veenduma, et seeme, mida Rand funktsiooni kasutatakse juhusliku väärtuse genereerimiseks, peaks olema väga juhuslik ja uus iga kord, kui programm käivitatakse.

Soovitatavad artiklid

See on juhus C juhuslike arvude generaatorisse. Siin käsitleme funktsiooni, põlvkonna täisarvu ja ujukoma numbrite genereerimist C-s. Lisateabe saamiseks võite minna ka meie teistest soovitatud artiklitest -

  1. Juhuslike arvude generaator R-s
  2. Mis on malliklass klassis C ++?
  3. Juhuslik metsa algoritm
  4. Raamid Java
  5. Mis on juhuslike arvude generaator Pythonis?
  6. Juhuslike arvude generaator C ++ -s (näited sammudega)
  7. Juhuslike arvude generaator Matlabis
  8. Juhuslike arvude generaator C-numbris
  9. Juhuslike arvude generaator JavaScriptis
  10. Juhuslike arvude generaator PHP-s

Kategooria: