{
  "metadata": {
    "_ai_instructions": "【vocabulaneo 問題集データ — AI 向け仕様書】\n\n■ このファイルについて\n拡張子 .vneo は JSON 形式の問題集ファイルです。早押しクイズ・単語帳アプリ「vocabulaneo（ボキャブラニオ）」が読み込みます。\n新規作成・追記・変換を行う AI は、下記の構造と各フィールドの型・意味に従って出力してください。\n\n■ ルート構造（必須）\n{\n  \"metadata\": { ...問題集全体の情報..., \"_ai_instructions\": \"本テキスト\" },\n  \"questions\": [ { ...問題1... }, { ...問題2... }, ... ]\n}\n\n■ metadata（問題集メタデータ）の主なフィールド\n- title (string, 必須): 問題集のタイトル\n- memo (string): 説明・メモ\n- creator (string): 作成者表示名\n- creatorUid (string): 作成者の Firebase UID（不明なら空文字可）\n- created (string): 作成日 YYYY-MM-DD\n- lastUpdated (string): 最終更新日 YYYY-MM-DD\n- lastPlayed (string): 最終プレイ日 YYYY-MM-DD\n- _ai_instructions (string): 本仕様書（エクスポート時に自動付与。AI は編集・削除しない）\n\n■ questions[] — 各問題オブジェクトのフィールド\n\n--- id ---\n型: string（必須）\n問題を一意に識別する ID。英数字とアンダースコア推奨（例: \"eiken3_001\", \"q_abc123\"）。\n同一ライブラリ内で重複しない値を付与すること。未指定の場合、アプリ側で自動生成される。\n\n--- question ---\n型: string（必須）\n出題される問題文。クイズ中はタイプライター演出で 1 文字ずつ表示される。\n【確定ポイント [!!]】早押しクイズ向けの目印。回答者が「この時点で答えが確定できる」直後に [!!] を 1 箇所だけ挿入する。\n例: 「一般的に「鶴は千年」では「亀[!!]」は何年？」→「亀」まで表示された時点で答え「万年」と確定できる。\n[!!] を付けない問題も可（全文表示後に解答）。\n\n--- displayAnswer ---\n型: string[]（必須。旧形式では string も可だが配列推奨）\n正解発表時に画面へ表示するテキスト。学習者向けの「見せる正解」。\ntext / boolean / 選択肢形式: 通常 1 要素（例: [\"富士山\"]）。\nmulti_text 形式: 複数グループの表示用テキストを並べる（例: [\"東京\", \"大阪\"]）。\n旧データ互換の単一文字列 \"A / B\" 形式も読み込めるが、[\"A\",\"B\"] を推奨。\n\n--- validAnswers ---\n型: string[]（必須）\n正誤判定に使う許容解答のリスト。ユーザ入力がこのいずれかと一致（表記ゆれ・かな変換を含む緩い一致）すれば正解。\ndisplayAnswer より多くの表記ゆれを含めること。\n例（富士山）: [\"富士山\",\"ふじさん\",\"フジサン\",\"mt.fuji\",\"fujisan\",\"fujiyama\"]\n選択肢形式では validAnswers は choices の部分集合。single_choice は 1 件、multi_choice は 1 件以上。\n\n--- answer ---\n型: string（任意・レガシー）\n旧形式の単一正解フィールド。displayAnswer[0] の省略記法。\n新規作成時は displayAnswer / validAnswers を使い、answer は省略可（アプリが displayAnswer[0] から補完）。\n\n--- answerFormat ---\n型: string（必須。省略時は \"text\"）\n解答 UI と採点方式。次のいずれか:\n- \"text\": 自由入力（デフォルト）\n- \"boolean\": ○× 二択（validAnswers は [\"○\"] または [\"×\"] 等）\n- \"single_choice\": 単一選択（choices 必須、validAnswers は 1 件）\n- \"multi_choice\": 複数選択（choices 必須、validAnswers は正解セット）\n- \"multi_text\": 複数フリーワード入力（answerGroups 推奨。CSV 非対応、.vneo のみ）\n\n--- choices ---\n型: string[]（answerFormat が single_choice / multi_choice のとき必須）\n選択肢として表示する文字列の配列。2 件以上。\n例: [\"東京\",\"大阪\",\"名古屋\",\"福岡\"]\n\n--- answerGroups ---\n型: { display: string, validAnswers: string[] }[]（multi_text のとき使用）\n複数入力形式の正解グループ。各グループは 1 つの入力欄に相当。\n例: [{ \"display\": \"首都\", \"validAnswers\": [\"東京\",\"とうきょう\"] }, { \"display\": \"最大都市\", \"validAnswers\": [\"横浜\"] }]\n省略時は displayAnswer / validAnswers から自動推定されるが、明示指定を推奨。\n\n--- tags ---\n型: string[]（必須。空の場合アプリは [\"未分類\"] を設定）\n管理・出題フィルタ用タグ。1 問あたり最大 20 件、各タグ最大 20 文字。\n例: [\"英語\",\"熟語\",\"頻出度A\"]\n\n--- category ---\n型: string[]（任意。旧形式では string も可）\n大分類・科目など。例: [\"英語\"] または [\"地理\",\"日本\"]\n\n--- difficulty ---\n型: number | string（任意。省略時 2）\n難易度。1=易、2=中、3=難。\n\n--- hint ---\n型: string（任意）\nクイズ中に「ヒントを見る」で表示する補助テキスト。空ならヒントボタンは無効。\n\n--- explanation ---\n型: string（任意）\n正解発表後に表示する解説。用法・背景・例文など。\n改行 \\n 可。例: \"I look forward to ...\\n私は…を楽しみに待つ。\"\n\n--- mediaType ---\n型: string（任意。省略時 \"none\"）\n出題時のメディア種別: \"none\" | \"image\" | \"audio\" | \"video\"\nnone 以外の場合、mediaUrl（Firebase Storage URL）が実運用で必要。AI が新規生成する JSON では通常 \"none\"。\n\n--- isStarred ---\n型: boolean（任意。省略時 false）\n重要マーク（★）。true で一覧・クイズ画面で強調表示。\n\n--- creator ---\n型: string（任意）\nこの問題の作成者表示名。metadata.creator と揃えてよい。\n\n--- creatorUid ---\n型: string（任意）\n作成者の Firebase Authentication UID。外部 AI 生成時は空文字で可。\n\n--- createdAt ---\n型: number（Unix ミリ秒）| string（YYYY-MM-DD）（任意）\n問題の作成日時。未指定時はインポート時刻などが使われる。\n\n--- lastAskedAt ---\n型: number | string | null（任意）\n最後に出題された日時。通常はアプリが自動更新するため、新規作成時は null または省略可。\n\n--- order ---\n型: number（任意・レガシー）\n元データ上の並び順メモ（1, 2, 3…）。アプリの出題順はプレイリスト内 questionIds の順とクイズ設定（ランダム/順番）で決まる。\n新規作成時は省略可。既存サンプル互換のため残存する場合あり。\n\n■ 記述上の注意\n- questions は配列。各要素は上記フィールドを持つ JSON オブジェクト。\n- 必須: question, displayAnswer（または answer）, validAnswers。\n- boolean 形式の validAnswers 例: [\"○\"], [\"×\"], [\"true\"], [\"false\"]（問題に合わせて choices と整合させる）。\n- 文字列フィールドに余計な HTML は入れない（アプリ側でエスケープ表示）。\n- 出力は UTF-8 の JSON。metadata と questions を必ず含める。\n\n■ 最小例（text 形式）\n{ \"id\":\"sample_1\", \"question\":\"日本の首都は？[!!]\", \"displayAnswer\":[\"東京\"], \"validAnswers\":[\"東京\",\"とうきょう\",\"Tokyo\"], \"answerFormat\":\"text\", \"tags\":[\"地理\"], \"category\":[\"日本\"], \"difficulty\":1, \"isStarred\":false, \"mediaType\":\"none\", \"explanation\":\"日本の首都は東京都。\" }",
    "title": "基本情報技術者試験対策",
    "memo": "基本情報技術者試験（FE）の重要ポイントを網羅した過去問ベースの対策問題集です。出題カテゴリごとに必須知識を学習できます。",
    "creator": "ヨイコト",
    "lastUpdated": "2026-06-07",
    "created": "",
    "lastPlayed": ""
  },
  "questions": [
    {
      "id": "fe_1",
      "order": 1,
      "question": "スタックのデータ操作方式として適切なものはどれか。[!!]最も適切な番号を答えなさい。\n1. LIFO (Last In First Out)\n2. FIFO (First In First Out)\n3. LILO (Last In Last Out)\n4. FILO (First In Last Out)",
      "displayAnswer": "1",
      "validAnswers": [
        "1",
        "1.",
        "０1",
        "１"
      ],
      "explanation": "スタックは、最後に格納したデータから最初に取り出す「後入れ先出し（LIFO：Last In First Out）」のデータ構造です。一方、キューは最初に格納したデータから順番に取り出す「先入れ先出し（FIFO：First In First Out）」のデータ構造となります。",
      "tags": [
        "基本情報技術者",
        "IT",
        "基礎理論"
      ]
    },
    {
      "id": "fe_2",
      "order": 2,
      "question": "2進数の 1011 を10進数で表したものはどれか。[!!]最も適切な番号を答えなさい。\n1. 9\n2. 11\n3. 13\n4. 15",
      "displayAnswer": "2",
      "validAnswers": [
        "2",
        "2.",
        "０2",
        "２"
      ],
      "explanation": "2進数「1011」を10進数に変換するには、各桁の重み（8, 4, 2, 1）をかけます。1×8 + 0×4 + 1×2 + 1×1 = 8 + 0 + 2 + 1 = 11 となります。",
      "tags": [
        "基本情報技術者",
        "IT",
        "基礎理論"
      ]
    },
    {
      "id": "fe_3",
      "order": 3,
      "question": "配列の探索において、データがあらかじめ昇順または降順に並んでいる場合にのみ適用できる探索アルゴリズムはどれか。[!!]最も適切な番号を答えなさい。\n1. 線形探索法\n2. 二分探索法\n3. ハッシュ探索法\n4. 幅優先探索",
      "displayAnswer": "2",
      "validAnswers": [
        "2",
        "2.",
        "０2",
        "２"
      ],
      "explanation": "二分探索法（バイナリサーチ）は、データがソート（整列）されていることを前提として、探索範囲を半分に狭めながらデータを探す高速なアルゴリズムです。線形探索は整列されていなくても適用可能です。",
      "tags": [
        "基本情報技術者",
        "IT",
        "基礎理論"
      ]
    },
    {
      "id": "fe_4",
      "order": 4,
      "question": "CPUと主記憶装置のアクセス速度の差を埋めるために設けられる高速な記憶装置はどれか。[!!]最も適切な番号を答えなさい。\n1. キャッシュメモリ\n2. 仮想メモリ\n3. フラッシュメモリ\n4. レジスタ",
      "displayAnswer": "1",
      "validAnswers": [
        "1",
        "1.",
        "０1",
        "１"
      ],
      "explanation": "キャッシュメモリは、CPUと主記憶（メインメモリ）の間に配置されるSRAMを用いた高速なメモリです。頻繁に使用するデータをここに格納することで、処理速度を向上させます。",
      "tags": [
        "基本情報技術者",
        "IT",
        "コンピュータ構成要素"
      ]
    },
    {
      "id": "fe_5",
      "order": 5,
      "question": "電源を切っても記憶内容が保持される不揮発性メモリであり、USBメモリやSSDに用いられているものはどれか。[!!]最も適切な番号を答えなさい。\n1. SRAM\n2. DRAM\n3. フラッシュメモリ\n4. マスクROM",
      "displayAnswer": "3",
      "validAnswers": [
        "3",
        "3.",
        "０3",
        "３"
      ],
      "explanation": "フラッシュメモリは、電気的にデータの書き換えが可能で、電源を切ってもデータが消えない（不揮発性）半導体メモリです。SSDやUSBメモリ、SDカードなどに広く使用されています。SRAMやDRAMは電源を切るとデータが消える揮発性メモリです。",
      "tags": [
        "基本情報技術者",
        "IT",
        "コンピュータ構成要素"
      ]
    },
    {
      "id": "fe_6",
      "order": 6,
      "question": "複数の磁気ディスクを組み合わせて1つの仮想的なディスクとして扱い、信頼性や処理速度を向上させる技術はどれか。[!!]最も適切な番号を答えなさい。\n1. NAS\n2. RAID\n3. SAN\n4. SSD",
      "displayAnswer": "2",
      "validAnswers": [
        "2",
        "2.",
        "０2",
        "２"
      ],
      "explanation": "RAID（Redundant Arrays of Inexpensive Disks）は、複数のハードディスクを論理的な1つのドライブとして扱い、データの分散書き込みによる高速化や、パリティデータの付加・ミラーリングによる冗長性・信頼性の向上を図る技術です。",
      "tags": [
        "基本情報技術者",
        "IT",
        "システム構成要素"
      ]
    },
    {
      "id": "fe_7",
      "order": 7,
      "question": "システムの信頼性を表す指標のうち、システムが正常に稼働している時間の割合を示すものはどれか。[!!]最も適切な番号を答えなさい。\n1. MTBF\n2. MTTR\n3. 稼働率\n4. 故障率",
      "displayAnswer": "3",
      "validAnswers": [
        "3",
        "3.",
        "０3",
        "３"
      ],
      "explanation": "稼働率（可用性）は、システムが正常に動作している時間の割合を示します。MTBF（平均故障間隔）はシステムが稼働してから故障するまでの平均時間、MTTR（平均修復時間）は故障を修理するのにかかる平均時間を指し、稼働率 ＝ MTBF / (MTBF ＋ MTTR) で求められます。",
      "tags": [
        "基本情報技術者",
        "IT",
        "システム構成要素"
      ]
    },
    {
      "id": "fe_8",
      "order": 8,
      "question": "OSの機能の一つであり、主記憶の容量よりも大きなプログラムを実行可能にする仕組みはどれか。[!!]最も適切な番号を答えなさい。\n1. マルチタスク\n2. スプーリング\n3. 仮想記憶\n4. プラグアンドプレイ",
      "displayAnswer": "3",
      "validAnswers": [
        "3",
        "3.",
        "０3",
        "３"
      ],
      "explanation": "仮想記憶（バーチャルメモリ）は、ハードディスク等の補助記憶装置の一部を主記憶（メインメモリ）のように見せかける技術です。これにより、物理メモリの容量を超えるサイズのプログラムを実行できるようになります。",
      "tags": [
        "基本情報技術者",
        "IT",
        "ソフトウェア"
      ]
    },
    {
      "id": "fe_9",
      "order": 9,
      "question": "プログラムを構成するモジュール間で、引数としてデータだけを受け渡す結合度はどれか。最も結合度が弱く独立性が高い。[!!]最も適切な番号を答えなさい。\n1. スタンプ結合\n2. データ結合\n3. 制御結合\n4. 内容結合",
      "displayAnswer": "2",
      "validAnswers": [
        "2",
        "2.",
        "０2",
        "２"
      ],
      "explanation": "データ結合は、モジュール間で単一のデータ項目のみを引数として受け渡す方式です。モジュール結合度の中で最も結合度が弱く（独立性が高く）、理想的な設計とされています。",
      "tags": [
        "基本情報技術者",
        "IT",
        "ソフトウェア"
      ]
    },
    {
      "id": "fe_10",
      "order": 10,
      "question": "OSI基本参照モデルにおいて、ルータが動作する層はどれか。[!!]最も適切な番号を答えなさい。\n1. 物理層\n2. データリンク層\n3. ネットワーク層\n4. トランスポート層",
      "displayAnswer": "3",
      "validAnswers": [
        "3",
        "3.",
        "０3",
        "３"
      ],
      "explanation": "ルータは、OSI基本参照モデルの第3層であるネットワーク層で動作し、IPアドレスを用いて最適な経路を選択（ルーティング）します。ちなみに、リピータは第1層（物理層）、ブリッジやL2スイッチは第2層（データリンク層）で動作します。",
      "tags": [
        "基本情報技術者",
        "IT",
        "ネットワーク"
      ]
    },
    {
      "id": "fe_11",
      "order": 11,
      "question": "インターネットでドメイン名とIPアドレスを相互に変換するシステムはどれか。[!!]最も適切な番号を答えなさい。\n1. DHCP\n2. DNS\n3. NAT\n4. ARP",
      "displayAnswer": "2",
      "validAnswers": [
        "2",
        "2.",
        "０2",
        "２"
      ],
      "explanation": "DNS（Domain Name System）は、人間が理解しやすいドメイン名（例：example.com）と、コンピュータがネットワーク上で通信に使用するIPアドレス（例：192.168.1.1）を相互に変換（名前解決）するシステムです。",
      "tags": [
        "基本情報技術者",
        "IT",
        "ネットワーク"
      ]
    },
    {
      "id": "fe_12",
      "order": 12,
      "question": "IPアドレスを自動的に割り当てるプロトコルはどれか。[!!]最も適切な番号を答えなさい。\n1. DHCP\n2. FTP\n3. SMTP\n4. HTTP",
      "displayAnswer": "1",
      "validAnswers": [
        "1",
        "1.",
        "０1",
        "１"
      ],
      "explanation": "DHCP（Dynamic Host Configuration Protocol）は、ネットワークに接続するコンピュータに対して、IPアドレスやサブネットマスク、デフォルトゲートウェイなどのネットワーク設定情報を自動的に割り当てるプロトコルです。",
      "tags": [
        "基本情報技術者",
        "IT",
        "ネットワーク"
      ]
    },
    {
      "id": "fe_13",
      "order": 13,
      "question": "リレーショナルデータベースにおいて、表の行を一意に識別するための属性（列）を何というか。[!!]最も適切な番号を答えなさい。\n1. 外部キー\n2. 主キー\n3. インデックス\n4. ビュー",
      "displayAnswer": "2",
      "validAnswers": [
        "2",
        "2.",
        "０2",
        "２"
      ],
      "explanation": "主キー（プライマリキー：Primary Key）は、データベースの表（テーブル）において、各レコード（行）を一意に識別するための列です。主キーには重複する値やNULL（空）を入れることはできません。",
      "tags": [
        "基本情報技術者",
        "IT",
        "データベース"
      ]
    },
    {
      "id": "fe_14",
      "order": 14,
      "question": "データベースのトランザクションが持つべき4つの特性「ACID」のうち、トランザクション内の処理が「すべて実行されるか、まったく実行されないか」のどちらかになる特性はどれか。[!!]最も適切な番号を答えなさい。\n1. 原始性 (Atomicity)\n2. 一貫性 (Consistency)\n3. 独立性 (Isolation)\n4. 耐久性 (Durability)",
      "displayAnswer": "1",
      "validAnswers": [
        "1",
        "1.",
        "０1",
        "１"
      ],
      "explanation": "原始性（Atomicity）は「不可分性」とも呼ばれ、トランザクションが完全に処理されるか、エラー時には処理前の状態に完全に戻る（ロールバックされる）特性を指します。",
      "tags": [
        "基本情報技術者",
        "IT",
        "データベース"
      ]
    },
    {
      "id": "fe_15",
      "order": 15,
      "question": "データの重複を排除し、データの不整合を防ぐために、リレーショナルデータベースの表を分割する作業を何というか。[!!]最も適切な番号を答えなさい。\n1. 正規化\n2. 結合\n3. 射影\n4. 排他制御",
      "displayAnswer": "1",
      "validAnswers": [
        "1",
        "1.",
        "０1",
        "１"
      ],
      "explanation": "正規化（Normalization）は、データベースの設計において、データの重複や矛盾を排除し、データの追加・更新・削除が矛盾なく行えるように表を適切に分割・整理する作業です。",
      "tags": [
        "基本情報技術者",
        "IT",
        "データベース"
      ]
    },
    {
      "id": "fe_16",
      "order": 16,
      "question": "公開鍵暗号方式に関する説明として適切なものはどれか。[!!]最も適切な番号を答えなさい。\n1. 暗号化と復号に同じ鍵を使用する\n2. 暗号化と復号に異なる鍵を使用する\n3. 鍵の配送が容易であるが処理速度が速い\n4. 共通鍵暗号方式と比べて管理する鍵の数が多い",
      "displayAnswer": "2",
      "validAnswers": [
        "2",
        "2.",
        "０2",
        "２"
      ],
      "explanation": "公開鍵暗号方式は、広く公開する「公開鍵」で暗号化し、自分だけが持つ「秘密鍵」で復号する方式です。暗号化と復号で異なる鍵を使用するため鍵の配送問題を解決できますが、共通鍵暗号方式に比べて計算処理に時間がかかります。",
      "tags": [
        "基本情報技術者",
        "IT",
        "セキュリティ"
      ]
    },
    {
      "id": "fe_17",
      "order": 17,
      "question": "Webサイトの入力フォームなどに悪意のあるスクリプトを埋め込み、そのページを閲覧した他のユーザーのブラウザ上で不正なスクリプトを実行させる攻撃はどれか。[!!]最も適切な番号を答えなさい。\n1. SQLインジェクション\n2. クロスサイトスクリプティング (XSS)\n3. バッファオーバーフロー\n4. DDoS攻撃",
      "displayAnswer": "2",
      "validAnswers": [
        "2",
        "2.",
        "０2",
        "２"
      ],
      "explanation": "クロスサイトスクリプティング（XSS）は、掲示板やSNSなどの動的なWebページに悪意のあるスクリプトを仕込み、ユーザーのCookieを盗み出したり偽のページを表示させたりするサイバー攻撃です。SQLインジェクションはデータベースを不正操作する攻撃です。",
      "tags": [
        "基本情報技術者",
        "IT",
        "セキュリティ"
      ]
    },
    {
      "id": "fe_18",
      "order": 18,
      "question": "デジタル署名において、送信者が本人であることと改ざんされていないことを証明するために、送信者がデータの暗号化に使用する鍵はどれか。[!!]最も適切な番号を答えなさい。\n1. 送信者の公開鍵\n2. 受信者の公開鍵\n3. 送信者の秘密鍵\n4. 受信者の秘密鍵",
      "displayAnswer": "3",
      "validAnswers": [
        "3",
        "3.",
        "０3",
        "３"
      ],
      "explanation": "デジタル署名では、送信者が自身の「秘密鍵」でメッセージのハッシュ値を暗号化して署名を作成します。受信者は送信者の「公開鍵」でそれを復号し、ハッシュ値を比較することで、本人確認と改ざん検知を行います。",
      "tags": [
        "基本情報技術者",
        "IT",
        "セキュリティ"
      ]
    },
    {
      "id": "fe_19",
      "order": 19,
      "question": "ファイアウォールなどの境界防御をすり抜けた社内ネットワークの通信であっても、すべてを信頼せず、常に検査・認証を行うというセキュリティの概念はどれか。[!!]最も適切な番号を答えなさい。\n1. ゼロトラスト\n2. 多層防御\n3. DMZ\n4. ペネトレーションテスト",
      "displayAnswer": "1",
      "validAnswers": [
        "1",
        "1.",
        "０1",
        "１"
      ],
      "explanation": "ゼロトラスト（Zero Trust）は、「何も信頼しない」ことを前提とし、社内・社外のネットワークを区別せず、すべての通信やアクセス要求に対して厳格な認証と認可を行う最新のセキュリティモデルです。",
      "tags": [
        "基本情報技術者",
        "IT",
        "セキュリティ"
      ]
    },
    {
      "id": "fe_20",
      "order": 20,
      "question": "ソフトウェア開発モデルのうち、要件定義、外部設計、内部設計、プログラミング、テストといった工程を上流から下流へ順を追って進める手法はどれか。[!!]最も適切な番号を答えなさい。\n1. アジャイルモデル\n2. ウォーターフォールモデル\n3. スパイラルモデル\n4. プロトタイピングモデル",
      "displayAnswer": "2",
      "validAnswers": [
        "2",
        "2.",
        "０2",
        "２"
      ],
      "explanation": "ウォーターフォールモデルは、水が滝を流れ落ちるように、工程を順番に一つずつ完了させながら開発を進める伝統的な手法です。大規模開発に向いていますが、後戻り（仕様変更）が難しいという欠点があります。",
      "tags": [
        "基本情報技術者",
        "IT",
        "システム開発"
      ]
    },
    {
      "id": "fe_21",
      "order": 21,
      "question": "プログラムの内部構造や論理を考慮せず、入力データと出力データに注目して仕様書通りに機能するかを確認するテスト手法はどれか。[!!]最も適切な番号を答えなさい。\n1. ホワイトボックステスト\n2. ブラックボックステスト\n3. トップダウンテスト\n4. 単体テスト",
      "displayAnswer": "2",
      "validAnswers": [
        "2",
        "2.",
        "０2",
        "２"
      ],
      "explanation": "ブラックボックステストは、システムの内部構造を「黒い箱（見えないもの）」として扱い、入力に対する出力結果が仕様通りになっているかを検証するテスト手法です。対して、内部のプログラム構造を網羅的に確認する手法をホワイトボックステストと呼びます。",
      "tags": [
        "基本情報技術者",
        "IT",
        "システム開発"
      ]
    },
    {
      "id": "fe_22",
      "order": 22,
      "question": "オブジェクト指向プログラミングにおいて、データとそのデータを操作する手続き（メソッド）を一つにまとめる概念はどれか。[!!]最も適切な番号を答えなさい。\n1. カプセル化\n2. 継承 (インヘリタンス)\n3. 多態性 (ポリモーフィズム)\n4. クラス",
      "displayAnswer": "1",
      "validAnswers": [
        "1",
        "1.",
        "０1",
        "１"
      ],
      "explanation": "カプセル化は、データ（属性）とそれに対する操作（メソッド）を一つにまとめ、外部から直接データを書き換えられないように隠蔽するオブジェクト指向の重要な概念です。これによりプログラムの保守性や独立性が高まります。",
      "tags": [
        "基本情報技術者",
        "IT",
        "システム開発"
      ]
    },
    {
      "id": "fe_23",
      "order": 23,
      "question": "プロジェクトのスケジュール管理において、各作業の順序関係を矢印で結び、プロジェクト全体の所要時間やクリティカルパスを明確にするための図はどれか。[!!]最も適切な番号を答えなさい。\n1. ガントチャート\n2. WBS\n3. アローダイアグラム (PERT図)\n4. パレート図",
      "displayAnswer": "3",
      "validAnswers": [
        "3",
        "3.",
        "０3",
        "３"
      ],
      "explanation": "アローダイアグラム（PERT図）は、作業の順序や依存関係を矢印とノードでネットワーク状に表した図です。これを用いることで、遅延が許されない経路（クリティカルパス）を特定できます。",
      "tags": [
        "基本情報技術者",
        "IT",
        "プロジェクトマネジメント"
      ]
    },
    {
      "id": "fe_24",
      "order": 24,
      "question": "プロジェクトの目標を達成するために必要な成果物や作業を、階層的に細かく分解して構造化した図を何というか。[!!]最も適切な番号を答えなさい。\n1. WBS (Work Breakdown Structure)\n2. OBS (Organizational Breakdown Structure)\n3. CBS (Cost Breakdown Structure)\n4. DFD (Data Flow Diagram)",
      "displayAnswer": "1",
      "validAnswers": [
        "1",
        "1.",
        "０1",
        "１"
      ],
      "explanation": "WBS（Work Breakdown Structure）は、プロジェクト全体の作業をタスク単位まで階層的に分解・構造化した図表です。これにより、作業の漏れを防ぎ、スケジュールやコストの見積もりを正確に行うことができます。",
      "tags": [
        "基本情報技術者",
        "IT",
        "プロジェクトマネジメント"
      ]
    },
    {
      "id": "fe_25",
      "order": 25,
      "question": "企業の外部環境と内部環境を分析し、自社の「強み(Strengths)」「弱み(Weaknesses)」「機会(Opportunities)」「脅威(Threats)」の4つの要因から戦略を導き出す手法はどれか。[!!]最も適切な番号を答えなさい。\n1. PPM分析\n2. SWOT分析\n3. 3C分析\n4. バリューチェーン分析",
      "displayAnswer": "2",
      "validAnswers": [
        "2",
        "2.",
        "０2",
        "２"
      ],
      "explanation": "SWOT分析は、Strength（強み）、Weakness（弱み）、Opportunity（機会）、Threat（脅威）の頭文字を取ったフレームワークで、企業の現状を客観的に分析し、今後の経営戦略やマーケティング戦略を立てるために用いられます。",
      "tags": [
        "基本情報技術者",
        "IT",
        "経営戦略"
      ]
    },
    {
      "id": "fe_26",
      "order": 26,
      "question": "著作権法に関する説明として適切なものはどれか。[!!]最も適切な番号を答えなさい。\n1. 著作権は登録などの手続きを行わなくても、著作物を創作した時点で発生する\n2. 著作権はソフトウェアのアルゴリズム（解法）も保護の対象とする\n3. 著作権の保護期間は著作者の死後20年である\n4. 個人的に使用する目的であっても、著作物を無断で複製することは一切禁止されている",
      "displayAnswer": "1",
      "validAnswers": [
        "1",
        "1.",
        "０1",
        "１"
      ],
      "explanation": "著作権は「無方式主義」を採用しており、申請や登録の手続きをしなくても、作品を創作した時点で自動的に権利が発生します。また、プログラミング言語そのものやアルゴリズム、規約は保護対象外です。保護期間は原則として死後70年です。",
      "tags": [
        "基本情報技術者",
        "IT",
        "法務"
      ]
    },
    {
      "id": "fe_27",
      "order": 27,
      "question": "損益計算書において、売上高から売上原価を差し引いた利益を何というか。[!!]最も適切な番号を答えなさい。\n1. 営業利益\n2. 経常利益\n3. 売上総利益\n4. 当期純利益",
      "displayAnswer": "3",
      "validAnswers": [
        "3",
        "3.",
        "０3",
        "３"
      ],
      "explanation": "売上総利益（粗利）は、売上高から商品の仕入れや製造にかかった売上原価を引いたものです。ここから販売費及び一般管理費を引くと「営業利益」、さらに営業外収益・費用を加味すると「経常利益」となります。",
      "tags": [
        "基本情報技術者",
        "IT",
        "企業活動"
      ]
    }
  ]
}
