令和8年度 ITパスポート 問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は1以下を素数でないと除外するので「2より小さい」。bはdivがnumに届くまで試すので「numがdivより大きい」。
選択肢ごとの解説
- ア
- aを「2以下」にすると、素数の2までfalseになり、isPrime(2)がtrueという例に反する。
- イ
- aを「2以下」にすると、2までfalseになってしまう。
- ウ
- bを「と等しい」にすると、num=4でもdiv=2のときループに入らず、trueを返してしまう。
- エ正解
- 2未満を除外し、divがnumに届くまで割り切れるか試す。正しく判定できる。
出典:令和8年度 ITパスポート試験 公開問題 問85
問題文・選択肢はIPA公開問題の原文です。解説は本サービスが独自に作成したもので、IPAの公式解説ではありません。
この問題のテーマを基礎から学ぶ
同じテーマの過去問
この分野の続きをアプリで解く
アプリでは公式過去問500問を本番の並びのまま解けるほか、分野別の演習や100問模試、合格準備度スコアで弱い分野と次の一歩が分かります。最初の7日間は学習記録も無料です。