令和7年度 ITパスポート 問78(テクノロジ)
出典:令和7年度 ITパスポート試験 公開問題 問78(独立行政法人情報処理推進機構(IPA))
手続calcMod3を呼び出したときの出力はどれか。
〔プログラム〕
○calcMod3()
整数型: totalValue, i
totalValue ← 0
for (i を 1 から 7 まで 1 ずつ増やす)
if (i ÷ 3 の余り が 0 と等しい)
totalValue ← totalValue + i
endif
endfor
totalValue を出力する
- ア2
- イ3
- ウ7
- エ9
正解と解説を見る
正解:エ
【プログラムの動き】
手続calcMod3は、iを1から7まで1ずつ増やしながら、iを3で割った余りが0のとき(iが3の倍数のとき)だけ、totalValueにiを足していきます。つまり、1〜7の中の3の倍数の合計を求めて出力します。
【トレース】
・i = 1、2:3で割った余りは1、2なので、足さない
・i = 3:余りが0なので、totalValue = 0 + 3 = 3
・i = 4、5:余りは1、2なので、足さない
・i = 6:余りが0なので、totalValue = 3 + 6 = 9
・i = 7:余りは1なので、足さない
出力されるのは9です。
【選択肢の検討】
ア:2は、1〜7の中の3の倍数の個数(3と6の2個)です。
イ:3は、最初の3の倍数だけを足した値です。
ウ:7は、繰返しの範囲の上限(iの最後の値)で、出力する合計値ではありません。
よって、正解は選択肢エです。