さてBlockly Gamesの第2回だ。(第1回はこちら)
今回も楽しくやっていこう!
[ミッション3]
前回やった最初の問題に似ているが、少し距離が長い。
ん?前回同様「まっすぐ進む」を何回か繰り返せばいいんでないか・・・?
そう、それでも出来るのだが今回のお題には条件が加わっている。
左下に新たに「残り2ブロックです。」という項目が増えている。
つまり2つのブロックの組み合わせでこの処理を実現せねばならないのだ。
「まっすぐ進む」ブロックだと5個必要である。ではどうやって・・・
そこで新たに加わった新しいブロックに注目だ。
このブロックは間に挟み込んだ処理を条件を満たす間、繰り返し行うものだ。
このように「まっすぐ進む」ブロックを挟み込むと、
「目的地に到達するまで「まっすぐ進む」を繰り返す」
となる。
これは繰り返し文と言って、プログラミング制御の中でとても重要なものだ。
これがあるおかげで、例えばお題の距離がとても長くなったとしてもブロックは2つで実現できる。
上の図のようにブロックを配置して実行してみよう。
到達するまで(今回は5回)繰り返し処理を行って、目的地に到着するのがわかる。
[ミッション4]
少しずつ複雑になってきたが臆することはない。
まずおじさんの立場になって考えてみよう。
まっすぐ進む->左を向く->まっすぐ進む->右を向く->
まっすぐ進む->左を向く->まっすぐ進む->右を向く->
まっすぐ進む->・・・・・
これを繰り返せば到着できそうだ。地道に15個ブロックを並べても到着できそうだが今回も
「残り5ブロックです。」
という条件がついている。
前回やった繰り返し文をここでも利用する。
実はこの繰り返しブロック、間に幾つでも挟み込める。
これに気づけばもう簡単、最初にやった繰り返し部分
まっすぐ進む->左を向く->まっすぐ進む->右を向く->
ここの部分を繰り返し文に挟み込めばよいことがわかる。
よって正解は下のようになる。
このようにプログラミングでは、繰り返している部分を見抜く力がとても大切となってくる。
以上で今回は終わりだ。ではまた明日。
コメント