準備をしよう
下のURLをクリックして、mBlockを開いてください。
https://ide.mblock.cc/
学習内容
演算とは
一般的に「計算」と言われるものをプログラミングでは「演算」と呼びます。
プログラミングの観点で演算の流れを説明します。
例えば「1+2」を考えてみます。この「1+2」は「式」と呼びます。
この式を計算することを「評価する」と呼び、式を評価した後に計算結果が出ることを、「式が計算結果に化ける」と言います。
先ほどの例の場合、「1+2=3」は「1+2」の式が評価されて「3」に化けた、と表現します。
算術演算
算術演算は、四則演算のことで「+、-、×、÷」をいいます。
プログラミングではそれぞれ「+、-、*(アスタリスク)、/(スクラッシュ)」の記号を使います。
以下に足し算の例をあげます。
(1 + 2)
意味
「1」と「2」を足す
ブロック
以下のブロックと同じ動きです。
練習
ここでは、計算結果が確認できるように、「sprite.say()」を使います。
引数に計算式を入れて、実行していきます。
mBlockに以下のコードを入れて、実行してみましょう。
sprite.say(1 + 2)
実行結果
「3」といえば、OKです。
比較演算
比較演算は「>(大なり)、<(小なり)、=(イコール)」のことです。
算術演算の計算結果は数値ですが、比較演算の計算結果は「true(トゥルー)」か「false(フォルス)」のどちらかになります。つまり「正」か「偽」かです。
2つの値(数値)を受け取り、両者を比較して、true・falseに化けます。
データには種類がありますが、大きく分けると数値・文字列・真偽値の3つがあります。先ほどの「true」か「false」は、真偽値になります。真偽値のデータは、この2つしかありません。
各演算についての詳細は、以下の通りです。
演算 | 計算結果 |
>(大なり) | 左の方が大きいなら true、そうでなければ false |
<(小なり) | 右の方が大きいなら true、そうでなければ false |
=(イコール) | どちらも同じなら true、そうでなければ false |
以下に例をあげます。
(〇 > 〇)
意味
左の方が大きいなら true、そうでなければ false になる
ブロック
以下のブロックと同じ動きです。
練習
mBlockに以下のコードを入れて、実行してみましょう。
sprite.say(5 > 3)
実行結果
「true」といえば、OKです。
「5」の方が大きいので「>」で正しく、「5 > 3」の式が「true」に化けて、表示されました。
(〇 < 〇)
意味
右の方が大きいなら true、そうでなければ false になる
ブロック
以下のブロックと同じ動きです。
練習
mBlockに以下のコードを入れて、実行してみましょう。
sprite.say(5 < 3)
実行結果
「false」といえば、OKです。
「5」の方が大きいので「<」で間違いになり、「5 < 3」の式が「false」に化けて、表示されました。
論理演算
論理演算は「and(かつ)、||(または)、not(ではない)」のことです。
論理演算も、比較演算と同様、計算結果が「true(トゥルー)」か「false(フォルス)」のどちらかになります。
論理演算は、1つ以上のtrue・falseを受け取り、その組み合わせによって、式全体の計算結果がtrueかfalseになるものです。
各演算についての詳細は、以下の通りです。
演算 | 受け取るもの | 計算結果 |
and(かつ) | 2つ以上のtrue・false | すべてtrueならtrue、1つでもfalseならfalse |
or(または) | 2つ以上のtrue・false | 1つでもtrueならtrue、すべてfalseならfalse |
not(ではない) | 1つのtrue・false | trueならfalse、falseならtrue(反対になる) |
以下に例をあげます。
(〇 and 〇)
意味
どちらもtrueならtrue、1つでもfalseならfalse
ブロック
以下のブロックと同じ動きです。
練習
mBlockに以下のコードを入れて、実行してみましょう。
sprite.say((4 > 2) and (3 > 1))
※ 式が複雑になるので、適宜「()」を入れる必要があります。
実行結果
「4 > 2」は「true」、「3 > 1」も「true」のため、「true」と「true」の組み合わせになるので、式全体が「true」に化けて、表示されました。(どちらもtrueならtureになる)
(〇 or 〇)
意味
1つでもtrueならtrue、すべてfalseならfalse
ブロック
以下のブロックと同じ動きです。
練習
mBlockに以下のコードを入れて、実行してみましょう。
sprite.say((4 > 2) or (1 > 3))
※ 式が複雑になるので、適宜「()」を入れる必要があります。
実行結果
「4 > 2」は「true」、「1 > 3」は「false」のため、「true」と「false」の組み合わせになるので、式全体が「true」に化けて、表示されました。(1つでもtrueならtrueになる)
(not 〇)
意味
trueならfalse、falseならtrue(反対になる)
ブロック
以下のブロックと同じ動きです。
練習
mBlockに以下のコードを入れて、実行してみましょう。
sprite.say(not(2 > 4))
※ 式が複雑になるので、適宜「()」を入れる必要があります。
実行結果
「2 > 4」は「false」になるので、式全体が「true」に化けて、表示されました。
まとめ
以上になります。今回は、演算に関するプログラムを扱いました。
実際にコードを打ち込んで試していくと、コーディングを自然に覚えられます。