【確率シミュレータ】ITパスポート試験 ランダムマークの合格率計算

🍀概要

 情報処理技術者試験の入門編として人気の高い「ITパスポート試験」。全100問が4択形式で出題されます。本試験では、総合評価点600点以上、そして分野別評価点(ストラテジ系、マネジメント系、テクノロジ系)がそれぞれ300点以上という二つの合格基準があります。しかし、もし一切知識がない状態でランダムにマークした場合、どれほどの確率で合格できるのでしょうか?
 ITパスポート試験はIRT(項目応答理論)に基づいて採点されますが、このシミュレーターでは各問題の配点が均等であると仮定した「素点計算」により合格率を算出します。本記事では、この疑問に答えるため、モンテカルロシミュレーションを用いた確率シミュレーターを作成し、その詳細な結果とプログラムコードを公開します。
※本記事の執筆者は、中学校・高等学校教諭一種免許状(数学)を保有しており、数学的な観点から試験制度を分析しています。

🧾出題形式の基本

ITパスポート試験は、以下の形式で出題されます。

  • 出典: 情報処理推進機構 ITパスポート試験 (🔗取り扱いガイドライン)
  • 形式: 4択問題
  • 問題数: 100問(ただし、採点対象は92問。残りの8問は今後の出題評価用ダミー問題)
    • 採点対象の内訳: ストラテジ系32問、マネジメント系18問、テクノロジ系42問
  • 合格基準:
    • 総合評価点: 92問中56問以上の正解に相当(1000点満点中600点以上)
    • 分野別評価点:
      • ストラテジ系: 32問中10問以上の正解に相当(1000点満点中300点以上)
      • マネジメント系: 18問中6問以上の正解に相当(1000点満点中300点以上)
      • テクノロジ系: 42問中13問以上の正解に相当(1000点満点中300点以上)

📊 IRT(項目応答理論)と素点計算の違い:本シミュレーターの立ち位置

ITパスポート試験の採点方式はIRT(項目応答理論)が採用されています。これは、一般的な試験で用いられる素点計算(正解した問題数に応じた単純な点数計算)とは異なる、統計的な採点方式です。

IRTとは?

IRTでは、個々の問題に「難易度」や「識別力(受験者の能力をどれだけ正確に区別できるか)」といったパラメータが設定されており、受験者の解答パターン(どの問題を正解し、どの問題を間違えたか)に基づいて、その受験者の潜在的な能力(評価点)を算出します。 このため、IRT採点では以下のような特徴があります。

  • 問題ごとの点数が一律ではない: 難しい問題を正解すれば高得点に繋がりやすく、簡単な問題を間違えれば減点幅が大きくなることがあります。
  • 同じ正答数でも点数が異なる可能性がある: 正解した問題の組み合わせによって、最終的な評価点が変わることがあります。
  • 受験者間の公平性の確保: 試験回によって問題の難易度が変動しても、受験者間の能力評価の公平性が保たれやすいという利点があります。

本シミュレーターにおける素点計算の採用理由

IRTは非常に精密な採点方式ですが、その具体的なロジック(各問題のパラメータなど)は公開されていません。そのため、外部からIRT採点結果を正確に再現することは極めて困難です。

そこで、本シミュレーターでは、すべての採点対象問題の配点が均等であると仮定した「素点計算」を採用しています。これは、実際のIRT採点とは異なるものの、以下の点で確率シミュレーションの近似値として有効であると考えます。

  • 計算の簡潔性: 未公開の複雑なIRTロジックを用いることなく、正答数と合格基準の関係をシンプルに計算できます。
  • 傾向の把握: 完全な運任せや、特定の知識レベル・絞り込み能力を持つ場合の合格率の傾向を把握するには、素点計算でも十分な近似値を得られます。
  • 学習戦略の示唆: 各分野で必要な正答数を具体的に示すことで、受験者がどの分野に重点を置くべきか、どの程度「確実に得点できる問題」を増やすべきか、といった学習戦略を検討する上での現実的な示唆を提供できます。

したがって、本シミュレーターで算出される合格率は、実際のITパスポート試験におけるIRT採点の結果と完全に一致するものではありません。あくまで「もし素点計算であったならば」という仮定に基づいた近似的な合格確率として、ご自身の学習の目安としてご活用ください。

📘モンテカルロシミュレーションとは?:実践的な確率計算アプローチ

 ITパスポート試験で上記の合格基準を全て満たす確率を、厳密に数学的に計算するのは非常に複雑です。そこで登場するのが「モンテカルロシミュレーション」です。
 これは、実際にランダムにマークシートを塗りつぶし、採点する試行を莫大な回数(例えば10万回)繰り返すことで、確率を近似的に求める手法です。
 例えば、たった1回試行しただけでは、偶然の偏りが大きく、その結果は信頼できません。しかし、これを10万回、100万回と繰り返すことで、試行回数中に「合格基準に達した回数」を数え、「合格回数 ÷ 総試行回数 × 100%」と計算すれば、非常に高い精度で合格確率を推定できます。
 まさに、この「サイコロを振るように何度も試行を重ねて、事象の発生確率を導き出す」のがモンテカルロシミュレーションの核心です。この考え方に基づいて、今回の確率計算を行います。

📗さらにリアルなシミュレーションを!:受験者の実力を加味した分析

 実際の受験者が全問の答えを全く知らない、ということは稀でしょう。そこで、より現実に即したシミュレーションを行うために、以下の2つのシナリオも追加で分析しました。

  1. 「確実に得点できる問題」がある場合: 事前に一定数の問題が解けると仮定し、それ以外の問題をランダムにマークした場合の合格率を算出。
  2. 「選択肢を絞り込める学力」がある場合: 4択問題に対し、解答の精度を高める学力(例えば、誤りの選択肢を1つ除外して「3択」に絞り込める、あるいは2つ除外して「2択」にまで絞り込める)があるケースを想定し、それぞれの場合の合格率をシミュレーション。

 これらの詳細なシミュレーション結果から、あなたの学習戦略を考える上での新たな視点が見つかるかもしれません。

💻プログラム ※おまけ

プログラムに興味ある方向けの記載です。少々難解ですので、不要な方は読み飛ばしてください。

📐ロジック設計書

合格判定ロジック

ITパスポート合格確率シミュレーションのロジック

ITパスポート試験の合格確率をモンテカルロシミュレーションで計算するためのロジックは、以下の手順で行います。このシミュレーションは、IRT(項目応答理論)ではなく、各問題の配点が均等であると仮定した「素点計算」に基づきます。

1. 問題プールと分野の定義
  • 92問の採点対象問題を表現するための配列(またはリスト)を用意します。各要素は、その問題の「得点状況」(正解: 1点、不正解: 0点)を保持します。
  • この92問は、以下の固定された範囲で各分野に割り当てられます。
    • ストラテジ系: 配列のインデックス 0 から 31 までの32問
    • マネジメント系: 配列のインデックス 32 から 49 までの18問
    • テクノロジ系: 配列のインデックス 50 から 91 までの42問
    • 合計: 32+18+42=92 問
2. 1回の試行における問題の解答シミュレーション

各モンテカルロ試行において、以下の手順で92問全ての解答をシミュレートします。

  1. 「事前に知っている問題」の処理:
    • シミュレーションの入力として設定された「事前に知っている正解数」(例: 全体92問中の10問)を決定します。
    • 92問の配列の中から、この指定数分だけランダムに問題を選択し、その問題を「正解」(得点1点)とします。
    • この際、同じ問題が複数回選ばれないように配慮します。
  2. 「残りの問題」の処理(ランダム解答):
    • 「事前に知っている問題」としてマークされていない、残りの問題(92−事前に知っている正解数 問)に対して、ランダムに解答をシミュレートします。
    • このランダム解答の正答率は、「選択肢を絞り込める学力」に応じて設定します。
      • 4択の場合: 各問題で25%(1/4)の確率で正解とします。
      • 3択の場合: 各問題で約33.33%(1/3)の確率で正解とします。
      • 2択の場合: 各問題で50%(1/2)の確率で正解とします。
    • 各問題の解答結果(正解: 1点、不正解: 0点)を配列に格納します。
3. 合格条件の判定

1回の試行で92問全ての解答が決定したら、以下の4つの合格条件を順番にチェックします。全ての条件を満たした場合のみ、その試行を「合格」とカウントします。

  1. ストラテジ系チェック:
    • 配列のインデックス 0 から 31 までの得点(正解数)を合算します。
    • この合計正答数が、10問以上であるかを確認します。
    • もし10問未満であれば、この試行は不合格とし、後続のチェックは行わずに次の試行へ移ります。
  2. マネジメント系チェック:
    • 配列のインデックス 32 から 49 までの得点(正解数)を合算します。
    • この合計正答数が、6問以上であるかを確認します。
    • もし6問未満であれば、この試行は不合格とし、後続のチェックは行わずに次の試行へ移ります。
  3. テクノロジ系チェック:
    • 配列のインデックス 50 から 91 までの得点(正解数)を合算します。
    • この合計正答数が、13問以上であるかを確認します。
    • もし13問未満であれば、この試行は不合格とし、後続のチェックは行わずに次の試行へ移ります。
  4. 総合評価チェック:
    • 配列のインデックス 0 から 91 までの92問全ての得点(正解数)を合算します。
    • この合計正答数が、56問以上であるかを確認します。
    • もし56問未満であれば、この試行は不合格とします。

全てのチェックに合格した場合のみ、この1回の試行を「合格」と数え上げます。

4. 合格率の算出

上記の「1回の試行」を指定された回数(例: 10万回)繰り返します。 最終的に、「合格」と判定された試行の総数を、全試行回数で割ることで、合格率(パーセンテージ)を算出します。

📋ソース

プログラムコード(Java)
IpaPassportSimulator.java
--------------------------------------------------------------------------------------------
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.Set;
import java.util.HashSet;
import java.util.stream.IntStream;

/**
 * ITパスポート試験の合格確率をモンテカルロシミュレーションで計算するシミュレーター。
 * 各分野および総合の合格基準を満たす確率を算出します。
 * 本シミュレーターはIRT(項目応答理論)採点を再現するものではなく、
 * 各採点対象問題の配点が均等であると仮定した「素点計算」に基づきます。
 */
public class IpaPassportSimulator {

    // ITパスポート試験の定数(素点計算に基づく)
    // 採点対象の総問題数(ダミー8問を除く)
    private static final int TOTAL_QUESTIONS_FOR_SCORING = 92; 
    private static final int DEFAULT_TRIALS = 10000; // 各シナリオでのデフォルト試行回数

    // 分野別採点対象問題数と配列インデックス範囲
    private static final int STRATEGY_START_INDEX = 0;
    private static final int STRATEGY_END_INDEX = 31; // 32問
    private static final int MANAGEMENT_START_INDEX = 32;
    private static final int MANAGEMENT_END_INDEX = 49; // 18問
    private static final int TECHNOLOGY_START_INDEX = 50;
    private static final int TECHNOLOGY_END_INDEX = 91; // 42問

    // 合格に必要な正解数(素点計算に基づく概算)
    // 総合評価点600点以上 / 1000点 -> 92問中 600/1000 * 92 = 55.2問 -> 56問以上
    private static final int REQUIRED_TOTAL_CORRECT = 56;
    // ストラテジ系300点以上 / 1000点 -> 32問中 300/1000 * 32 = 9.6問 -> 10問以上
    private static final int REQUIRED_STRATEGY_CORRECT = 10;
    // マネジメント系300点以上 / 1000点 -> 18問中 300/1000 * 18 = 5.4問 -> 6問以上
    private static final int REQUIRED_MANAGEMENT_CORRECT = 6;
    // テクノロジ系300点以上 / 1000点 -> 42問中 300/1000 * 42 = 12.6問 -> 13問以上
    private static final int REQUIRED_TECHNOLOGY_CORRECT = 13;


    /**
     * 解答方式を定義する列挙型。
     * 各方式の正答率を保持します。
     */
    public enum AnswerMethod {
        FOUR_CHOICES("4択問題", 4),
        THREE_CHOICES("3択問題 (1つ除外)", 3),
        TWO_CHOICES("2択問題 (2つ除外)", 2);

        private final String name;
        private final int totalChoices; // 選択肢の数

        AnswerMethod(String name, int totalChoices) {
            this.name = name;
            this.totalChoices = totalChoices;
        }

        public String getName() {
            return name;
        }

        public int getTotalChoices() {
            return totalChoices;
        }

        // ランダムに正解するかどうかを判定
        public boolean isCorrect(Random random) {
            return random.nextInt(totalChoices) == 0;
        }
    }

    /**
     * シミュレーション結果を保持するレコード。
     * (Java 16 以降で利用可能なレコード型を使用しています。古いJavaバージョンの場合は通常のクラスに変換してください)
     */
    public record SimulationResult(int knownCorrectQuestions, double successRate) {}

    private final Random random;

    /**
     * IpaPassportSimulator の新しいインスタンスを生成します。
     */
    public IpaPassportSimulator() {
        this.random = new Random();
    }

    /**
     * 指定されたシナリオでモンテカルロシミュレーションを実行し、合格確率を計算します。
     * このメソッドは、ITパスポートの総合および分野別の合格基準を考慮します。
     *
     * @param answerMethod            シミュレーション対象の解答方式
     * @param knownCorrectQuestions   事前に知っている正解数(92問全体に対する数)
     * @param trials                  試行回数
     * @return シミュレーション結果を表す {@code SimulationResult} オブジェクト
     * @throws IllegalArgumentException 不正な引数が指定された場合
     */
    public SimulationResult simulateScenario(AnswerMethod answerMethod, int knownCorrectQuestions, int trials) {
        if (knownCorrectQuestions < 0 || knownCorrectQuestions > TOTAL_QUESTIONS_FOR_SCORING) {
            throw new IllegalArgumentException(
                "事前に知っている正解数 (" + knownCorrectQuestions + ") は、0から採点対象総問題数 (" + TOTAL_QUESTIONS_FOR_SCORING + ") の範囲で指定してください。"
            );
        }
        if (trials <= 0) {
            throw new IllegalArgumentException("試行回数は1以上を指定してください。");
        }

        int successfulTrials = 0;

        for (int i = 0; i < trials; i++) {
            // 各問題の得点を格納する配列(正解: 1, 不正解: 0)
            int[] questionScores = new int[TOTAL_QUESTIONS_FOR_SCORING];

            // 1. 「事前に知っている問題」の処理
            Set<Integer> knownCorrectIndices = new HashSet<>();
            // ランダムに正解する問題のインデックスを選び、得点を1にする
            while (knownCorrectIndices.size() < knownCorrectQuestions) {
                int randomIndex = random.nextInt(TOTAL_QUESTIONS_FOR_SCORING);
                if (knownCorrectIndices.add(randomIndex)) {
                    questionScores[randomIndex] = 1; // 事前に知っている問題は正解
                }
            }

            // 2. 「残りの問題」の処理(ランダム解答)
            for (int j = 0; j < TOTAL_QUESTIONS_FOR_SCORING; j++) {
                if (!knownCorrectIndices.contains(j)) { // 事前に知っている問題でなければランダムに解答
                    if (answerMethod.isCorrect(random)) {
                        questionScores[j] = 1;
                    } else {
                        questionScores[j] = 0;
                    }
                }
            }

            // 3. 合格条件の判定
            // 各分野の正答数を集計
            int strategyCorrect = IntStream.rangeClosed(STRATEGY_START_INDEX, STRATEGY_END_INDEX)
                                           .map(idx -> questionScores[idx])
                                           .sum();
            int managementCorrect = IntStream.rangeClosed(MANAGEMENT_START_INDEX, MANAGEMENT_END_INDEX)
                                             .map(idx -> questionScores[idx])
                                             .sum();
            int technologyCorrect = IntStream.rangeClosed(TECHNOLOGY_START_INDEX, TECHNOLOGY_END_INDEX)
                                             .map(idx -> questionScores[idx])
                                             .sum();
            // 総合の正答数を集計
            int totalCorrect = IntStream.of(questionScores).sum();

            // 全ての合格条件をチェック
            boolean passedStrategy = (strategyCorrect >= REQUIRED_STRATEGY_CORRECT);
            boolean passedManagement = (managementCorrect >= REQUIRED_MANAGEMENT_CORRECT);
            boolean passedTechnology = (technologyCorrect >= REQUIRED_TECHNOLOGY_CORRECT);
            boolean passedOverall = (totalCorrect >= REQUIRED_TOTAL_CORRECT);

            if (passedStrategy && passedManagement && passedTechnology && passedOverall) {
                successfulTrials++;
            }
        }

        double successRate = (double) successfulTrials / trials * 100;
        return new SimulationResult(knownCorrectQuestions, successRate);
    }

    /**
     * シミュレーション結果を表示します。
     *
     * @param result 表示するシミュレーション結果
     */
    public void displayResult(SimulationResult result) {
        System.out.printf("・事前に%d問知っている場合: 合格率: %.2f%%\n", result.knownCorrectQuestions(), result.successRate());
    }

    /**
     * メインメソッド。ITパスポート試験の各種シナリオでシミュレーションを実行します。
     */
    public static void main(String[] args) {
        IpaPassportSimulator simulator = new IpaPassportSimulator();

        System.out.println("★ITパスポート試験 突破確率計算:ランダム選択方式(モンテカルロシミュレーション)★");
        System.out.println("---");
        System.out.println("採点対象問題数: " + TOTAL_QUESTIONS_FOR_SCORING + "問");
        System.out.println("合格に必要な正解数: 総合" + REQUIRED_TOTAL_CORRECT + "問");
        System.out.println("  ストラテジ系: " + REQUIRED_STRATEGY_CORRECT + "問 (" + (STRATEGY_END_INDEX - STRATEGY_START_INDEX + 1) + "問中)");
        System.out.println("  マネジメント系: " + REQUIRED_MANAGEMENT_CORRECT + "問 (" + (MANAGEMENT_END_INDEX - MANAGEMENT_START_INDEX + 1) + "問中)");
        System.out.println("  テクノロジ系: " + REQUIRED_TECHNOLOGY_CORRECT + "問 (" + (TECHNOLOGY_END_INDEX - TECHNOLOGY_START_INDEX + 1) + "問中)");
        System.out.println("---");
        System.out.println();

        // 各解答方式のシミュレーション
        for (AnswerMethod answerMethod : AnswerMethod.values()) {
            System.out.println("■" + answerMethod.getName() + " 試行結果");
            // knownCorrectQuestions は0問からTOTAL_QUESTIONS_FOR_SCORINGまで繰り返す
            for (int i = 0; i <= TOTAL_QUESTIONS_FOR_SCORING; i++) {
                try {
                    SimulationResult result = simulator.simulateScenario(answerMethod, i, DEFAULT_TRIALS);
                    simulator.displayResult(result);
                } catch (IllegalArgumentException e) {
                    System.err.println("エラー: " + e.getMessage());
                }
            }
            System.out.println(); // 各解答方式の後に空行
        }
        System.out.println("---");
        System.out.println("※本シミュレーターは、ITパスポート試験のIRT(項目応答理論)採点を厳密に再現するものではなく、");
        System.out.println("  各採点対象問題の配点が均等であると仮定した「素点計算」に基づいています。");
        System.out.println("  実際の試験結果と異なる場合があることをご留意ください。");
    }
}

▶️WEB実行環境

glot.ioというWEB上でプログラムを実行できる環境があったため、誰でも動作確認ができるようにリンクを掲載しました。以下から実行(Run)できます。
https://glot.io/snippets/h9ijvnssan

🧭実行結果

各1万回試行した、実行結果ログ ※長いので、折りたたみます。
★ITパスポート試験 突破確率計算:ランダム選択方式(モンテカルロシミュレーション)★
---
採点対象問題数: 92問
合格に必要な正解数: 総合56問
ストラテジ系: 10問 (32問中)
マネジメント系: 6問 (18問中)
テクノロジ系: 13問 (42問中)
---

■4択問題 試行結果
・事前に0問知っている場合: 合格率: 0.00%
・事前に1問知っている場合: 合格率: 0.00%
・事前に2問知っている場合: 合格率: 0.00%
・事前に3問知っている場合: 合格率: 0.00%
・事前に4問知っている場合: 合格率: 0.00%
・事前に5問知っている場合: 合格率: 0.00%
・事前に6問知っている場合: 合格率: 0.00%
・事前に7問知っている場合: 合格率: 0.00%
・事前に8問知っている場合: 合格率: 0.00%
・事前に9問知っている場合: 合格率: 0.00%
・事前に10問知っている場合: 合格率: 0.00%
・事前に11問知っている場合: 合格率: 0.00%
・事前に12問知っている場合: 合格率: 0.00%
・事前に13問知っている場合: 合格率: 0.00%
・事前に14問知っている場合: 合格率: 0.00%
・事前に15問知っている場合: 合格率: 0.00%
・事前に16問知っている場合: 合格率: 0.00%
・事前に17問知っている場合: 合格率: 0.00%
・事前に18問知っている場合: 合格率: 0.00%
・事前に19問知っている場合: 合格率: 0.00%
・事前に20問知っている場合: 合格率: 0.00%
・事前に21問知っている場合: 合格率: 0.00%
・事前に22問知っている場合: 合格率: 0.00%
・事前に23問知っている場合: 合格率: 0.00%
・事前に24問知っている場合: 合格率: 0.01%
・事前に25問知っている場合: 合格率: 0.01%
・事前に26問知っている場合: 合格率: 0.03%
・事前に27問知っている場合: 合格率: 0.01%
・事前に28問知っている場合: 合格率: 0.04%
・事前に29問知っている場合: 合格率: 0.17%
・事前に30問知っている場合: 合格率: 0.37%
・事前に31問知っている場合: 合格率: 0.42%
・事前に32問知っている場合: 合格率: 0.82%
・事前に33問知っている場合: 合格率: 1.29%
・事前に34問知っている場合: 合格率: 2.08%
・事前に35問知っている場合: 合格率: 3.19%
・事前に36問知っている場合: 合格率: 4.68%
・事前に37問知っている場合: 合格率: 7.12%
・事前に38問知っている場合: 合格率: 10.60%
・事前に39問知っている場合: 合格率: 15.13%
・事前に40問知っている場合: 合格率: 20.65%
・事前に41問知っている場合: 合格率: 28.49%
・事前に42問知っている場合: 合格率: 36.44%
・事前に43問知っている場合: 合格率: 45.41%
・事前に44問知っている場合: 合格率: 55.93%
・事前に45問知っている場合: 合格率: 64.82%
・事前に46問知っている場合: 合格率: 74.75%
・事前に47問知っている場合: 合格率: 82.33%
・事前に48問知っている場合: 合格率: 88.98%
・事前に49問知っている場合: 合格率: 93.64%
・事前に50問知っている場合: 合格率: 97.00%
・事前に51問知っている場合: 合格率: 98.44%
・事前に52問知っている場合: 合格率: 99.54%
・事前に53問知っている場合: 合格率: 99.83%
・事前に54問知っている場合: 合格率: 99.94%
・事前に55問知っている場合: 合格率: 99.97%
・事前に56問知っている場合: 合格率: 99.99%
・事前に57問知っている場合: 合格率: 99.99%
・事前に58問知っている場合: 合格率: 100.00%
・事前に59問知っている場合: 合格率: 99.99%
・事前に60問知っている場合: 合格率: 100.00%
・事前に61問知っている場合: 合格率: 100.00%
・事前に62問知っている場合: 合格率: 100.00%
・事前に63問知っている場合: 合格率: 100.00%
・事前に64問知っている場合: 合格率: 100.00%
・事前に65問知っている場合: 合格率: 100.00%
・事前に66問知っている場合: 合格率: 100.00%
・事前に67問知っている場合: 合格率: 100.00%
・事前に68問知っている場合: 合格率: 100.00%
・事前に69問知っている場合: 合格率: 100.00%
・事前に70問知っている場合: 合格率: 100.00%
・事前に71問知っている場合: 合格率: 100.00%
・事前に72問知っている場合: 合格率: 100.00%
・事前に73問知っている場合: 合格率: 100.00%
・事前に74問知っている場合: 合格率: 100.00%
・事前に75問知っている場合: 合格率: 100.00%
・事前に76問知っている場合: 合格率: 100.00%
・事前に77問知っている場合: 合格率: 100.00%
・事前に78問知っている場合: 合格率: 100.00%
・事前に79問知っている場合: 合格率: 100.00%
・事前に80問知っている場合: 合格率: 100.00%
・事前に81問知っている場合: 合格率: 100.00%
・事前に82問知っている場合: 合格率: 100.00%
・事前に83問知っている場合: 合格率: 100.00%
・事前に84問知っている場合: 合格率: 100.00%
・事前に85問知っている場合: 合格率: 100.00%
・事前に86問知っている場合: 合格率: 100.00%
・事前に87問知っている場合: 合格率: 100.00%
・事前に88問知っている場合: 合格率: 100.00%
・事前に89問知っている場合: 合格率: 100.00%
・事前に90問知っている場合: 合格率: 100.00%
・事前に91問知っている場合: 合格率: 100.00%
・事前に92問知っている場合: 合格率: 100.00%

■3択問題 (1つ除外) 試行結果
・事前に0問知っている場合: 合格率: 0.00%
・事前に1問知っている場合: 合格率: 0.00%
・事前に2問知っている場合: 合格率: 0.00%
・事前に3問知っている場合: 合格率: 0.00%
・事前に4問知っている場合: 合格率: 0.00%
・事前に5問知っている場合: 合格率: 0.00%
・事前に6問知っている場合: 合格率: 0.00%
・事前に7問知っている場合: 合格率: 0.00%
・事前に8問知っている場合: 合格率: 0.00%
・事前に9問知っている場合: 合格率: 0.00%
・事前に10問知っている場合: 合格率: 0.00%
・事前に11問知っている場合: 合格率: 0.01%
・事前に12問知っている場合: 合格率: 0.00%
・事前に13問知っている場合: 合格率: 0.00%
・事前に14問知っている場合: 合格率: 0.00%
・事前に15問知っている場合: 合格率: 0.05%
・事前に16問知っている場合: 合格率: 0.03%
・事前に17問知っている場合: 合格率: 0.05%
・事前に18問知っている場合: 合格率: 0.07%
・事前に19問知っている場合: 合格率: 0.14%
・事前に20問知っている場合: 合格率: 0.22%
・事前に21問知っている場合: 合格率: 0.46%
・事前に22問知っている場合: 合格率: 0.53%
・事前に23問知っている場合: 合格率: 0.87%
・事前に24問知っている場合: 合格率: 1.40%
・事前に25問知っている場合: 合格率: 2.16%
・事前に26問知っている場合: 合格率: 2.74%
・事前に27問知っている場合: 合格率: 3.56%
・事前に28問知っている場合: 合格率: 5.35%
・事前に29問知っている場合: 合格率: 7.06%
・事前に30問知っている場合: 合格率: 9.72%
・事前に31問知っている場合: 合格率: 12.61%
・事前に32問知っている場合: 合格率: 17.50%
・事前に33問知っている場合: 合格率: 20.90%
・事前に34問知っている場合: 合格率: 26.47%
・事前に35問知っている場合: 合格率: 33.53%
・事前に36問知っている場合: 合格率: 39.04%
・事前に37問知っている場合: 合格率: 48.09%
・事前に38問知っている場合: 合格率: 55.01%
・事前に39問知っている場合: 合格率: 63.40%
・事前に40問知っている場合: 合格率: 69.23%
・事前に41問知っている場合: 合格率: 77.17%
・事前に42問知っている場合: 合格率: 83.27%
・事前に43問知っている場合: 合格率: 87.71%
・事前に44問知っている場合: 合格率: 92.02%
・事前に45問知っている場合: 合格率: 95.04%
・事前に46問知っている場合: 合格率: 96.74%
・事前に47問知っている場合: 合格率: 98.19%
・事前に48問知っている場合: 合格率: 99.10%
・事前に49問知っている場合: 合格率: 99.68%
・事前に50問知っている場合: 合格率: 99.86%
・事前に51問知っている場合: 合格率: 99.96%
・事前に52問知っている場合: 合格率: 99.97%
・事前に53問知っている場合: 合格率: 100.00%
・事前に54問知っている場合: 合格率: 100.00%
・事前に55問知っている場合: 合格率: 100.00%
・事前に56問知っている場合: 合格率: 100.00%
・事前に57問知っている場合: 合格率: 100.00%
・事前に58問知っている場合: 合格率: 100.00%
・事前に59問知っている場合: 合格率: 100.00%
・事前に60問知っている場合: 合格率: 100.00%
・事前に61問知っている場合: 合格率: 100.00%
・事前に62問知っている場合: 合格率: 100.00%
・事前に63問知っている場合: 合格率: 100.00%
・事前に64問知っている場合: 合格率: 100.00%
・事前に65問知っている場合: 合格率: 100.00%
・事前に66問知っている場合: 合格率: 100.00%
・事前に67問知っている場合: 合格率: 100.00%
・事前に68問知っている場合: 合格率: 100.00%
・事前に69問知っている場合: 合格率: 100.00%
・事前に70問知っている場合: 合格率: 100.00%
・事前に71問知っている場合: 合格率: 100.00%
・事前に72問知っている場合: 合格率: 100.00%
・事前に73問知っている場合: 合格率: 100.00%
・事前に74問知っている場合: 合格率: 100.00%
・事前に75問知っている場合: 合格率: 100.00%
・事前に76問知っている場合: 合格率: 100.00%
・事前に77問知っている場合: 合格率: 100.00%
・事前に78問知っている場合: 合格率: 100.00%
・事前に79問知っている場合: 合格率: 100.00%
・事前に80問知っている場合: 合格率: 100.00%
・事前に81問知っている場合: 合格率: 100.00%
・事前に82問知っている場合: 合格率: 100.00%
・事前に83問知っている場合: 合格率: 100.00%
・事前に84問知っている場合: 合格率: 100.00%
・事前に85問知っている場合: 合格率: 100.00%
・事前に86問知っている場合: 合格率: 100.00%
・事前に87問知っている場合: 合格率: 100.00%
・事前に88問知っている場合: 合格率: 100.00%
・事前に89問知っている場合: 合格率: 100.00%
・事前に90問知っている場合: 合格率: 100.00%
・事前に91問知っている場合: 合格率: 100.00%
・事前に92問知っている場合: 合格率: 100.00%

■2択問題 (2つ除外) 試行結果
・事前に0問知っている場合: 合格率: 2.23%
・事前に1問知っている場合: 合格率: 2.87%
・事前に2問知っている場合: 合格率: 3.90%
・事前に3問知っている場合: 合格率: 4.61%
・事前に4問知っている場合: 合格率: 5.38%
・事前に5問知っている場合: 合格率: 6.59%
・事前に6問知っている場合: 合格率: 7.75%
・事前に7問知っている場合: 合格率: 9.80%
・事前に8問知っている場合: 合格率: 11.34%
・事前に9問知っている場合: 合格率: 13.42%
・事前に10問知っている場合: 合格率: 16.05%
・事前に11問知っている場合: 合格率: 18.94%
・事前に12問知っている場合: 合格率: 22.21%
・事前に13問知っている場合: 合格率: 25.19%
・事前に14問知っている場合: 合格率: 28.86%
・事前に15問知っている場合: 合格率: 32.33%
・事前に16問知っている場合: 合格率: 36.87%
・事前に17問知っている場合: 合格率: 41.69%
・事前に18問知っている場合: 合格率: 45.06%
・事前に19問知っている場合: 合格率: 49.94%
・事前に20問知っている場合: 合格率: 54.15%
・事前に21問知っている場合: 合格率: 59.52%
・事前に22問知っている場合: 合格率: 63.47%
・事前に23問知っている場合: 合格率: 68.86%
・事前に24問知っている場合: 合格率: 72.26%
・事前に25問知っている場合: 合格率: 76.34%
・事前に26問知っている場合: 合格率: 80.28%
・事前に27問知っている場合: 合格率: 83.11%
・事前に28問知っている場合: 合格率: 87.61%
・事前に29問知っている場合: 合格率: 89.81%
・事前に30問知っている場合: 合格率: 91.70%
・事前に31問知っている場合: 合格率: 93.93%
・事前に32問知っている場合: 合格率: 95.45%
・事前に33問知っている場合: 合格率: 96.84%
・事前に34問知っている場合: 合格率: 97.40%
・事前に35問知っている場合: 合格率: 98.21%
・事前に36問知っている場合: 合格率: 98.93%
・事前に37問知っている場合: 合格率: 99.32%
・事前に38問知っている場合: 合格率: 99.61%
・事前に39問知っている場合: 合格率: 99.70%
・事前に40問知っている場合: 合格率: 99.82%
・事前に41問知っている場合: 合格率: 99.88%
・事前に42問知っている場合: 合格率: 99.96%
・事前に43問知っている場合: 合格率: 99.97%
・事前に44問知っている場合: 合格率: 99.99%
・事前に45問知っている場合: 合格率: 100.00%
・事前に46問知っている場合: 合格率: 100.00%
・事前に47問知っている場合: 合格率: 100.00%
・事前に48問知っている場合: 合格率: 100.00%
・事前に49問知っている場合: 合格率: 100.00%
・事前に50問知っている場合: 合格率: 100.00%
・事前に51問知っている場合: 合格率: 100.00%
・事前に52問知っている場合: 合格率: 99.99%
・事前に53問知っている場合: 合格率: 100.00%
・事前に54問知っている場合: 合格率: 100.00%
・事前に55問知っている場合: 合格率: 99.99%
・事前に56問知っている場合: 合格率: 100.00%
・事前に57問知っている場合: 合格率: 100.00%
・事前に58問知っている場合: 合格率: 100.00%
・事前に59問知っている場合: 合格率: 100.00%
・事前に60問知っている場合: 合格率: 100.00%
・事前に61問知っている場合: 合格率: 100.00%
・事前に62問知っている場合: 合格率: 100.00%
・事前に63問知っている場合: 合格率: 100.00%
・事前に64問知っている場合: 合格率: 100.00%
・事前に65問知っている場合: 合格率: 100.00%
・事前に66問知っている場合: 合格率: 100.00%
・事前に67問知っている場合: 合格率: 100.00%
・事前に68問知っている場合: 合格率: 100.00%
・事前に69問知っている場合: 合格率: 100.00%
・事前に70問知っている場合: 合格率: 100.00%
・事前に71問知っている場合: 合格率: 100.00%
・事前に72問知っている場合: 合格率: 100.00%
・事前に73問知っている場合: 合格率: 100.00%
・事前に74問知っている場合: 合格率: 100.00%
・事前に75問知っている場合: 合格率: 100.00%
・事前に76問知っている場合: 合格率: 100.00%
・事前に77問知っている場合: 合格率: 100.00%
・事前に78問知っている場合: 合格率: 100.00%
・事前に79問知っている場合: 合格率: 100.00%
・事前に80問知っている場合: 合格率: 100.00%
・事前に81問知っている場合: 合格率: 100.00%
・事前に82問知っている場合: 合格率: 100.00%
・事前に83問知っている場合: 合格率: 100.00%
・事前に84問知っている場合: 合格率: 100.00%
・事前に85問知っている場合: 合格率: 100.00%
・事前に86問知っている場合: 合格率: 100.00%
・事前に87問知っている場合: 合格率: 100.00%
・事前に88問知っている場合: 合格率: 100.00%
・事前に89問知っている場合: 合格率: 100.00%
・事前に90問知っている場合: 合格率: 100.00%
・事前に91問知っている場合: 合格率: 100.00%
・事前に92問知っている場合: 合格率: 100.00%

---
※本シミュレーターは、ITパスポート試験のIRT(項目応答理論)採点を厳密に再現するものではなく、
各採点対象問題の配点が均等であると仮定した「素点計算」に基づいています。
実際の試験結果と異なる場合があることをご留意ください。

🎯全体概要

🎲主要箇所抜粋(54問まで表示)

いかがでしたでしょうか。
今回のシミュレーション結果で特に注目すべきは、解答の絞り込み能力が合否に与える大きな影響です。

🌧️厳しい現実:完全ランダムと4択絞り込み不可の場合

「4択の絞り込みができないレベル」(赤線部分)においては、事前に36問の答えを知っていても、合格率は5%程度という厳しい結果になりました。これは驚くべき数字であり、単に問題数をこなすだけでなく、選択肢を減らす能力がいかに重要であるかを物語っています。さらに、完全にランダムにマークした場合は、合格率が0%という結果は、運任せでは合格が極めて難しい現実を浮き彫りにしています。

合格率を90%以上に引き上げるためには、4択絞り込み不可のレベルだと、事前に49問以上の正解を知っている必要があるようです。これは総問題数100問中、おおよそ半分程度を、確実に正解できる実力が必要であることを示しています。

☀️希望の光:2択まで絞り込める場合

一方で、「2択の絞り込みまでできるレベル」(緑線部分)では、希望が見えます。このレベルでは、事前に30問の答えを知っていれば、合格率を90%以上に高めることができるという結果が出ました。

このことから、たとえ全問を完璧に解答できなくても、不正解の選択肢を確実に絞り込む努力が、合格への大きな鍵となることがわかります。諦めずに知識を深め、選択肢を減らす力を養うことが、合格への道を大きく開くでしょう。

今回のシミュレーションが、あなたの学習戦略を練る上での一助となれば幸いです。

📌補足

素点形式で考えた場合、ダミー問題を含む100問の試験問題全体を見て、そのうち60問を確実に正確に解けるレベルであれば、残りの正答が分からない問題でも何かしらマークすれば、よほど不運でない限り99%以上の確率で合格できると、本シミュレーターのデータから推測できます。試験、頑張ってください!

🎖️DX推進パスポート

ITパスポート試験を合格すると、DX推進パスポート授与対象となるので、合格した場合は申請してみると面白いかもしれません。
ちなみに、私のオープンバッジは、公開しているのでリンククリックすると確認できます。

申請すると、こういうデジタル証明書も、もらえます。