# Introduction to Random Exercise

**3/6/16**

*(This is the version of the ideas and the article before Weighted Exercise existed. Enjoy!)*

**Please check with your doctor before starting any exercise program**

**What**

Random Exercise is my idea about using probability, specifically randomly generated numbers, to improve various aspects of your workout.

**Why**

Some workout routines can be, well, routine! That is, repetition can lead to a workout that is monotonous and boring, the same over and over. Being a member of a gym, I've observed people doing the same exercises, in the same order, for each workout session. Adding randomness to a workout breaks up the monotony, and allows one to react to and anticipate the unexpected, all while still getting a great workout. In addition, it is more realistic training for the real-life function of some activities, the martial arts for example, where one doesn't have the luxury of knowing what the opponent will do in advance. Incorporating randomness also helps the practitioner use his/her mind more instead of "zoning out".

**How**

Software that is ran on the computer, which displays text (and ideally sounds and possibly pictures) instructing the practicioner which exercise/technique (used interchangeably) to do. The Random Exercise program has the following "flow"

**Some Points**

- Exercise profiles can be saved and recalled

In my Profile menu I have a profile consisting of fencing footwork techniques I've learned (retreat, advance, lunge). Some other examples: a profile consisting of several dozen taijiquan techniques if you practice a certain taijiquan form, or a general martial arts profile that consists of three techniques (punch, kick, and knee).

The possibilities are endless! - Techniques to perform are chosen randomly
- Weight for each technique can be modified

For example, if you want to punch twice as much as kick, enter in a weight of 2 for punch, and 1 for kick. If you have knee in your profile, but aren't feeling up to doing knees that day, enter a weight of 0 for knee. - Time for total workout (in minutes) can be modified
- Time between exercises (in seconds) can be modified

I hope others enjoy and benefit from this idea.

Below is a the prototype program I created on my calculator:

probex()

Prgm

ClrIO

Dialog

DropDown "Load Profile:",{"Fencing","Add profile"},g

EndDlog

If g=1: Goto z

If g=2: Goto p

Lbl p

Input "Number of choices?",n

newList(n)->choices

(choices+1)/n->weights

Lbl a

For b,1,n

Input "Choice "&string(b)&":",c

c->choices[b]

EndFor

Goto m

Lbl z

If g=1: {retreat,advance,lunge}->choices

dim(choices)->n

(newList(n)+1)/n->weights

Lbl m

ClrIO

Input "Edit the weights? (Yes-1, No-0)",e

If e=1: Goto b

If e=0: Goto c

Lbl b

ClrIO

For d,1,n

Input "Weight "&string(d)&" ("&string(choices[d])&")"&":",f

f->weights[d]

EndFor

weights/(sum(weights))->weights

Goto c

Lbl c

weights->cweights

weights[1]->cweights[1]

For g,2,n

cweights[g-1]+weights[g]->cweights[g]

EndFor

ClrIO

Input "Number of trials:",t

Input "Delay:",delay

ClrIO

Output 50,80,"S T A R T"

For a,1,500

EndFor

ClrIO

For h,1,t

rand()->r

For i,1,n-1

If r > cweights[i] and r <= cweights[i+1]:choices[i+1]->out

If r > cweights[i] and r <= cweights[i+1]:Goto d

If r < cweights[1]:choices[1]->out

If r < cweights[1]:Goto d

EndFor

Lbl d

For a,1,delay

Endfor

ClrIO

Output 40,80,out

Output 60,80,string(h)&" out of "&string(t)

EndFor

ClrIO

Output 50,80,"F I N I S H E D"

EndPrgm

### Please anonymously VOTE on the content you have just read:

Like:Dislike: