令和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

  1. アa:以下,b:と等しい
  2. イa:以下,b:より大きい
  3. ウa:より小さい,b:と等しい
  4. エ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の公式解説ではありません。

IPA公式PDF(問題) / IPA公式PDF(解答)

この問題をXで出題する

この問題のテーマを基礎から学ぶ

この分野の続きをアプリで解く

アプリでは公式過去問500問を本番の並びのまま解けるほか、分野別の演習や100問模試、合格準備度スコアで弱い分野と次の一歩が分かります。最初の7日間は学習記録も無料です。