Scratchのブロックの中でもよく使うブロックの一つに「ずっと」があります。
中に入った命令を、ずっと繰り返します。
例えば、下のようなプログラムを組んでキャラクターを動かそうとしても動きませんが、
「ずっと」と組み合わせると、右矢印を押した瞬間にキャラクターが移動します。
「ずっと」は移動や数を数える、表示を自動で変えていく場面など、さまざまなプログラムに使われています。
ふと思ったんです。
「ずっと」って、1秒で何回命令を繰り返しているんだろう?
実験してみました。
1秒に何度繰り返すかを確認する
下のようなプログラムを作りました。
変数iを作り、ずっとの中で1ずつ増やしていきます。
一方で、1秒経ったらプログラムを止める命令も作りました。
これで旗ボタンを押せば、1秒間「ずっと」はiを増やし続け、その結果が1秒間に何度繰り返したかを表すことになるはずです。
早速スタート!
・・・は?
46万回以上・・・!?
ものすごい回数の繰り返しを行っていることがわかりました。
矢印キー押した瞬間にキャラが動くわけです。だって、1秒間に何万回、何十万回と繰り返しているのですから。
確認のため、何度かプログラムをスタートしてみたのですが、数字にばらつきがあることがわかりました。
おおい時で47万回以上。
少ない時で43万回以上。
処理にわずかな時間差があるようです。
ここで、次の実験を思いつきました。
平均回数を調べる
繰り返しの回数を記録し続け、その平均を取ることで、「1秒間にだいたい何回繰り返しているのか」を調べることにしました。
記録には「リスト」を使います。
集めた記録を全て足して、記録回数で割れば、平均値が出ます。
1回スタートボタンを押すたびに平均値をボールちゃんに言ってもらうようにしました。
50回スタートして、出した平均がこちら!
約45万5千回
でした!
終わりに
今回の実験は、変数を1変えるだけの非常に軽い命令でしたので、このような数字だったのかもしれません。
もう少し複雑な命令を入れると、回数はどうなるか?
「○秒待つ」のブロックと組み合わせるとどうなるか?
など、今後も実験してみたいと思います。