こんにちは!
現役エンジニアが教える「ひらめきIoTラボ」、第3回をお届けします。
前回の「計算ブロック」では、micro:bitを電卓のように使って複雑な計算ができるようになりましたね。でも、エンジニアが作る本格的なプログラムには、計算と同じくらい――いえ、それ以上に大切な「ある仕組み」が必要不可欠です。
それが、今回学ぶ「変数(へんすう)」です。 「変数」と聞くと、数学の授業で出てくる x や y を思い出して「うっ、難しそう……」と感じる人もいるかもしれません。でも安心してください。プログラミングの変数は、数学よりもずっと直感的で、まるで「中身を入れ替えられる魔法のバッグ」のような、とっても便利な道具なんです。
今日は家族の「りんごの数」を例にして、この変数の正体を解き明かしていきましょう!
前回の宿題:答え合わせと「計算の順番」のひみつ
本題に入る前に、前回の宿題を覚えていますか?
「 (2 + 3 – 1) × (5 ÷ 4) = 5 」となるプログラムを作るという、パズルのようなチャレンジでしたね。
1. 算数のルール vs プログラミングの形
算数では、足し算よりかけ算を先にやる、カッコの中を一番先にやる、といった「計算の優先順位」がありますよね。MakeCodeの世界でもこのルールは絶対です。
ただ、MakeCodeには「カッコ」という記号がありません。その代わりに「ブロックの重なり(入れ子構造)」で順番を決めます。
- ルール: 内側にあるブロックが先、外側にあるブロックが後。
2. ブロックを組み立てるコツ
宿題の式をもう一度見てみましょう。
( (2 + 3) - 1 ) × ( 5 ÷ 4 ) という構造をブロックで再現します。
- まず、一番外側(最後)に行う「かけ算」のブロックを置きます。
- かけ算の左側の穴に、「引き算」を入れます。さらにその左に「足し算」を入れます。
- かけ算の右側の穴に、「割り算」を入れます。
- 最後に、奥から順に数字を入れていきます。
このように組み立てると、コンピューターは一番深いところにある「2 + 3」を計算し、その結果から1を引き、一方で「5 ÷ 4」を計算し……と順番に進めてくれます。ブロックの形そのものが「計算の道しるべ」になっているんですね。
今日のテーマ:かぞくでなんこ?(変数への道)
さて、ここからが本番です!
第2回では「りんごが5個」という数字を直接ブロックに書き込みました。でも、現実の世界ではどうでしょうか?
「僕が持っているりんご」と「お兄ちゃんが持っているりんご」は、数が違いますよね。しかも、お腹が空いて食べちゃえば減るし、お母さんからもらえば増えます。
このように、「状況によって変わる数字」を、「名前をつけて保存しておく」仕組みが必要になります。これが「変数」です。
「変数」とはラベルを貼った袋のこと
プログラミング初心者の方に、私がいつもお話しする例えがあります。
変数は、「名前のラベルが貼られた、中身が見える保存袋(または箱)」だと思ってください。
1. 変数という「入れもの」
たとえば、僕が4個のりんごを、お兄ちゃんが6個のりんごを持っているとします。
これらをただの数字として扱うのではなく、
- 「僕のりんご」という名前の袋に、4という数字を書いたカードを入れる
- 「兄のりんご」という名前の袋に、6という数字を書いたカードを入れるという風に管理します。
2. 名前をつけることの重要性
エンジニアの世界では、この変数に名前をつけることを「命名(めいめい)」と呼びます。
もし、袋に名前が書いてなかったらどうなるでしょう?
「4って数字、なんだっけ?僕のりんご?それともお兄ちゃんの年齢?」と、プログラムが長くなるほどパニックになってしまいます。
誰が見ても一瞬で中身がわかる名前をつけること。これが、バグ(間違い)を減らすためのプロの第一歩です。
実践!micro:bitで変数を作ってみよう
▼ 動画で動きを確認しながら進めよう!
※動画内で使っているブロックの場所や、シミュレーターを実際に確認してみてね。
それでは、実際にMakeCodeを使って変数を作ってみましょう。
Step 1:新しい変数を作る
- ツールボックスの「変数」カテゴリーをクリックします。
- 「変数を追加する…」ボタンを押します。
- 新しい変数名に「僕のりんご」と入力してOKを押します。
- もう一度同じ手順で、「兄のりんご」という変数も作ります。
これで、micro:bitの中に2つの魔法の袋が用意されました。
Step 2:数字を袋に入れる(初期設定)
「最初だけ」ブロックの中に、以下のブロックを入れます。
- 「変数 [僕のりんご] を [4] にする」
- 「変数 [兄のりんご] を [6] にする」
これで、電源を入れた瞬間に、それぞれの袋に指定した数のカードが入るようになりました。
Step 3:ボタンで袋の中身をのぞく
次に、保存した数字を画面に出してみましょう。
- 「Aボタンが押されたとき」の中に、「数を表示 [僕のりんご]」を入れます。
- 「Bボタンが押されたとき」の中に、「数を表示 [兄のりんご]」を入れます。
シミュレーターでAボタンを押すと「4」、Bボタンを押すと「6」が出ましたか?
おめでとうございます!これであなたは、コンピューターに「情報を記憶させ、好きな時に取り出す」という高度な操作ができるようになりました。
プログラミングの超重要用語「代入(だいにゅう)」
ここで、エンジニアが毎日100回以上は使う言葉、「代入」について深く知っておきましょう。
1. 代入は「入れ替え」である
宿題や授業で、僕のりんごを4個から7個に変えてみてください。
「最初だけ」ブロックの中の数字を「4」から「7」に書き換えるだけですね。
この時、プログラムの中では、袋に入っていた「4」のカードを捨てて、新しく「7」のカードを入れ直しています。この「古い情報を捨てて、新しい情報を入れ直す」操作のことを代入と言います。
2. 数学の「=」とはちょっと違う?
算数や数学の x = 7 は「xと7は同じですよ」という意味ですよね。
でもプログラミングの代入は、「左側にある袋の中に、右側の数字を放り込め!」という命令(アクション)なんです。
この「アクションである」という感覚が掴めると、第4回で学ぶもっと複雑な計算もスルスル理解できるようになります。
▼ 動画で動きを確認しながら進めよう!
※動画内で使っているブロックの場所や、シミュレーターを実際に確認してみてね。
【エンジニアの視点】変数はゲームのどこで使われている?
変数の概念がわかると、世の中のゲームの仕組みが全部透けて見えるようになります。
- アクションゲームの「スコア」: 「スコア」という名前の変数に、敵を倒すたびに数字を代入しています。
- RPGの「HP(ヒットポイント)」: 「体力」という変数。攻撃を受けると、中身が減っていきます。0になるとゲームオーバーという判断をします。
- タイマー: 「残り時間」という変数。1秒経つごとに、中身を「今の数字 – 1」に入れ替えています。
もし変数がなかったら、ゲームはあなたの点数も、今のレベルも、どこまで進んだかもすべて忘れてしまいます。変数はまさに、コンピューターの「記憶力」の源なのです。
まとめ:今日のポイント
- 変数は、データに名前をつけて保存する「ラベル付きの袋」!
- 名前付けは、誰が見ても中身がわかるように書くのがプロの技!
- 代入は、袋の中身を新しい数字に「入れ替える」アクションのこと!
- 変数は、コンピューターが情報を覚えておくために絶対必要なもの!
【宿題】自分専用のカウンターを作ってみよう
今日の復習として、こんなプログラムに挑戦してみてください。
「僕のりんご」を10個、「妹のりんご」を3個にして、ボタンを押すとそれぞれの数が表示されるようにしてください。
もし余裕があれば、お父さんやお母さんの分も変数を作って、家族みんなのりんごをmicro:bitに覚えさせてみてくださいね!
次回の予告
次回、第4回のテーマは……
「かぞくでなんこ?パート2(変数計算編)」です!
今日のレッスンでは、変数の中身を入れ替える(代入)ところまで体験しました。
次は、いよいよ「変数同士を足し算」したり、「今の袋の中身を1つ増やす」といった、より実践的な計算に挑戦します。
妹やお父さん、お母さんが登場して、家族全員のりんごの合計をmicro:bitが一瞬で計算してくれるようになりますよ。
変数を使いこなせれば、あなたも「ひらめきエンジニア」の仲間入りです!
それでは、また次のレッスンでお会いしましょう!
最後まで読んでくれて、ありがとうございました!

