Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Weird random result
Message
From
31/08/2022 11:22:00
 
 
To
31/08/2022 10:25:51
Lutz Scheffler
Lutz Scheffler Software Ingenieurbüro
Dresden, Germany
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01684912
Message ID:
01684916
Views:
45
No, I used a timer object that executed some code every 6 seconds and later 8 seconds (that version being the weird one).

>Denis,
>
>your delay, is this like
>
>thisform.nTot = 75
>RAND(-1)
>DO WHILE thisform.nTot > 0
>	nIdRandom = INT(thisform.nTot * RAND() + 1)
>       .
>       .
>       .
>	thisform.nTot = thisform.nTot - 1
>
>   WAIT TIMEOUT 8
>
>ENDDO
>
>
>or like
>
>
>DO WHILE .t.
>
>thisform.nTot = 75
>RAND(-1)
>DO WHILE thisform.nTot > 0
>	nIdRandom = INT(thisform.nTot * RAND() + 1)
>       .
>       .
>       .
>	thisform.nTot = thisform.nTot - 1
>ENDDO
>
>WAIT TIMEOUT 8
>ENDDO
>
>?
>
>Since the seed of -1 does something with the system timer, this might be in the logic of this. Use the seed only one time, initialy.
>
>Lutz
>>
>>thisform.nTot = 75
>>RAND(-1)
>>DO WHILE thisform.nTot > 0
>>	nIdRandom = INT(thisform.nTot * RAND() + 1)
>>       .
>>       .
>>       .
>>	thisform.nTot = thisform.nTot - 1
>>ENDDO
>>
>>
>>I didn't show all the code because I created a cursor that will contain random numbers that were generated.
>>
>>So mainly this is how I do it now, but my weird results were obtained on a timer executing my random generation. Good results obtained on my timer being called every 6 seconds. Not so random numbers each 8 seconds.
>>
>>
>>
>>
>>>>Hello all,
>>>>
>>>>I need to generate random numbers. I need to get all numbers from 1 to 75 but randomly. I generated those but with a delay. Everything looked good when I generated those numbers with a delay of around 6 seconds. This means that numbers looked realy random. For example numbers generated looked like 25, 47, 12, 59 and so on.
>>>>
>>>>A delay of six seconds between generated numbers was not enough. I had to increase the delay to 8 seconds. That's when the weirdest thing happened. The generated numbers didn't really look random. For example generated numbers looked like 23, 34, 45,46,47,48,49,50, 51, 30,31,32,33,34,45.
>>>>
>>>>So I assume that the delay is the problem.
>>>>
>>>>My solution to that weird problem. I generate all the random numbers without a delay between each generated number.
>>>>Then I get all the numbers in the order they were generated each 8 seconds.
>>>>
>>>>Can anybody explain me why there seems to be a problem with random numbers and a delay?
>>>>
>>>>Regards
>>>
>>>Hi Denis
>>>
>>>I've run
>>>
>>>FOR i= 1 TO 10
>>>?RAND()*75
>>>WAIT TIMEOUT 8
>>>endfor
>>>
>>>and the result looks random enough. What is the code you use the RAND? Is there a seed? What is happening in the time between?
>>>
>>>Lutz
*******************************************************
Save a tree, eat a beaver.
Denis Chassé
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform