Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Re: Matching random numbers
Replies: 0

 Bill Rowe Posts: 28 Registered: 12/6/04
Re: Matching random numbers
Posted: Aug 16, 1996 3:03 AM

In article <4uphfg\$6b5@dragonfly.wolfram.com>, "A. Ortiz-Tapia"
<ao202@cus.cam.ac.uk> wrote:

>I have written the following program:
>
>In[3]:=
> (count = 0 ;
> Label[nextrandom];
> pileup = pileup + 1;
> x = Random[];
> y = Random[];
> a = Round[100*x];
> b = Round[100*y];
> If[a== b,Return[x], Goto[nextrandom]];
> If[count == 5000, Break[]];
>Goto[nextrandom])
>
>The purpose of this program is to produce two inpendent random numbers;
>match this two numbers by "converting" them to integers, then if they
>are equal print either of them (I choosed x), *and* increment the value
>of a variable, such that at the end I can have 5000 "matched" random
>numbers. The program, so far, gives out *only one number*.

The exit condition for the loop occurs when a == b. The statement
Return[x] causes the loop to be exited and returns a single value, x.

To return the x,y pair, you could change the Return statement to Return[{x,y}].

BTW, this program seems to have some problems. It appears you intend for
the program to exit after 5000 tries. The variable count is set to 0 and
never incremented. So the If[count == 5000, Break[]]; statement the test
will always evaluate as false and the Break[] statement will never
execute.

The speed of the program would proabably benefit by using either the Do or
While constructs.

--
"Against supidity, the Gods themselves contend in vain"