Turbo Pascal
-
#269
Vegyük az alábbi egyszerű programkódot:
program random;
BEGIN
writeln (randseed);
randomize();
writeln (randseed);
END.
Ennek a kimenete pár másodpercenkénti futtatás után (Free Pascal 2.4.0-ban fordítottam le, Linux alatt):
# ./random
0
1323981023
# ./random
0
1323981024
# ./random
0
1323981025
# ./random
0
1323981026
Tehát a randomize az időből generálja le a randseed értékét, a random ezt az értéket használja fel a véletlenszám generálásánál.
Ha neked ez nem tetszik, akkor neked kell megadnod a randseed értékét, amit generálhatsz bármiből. Akár az időből, egyedi algoritmus alapján; vagy mondjuk egy üres csatornára állított rádió kimenetét (ami fehérzajt fog szolgáltatni) kötöd rá analóg-digitál konverteren keresztül a párhuzamos portra és annak értékét olvasod le, stb...