第4回 比較演算と論理演算

プログラミング準備室

こんにちは!さんです。

高校で数学と情報を教えています!

「プログラミング準備室」では、共通テスト情報Ⅰに出てくるプログラミングについて学べます。

今回は 「比較演算」と「論理演算」 について解説していきます!

比較演算とは

生徒
生徒

算術演算はバッチリ!次は何を学ぶの?

さん
さん

次は 比較演算 について学んでいくよ!

生徒
生徒

また新しい言葉が出てきたね…。比較?演算?

さん
さん

簡単に言うと、 「AとBは同じか?」とか「どっちが大きいか?」を判断するのが比較演算 だよ!

比較演算とは、 「値を比較して、真(True)か偽(False)を判断する」 ための計算のことです。

比較演算

「値を比較して、真(True)か偽(False)を判断する」 ための計算

例えば、

  • 5は3より大きい? → 「はい!(True)」
  • 8は7より小さい? → 「いいえ!(False)」
  • 10と10は等しい? → 「はい!(True)」

このように、 比較演算の結果は必ず「True(真)」または「False(偽)」 になります。

比較演算子の一覧

生徒
生徒

なるほど。数字を比べるって話ね!

さん
さん

その通り。プログラムでは 比較演算子 を使って比べるんだ。

共通テスト用プログラム表記の例示では次のように書かれています。

比較演算では、次のような記号(演算子)を使います。

記号(演算子)意味結果
==等しい5 == 5True
!=等しくない5 != 3True
>より大きい7 > 4True
<より小さい2 < 10True
>=以上8 >= 8True
<=以下3 <= 5True
生徒
生徒

等しいは「 = 」じゃなくて「 == 」なんだね。

さん
さん

そう! = 」は「代入」だから、値を比較するときは「 == 」を使うんだよ! 間違えやすいから注意してね。

プログラムでは、数学とは異なる記号を使います。

「等しい」は「 = 」ではなく「 == 」

「等しくない」は「 \(\neq\) 」ではなく「 != 」

「以上」は「 ≧ 」ではなく「 >= 」

「以下」は「 ≦ 」ではなく「 <= 」

間違えやすいので注意してください。

生徒
生徒

慣れるまでは時間がかかりそう。なんか問題出して!

さん
さん

わかったよ。次のソースコードの実行結果はなにが表示されるか分かる?

ソースコード

(1) 表示する(3 >= 5)

生徒
生徒

んー。「3は5以上?」ってことだから、False?

さん
さん

その通り!順調だね!

実行結果

False

論理演算とは?

生徒
生徒

比較演算はわかったよ!論理演算って?

さん
さん

簡単に言うと、「条件を組み合わる」のが論理演算 だよ。

論理演算は 「いくつかの条件を組み合わせて判断する」 演算のことです。

論理演算

「いくつかの条件を組み合わせて判断する」 演算

例えば、

宿題を全部提出して さらに テストで80点以上 だったら、ご褒美にお菓子を買ってあげる!」

といった 複数の条件を組み合わせる 場面で使います。

論理演算子の一覧

共通テスト用プログラム表記の例示では次のように書かれています。

論理演算では、次のような記号(演算子)を使います。

記号(演算子)意味結果
and両方が真なら真10 > 5 and 8 < 12True
orどちらかが真なら真10 > 20 or 8 < 12True
not真を偽に、偽を真にnot 10 > 5False
生徒
生徒

「 and 」って、両方とも「 True 」じゃないと「 True 」にならないってこと?

さん
さん

そう!「 and 」は 「どっちもOK!」じゃないとOKにならない んだ。

例えば、「10 > 5 and 8 < 12」は

10 > 5」は「 True 」、「8 < 12」も「 True 」

両方とも「 True 」なので「 True 」になります。

生徒
生徒

「 or 」はどっちか「 True 」ならOK?

さん
さん

そうだね!「 or 」は 「どっちかOKならOK!」 って覚えるといいよ。

例えば、「10 > 20 or 8 < 12」は

10 > 20」は「 False 」、「8 < 12」が「 True 」

少なくとも一方が「 True 」なので「 True 」になります。

比較演算と論理演算を組み合わせる

さん
さん

より実践的な内容を考えてみよう!

次の条件をプログラムで表してみましょう。

「50点以上 かつ 80点未満なら 追試を受ける」

ソースコード

(1) tensu = 75

(2) 表示する(tensu > = 50 and tensu < 80)

実行結果

True

今回のパターンは、点数が75点であったので、結果はTrue(追試対象) と表示されます。

変数 tensu に代入する値によって、結果は変わります。

ソースコード

(1) tensu = 80

(2) 表示する(tensu > = 50 and tensu < 80)

実行結果

False

生徒
生徒

ちょっとずつ難しくなってきたけど、まだ理解できるぞ!嬉しい!

さん
さん

素晴らしい!その調子!

練習問題

練習問題

次のプログラムを実行したときに、表示されるものを答えなさい。

ソースコード1

(1) 表示する(5 > 3 and 8 != 6)

ソースコード2

(1) 表示する(5 > 8 or 10 == 10)

ソースコード3

(1) 表示する(not 7 < 10)

生徒
生徒

ちょっと考えてみる…。

True

True

False

まとめ

今回は、「比較演算と論理演算」について解説しました。

  • 比較演算値を比較して True / False を判断 する。
  • 論理演算複数の条件を組み合わせて True / False を判断 する。
  • 比較演算と論理演算を組み合わせると、複雑な条件をプログラムで表現できる
生徒
生徒

なんとなくわかってきたかも!

さん
さん

いいね!次回は 「条件分岐文」 について学んでいくよ!

次に進む → 第5回 条件分岐文

コメント

タイトルとURLをコピーしました