Ga naar inhoud

ik wil graag 2 random getallen maken maar bij mij worden ze steeds hetzelfde kan ik dit verhelpen?


anoniem

Aanbevolen berichten

Zoals Joris al typte: welke programmeertaal gebruik je? Allereerst, bedenk dat een computer een EXACT werkend rekenapparaat ("to compute"= berekenen) is. Het kan niet zo iets als een volkomen willekeurig ("random"=willekeurig) getal maken. In de computertalen die ik ken (en volgens de discrete wiskunde die ik ooit studeerde) wordt een algorithme gebruikt dat in de volledige getalruimte (bijv. 0 t/m 2^32 -1) bij opeenvolgende aanroepen van de randomfunctie een zo willekeurig mogelijke spreiding van de resultaten geeft. Dat algorithme ligt vast. Dat heeft de maker van het software-pakket voor jou bepaald. Afhankelijk van de programmeertaal start het ook steeds bij hetzelfde getal -- dat is handig bij zekere toepassingen, of het begint met de systeemtijd als startgetal te gebruiken. Het startgetal wordt in de Engelse wiskunde "seed" genoemd. Blijkbaar gebruik je een taal in een pakket dat start met dezelfde "seed". Op deze manier krijg je dus altijd dezelfde herhaalde volgorde van random-getallen(*). Is dit het geval dan heeft een programmeertaal vaak een mogelijkheid om het startgetal te variëren. Soms met een aparte functie, soms als argument van de eerste aanroep van de randomfunctie. Door die optie te gebruiken en bijv. de tijd als startargument te geven, kan je een reeks getallen krijgen die wel degelijk steeds varieert. Hoe het werkt in de programmeertaal die jij gebruikt: raadpleeg de helpfunctie (F1) van de randomfunctie, kijk in het boek, raadpleeg (via Google, Bing of ...) de internet fora over deze functie... Veel plezier! Tot slot: een getalruimte onder de 10 is natuurlijk heel klein. Zelfs met verschillende startgetallen, kunnen reeksen schijnbaar gelijk zijn en verschillen ze pas vanaf een aantal aanroepen. Iets om rekening mee te houden. (*) Daarom wordt het in een programmeertaal vaak niet een "random generator" genoemd maar een "pseudo random generator".
Link naar reactie

Gearchiveerd

Dit topic is nu gearchiveerd en gesloten voor verdere reacties.

×
×
  • Nieuwe aanmaken...