03 演算子

1. 演算子の種類と優先順位

演算子とは、計算・比較・論理判定などを行うための記号やキーワードです。複数の演算子が混在する場合は優先順位の高いものから処理されます。

種類演算子の例優先順位
算術演算子* / MOD + -高(* / MOD が先、+ - が後)
比較演算子が 等しい より大きい 以下 など
論理演算子かつ または
代入最も低い
優先順位の例:x ← 2 + 3 * 4
掛け算が先 → 3 * 4 = 12 → 2 + 12 = 14 → x に 14 が代入される

2. 算術演算子

演算子意味結果
+加算3 + 47
-減算8 - 26
*乗算5 * 210
/除算9 / 33
MOD剰余(余り)10 MOD 31

MOD(剰余)の仕組み

MOD は割り算の「余り」を返します。偶数・奇数の判定や、倍数の判定によく使われます。

10 MOD 3 の計算 10 ÷ 3 = 3 商(使わない) あまり 1 ← これが MOD の結果 活用例:i MOD 2 = 0 なら偶数 / i MOD 2 = 1 なら奇数
整数型: a ← 10
整数型: b ← 3
整数型: c ← a MOD b   // c は 1

3. 比較演算子(日本語表記)

擬似言語では比較演算を日本語で表現します。

擬似言語の表現数学的な意味
a が b と等しいa = b
a が b と等しくないa ≠ b
a が b より大きいa > b
a が b 以上a ≧ b
a が b より小さいa < b
a が b 以下a ≦ b
「より大きい」と「以上」の違い:
a が 5 より大きい → a > 5(5は含まない。6以上)
a が 5 以上 → a ≧ 5(5を含む)

4. 論理演算子

複数の条件を組み合わせるときに使います。

演算子意味True になる条件
かつAND(論理積)両方の条件が True のとき
またはOR(論理和)どちらか一方でも True のとき

真理値表

かつ(AND) 条件A 条件B A かつ B True True True True False False False True False False False False または(OR) 条件A 条件B A または B True True True True False True False True True False False False

使用例

整数型: score ← 80
整数型: absence ← 3
論理型: pass_flag

// 両方の条件を満たすときだけ合格
if ( score が 70 以上 かつ absence が 5 以下 )
    pass_flag ← true
else
    pass_flag ← false
endif
// pass_flag は true
整数型: a ← 3
整数型: b ← 12
論理型: result

// どちらかの条件を満たせば true
if ( a が 5 以上 または b が 10 以上 )
    result ← true
else
    result ← false
endif
// b=12 が 10 以上なので result は true

5. 理解度チェック問題

問題03-1

次のコードを実行した結果として正しいものを選びなさい。

整数型: x ← 2 + 3 * 4
x を出力
解説を表示 正解:エ
掛け算が先に計算されます。3 * 4 = 12 → 2 + 12 = 14

問題03-2

次のコードを実行した結果として正しいものを選びなさい。

整数型: y ← 17 MOD 5
y を出力
解説を表示 正解:イ
17 ÷ 5 = 3 あまり 2 → MOD の結果は余りの 2

問題03-3

次のコードを実行した結果として正しいものを選びなさい。

整数型: score ← 80
整数型: absence ← 4
論理型: pass_flag

if ( score が 70 以上 かつ absence が 5 以下 )
    pass_flag ← true
else
    pass_flag ← false
endif

pass_flag を出力
解説を表示 正解:ウ
score=80(70以上:True)かつ absence=4(5以下:True)→ 両方 True なので pass_flag ← true

問題03-4

次のコードを実行した結果として正しいものを選びなさい。

整数型: a ← 3
整数型: b ← 8
論理型: result

if ( a が 5 以上 または b が 10 以上 )
    result ← true
else
    result ← false
endif

result を出力
解説を表示 正解:エ
a=3(5以上:False)、b=8(10以上:False)→ どちらも False なので result ← false

問題03-5

次のコードを実行した結果として正しいものを選びなさい。

整数型: n ← 10
論理型: flag

if ( n MOD 2 が 0 と等しい かつ n MOD 3 が 0 と等しい )
    flag ← true
else
    flag ← false
endif

flag を出力
解説を表示 正解:ア
10 MOD 2 = 0(True)、10 MOD 3 = 1(False)→ かつ なので両方 True でなければならない → flag ← false
10は2の倍数ですが3の倍数ではないため、かつ の条件全体は False になります。