ITパスポート試験 令和7年度 公開問題 問78
手続 calcMod3を呼び出したときの出力はどれか。
【プログラム】 ○calcMod3() 整数型: totalValue, i totalValue ← 0 for (i を 1 から 7 まで 1 ずつ増やす) if (i ÷ 3 の余り が 0 と等しい) totalValue ← totalValue + i endif endfor totalValue を出力する
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】エ
この手続では、変数totalValueを0で初期化し、iを1から7まで1ずつ増やします。各回で「iを3で割った余りが0か」を調べるので、3の倍数だけがtotalValueに加算されます。
具体的にトレースすると、i=1では余りが1なのでtotalValueは0のままです。i=2では余りが2なので0のままです。i=3では余りが0なので、totalValueは0+3=3になります。i=4では余りが1、i=5では余りが2なので、どちらも3のままです。i=6では余りが0なので、totalValueは3+6=9になります。i=7では余りが1なので更新されません。したがって、最後に出力される値は9です。
アの2は誤りです。2は3で割った余りが2であり、条件を満たさないので加算されません。
イの3は誤りです。i=3の時点では合計が3ですが、その後にi=6も条件を満たして加算されます。
ウの7は誤りです。7は繰返しの終了値ですが、totalValueに終了値を代入する処理はありません。また、7を3で割った余りは1なので加算対象でもありません。
【ポイント】 「÷の余り」は剰余を表し、余りが0なら割り切れることを意味します。「nで割った余りが0」は、nの倍数を判定する代表的な条件です。繰返し問題では、変数の値を各回ごとに表にして追うと確実です。
出典:令和7年度 ITパスポート試験 公開問題 問78
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の100問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる