ITパスポート試験 過去問解説
引数とは?ITパスポート試験 2026年 (令和8年) 問85を解説
ITパスポート試験 2026年 (令和8年) 問85は、引数に関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
関数 isPrime は,引数として与えられた正の整数が,素数であれば true を,素数でなければ false を戻り値とする。例えば,関数 isPrime を isPrime(2)として呼び出したときの戻り値は true である。プログラム中の a,b に入れる字句の適切な組合せはどれか。 〔プログラム〕 ○論理型: isPrime(整数型: num) 整数型: div ← 2 if (num が 2 [a] ) return false else while (num が div [b] ) if (num ÷ div の余り が 0 と等しい) return false else div ← div + 1 endif endwhile return true endif
この問題の出題ポイント
- 引数の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
- テクノロジ系分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
- 関連タグ: 擬似言語、プログラミング。
選択肢
- アa:以下 b:と等しい
- イa:以下 b:より大きい
- ウa:より小さい b:と等しい
- エa:より小さい b:より大きい正解
正解
エ: a:より小さい b:より大きい
解説
素数は 1 と自分自身以外に約数をもたない 2 以上の整数なので、1 は false にする。そこで a には「2 より小さい」が入る。b は、div を 2 から 1 ずつ増やして num を割っていく間の継続条件で、「num が div より大きい」の間だけ繰り返し、割り切れれば false、最後まで割り切れなければ true を返す。num が 2 のときは「num が div より大きい」が成り立たずループに入らないので true になり、例と一致する。
なぜ他の選択肢が違うのか
ア
a を「2 以下」にすると num が 2 のときに false を返し、例の isPrime(2) が true になることに反する。b を「div と等しい」にすると、num が 4 のときなどループに入らず true を返す。
イ
b は合っているが、a を「2 以下」にすると num が 2 のときに false となる。2 は素数なので true を返さなければならず、判定を誤る。
ウ
a は合っているが、b を「div と等しい」にすると、num が 2 以外のときはループに入らずに true を返す。4 や 9 のような素数でない数を、素数と誤判定する。
エ(正解)
正しい。1 は素数でないので 2 より小さい数は false とし、それ以外は div が num に達するまで割り切れるかを調べる。2 は true、9 は div が 3 のときに割り切れて false となり、正しく判定できる。
解き方の整理
引数の問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。
関連問題
前後の問題
2026年 (令和8年) の関連する問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。