【第2回】りんごはなんこ?計算ブロックでコンピューターを電卓に変えよう!

MakeCode × micro:bit編

こんにちは!「ひらめきIoTラボ」へようこそ。

現役エンジニアの視点から、今日も中学生の皆さんにワクワクするプログラミングの世界をお届けします。

前回は、まずは「まね」をしてmicro:bitのボタンで音や絵を出すことに挑戦しましたね。 第2回となる今回のテーマは、「計算」です。

「えっ、数学?」「勉強みたいで嫌だな……」なんて思わないでください! 実は、私たちが普段遊んでいる大人気のアクションゲームも、ハラハラするRPGのダメージ計算も、すべては今回学ぶ「計算ブロック」が基礎になっています。

今日は「りんご」を例に、コンピューターに計算させる魔法の仕組みを分解していきましょう!

前回の宿題:答え合わせと復習

新しいことを学ぶ前に、前回の宿題を覚えていますか? 「A、B、A+Bのボタンの組み合わせで表示を変える」というミッションでした。

プログラミングの答えは一つではありませんが、代表的な「エンジニアらしい」解き方を解説します。

1. 自作の「ドット絵」で表現する

「入力」から「Aボタンが押されたとき」を選び、その中に「LEDに表示」ブロックを入れます。 5×5のマス目をポチポチとクリックして、アルファベットの「A」を描いてみましょう。

同様に、「Bボタンが押されたとき」にも「LEDに表示」ブロックを使い、「B」の形を作ります。

2. 文字列として流す

A+Bボタンのときは、「A+Bボタンが押されたとき」のブロックを使います。 ここには「文字列を表示する」ブロックを入れて、中身を「A+B」と打ち込みます。

【エンジニアの視点】どっちがいいの?

  • LEDに表示: 自分の好きなデザインにできるのがメリット。でも、1文字しか出せません。
  • 文字列を表示: 長い文字(A+Bなど)を流して見せることができますが、流れるスピードを待つ必要があります。

このように、「目的に合わせてブロックを使い分ける」のが、エンジニアへの第一歩です!

今日のミッション:micro:bitを最強の計算機にしよう

それでは、新しいプロジェクトを作りましょう。 画面右上の「家のマーク」から「新しいプロジェクト」をクリックし、名前を「プログラム2」にして作成してください。

準備はいいですか?今日のテーマ「りんごはなんこ?」のスタートです!

▼ 動画で動きを確認しながら進めよう!

※動画内で使っているブロックの場所や、シミュレーターを実際に確認してみてね。

「最初だけ」とりんごの数

まずは、最もシンプルな「数を表示」することから始めます。

「最初だけ」ブロックの役割

micro:bitの画面には最初から「最初だけ」と「ずっと」という2つの大きな枠があります。 「最初だけ」は、電源を入れた時やリセットボタンを押した時に、たった1回だけ実行される場所です。

5個のりんごを表示する

「基本」メニューの中にある「数を表示する」ブロックを、「最初だけ」の中にはめ込みましょう。 数字を「0」から「5」に変えてみてください。

シミュレーターを見ると、パッと「5」と表示されましたね。 これが「今、りんごが5個あるよ」というコンピューターからのメッセージです。

計算ブロックを「入れ子」にするテクニック

▼ 動画で動きを確認しながら進めよう!

※動画内で使っているブロックの場所や、シミュレーターを実際に確認してみてね。

ここからが本番です。プログラミングの面白いところは、「ブロックの中に別のブロックを入れる」ことができる点です。これを専門用語で「ネスト(入れ子)」と言ったりします。

足し算(加算)に挑戦

「計算」カテゴリーにある、「0 + 0」というブロックを探してください。 これを、先ほどの「数を表示する」ブロックの「5」が入っていた丸い穴に、カチッとはめ込んでみましょう。

左側に「2」、右側に「3」と入力します。 シミュレーターはどうなりましたか?「2 + 3」の結果である「5」が表示されましたね!

引き算・かけ算・わり算(四則演算)

エンジニアは効率を重視します。似たようなブロックを作るときは「複製(ふくせい)」を使いましょう。

  1. 引き算: 足し算ブロックの上で右クリックして「複製する」を選びます。記号を「ー」に変えて「5 – 2」にしてみましょう。答えの「3」が出れば正解です。
  2. かけ算: 同様に複製し、記号を「×」にします。「5 × 2」にすると「10」が流れます。
  3. わり算: 記号を「÷」にします。

豆知識:エンジニアの計算記号 実は本物のプログラミングコードを書くときは、「×」は「*(アスタリスク)」、「÷」は「/(スラッシュ)」という記号を使います。MakeCodeでは分かりやすく「×」「÷」になっていますが、将来のために覚えておくとカッコいいですよ!

超強力!「べき乗」って知ってる?

計算ブロックの中には、少し聞き慣れない「べき乗(じょう)」というものがあります。

同じ数を何度もかける魔法

「5 べき乗 2」と設定してみましょう。これは「5を2回かける(5×5)」という意味です。 答えは「25」になりますね。

もし「2 べき乗 3」なら、「2を3回かける(2×2×2)」という意味で、答えは「8」になります。 数学では「2の3乗」と習いますが、プログラミングでは、非常に大きな数を計算したり、ゲームの経験値計算などでよく使われる重要な機能なんです。

「ずっと」ブロックでリピート再生

次に、「最初だけ」の隣にある「ずっと」ブロックを使ってみましょう。

作った「数を表示」ブロックを「ずっと」の中へ引っ越させてみてください。 すると、計算結果が何度も何度も繰り返し表示されます。

「ずっと」の中に入れたプログラムは、コンピューターが動いている間、光の速さで上から下まで読み込み、また一番上に戻って繰り返すという性質を持っています。 これが、テレビゲームでキャラクターが常に動き続けたり、敵が追いかけてきたりする仕組みの正体です。

【エンジニアの視点】計算がゲームを面白くする

「なぜ計算なんて勉強しなきゃいけないの?」と思うかもしれません。 でも、皆さんが大好きなゲームの中を見てみましょう。

  • アクションゲーム: 敵を倒した時に「スコア + 100」をする。
  • RPG: 自分の「攻撃力」から敵の「防御力」を「引き算」してダメージを決める。
  • 対戦ゲーム: アイテムを取ると移動速度が「2倍(かけ算)」になる。

今日学んだ計算ブロックは、「ゲームの世界の物理法則」を作るための大切なツールなんです。これができるようになると、将来、自分だけのオリジナルゲームを作る時に、キャラクターに命を吹き込むことができるようになります。

【エンジニアの告白】プロでも間違う計算の順番

ここで、現役エンジニアの私から、よくやる失敗を一つ共有します。 それは「計算の順番」です。

算数で「カッコの中を先に計算する」とか「かけ算・わり算を先にやる」と習いましたよね? プログラミングでも、ブロックの組み合わせ方(はめ込み方)を間違えると、コンピューターは素直に間違った順番で計算してしまいます。

思い通りの答えが出ないときは、「どのブロックがどの中に入っているか」をよく観察してみてください。これを直すのが、前回学んだ「デバッグ」の楽しさでもあります。

▼ 動画で動きを確認しながら進めよう!

※動画内で使っているブロックの場所や、シミュレーターを実際に確認してみてね。

今日のまとめ

  • 「最初だけ」は1回きり、「ずっと」は無限ループ。
  • 計算ブロックを「数を表示」にはめ込むことで、micro:bitが電卓になる。
  • 複製機能を使えば、効率よくプログラミングができる。
  • ゲームの仕組みは、すべて計算でできている!

【宿題】チャレンジしてみよう!

今日の復習として、ちょっと複雑な計算に挑戦してみましょう。

「 (2 + 3 – 1) × 5 ÷ 4 」の結果を、micro:bitに計算させて表示してください。

ヒント:ブロックの中にブロックを入れて、さらにその中にブロックを入れて……と、マトリョーシカのように組み立ててみてくださいね。

答え合わせは次回のレッスンで行います。 おうちの人と一緒に、「どっちが先に計算されるかな?」と考えながら作ってみてください!

次回の予告

第3回のテーマは「かぞくでなんこ?」です。 今日学んだ「計算」をさらにパワーアップさせて、自分とお兄ちゃんのりんごの数を合計するような、より実践的なプログラムを作ります。 そこで登場するのが、プログラミングの超重要アイテム「変数(へんすう)」です。これを知ると、一気に「プロっぽく」なりますよ!

それでは、また次のレッスンでお会いしましょう。 最後まで読んでくれてありがとうございました!