アルゴリズムとプログラミング
最終確認日:
この章で学ぶこと
テクノロジ系 45 問のうち、この章は 5〜8 問ほどの出題があります。「アプリがデータをどう整理して保管しているの?」「1000 件の中から目的のデータを探すのに、どうすれば速いの?」「プログラミング言語はなぜあんなに種類があるの?」「問題集に出てくる擬似言語って何?」といった、コンピュータに手順を教えて動かすための基礎を扱う章です。
特に擬似言語(iパス独自の読解用コード)を追跡する問題が毎年必ず出題されます。数式を計算する数学とは違い、「順番どおりに実行して結果を求める」思考訓練が必要です。慌てず、変数の値を紙に書きながら一歩ずつトレースするのが鉄則。
学習ゴール
この章を読み終えた時点で、以下ができるようになっていることを目指します。
- 主要データ構造(配列・連結リスト・スタック・キュー・木・グラフ)をシナリオから判別できる
- 探索アルゴリズム(線形探索・2 分探索)の計算量を判別して、データ量に応じて選択できる
- 整列アルゴリズム(バブルソート・選択ソート・クイックソート等)の計算量を比較できる
- 擬似言語を読み解いて、変数・制御構文(if・for・while)の動作をトレースできる
- プログラミング言語の分類(コンパイラ型・インタプリタ型・スクリプト言語)を判別できる
- HTML・XML・JSON・CSV の使い分けを判別できる
試験では: データ構造は「用途 → 最適な構造」、アルゴリズムは「計算量の比較」、擬似言語は「与えられた入力で何を出力するか」の 3 パターンが定番です。
1. データ構造
データ構造は「データを整理して保管する形」。同じ情報でも整理の仕方で、追加・検索・削除のしやすさが大きく変わります。たとえばスーパーで買い物リストを作るとき、順番に書く(配列)か、優先順位の列(キュー)か、積み上げていく(スタック)かで、使い勝手が変わるのと同じ。用途に応じて最適な構造を選ぶのがプログラマーの腕の見せどころで、試験でも「この場面ではどの構造を使うか」が頻出です。
1.1 配列(Array)
配列は同じ型のデータを連続した領域に並べたもの。一番シンプルで基本的なデータ構造で、「何番目」(インデックス)を指定すれば一瞬で取り出せるのが特徴。ただし途中に要素を挿入したり削除したりすると、後続の要素を全部ずらす必要があるので遅くなります。
- 同じ型のデータを連続領域に並べる(メモリ上で密に並ぶ)
- インデックス(添字、0 から始まる)で要素にアクセス → O(1)
- 要素の挿入・削除は後続の要素をずらす必要があり遅い → O(n)
- 用途: 成績表、画像のピクセル配列、時系列データ
具体例: 生徒 30 人の点数を配列scores[0]〜scores[29] で保管。3 番目の生徒の点数は scores[2] で一瞬で取れる。ただし「5 番目と 6 番目の間に新しい生徒を挿入」すると、6 番目以降 25 人分を 1 つずつ後ろにずらす必要がある。
1.2 リスト(List)
リスト(連結リスト)は、各要素が「次の要素の場所を指すポインタ」を持つデータ構造。配列とは逆に、挿入・削除が速く、検索が遅いという特性があります。メモリ上でバラバラな位置にあっても、ポインタでつなげて論理的な順序を保ちます。
- 各要素が次の要素を指すポインタを持つ
- 単方向リスト — 次だけ指す(一方通行)
- 双方向リスト — 前後両方を指す(逆走可能)
- 循環リスト — 末尾が先頭を指す(ぐるぐる回る)
- 挿入・削除が速い(ポインタのつなぎ替えだけ) → O(1)
- 検索は遅い(先頭から順番に辿るしかない) → O(n)
- 用途: LRU キャッシュ、音楽プレイヤーの再生リスト、ブラウザの履歴
引っかけ: 配列は検索速い・挿入遅い、リストは挿入速い・検索遅い。正反対の特性なので、用途で使い分ける。頻繁に検索するなら配列、頻繁に挿入・削除するならリスト。
1.3 スタック(Stack)
スタックは「積み重ねた皿」のように、最後に入れたものが最初に出るデータ構造。略して LIFO(Last In, First Out、後入れ先出し)と呼びます。プログラムの関数呼び出し(どこから呼ばれたかを覚えて戻る)や、エディタの Undo 機能(直前の操作を取り消す)で使われています。
- LIFO(Last In, First Out)= 後入れ先出し
- 操作: push(積む)・pop(上から取り出す)
- イメージ: 洗った皿を積み重ねる → 使う時は一番上から取る
- 用途: 関数呼び出し管理(コールスタック)、Undo 機能、式の括弧評価、DFS 探索
具体例: エディタで「A を入力 → B を入力 → C を入力 → Undo」とすると、直前に入力した C が最初に取り消される。これは入力履歴をスタックに push し、Undo で pop しているから。
1.4 キュー(Queue)
キューは「レジの行列」のように、最初に入ったものが最初に出るデータ構造。略して FIFO(First In, First Out、先入れ先出し)。プリンタの印刷待ち行列、メッセージキュー、タスクスケジューラなど、順番待ちが必要な場面で広く使われます。
- FIFO(First In, First Out)= 先入れ先出し
- 操作: enqueue(末尾に追加)・dequeue(先頭から取り出し)
- イメージ: レジの行列 → 先に並んだ人から会計
- 用途: 印刷待ち行列、メッセージキュー、タスクスケジューラ、BFS 探索
スタック(LIFO)
後入れ先出し
| 位置 | 要素 |
|---|---|
| 頂上 ← pop | C(最後に push) |
| B | |
| 底 | A(最初に push) |
最後に積んだ C が最初に出る
用途: 関数呼び出し、Undo(やり直し)、数式の括弧解析
キュー(FIFO)
先入れ先出し
最初に入れた A が最初に出る
用途: 印刷待ち行列、メッセージキュー、タスクスケジューラ
頻出引っかけ: スタック = 紙を縦に積む(LIFO)、キュー = レジの行列(FIFO)のイメージ。「お客さんが並んでいる順番に対応する」のがキュー、「重ねた皿を上から取る」のがスタック。pop / push / enqueue / dequeue の用語も区別。
1.5 木構造(Tree)
木構造は階層関係を表現するデータ構造。フォルダ階層、組織図、HTML/XML の構造など、身の回りに溢れています。家系図を上下逆さにした形(根が上、葉が下)で表現するのが慣習です。
- ルート(根)・枝・葉・子・親・兄弟などの用語
- 二分木 — 各ノードが最大 2 つの子を持つ(左の子・右の子)
- 二分探索木 — 左の子 < 親 < 右の子の性質を持つ → 探索が高速
- 平衡木(AVL 木など)— 高さのバランスをとって最悪計算量を保証
- 用途: フォルダ階層、HTML/XML の DOM、データベースの B 木インデックス
具体例: PC のフォルダ階層は木構造そのもの。「デスクトップ > プロジェクト > 2026 > 資料.docx」という階層は、デスクトップを根(ルート)として下に枝分かれする木。HTML の <html> > <body> > <div> も同じ構造。
1.6 グラフ
グラフは「ノード(点)」と「エッジ(線)」で物事のつながりを表すデータ構造。SNS の友達関係、地図の道路網、Web ページのリンク構造など、ネットワーク状の関係を扱うのに使います。木構造と違い、閉路(ループ)や複雑な網状も表現できます。
- ノード(頂点)とエッジ(辺)で関係を表現
- 有向グラフ — エッジに方向がある(Twitter のフォロー等)
- 無向グラフ — 双方向(Facebook の友達、道路の双方通行等)
- 重み付きグラフ — エッジにコスト(距離・時間)がある
- 用途: ネットワーク経路探索(カーナビ・地下鉄経路)、SNS の関係分析、レコメンド
具体例: Google マップの「最短経路検索」はグラフ探索の典型。交差点をノード、道路をエッジ、距離や所要時間を重みとして、目的地までの最短経路をダイクストラ法などで計算しています。
1.7 ハッシュテーブル
ハッシュテーブルは、キーから直接場所を計算して高速に検索できるデータ構造。辞書(dict)や連想配列(Map)とも呼ばれます。平均 O(1) で検索・挿入できる最強クラスの速さが特徴で、Python や JavaScript の dict / Object などの標準データ型として組み込まれています。
- キーをハッシュ関数で数値に変換 → 配列のインデックスとして使う
- 検索・挿入・削除すべて平均 O(1)
- 欠点: 順序が保証されない、ハッシュ衝突の対策が必要
- 用途: 辞書・連想配列、データベース索引、キャッシュ(Memcached、Redis)
具体例: 社員番号 → 社員情報の検索で、配列や線形探索なら全員スキャンが必要だが、ハッシュテーブルなら社員番号をハッシュ関数で変換してすぐにデータ位置がわかる。100 万人規模でも一瞬。
2. アルゴリズム
アルゴリズムは「問題を解く手順」のこと。同じ問題を解くにも複数の手順があり、計算量(処理時間の増加率)で比較します。データが 1 万件か 100 万件かで、最適な手順は変わってきます。試験では 「線形探索 vs 二分探索」「バブルソート vs クイックソート」の計算量比較が定番です。
2.1 探索アルゴリズム
探索は「データの中から目的の値を見つける」処理。データがソート済みかどうかで、使えるアルゴリズムが大きく変わります。ソートされていないデータには線形探索しか使えないが、ソート済みデータなら二分探索で圧倒的に速くなります。
| アルゴリズム | 特徴 | 計算量 | ソート前提 |
|---|---|---|---|
| 線形探索 | 先頭から順に比較 | O(n) | 不要 |
| 二分探索 | ソート済みデータを半分ずつ絞る | O(log n) | 必要 |
| ハッシュ探索 | ハッシュ関数で直接アクセス | O(1) | 不要 |
二分探索の動作(ソート済み配列[1,3,5,7,9,11,13,15]から 11 を探す)
Step 範囲 中央 比較 次の範囲 1 [1,3,5,7,9,11,13,15] 7 11 > 7 右半分[9,11,13,15] 2 [9,11,13,15] 11 一致 ✓ 発見 2 ステップで発見(線形探索なら最大 6 ステップ)
n=8 で比較: 線形探索 = 最大 8 回(O(n)) / 二分探索 = 最大 3 回(O(log n)) n=10⁶ なら 100 万回 vs 20 回 — n が大きいほど差が広がる
頻出引っかけ: 二分探索は「ソート済み」が前提。ソートされていない配列に二分探索は使えない。一方、線形探索はソート不要。データ量が大きい場合「事前ソート + 二分探索」が「線形探索」より圧倒的に速くなる。
2.2 整列アルゴリズム
整列(ソート)はデータを大小順に並べ替える処理。単純な手法(バブル・選択・挿入)は実装が簡単だが遅い(O(n²))、高度な手法(クイック・マージ・ヒープ)は実装は複雑だが速い(O(n log n))。データ量が少なければ単純な手法でも十分、数万件以上なら高度な手法が必須です。
| アルゴリズム | 特徴 | 計算量 |
|---|---|---|
| バブルソート | 隣接を比較交換。シンプル | O(n²) |
| 選択ソート | 最小値を先頭へ繰り返し | O(n²) |
| 挿入ソート | 整列済み部分に挿入 | O(n²) |
| クイックソート | 基準値(pivot)で分割 | 平均 O(n log n) |
| マージソート | 分割統治で統合 | O(n log n) |
| ヒープソート | ヒープ構造を利用 | O(n log n) |
覚え方: 単純系 3 兄弟(バブル・選択・挿入)は O(n²)、高速系 3 兄弟(クイック・マージ・ヒープ)は O(n log n)。計算量の桁違いは、n=10,000 で単純系 1 億回 vs 高速系 13 万回という圧倒的な差になる。
2.3 再帰
再帰は関数が自分自身を呼び出す仕組み。複雑な処理を「自分と同じ問題の小さい版」に分解して解くアプローチで、木構造の探索や分割統治法などで必須のテクニックです。プログラムが直感的に書けるが、停止条件を間違えると無限ループになるので注意。
例: 階乗の計算
function 階乗(n):
if n == 0: return 1
return n × 階乗(n - 1)
2.4 計算量(オーダー記法)
計算量は「入力サイズ n が大きくなったとき、処理時間がどう増えるか」を表す尺度。O 記法(ビッグオー記法)で表します。コンピュータの性能が上がっても、計算量が悪いアルゴリズムは大規模データで実用不能になります。データ量に応じて適切なアルゴリズムを選ぶための指標です。
| 記法 | 名称 | 例 | 特徴 |
|---|---|---|---|
| O(1) | 定数時間 | 配列のインデックスアクセス、ハッシュ探索 | 最速。データ量に依存しない |
| O(log n) | 対数時間 | 二分探索、平衡木の探索 | 非常に速い |
| O(n) | 線形時間 | 線形探索、配列の最大値検索 | データ量に比例 |
| O(n log n) | 準線形時間 | クイックソート、マージソート | ソートの実用限界 |
| O(n²) | 二乗時間 | バブルソート、選択ソート、二重ループ | 大規模データで遅い |
| O(2^n) | 指数時間 | 部分集合の列挙、総当たり探索 | 実用困難 |
具体例(n=1,000 のとき): O(1) = 1 操作 / O(log n) ≈ 10 / O(n) = 1,000 / O(n log n) ≈ 10,000 / O(n²) = 1,000,000 / O(2^n) = 事実上無限。桁違いの差が出るので、計算量の低いアルゴリズムを選ぶことが重要。
3. プログラム言語
プログラミング言語は人間がコンピュータに命令するための言語。用途によって得意分野が異なるため複数の言語が存在し、現代のエンジニアは2〜3 言語を状況で使い分けるのが普通です。試験では「この用途に最適な言語は?」「コンパイラ型とインタプリタ型の違い」などが頻出します。
3.1 言語の分類
プログラミング言語はいくつかの軸で分類できます。機械語への距離で「低水準・高水準」、実行方式で「コンパイラ型・インタプリタ型」、使い方で「スクリプト言語」など、複数の分類が重なります。同じ Python でも「高水準 + インタプリタ型 + スクリプト言語」のように 3 つすべてに該当します。
| 分類 | 特徴 | 代表例 |
|---|---|---|
| 低水準言語 | 機械語に近い。ハードウェアを直接制御 | 機械語、アセンブリ言語 |
| 高水準言語 | 人間に近い。書きやすい | C、Java、Python |
| コンパイラ型 | 実行前に機械語へ一括変換(コンパイル)。実行時は速い | C、C++、Java |
| インタプリタ型 | 逐次解釈しながら実行。開発が速いが実行は遅め | Python、JavaScript、Ruby |
| スクリプト言語 | 簡易記述・実行時解釈 | Python、JavaScript、PHP |
引っかけ: Java はコンパイラ型だがバイトコードにコンパイルされて、JVM 上で実行されるため厳密には「コンパイラ + インタプリタ」のハイブリッド。試験で「Java はコンパイラ型」と問われたら正解、「インタプリタ型」とだけ問われたら誤り。
3.2 代表的プログラム言語
各言語には得意な分野があり、そのため複数の言語が共存しています。AI/機械学習なら Python、Web フロントエンドなら JavaScript、大規模業務システムなら Java、のように用途で選びます。試験では言語 → 用途の対応が頻出です。
| 言語 | 主な用途 | 特徴 |
|---|---|---|
| Python | AI・機械学習・データ分析 | 科学計算ライブラリが豊富 |
| JavaScript | Web フロントエンド・Node.js | ブラウザで直接動く主要言語 |
| Java | 業務システム・Android | JVM でプラットフォーム非依存 |
| C / C++ | OS・組込み・高速処理 | ハードウェアに近く高速 |
| Ruby | Web 開発(Ruby on Rails) | 記述が簡潔 |
| Go / Rust | サーバ・システム | 近年人気、高速・並列処理 |
| Swift / Kotlin | iOS / Android | 各プラットフォームの主流 |
| SQL | データベース操作 | 宣言型、専用領域 |
| R | 統計解析 | 学術・研究向け |
3.3 プログラムの基本構造
どんなプログラム言語でも、3 つの基本構造の組み合わせで処理を記述できます。これは 1966 年にベーム・ヤコピーニによって数学的に証明された事実で、構造化プログラミングの基礎となっています。
- 順次(Sequence)— 上から順に実行
- 分岐(Selection)— 条件で処理を選択(if / switch / case)
- 反復(Iteration)— 繰り返し実行(for / while / do-while)
具体例: 「テストの点数によって評価を付ける」プログラムは順次 + 分岐で書ける。「全生徒の点数を集計する」は順次 + 反復で書ける。「生徒ごとに点数を見て評価を付け、集計」は順次 + 分岐 + 反復の組み合わせ。
3.4 変数とデータ型
変数は値を入れる名前付きの箱、データ型は箱に入れられる値の種類を決めるルール。整数と文字列を混ぜて計算できないのは、データ型が異なるから。現代の言語では型を自動判定するものもある(Python・JavaScript)が、明示的に型を書く言語(Java・C++・TypeScript)の方がバグが減る傾向にあります。
- 変数 — 値を格納する「箱」。名前を付けて中身を読み書き
- 定数 — 変更しない値(宣言後に書き換え不可)
- 基本データ型:
- 整数型(int) — 1, 100, -5 など
- 実数型(float / double) — 3.14, 2.71 など
- 文字型(char) — 'A', 'あ' など
- 論理型(boolean) — true / false
- 文字列型(string) — "Hello" など
- 複合データ型:
- 配列 — インデックスでアクセス
- 連想配列(辞書・Map) — キー→値のペア
4. 擬似言語
IT パスポート試験では、特定の言語に依存しない「擬似コード」でアルゴリズムが問われます。Python や Java を知らなくても読めるように、共通の記法で書かれた"疑似言語"を読み解く能力が必要です。毎年必ず出題される領域で、変数の動きを紙に書いてトレースするのが合格の鉄則です。
4.1 基本構文
擬似言語の構文は代入・分岐・反復の 3 要素が中心。日本語交じりで書かれることも多く、自然言語に近い記述でアルゴリズムの本質を問います。
| 構文 | 意味 | 備考 |
|---|---|---|
変数 ← 式 | 代入(右辺を左辺に入れる) | = ではなく ← を使う |
if (条件) 〜 endif | 分岐 | else / elseif もある |
while (条件) 〜 endwhile | 前判定反復(条件チェック → 実行) | 最初から条件偽なら一度も実行されない |
do 〜 while (条件) | 後判定反復(実行 → 条件チェック) | 少なくとも 1 回は実行される |
for 〜 endfor | 計数反復(指定回数繰り返し) | i=1,2,...,n のような |
// コメント | 注釈 | プログラムの動作に影響なし |
引っかけ: while(前判定)と do-while(後判定)は初期条件が偽の時の動作が違う。while は一度も実行されない可能性がある、do-while は最低 1 回は実行される。試験で「少なくとも 1 回実行される反復構文」と問われたら do-while。
4.2 関数の呼び出し
関数は「入力 → 処理 → 出力」の一連の手続きを名前付きでパッケージ化したもの。同じ処理を何度も使い回せるようにするため、現代プログラミングでは必須の考え方。引数を渡して呼び出し、戻り値を受け取ります。
function 加算(a, b):
return a + b
// 呼び出し
結果 ← 加算(3, 5) // 結果 = 8
4.3 アルゴリズム読解のコツ
- まず変数の初期値を確認
- ループの回数と条件を追う
- ループ内で変数がどう変化するかを追跡
- ループ終了後の変数の最終値を求める
具体的な値(例: 配列[3, 1, 4, 1, 5])を入れて机上実行(トレース)するのが確実。
5. マークアップ言語・データ記述
マークアップ言語は「文章に意味を付ける」ための言語。HTML で <h1> とタグを付けると「これは大見出し」と意味が明示されます。プログラム言語との違いは、計算やロジックを書かない点。データの構造を記述するのが主な用途です。試験では HTML・XML・JSON・CSV の使い分けが頻出します。
5.1 マークアップ言語
| 言語 | 用途 | 特徴 |
|---|---|---|
| HTML | Web ページの構造記述 | ブラウザが解釈して表示 |
| CSS | Web の見た目を装飾 | 正確にはマークアップではないが関連技術 |
| XML | 汎用データ記述 | 厳密な構造、業務システムで採用 |
| Markdown | 軽量マークアップ(GitHub・ドキュメント用) | 可読性が高い |
| SGML | HTML・XML の共通祖先(1986 年 ISO 標準) | 現代では直接使わない |
5.2 データ形式
プログラム間でデータを受け渡すためのフォーマット。Web API(Web サービス間の通信)では JSON が事実上の標準。設定ファイルには YAML、表計算との連携には CSV、業務システム間では XML が使われます。
| 形式 | 特徴 | 用途 |
|---|---|---|
| JSON(JavaScript Object Notation) | 軽量で Web API の標準 | REST API、NoSQL、アプリ設定 |
| XML | タグ構造で複雑なデータを表現可能 | SOAP API、業務システム連携 |
| YAML | 設定ファイルで人間可読性重視 | Docker Compose、Kubernetes、CI/CD 設定 |
| CSV | カンマ区切り。表計算で扱いやすい | Excel 連携、ログ、データエクスポート |
頻出: Web API = JSON、表計算連携 = CSV、設定ファイル = YAML、業務システム連携 = XML の対応を覚える。特に JSON の軽量さと XML の厳密さの比較が頻出。
5.3 JSON の例
{
"name": "山田太郎",
"age": 30,
"hobbies": ["読書", "プログラミング"]
}5.4 HTML の基本構造
<!DOCTYPE html>
<html>
<head>
<title>ページタイトル</title>
</head>
<body>
<h1>見出し</h1>
<p>段落テキスト</p>
</body>
</html>📋 章末まとめ
最重要ポイント 10 連発
- スタック(LIFO)とキュー(FIFO) — 取り出す順序が逆
- 二分探索は O(log n) — ソート済みデータが前提
- バブルソートは O(n²)、クイックソートは平均 O(n log n)
- 再帰 — 自分自身を呼ぶ構造
- オーダー記法 — 処理時間の増加率
- コンパイラ vs インタプリタ — 一括変換 vs 逐次解釈
- スクリプト言語 — Python・JavaScript・PHP
- 擬似言語の読解 — 変数をトレースして追う
- HTML・CSS・JavaScript — Web 三種の神器
- JSON は Web API の標準
出題傾向のコツ
- 擬似言語問題は机上実行(トレース)で解く
- ソート・探索の計算量は覚える必須項目
- データ構造は「何を先に取り出すか」を問う形で出る
学習ロードマップ(14件)
ほかの分野の練習もチェック
情報セキュリティ 一問一答
IT パスポート試験で最重要の情報セキュリティ分野から 20 問を厳選。CIA 3 要素から攻撃手法、暗号・認証、対策技術まで体系的に確認できます。
コンピュータシステム 一問一答
IT パスポート試験のテクノロジ系頻出テーマから 20 問を厳選。CPU/メモリから仮想化・クラウド・RAID・稼働率計算まで、ハードウェアとシステム構成の基礎を体系的に確認。
データベース 一問一答
IT パスポート試験のデータベース分野から 20 問を厳選。主キー/外部キー/正規化/SQL(SELECT・WHERE・JOIN)/ACID/索引まで体系的に確認。
ネットワーク 一問一答
IT パスポート試験のネットワーク分野から 20 問を厳選。LAN/WAN・Wi-Fi セキュリティ・TCP/IP・IP アドレス・DNS・HTTP/HTTPS・IoT 通信まで体系的に確認。
企業と法務 一問一答
IT パスポート試験のストラテジ系の基礎「企業と法務」から 20 問を厳選。経営組織・OR/IE・会計財務・知的財産権・労働関連法規まで体系的に確認。
経営戦略 一問一答
IT パスポート試験の頻出分野「経営戦略」から 20 問を厳選。経営分析フレームワーク・マーケティング・経営管理システム・技術戦略・ビジネスインダストリまで体系的に確認。
システム戦略と企画 一問一答
IT パスポート試験のストラテジ系「システム戦略と企画」から 20 問を厳選。情報システム戦略・業務プロセス改革・クラウドサービス・システム企画調達まで体系的に確認。
開発技術 一問一答
IT パスポート試験のマネジメント系「開発技術」から 20 問を厳選。開発プロセス・設計・テスト手法・アジャイル/スクラム・構成管理・UX デザインまで体系的に確認。
プロジェクトマネジメント 一問一答
IT パスポート試験のマネジメント系「プロジェクトマネジメント」から 20 問を厳選。PMBOK の 10 知識エリア・WBS・スケジュール管理・コスト見積り・リスク管理まで体系的に確認。
サービスマネジメントとシステム監査 一問一答
IT パスポート試験のマネジメント系「サービスマネジメントとシステム監査」から 20 問を厳選。ITIL・SLA/SLM・主要プロセス・サービスデスク・J-SOX・COSO まで体系的に確認。
基礎理論 一問一答
IT パスポート試験のテクノロジ系「基礎理論」から 20 問を厳選。2 進数変換・AND/OR/XOR・確率計算・文字コード・誤差・機械学習 3 分類まで確認。
ソフトウェア 一問一答
IT パスポート試験のテクノロジ系「ソフトウェア」から 20 問を厳選。OS 機能・プロセス/スレッド・圧縮形式・表計算関数・OSS ライセンスまで確認。
情報デザインとメディア 一問一答
IT パスポート試験のテクノロジ系「情報デザインとメディア」から 20 問を厳選。LATCH・UX・アクセシビリティ・RGB/CMYK・JPEG/PNG・MPEG・VR/AR まで確認。
IT パスポート 本試験形式 100 問
IT パスポート試験の全 14 章から出題する本試験準拠の総合問題集 100 問。ストラテジ 32 / マネジメント 18 / テクノロジ 50 の分野別配分・120 分で、実試験と同じスケールの実戦演習が可能。