何を学ぶことができるの?
難問で全然解けません!
こうした悩みを解決します。
学習内容
動画では、変数(=時間)と変数を用いた演算式・分岐処理の作り方を学習します。
図形から人の形を作り、それを変数の変化に合わせて動かすプログラムを作ります。
今までは処理を繰り返してオブジェクトを動かしてきましたが、
変数を用いることで、変数を0〜100まで振った時の動作を連続的に設計します。
変数
変数は演算や処理において参照したり、中身を書き換えたりすることのできる数です。
ちなみに、参照するだけの数は定数と言います。
動画ステージでは時間を変数にして、時間の変化に連動して動く人を作ります。
Youtubeでも解説しています!
ステージ別学習内容
目的ステージにスキップできます↓
1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10
ステージ1
丸、長方形、線を使って人の形を書きます。それぞれX,Yを設定し、大きさを調整します。
丸と長方形に用いるX,Yは中心位置です。設定したX,Yを中心として大きさを設定します。
線に関しては始点と終点のX,Yを決定し、幅を設定します。
グラフを読み取る力をつける
グラフを見て考えることで、XとYの値を入力できるようにします。
テキトーに数値を入れて、なんとなくできちゃった、ということもありますが、きちんとX軸、Y軸を見て計算して設定できるようにしましょう。
たとえば胴体の長方形の高さは、上が60、下が20なので、60-20=40として高さを計算することができます。
唯一、手の太さ(=線の幅)は計算できないので、テキトーに数値入れて合わせこむしかないですね。
目的ステージにスキップできます↓
1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10
ステージ2
ステージ1で作った人の片手を時間変化に連動させて動かします。
グラフの下にある実行ボタンを押すと、人の手が動く様子が見て分かります。
実行ボタンの横にバーがあり、さらにその横にtimeと書かれています。
実行前はtime = 0だったのが実行後時間が経つにつれtimeの数字も大きくなります。
このtimeが変数です。この変数を利用して手を動かします。
このステージでは右手を下端から上端まで動かします。
下端のY軸は0、上端のY軸は100、0から100まで連続的に変化しています。
…つまり右手の位置と時間の関係が一致しています。
これに気づけばどこにtime変数を入れればよいか分かりますね。
目的ステージにスキップできます↓
1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10
ステージ3
ステージ2で動かさなかった方の手を時間変化に連動させて動かします。
このステージで登場するのが数式です。
このステージでは左手を上端から下端まで動かします。右手と逆の動きです。
ステージ2では手のY軸位置は0→100の変化でしたが、今回は100→0です。
時間は0→100で変化するのでステージはtimeを入れるだけでした。
ステージ3では、どうやれば100→0の動きを実現できるでしょうか。
時間が経つにつれて大きくなるtime変数の値を差し引いてやれば、時間変化で小さくなりそうです。
つまり元々Y軸の位置は100だったのを、time変数の大きさだけ減らせば、それが手の位置です。
これに気づけばどういう計算をすればよいか分かりますね。
目的ステージにスキップできます↓
1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10
ステージ4
ステージ4では、人に両足を作り、時間変化に連動させて動かします。
ステージ3までの理解を確認するステージですね。
ステージ1と同じ要領で足を作り、ステージ3と同じ要領で足を動かします。
今まではY軸を動かしていたのが今回はX軸になります。
目的ステージにスキップできます↓
1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10
ステージ5
ステージ2で動かした右手に数式を与えることで、複雑な動きを実現します。
数式の理解を確認するステージですね。
このステージで出てくるのが、べき乗です。
またブロックでかっこを表現するとどうなるのか考える必要があります。
画面に出てくる数式をそのまま入れるだけなんですけど、べき乗が何か知らないと、難しく感じるでしょう。
先生は、べき乗についてまず教える必要があります。
2^3 = 2 * 2 * 2とか3^4 = 3 * 3 * 3 * 3とかやれば、実はそんなに難しくないんだと分かるかと思います。
目的ステージにスキップできます↓
1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10
ステージ6
ステージ5で作った人の両手にボンボンを持たせます笑
ステージ1~5の理解を確認するステージです。
両手にボンボンをつけたまま動くようにします。なので、両手とボンボンの動きが連動します。
これに気づけば簡単なのですが、1から作り直そうとする生徒さんが多いです。
すでに作ったブロックは複製できるので、両手の動きをちゃんと理解できていれば円の位置指定もすぐ分かります。
目的ステージにスキップできます↓
1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10
ステージ7
time=50を境に、ステージ6で作った人の頭の大きさを変えます。
ここで使うのがif文、分岐処理ですね。過去にやった迷路や鳥の再来です。
時間によって処理を切り替えます。
もし時間が50より大きかったら→顔を大きくする
そうでなければ(=50未満なら)→顔を小さくする
これを作ります。
分岐条件に変数が入るので、とーってもプログラミングの感じがしますね!
目的ステージにスキップできます↓
1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10
ステージ8
time=50を境に、ステージ7で作った人の足の動きを変えます。
元々ステージ4で足を作った際、時間変化で足が交差しましたが、ステージ8では両足が触れた瞬間に離れるようにします。
目的ステージにスキップできます↓
1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10
ステージ9
これまで作った人とは関係なく、時間変化で膨らむ円を作ります。
数式は{(t-50)/5}^2のようなべき乗の演算や分岐処理のif文の条件式にもtを用います。
ここまでくるととても高度なことをやってるな、という感じがしますね。
レベル8までの時点で、ステップバイステップで学習を進めてきていますから、レベル9はレベル8までできてれば問題なくクリアできるものと思います。
時間が経つと円の中心位置がずれていることに気づくことが重要です。
XとYで中心位置を決定していたことを思い出しましょう。動画のステージ1を振り返るとよいです。
中心位置が0→50に移動しますね。timeは0→100ですから、その半分です。つまり…?
レベル10について
学習を終えたら、ぜひレベル10のギャラリーを見て欲しいと思います。
ギャラリーには世界中から応募のあった作品からGoogleが良い作品と認めたものが並べられていて、どれも素晴らしいです!
ぜひオリジナル作品を作って投稿してみましょう。そしてギャラリーに追加されたら自慢しましょう笑
まとめ
・動画では変数を用いた演算式を学習することができます
・レベル9はレベル8までに学習したレベルを理解していれば問題なくクリアできます。
立科プログラミングでは、小学生・中学生を対象に、ブロックリーを用いたプログラミング教室を実施しております。
一緒にプログラミング学習に楽しみましょう!