ITパスポート 令和7年度 問78
アルゴリズムとプログラミング
擬似言語に関する問題
手続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
答えと解説
✓ これが正解エ 9
解説
一から七までのうち、三で割り切れる数だけを足し合わせます。
この手続は、変数に零を入れてから、一から七まで一ずつ増やしながら七回繰り返します。繰り返しの中では、その時のiを三で割った余りが零かどうかを調べ、零のときだけiを変数に足します。三で割った余りが零になるのは、三で割り切れる数です。一から七までの中では、三と六の二つが当てはまります。足すのはこの二つだけなので、三に六を足して九になります。繰り返しが終わったあとに変数の値を出力するので、出力は九です。割った商ではなく余りを見ている点が読み違えやすいところです。条件に合わない回は何も足さず、次の回へ進みます。
ほかの選択肢の解説
- ア 2:二としています。三で割り切れる数の個数、つまり三と六の二つという個数を答えた形です。足すのは個数ではなく、その数そのものです。何を足しているかを取り違えています。
- イ 3:三としています。最初に条件を満たしたiの値だけを答えた形です。繰り返しは七まで続くので、六のときにも条件を満たして足されます。途中で止めて読むとこの値になります。
- ウ 7:七としています。繰り返しの終わりの値をそのまま答えた形です。七は三で割り切れないので足される側にすら入りません。変数に入るのは、条件を満たした数の合計です。
関連用語
出典:令和7年度 ITパスポート試験 問78(改変:原典の図表をテキストに書き起こした)
解説は当サイト独自のもので、IPA(独立行政法人情報処理推進機構)とは関係ありません。
関連問題
同じ分野の問題
誤りを見つけたら報告する