05_制御構文_分岐

はじめに

この資料では、「分岐処理(条件分岐)」について学びます。分岐処理は、ある条件に応じて処理の流れを変えるための基本的な構文であり、アルゴリズムの理解に不可欠です。


if文の基本構造

if ( 条件 )
    処理
endif

if〜else文

if ( 条件 )
    処理1
else
    処理2
endif

if〜elseif〜else文

if ( 条件1 )
    処理1
elseif ( 条件2 )
    処理2
else
    処理3
endif

比較演算の表現

疑似言語での表現 意味
A が B と等しい A = B
A が B と等しくない A ≠ B
A が B より大きい A > B
A が B 以上 A ≧ B
A が B より小さい A < B
A が B 以下 A ≦ B

論理演算(かつ/または)

if ( A が 70 以上 かつ B が 70 以上 )
    処理
endif
if ( A が 70 以上 または B が 70 以上 )
    処理
endif

ネストされたif文

if文にさらにif文を重ねた書き方がされることがあります。

if ( A が 0 より大きい )
    if ( A MOD 2 が 0 と等しい )
        is_even ← true
    endif
endif

理解度チェック問題

問題1:次のコードを実行した結果として正しいものを1つ選びなさい。
整数型: score
文字列型: result

score ← 80

if ( score が 70 以上 )
    result ← "合格"
endif
解説を表示 正解:**イ** score が 70 以上 → 条件は真なので "合格" が代入される。

問題2:次のコードを実行した結果として正しいものを1つ選びなさい。
整数型: x
文字列型: msg

x ← 3

if ( x MOD 2 が 0 と等しい )
    msg ← "偶数"
else
    msg ← "奇数"
endif
解説を表示 正解:**エ** 3 MOD 2 = 1 → 条件は偽 → msg ← "奇数"

問題3:次のコードを実行した結果として正しいものを1つ選びなさい。
整数型: A, B
文字列型: result

A ← 75
B ← 80

if ( A が 70 以上 かつ B が 70 以上 )
    result ← "合格"
else
    result ← "不合格"
endif
解説を表示 正解:**イ** 両方の条件を満たすので result ← "合格"

問題4:次のコードを実行した結果として正しいものを1つ選びなさい。
整数型: N
文字列型: output

N ← 8

if ( N が 0 より大きい )
    if ( N MOD 2 が 0 と等しい )
        output ← "正の偶数"
    else
        output ← "正の奇数"
    endif
else
    output ← "0以下"
endif
解説を表示 正解:**ア** N=8 → 正の数かつ偶数 → output ← "正の偶数"

問題5:次のコードを実行した結果として正しいものを1つ選びなさい。
整数型: x
論理型: flag

x ← 7
flag ← false

if ( x × 2 が 20 より小さい )
    flag ← true
endif
解説を表示 正解:**イ** 7 × 2 = 14 → 14 は 20 より小さい → flag ← true