スクラッチ 使い方 連載

スクラッチでフィズバズ問題に挑戦しようー第三回

投稿日:

皆さんこんにちはMeTechです

札幌プログラミング教室では札幌市中央区・豊平区月寒にて小学生向けのプログラミング教室を開校しています。

プログラミング学習を通じて、子供の「プログラミング的思考」「表現力」「発想力」「問題解決能力」などの向上に取り組んでいます。

本日は、間が空てしまいましたがフィズバズ問題の第三回です。
前回までのお話はこちら
スクラッチでフィズバズ問題に挑戦しようー第一回
スクラッチでフィズバズ問題に挑戦しようー第二回

プログラムを一旦停止させる

前回までの状態だと下のような状態になっていると思います。
この状態だとプログラムの実行が早すぎて動いていることが分かりません。
なので、10歩動かすと-10歩動かすの間でいったんプログラムを停止させて
動きが分かるようにしていきます。

プログラムを一旦停止させるには「制御」のところにある「1秒待つ」というブロックを使用します。

このブロックを「10歩動かす」「-10歩動かす」の間にドラッグすると
ブロックの間が白く光りますのでそこで指を離すとブロックの間にブロックを入れ込むことができます。

このようになります

さて、これで「10歩動かす」のブロックをクリックするとプログラムが実行されるのですが、10ほ動いた後に1秒間プログラムが停止するため動いているのが分かると思います。

このように、プログラミングでは細かな動作一つ一つを考え試行錯誤しながら
進めていくため、子供の「プログラミング的思考」や「問題解決能力」が養われます。

次はこの動作を繰り返してみます。

繰り返し処理

このままでは一度クリックするごとに猫が右に一回、左に一回だけで終わって今います。

この動作を10回繰り返したいときはどうしたらいいでしょう?
勿論、10回クリックするのでもいいですし、この3つのブロックをあと9個つなげてもいいです。

ただ、それだと面倒ですよね?

プログラムにはそういった問題を解決するために「ループ処理」というものがあります。

ループ処理は、決められた動作を決められた回数繰り返すというものになります。
手作業では途方もないような回数の繰り返しもループ処理なら簡単にできてしまいます。

ては、先ほどまでのブロックにループ処理を加えていきましょう。

ループ処理は「制御」のところにある「ずっと」や「10回繰り返す」などのように
「コ」が逆になったような形のブロックになります。

では早速、「10回繰り返す」のブロックをドラッグして先ほどまでのブロックに近づけてみましょう。
すると、ブロックが急に伸びて全体を囲むような形に変化したと思います。
このように、「10回繰り返す」のブロックで囲んであげると、囲まれた中にある命令が10回繰り返されます。
また、10の部分は好きな回数に書き換えることもできます。

10回繰り返す」を設置したら、「10歩動かす」のブロックをクリックしてみましょう。
すると猫が仮面の中で左右に10往復したと思います。

ただ、右に移動→1秒待つ→左に移動まではいいのですが、左に移動した後右に戻るのが早すぎる気がします。
これは、前章でもやったように-10歩動いた後にすぐにまた10歩動くためにバランスが悪くなります。

なので、「-10歩動かす」の下にも「1秒待つ」のブロックを入れてみましょう。

これでバランスよく動くようになったと思います。

これがループ処理です。
プログラミングの基本的な考え方なので確りと覚えてくださいね。

次回は条件分岐です。
もう少しで実際のフィズバズ問題に入りますので、もう少し基本にお付き合いください。

まとめ

  • 状況によってはプログラムを一旦停止させる必要がある
  • 同じ動作を繰り返すときには「ループ処理」を使う

-スクラッチ 使い方, 連載

Copyright© MeTech , 2019 All Rights Reserved.