PCを使わないプログラミング学習②~箱を使った変数の学習

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"です。

teachinglondoncomputing.org

 変数や値,代入,それぞれの関係性については,図に描いて考えてみると分かりやすいです。PCを使わずに学習できるので,ぜひ気軽に取り組んでいただければと思います。

 

【関連記事】

blog.terak.jp

blog.terak.jp

blog.terak.jp