In the
Random Walker project that computes the probability of landing on position p
after f flips of the coin there is the need to compute powers of 2.

If you
click on the green

*operators*tab you will find the [sqrt ( 0 )] block. Next to the*sqrt*in the block is a small downward-pointing triangle that opens a pull-down menu to reveal the list of*operators*built into Scratch*.*Note that there is not a 2^{x}operator.
By
definition, 2

^{x}means ‘use 2 as a factor x times’. This short script does exactly that and is probably the way most Scratch programmers build a*powers of 2*script.
I enjoy
coding work-arounds but my first thoughts didn’t coalesce around the definition
method coded above. Instead, it focused on another method using logarithms.

Let y = 2

^{x}. Then taking the logarithm of both sides, log(y) = 2log(x). Since*x*is the exponent, I created a variable in Scratch named*exponent*.
Next, I
created a green log of 2 block.

I picked a
green multiplication block from the green operator menu and set the

*exponent*variable as one factor and the*[log of 2]*block as the other variable to build the block shown below.
There is
an

*inverse*(anti-log) block in the green pull down*operators*menu labeled [10^{x}of ( )] that computes log(y).
The
[exponent * log of (2)] block is then set into the [10^ of ( )] block.

But this
computation will be a decimal close to the integer value of 2

^{x}.
There is a
[round ( )] block in the
green operators menu.

The [(10^ of (exponent)*
(log of (2))] is placed in the [round ( )] block.

This block is set into a
[say (
) block to report the needed powers of 2.

This
project can be viewed and downloaded by clicking on the following link.

https://scratch.mit.edu/projects/86877882/

## No comments:

## Post a Comment