09_分岐と繰り返し_問題集

はじめに

この問題集は、if文・while文・for文の理解を深めるために、実行結果をトレースする形式で出題しています。 問題は、簡単なものから徐々に難易度が上がるように構成しています。


問題1:if文の基本
整数型: x ← 3
整数型: y ← 0

if ( x が 5 より小さい )
    y ← 10
endif

y を出力
正解と解説 正解:**エ** x = 3 は 5 より小さいため、条件は真。y に 10 が代入され、出力されます。

問題2:if〜else文の分岐
整数型: a ← 8
整数型: b ← 0

if ( a が 10 以上 )
    b ← 100
else
    b ← 50
endif

b を出力
正解と解説 正解:**イ** a = 8 は 10 以上ではないため、else の処理が実行され、b = 50

問題3:while文の繰り返し回数
整数型: i ← 1
整数型: count ← 0

while ( i が 4 以下 )
    count ← count + 1
    i ← i + 1
endwhile

count を出力
正解と解説 正解:**ウ** i = 1〜4 で4回ループ → count = 4

問題4:ネストされたif文
整数型: x ← 2
整数型: r ← 0

if ( x が 3 以下 )
    r ← r + 1
    if ( x が 1 より大きい )
        r ← r + 2
    endif
endif

r を出力
正解と解説 正解:**ウ** 外側・内側の両方の条件が成り立つ → r = 0 + 1 + 2 = 3

問題5:for文と合計
整数型: i
整数型: total ← 0

for ( i を 1 から 3 まで 1 ずつ増やす )
    total ← total + i
endfor

total を出力
正解と解説 正解:**イ** 1 + 2 + 3 = 6

問題6:while文と変数の更新
整数型: x ← 3
整数型: r ← 0

while ( x が 0 より大きい )
    r ← r + x
    x ← x - 1
endwhile

r を出力
正解と解説 正解:**ア** x: 3 → 2 → 1 → 0, 合計 r = 3 + 2 + 1 = 6

問題7:for文と偶数カウント
整数型: i
整数型: count ← 0

for ( i を 1 から 5 まで 1 ずつ増やす )
    if ( i MOD 2 が 0 と等しい )
        count ← count + 1
    endif
endfor

count を出力
正解と解説 正解:**イ** 偶数は 2 と 4 → 2回カウント

問題8:ループの判定
整数型: a ← 1

while ( a が 5 より小さい )
    a ← a - 1
endwhile
正解と解説 正解:**エ** a が減り続けて、常に 5 より小さいまま → 無限ループ