MathGroup Archive 2001

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Rearrangement of a sequence into random order

  • To: mathgroup at smc.vnet.net
  • Subject: [mg28456] Re: Rearrangement of a sequence into random order
  • From: Ignacio Rodriguez <ignacio at sgirmn.pluri.ucm.es>
  • Date: Thu, 19 Apr 2001 03:26:49 -0400 (EDT)
  • Organization: UCM
  • References: <9bjg9m$gsn@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Try the following:

randomizer[x_,y_]:=randomizer[x,y,Part[x,Random[Integer,{1,Length[x]}]]] /;
Length[x]>0
randomizer[{x___,y_,z___},{a___},y_]:=randomizer[{x,z},{a,y}]
generator[n_]:=Part[randomizer[Table[i,{i,1,n}],{}],2]

The randomizer function works by taking a random element from the first list and
adding it to the right of the second list, in two steps, until the first list is
empty. For example,

randomizer[{1,2,3},{}]->randomizer[{1,2,3},{},2]->randomizer[{1,3},{2}]

Loren Dill wrote:

> Hi,
>
> I'm a math teacher, and need to prepare exams from time to time.  I
> typically prepare questions for the exam in a sequential order starting at
> the beginning of the material and going to the end.  I may have something
> like 20 short-answer questions.  I want a program that will randomize the
> order of the questions.  In other words, I want to provide n, the number of
> questions, and have the program provide a list of length n that contains all
> the numbers from 1 to n in a random order without any number being repeated
> or omitted.  I'm sure that this is an easy task for Mathematica, but I can't
> figure out the best way to do it.
>
> Loren Dill

--

Ignacio Rodriguez Ramirez de Arellano
Unidad de RMN
Universidad Complutense
Paseo Juan XXIII, 1
Madrid 28040, Spain

Tel. 34-91-394-3288
Fax  34-91-394-3245
e-mail: ignacio at sgirmn.pluri.ucm.es




  • Prev by Date: Re: Rearrangement of a sequence into random order
  • Next by Date: plotting question
  • Previous by thread: Re: Re: Rearrangement of a sequence into random order
  • Next by thread: Re: Rearrangement of a sequence into random order