プログラミング事始め(Google Blockly Games②)

BlocklyGames

さてBlockly Gamesの第2回だ。(第1回はこちら)

今回も楽しくやっていこう!

[ミッション3]

前回やった最初の問題に似ているが、少し距離が長い。

ん?前回同様「まっすぐ進む」を何回か繰り返せばいいんでないか・・・?

そう、それでも出来るのだが今回のお題には条件が加わっている。

左下に新たに「残り2ブロックです。」という項目が増えている。

つまり2つのブロックの組み合わせでこの処理を実現せねばならないのだ。

「まっすぐ進む」ブロックだと5個必要である。ではどうやって・・・

そこで新たに加わった新しいブロックに注目だ。

このブロックは間に挟み込んだ処理を条件を満たす間、繰り返し行うものだ。

このように「まっすぐ進む」ブロックを挟み込むと、

「目的地に到達するまで「まっすぐ進む」を繰り返す」

となる。

これは繰り返し文と言って、プログラミング制御の中でとても重要なものだ。

これがあるおかげで、例えばお題の距離がとても長くなったとしてもブロックは2つで実現できる。

上の図のようにブロックを配置して実行してみよう。

到達するまで(今回は5回)繰り返し処理を行って、目的地に到着するのがわかる。

[ミッション4]

少しずつ複雑になってきたが臆することはない。

まずおじさんの立場になって考えてみよう。

まっすぐ進む->左を向く->まっすぐ進む->右を向く->

まっすぐ進む->左を向く->まっすぐ進む->右を向く->

まっすぐ進む->・・・・・

これを繰り返せば到着できそうだ。地道に15個ブロックを並べても到着できそうだが今回も

「残り5ブロックです。」

という条件がついている。

前回やった繰り返し文をここでも利用する。

実はこの繰り返しブロック、間に幾つでも挟み込める。

これに気づけばもう簡単、最初にやった繰り返し部分

まっすぐ進む->左を向く->まっすぐ進む->右を向く->

ここの部分を繰り返し文に挟み込めばよいことがわかる。

よって正解は下のようになる。

このようにプログラミングでは、繰り返している部分を見抜く力がとても大切となってくる。

以上で今回は終わりだ。ではまた明日。

 

 

コメント

タイトルとURLをコピーしました