今回は、mBot2プログラミングシリーズ(mBlock編)の第2回です。
本記事では「演算」について学びます。
演算は、プログラムの中で入力データを処理し、動作を制御するために非常に重要な役割を果たします。
特にmBot2の各種センサー(ライントレースセンサー、超音波センサーなど)の値を扱う際、演算を使いこなすことで、より高度なプログラミングが可能になります。
この記事で分かること
- 3つの演算(算術、論理、比較)について
- mBlockの「演算」ブロックの使い方
- mBotにおける「演算」ブロックの活用方法
mBlockとは?『スクラッチ(Scratch)』との違い
mBlockは、小学校や学習塾で取り入れられている『スクラッチ(Scratch)』をベースとしたビジュアルプログラミングツールです。
スクラッチの基本的な操作感を引き継ぎながら、ロボットやハードウェアの制御に特化しているため、mBlockを使えば、プログラミング初心者でも簡単にロボットプログラミングを始めることができます。
mBlockで使用するブロック
『演算』パレット
算術演算、論理演算、比較演算等などブロックが入っています。
今回は、mBot2のプログラミングで主に使うこの3種類のブロックをメインに紹介します。




算術演算ブロック
加算(足す)、減算(引く)、乗算(掛け算)、除算(割り算)をするブロックです。



比較演算ブロック
2つの値を比較して「真(True)」または「偽(False)」を判定します。
- 「〇>〇」:右より左が大きいか
例)7 > 5 → 真(True) - 「〇<〇」:右より左が小さいか
例)7 < 5 → 偽(False) - 「〇=〇」:右と左が等しいか
例)7 = 5 → 偽(False)



論理演算ブロック
条件を組み合わせたり否定したりして、複雑な判断をプログラムに組み込みます。
- 「〇かつ〇」(AND)
- 2つの条件が2つとも真(True)の時:真(True)

- 「〇または〇」(OR)
- 2つの条件のうち、どちらか一方でも真(True)の時:真(True)

- 「〇ではない」(NOT)
- 指定した条件を反転させます
- 指定した条件が偽(False)の時:真(True)


指定された情報を、指定されたデータ型で読み出します。
データ型は、整数/浮動小数点/文字列の選択が可能です。
例)値「3.14」のデータ型「整数」の読み出し結果:「3」

乱数ブロック
指定された値の範囲内で、処理されるごとに異なる値が出るブロック。
サイコロを振るようなイメージ。
簡単な動作プログラム作成
算術演算ブロックの動作確認
『1+1の計算結果を、CyberPiのディスプレイに表示する』プログラムで動作を確認します。

「1+1=」の文字列表示の後に、加算ブロックの計算結果が表示されるはずです。

比較演算ブロックの動作確認
『「0 > 1」と「0 < 1」の比較結果を、CyberPiのディスプレイに表示する』プログラムを作ってみます。

実行結果は次の通りです。「0>1」の結果はFalse、「0<1」の結果はTrueとなります。

論理演算ブロックの動作確認
『「0 > 1」と「0 < 1」のAND演算結果を、CyberPiのディスプレイに表示する』プログラムを作ってみます。

AND演算は、「〇かつ〇」のブロックを使います。
左右の条件に「0 > 1」と「0 < 1」を入れます。
「0 > 1」がFalseのため、条件を両方満たすことはできず、実行結果はFalseとなります。


【例題】演算を理解しよう
例題1:算術演算の確認
- 例題
- 解答例
減算、乗算、除算ブロックを用いて、
それぞれ『計算結果が「4」になる』プログラムを作ってみましょう。
計算結果はCyberPiに表示してみてください。

実行結果は次の通りです。

例題2:比較演算・論理演算の確認
- 例題
- 解答例
『「0 > 1」と「0 < 1」のOR演算結果を、CyberPiのディスプレイに表示する』プログラムを作ってみましょう。

OR演算は、「〇または〇」のブロックを使います。
左右の条件に「0 > 1」と「0 < 1」を入れます。
「0 < 1」がTrueのため、一方の条件を満たし、実行結果はTrueとなります。

例題3:乱数の確認
- 例題
- 解答例
『1~5の乱数を5回発生させて、CyberPiのディスプレイに表示する』プログラムを作ってみましょう。

実行結果は次の通りです。
1~5の範囲で値がランダムに発生します。

まとめ
今回は、演算ブロックを使って、算術演算、比較演算、論理演算の使い方を学びました。
mBot2の各種センサーの値を扱う上で、演算は非常に重要な役割を果たしますので、ブロックの意味をしっかり把握できると良いでしょう。
次回は、「条件分岐」、「繰り返し処理」について紹介します。
CyberPi単体でもプログラミング教育に非常に役立ちます!

mBlockを使ったmBot2のプログラミング方法を丁寧に解説していておススメです。