こんちゃっす、ダイブツです。
前回の迷路プログラミングでプログラミングがどんなものか感じてもらえましたか?
今回は、よりプログラミングの感覚を掴んでもらう為に同じBlocklyGamesのタートル編を実践してもらいます。
難易度が高くなるというより、よりプログラムを打ち込んでいくプログラミングに慣れるという感じなので、そこまで気負わずに実践していきましょう!
それでは始めていきます。
タートル編(9問)
このタートル編は、基本的に線を操作して絵を書いていきます。
迷路とは違った頭の使い方が必要になってきますよ。
頭で考えるだけではなかなかわかりにくいので、ある程度ブロックを繋げてみたらプログラム実行してみるとイメージが付きやすくなるのでオススメです。
第1問
前回と同じように、まずタートルはどのように操作をすれば良いか説明しますね。
ブロックを操作するということは変わっていないのですが、今回は繰り返し処理の回数を指定できるようになっています。
実際のプログラミングでも同じように、繰り返し処理を使用する時は「何回繰り返すのか」を明確に書いてあげる必要があります。
その感覚を養う為に、今回は繰り返し回数を指定していきましょう。
他にも今回はブロックの横に色んな種類のブロックが用意されています。
タートルとか繰り返しとか書いてあるのをクリックすると、使えるブロックが表示されますよ。
先の問題に進むほど、使えるブロックの種類が増えていくので必要になったらこの部分を確認してみてください。
あと、今回のプログラム実行は結構時間がかかるので、実行スピードを変更することができます。
左下に表示されている亀とウサギのバーを動かすと、スピードが遅くなったり速くなったりするんです。
これを使って、じっくり見たい時は遅く、飛ばしたい時は速く動かしましょう。
ホントはボタン押したら1つ実行、みたいな動作が1番わかりやすいんですが、そんな仕様はないみたいです・・・残念。
そんな内容が分かったら、本来の問題を解いていきましょう。
今回の問題は、「進んで⇒90°曲がって」を4回繰り返せばいいだけなので、解答はこうなります。
そして、今回も同じように正解するとJavascriptのプログラムが表示されます。
ここで表示される「for」というものも繰り返し処理をする為のものです。
これもめっちゃ使うので覚えておきましょう!
前回の時に繰り返し処理ではwhileが使われていましたが、forもwhileもどちらも繰り返し処理をやりたい時に使います。
基本的にどちらを使っても良いんですが、微妙に使い方が違うのでその点についてはこの記事を見てください。
第2問
第2問を始める時に何故だか急に英語メッセージが!
第1問だけ日本語とか凄い中途半端!
そして、ここで表示される英文の意味は「先程書いた四角形を書くプログラムを、五角形を書くプログラムに変更してみましょう」という内容なんです。
さっきの四角形は角が90°でしたが、五角形は角が120°になりますよね。
後は同じ要領で書いていけばいいだけです。
第3問
ここでもまーた中途半端に英語か混ざっていますね。
意味は「新しく線の色を変えるブロックが追加されました」ってことです。
このブロックで色を変えることができますよ。
今までは白色の線しか書けなかったんですが、今回から赤とか黄色で線を書くことができるようになります。
で、うっすらなんですが問題の背景に見えている線の色が白から黄色に変わっているのが分かりますか?
分かりにくいですが、これ黄色なんです。
なので、線の色を黄色にして星の形を書くことで正解となります。
後は☆を書く為に何度回転させればいいか分かればすぐできますね。
回転する角度は144°で☆を書けますよ。
答えはこうでした。
第4問
今回の問題でまた新しいブロックが追加されますよ!
そして今回の英語メッセージは「ペンを移動する時に、紙からペンを離すことができるブロックが追加されました」という意味ですね。
つまり、移動しても線を書かないようにするブロックが追加されたということです。
線を書く、書かないという概念が出てくるので、ここらへんからややこしくなってきますね~。
星についてはさっきの問題で使ったプログラムの線をただ短くすればいいだけです。
ただ他にどこへ線を書けばいいのか分かりにくいですねw
星の上の方にちょんと線が引かれているので、そこに線を引くようにしましょう。
※使っているモニターによっては線がすごく見えにくいかもしれません。
その場合は画面の明るさを上げてみてください。
で、離れた位置に線を引くとしても、多分距離感が分からないと思います。
なので、最初は「何となくこれぐらいの長さかな~?」ぐらいで試しにプログラムを実行してみましょう。
そこで設定した長さがどうだったかを見て、調整していくのが手っ取り早いです。
実際、プログラマーの仕事でもとりあえず動かしてみるっていうことはよくやっていますよ。
そうして長さを調整すると答えはこうなります。
第5問
さぁ段々難しくなってきます。
今回最初に表示されている英文ではこんなことを言われていました。
「1つの星の代わりに、変化を加えた4つの星を書くことができますか?」
どういうこと?ともしかしたら思うかもしれません。
そこで、背景に書かれた線を見てみると、それぞれ少し角度の変わった星が4つ書かれていますね。
この4つの星を書くプログラムを作ればいいということです。
今までの問題では、星は繰り返し処理を使ってプログラムを作ってきましたね。
ちょっと形は変わりますが、星を4つ作るなら星を書く処理を4回繰り返して書くことができないでしょうか?
1つの星を書く為に繰り返している処理を、さらに繰り返すということですね。
それぞれ分解して考えると分かりやすいかもしれません。
星を書く = 線を5回引く
星を4つ書く = 「星を書く」を4回行う
この考え方はよっく使うので、覚えておきましょう!
頭が混乱してきたら、できるだけ単純になるように考えていくと頭が整理しやすくなりますよ!
はい、そして今回の解答はこうなりました。
第6問
急に日本語のメッセージでてきたあああ!!
あ、この問題では日本語のメッセージが出てくるんです。
そして、日本語のメッセージ通り解けばいいんですね。
黄色い星を3つ書いて、変な位置に白い線を1本引けばオッケーです。
「何でこんな変な位置に1本だけ線引くの?」
と思うかもしれませんが、そこはスルーしときましょう!
この問題は処理が難しいというより、角度と線の長さの調整が難しいという表現の方が合ってます。
この問題もとにかくプログラム作って実行しての繰り返しで調整が必要になりますね。
星を3つ書いた後にペンをあげて白い線を書けばいいので答えはこんなプログラムになりました。
第7問
第6問が正解できていればこの問題はすぐにできますよね。
さっき書いていた白い線の処理を繰り返して4本線を引けばいいだけです。
すると答えはこうなります。
第8問
さっき日本語になったと思ったらまた英語のメッセージに逆戻り!
その英語メッセージはこんな内容になっています。
「360°に白線を引いて、満月のようにしてみよう」
これも第7問ができていれば簡単です。
白線を引く角度を細かくして360回繰り返すだけですもんね。
これぐらいだったら解答を隠すまでもないですね。
答えはこうなります。
第9問
第10問は自由に絵を書く内容になっているので、実質この第9問が最後の問題です。
今までの問題はこれを解く為にやってきたといっても過言ではありません。
ただ、難しい問題ではないので、ちゃちゃっと書いちゃいましょう!
今回の英文はこんな内容です。
「黒丸を追加して三日月を作ることができますか?」
つまり、白線で書いた満月を黒線で書いた丸で上書きして、三日月に見せちゃえよ!ってことですね。
さっきの問題の最後からちょっと位置を書いて、同じように黒丸を書くだけでいけちゃいます。
答えはこうなりますよ。
第10問
「第10問は自由に絵を書いてみよう」というコーナーなので省略します。
他の人が作ったプログラムを見ることが出来るので、興味があれば見てみてください。
お疲れ様でした!!
今回は前回の迷路より難易度は低めでしたね。
ただ、プログラムを実行して調整していくという感覚は掴めたと思います。
これがプログラミングです。
まだ考えるのに時間がかかってしまうかもしれませんが、慣れてくると段々すぐに思いつくようになってきます。
数をこなして慣れていくのが大事ですよ。
これでブロックを使った第1回プログラミング講座は終了となります。
第1回でこのボリューム・・・
ホントはこんなに長くなるつもりではなかったんですが、問題数が多かったので仕方ないですねw
でもここで学んだ知識はコードを打ち込んでいくプログラミングで物凄く活用できますよ。いやホントに。
そしていよいよ次回からブロックを使わずに文字を打ち込んでいく方のプログラミング講座を始めていきます!
本格的なプログラミングが始まっていくのでまた気持ちを一新して学んでいきましょう!
気軽にコメントどうぞ!