問題
次の擬似言語プログラムで、cの最終値はいくつか。 整数型: a ← 3 整数型: b ← 5 整数型: c ← 0 while (a < b) c ← c + a a ← a + 1 endwhile
選択肢
- 1ア 0
- 2イ 3
- 3ウ 7
- 4エ 12
正解
3. ウ 7
詳しい解説を見る解説を閉じる
解説
正解はウ。while文をトレースする。初期値はa=3、b=5、c=0である。1回目:a<b(3<5)が真、c=0+3=3、a=4。2回目:4<5が真、c=3+4=7、a=5。3回目:5<5は偽(値が等しい場合は不成立)となりループを抜ける。よってcの最終値は7である。アの0はループが1回も実行されないと誤判定した場合、イの3は1回目で終了したと考えた場合、エの12はa=5のときもc+5を実行してしまった(終了条件の判定誤り)場合の値である。科目Bでは「<」と「≦」の違いによるループ回数の差が最大の引っかけポイントであり、各周回での変数値を表に書きながら正確に追跡する習慣が得点に直結する。
一問一答
科目A 180問+科目B 60問