PCを使わずにプログラミングを学習する方法についてご紹介します。今回は,箱を使って変数について学ぶ方法です。以下の資料を参考にしています。
https://teachinglondoncomputing.files.wordpress.com/2014/02/activity-boxvariables.pdf
箱を使った変数の学習
対象年齢:10歳以上~大人まで
所要時間:15~20分
対象人数:3人以上
【学習の目的】
データ処理はコンピューターが行うことの中で一番重要なものの一つです。数,テキスト,画像,音などの値を格納し,操作したり,計算したり,変更したり,必要になるまで結果を格納します。データを格納している場所を参照する方法が必要となりますが,それを変数と言います。今回の取り組みでは,変数や代入,値,初期化,宣言などのプログラミングの考え方ついて学ぶことができます。
【使うもの】
- A4サイズの箱
- 変数の名前のラベル
- colour1, colour2, temp(上記URL内の末尾にあります) - 値のカード
- "Red", "Green"(上記URL内の末尾にあります) - プログラム
- 今回はURL内の資料21ページ目のプログラムを使います
【学習の方法】
プログラムではたくさんの変数が要るので,どの変数がどの名前なのか知ることが必要です。名前が付いていれば,その変数を使うときに,いつでも呼び出すことができます。変数を使う前に,まずは変数を作りましょう。
変数を作るときは,データを格納するために,まずは場所を確保します。
例えば,プログラムに最初の指示をします。
colour1 = “red”
変数 colour1を作り,そこに“red”という値が格納されました。
(1)プログラム①:colour1 = "red"
生徒を一人指名し,箱を渡して持ってもらいましょう。箱は変数を表します。変数は1つの値を持つことができる箱のようなものです。colour1 の名前のラベルを渡し,生徒の首に掛けてもらいましょう。これでこの生徒はcolour1となりました。
代入することで変数の中に値を格納できます。まずは“red”のカードをcolour1 の箱の中に入れましょう。
(2)プログラム②:colour2 = "green"
次に,colour2 という変数を作りましょう。もう生徒の一人にcolour2のラベルを渡し,箱を持たせ,その中に “green”のカードを入れてもらいます。
ある値を最初に変数に代入しておくことを初期化と言います。colour1 という変数には“red”という値を,colour2という変数には “green”という値を入れて初期化しました。 変数の値と変数名を混同しないように注意しましょう。値は箱に格納されるもの(今回はカード)です。変数名はラベル(生徒の首にぶら下がっているもの)です。
(3)プログラム③:temp = colour1
tempはこれまで出てきていないので,変数の宣言を行う必要があります。3人目の生徒を指名し,箱とtempラベルを渡しましょう。
そしてcolour1の中にあるものを参照し,そのコピーをtempの中に入れます。colour1の生徒のところに行き,箱の中に何が入っているか尋ね,そのコピーを作りましょう。そして,そのコピーをtempの箱の中に入れます。
colour1は変わっていないことに注意しましょう。もともとの値が入ったままです。tempという変数がそのコピー(colur1の値のコピー)を持っただけです。
<補足>この結果,tempの箱には"red"が入ります。
(4)プログラム④:colour1 = colour2
この代入は,colour2の値のコピーをcolour1に入れるだけです。colour2の人のところに行き,持っている値を確認し,コピーします。
変数は一つの値しか持てないことに注意しましょう。新しい値を箱の中に入れる場合は,古い値を捨てます。colour1に新しい値を入れる場合には,古い値を取り出して捨てましょう。
<補足>この結果,colour1の箱については"red"が捨てられ,"green"が入ります。
(5)プログラム⑤:colour2 = temp
tempの中の値は,早い段階でcolour1から保存された値になっていました。たとえcolour1の中の値が捨てられても,そのコピーが安全に格納されているので,colour2の中の同じ値で終わります。
<補足>このプログラムは,colour2にtempの値を代入するという意味です。tempの中に入っている値"red"をコピーしてcolour2に入れます。colour2に入っている"green"の値は破棄されます。
結果がどうなっているか見てみましょう。colour1 とcolour2の値は,tempという追加の記憶域を使うことによって取り替えられました。もとはcolour1は"red",colour2は"green"でした。今やcolour1は"green",colour2は"red"です。
変数や値,代入,それぞれの関係性については,図に描いて考えてみると分かりやすいです。PCを使わずに学習できるので,ぜひ気軽に取り組んでいただければと思います。
【関連記事】