児童向け、小学生から始めるプログラミング言語として、スクラッチ(Scratch)は最適です。
たくさん用意されているキャラクターや背景を使っていろんな種類のオリジナル作品を作ろう!
ここにある課題を順にこなしていけば、スクラッチの使い方やプログラミング方法が身に付くよ。
キーボードやマウスを使ってキャラクタを動かすゲームだけでなく、算数で覚えたことを応用した図形描画もできるよ。
生身の人間なんだから、計算そのものではなく、どの順番でどのように計算させるかを考えることが重要なのです。
スクラッチでのプログラミングは、その人間として大事な力を鍛えてくれます。
◇◆ 目的 ◆◇
キーボードから値を入力して、プログラムで使ってみよう
( )と聞いて待つ ブロックと
(答え)ブロックの使い方を解説します。
番号 | イメージ | 内容 |
---|---|---|
S-N3 | アナログ時計を作ってみよう2時刻を入力するとその時刻に針がセットされ、そこから動き出す時計を作ろう。 習得:入力とその値を使えるようにする |
『スクラッチ』の画面を出しておこう。
課題S-N3で作ったアナログ時計を読み込んでおこう。
スクラッチは小さい子でもできるけど、3年生くらいから始めるのがいいかもしれない、ってことで、スクラッチの解説では漢字にフリガナは振りません。国語の勉強だと思って漢字も覚えよう!
課題S-N3で作ったアナログ時計は12時の位置からスタートだったけど、分針の最初の位置をキーボードから入力できるようにしてみよう。
(What's your name?)と聞いて待つブロックを使うんだ。【調べる】カテゴリにあるぞ。
(What's your name?)と聞いて待つブロックは、その名の通り聞いて待つので、入力が終わるまで進まないんだ。
つまり、聞く前にやっておくことがあるなら済ませておく必要がある。
今回のプログラムはそんな大層なことをしてないから特に問題にはならないけど、要するに必要な初期設定は済ませておきましょうということです。
今回やりたいことは、『分針(フンシン)の最初の位置をどこにするか聞く』ってことなので、動作の対象は『分針』だね。
なので、分針のコードを見てみると、
こんなふうになっていて、
初期設定として位置と角度が決められている。
最初の角度を決めたいんだから、どこに入れればいいか分かったかな?
とはいえ初めて使うブロックなので、どんな感じか様子を探ってみよう。
【調べる】カテゴリにあるよ。
聞いた答えは、(答え)ブロックに入ってるよ。
ワンポイントテクニック
こうやって動作を確かめるくせを付けよう!
思ってたのと違う動きをする場合も結構あるから、実際に確かめてみるととても分かりやすいよ。
さらに。
もう一歩レベルアップしたいのなら、『わざとおかしなことをしてみる』という確認も重要だ。
『いじわるテスト』なんて言われ方もするけど、システムの安定性と堅牢性を担保するにはいかなる状態に置いても
エラーを起こさない ような……、まぁ新しいものを開発するエンジニア(技術者)たちの常識なのです。
作ったものは誰がどんなふうに使うかなんてわからないから、どんな事されても壊れないものを
作るんですよ。上手く動くなんてのは当たり前で、その先に『いつでも』が要求される。だから難しいんだけど、
だから安心して使える。
「何度にする?」と聞かれて、半角文字で例えば45と打ち込み、エンターキーを押すか右側のチェックマークをクリックすればネコがななめ上を向くはず。
でも全角文字で45と打ち込んだらどうなるかな?ぜひ確かめてみよう。
答え→0が入力され、上を向く←範囲を選択して確認しよう。
なお、半角文字で0~360の値がまともに動く数値です。360を過ぎた場合、一周は360度なので360で割った余りの角度となります。算数で習っているかな?
『換算』という言葉があります、知ってるかな?
カンザンと読みます。単位を変えるときに使ったりするね。
同じ意味だけどちがう表し方にするってことなんだけど、どういうことかと言うと、
「キミのお部屋の広さはどのくらい?」
「8.2㎡(平方メートル)だよ」
「わかんないよ。たたみ何畳?」
「・・・4畳半」
この8.2㎡と4畳半というのは同じ意味(同じ広さ)で、表し方が違っただけなんだ。このように同じ意味で数字を変えることを『換算する』と言います。
本題に戻ると、何分から開始する?と尋ね、分で答え、それを角度に換算すると正確に表せるね。
ちょっと考えてみよう。
とはいえ前の課題で1分動かすときの角度は計算で出ていたはず。2分ならその角度の2倍、10分なら10倍、ってことは?もうわかったかな。
では、何分から開始するかは(答え)ブロックに入っているとして、
(答え)×1分の角度←範囲選択して答え合わせをしよう
とすればいいね。これをブロックで作ってみよう。
演算ブロックにある、かけ算用のブロックを使おう。
こんな感じでブロックを作ろう。
分針のコードをこんな感じで組んでみて、旗を押して実行してみる。
とりあえず30分からスタートにしてみるので30と入力する。
計算してみると、30×6で180になる。
だけど、15分(90度)を指してるぞ。
これはよくあることなので落ち着いて直していこう。
ここがちょっと注意が必要なところだよ。
もともと、時計の針の絵を描くとき、あれは0度ではなく90度のときの絵なんだ。
なので、90度のとき時計としては0度なので、90度分足りないんだ。
だから、90度足してあげれば時計として正しい角度になるね。
このように、ブロックにブロックを詰め込むこともできるよ。
このブロックを使って30分と入力したら↓このように正しい針に位置になったよ。
このように、ある変化する値に一定数を足したり引いたりすることを
『オフセット』と言います。
はい、わかります。急に難しくなった、なんで素直に表せないの?って思っていることでしょう。
絵を描きなおせばいいんじゃない?って思ってた人、正解です。
描き直してしまえば(+90)のブロックはいりません、わかりやすい。
つまり、根本的に直す方法もあれば、ちょっと小細工をするだけで直せることもある、ということを覚えておいてほしい。
とは言えここまでくればもう完成しているかな?いろんなことがけっこう算数で表せてしまうんだ、ってことが分かったならこの課題はクリアだ!
この課題はここまででOKだよ。ここまで出来たことの証拠を送ってくれればこの課題はクリアだ!
まだ続けたい人は次の課題に進もう
下記①を送ってね
① 今回作ったプログラムのセーブデータ
※『課題S-N3の「秒針が1周まわると分針が動くアナログ時計」』に対し、スタート位置を分で入力できるようにしたもの
ポストの画像またはリンクをクリックするとメール送信画面になります。
予めタイトルと本文がある程度書かれておりますので、不足分を追記してメール送信してください。
課題の提出はコチラ
メールアドレスを直接打ち込みたい人はコチラをコピーしてご利用ください。
o.kawajuku.pc@gmail.com
上記これを送ってねに書いてあるものを記入または添付して、メールを送信してください。
メールにファイルを添付する方法は課題の提出の解説ページを参照ください。