基本情報技術者 学習ページ|科目A・ソフトウェア
開発ツールを整理する
プログラムの翻訳から実行、テスト、保守までには役割の異なるツールを使います。言語処理ツールが何を入力し何を出力するか、開発支援ツールが何を観測・管理するかを区別します。
翻訳方式を区別する
コンパイラは、原始プログラムをまとめて機械語などの目的プログラムへ翻訳します。インタプリタは、原始プログラムを逐次解釈しながら実行する方式で、通常は実行前に独立した目的プログラム全体を作ることを前提としません。
アセンブラは、アセンブリ言語で書かれた原始プログラムを機械語へ変換します。コンパイラは高水準言語の翻訳、アセンブラはアセンブリ言語の翻訳という入力言語の違いを押さえます。
コンパイラ・インタプリタ・アセンブラの入力と処理方式を区別する。
実行形式までの流れ
人が記述した原始プログラムを翻訳して得られる機械語などのコードを目的プログラムと呼びます。複数の目的プログラムやライブラリをリンカが結合し、実行に必要なまとまりであるロードモジュールを作ります。
ローダはロードモジュールを主記憶へ配置し、実行可能な状態にします。リンカは結合、ローダは主記憶への配置であり、役割を入れ替えないようにします。
リンカは結合、ローダは主記憶への配置。
特殊な言語処理
プリプロセッサは、コンパイルなどの本処理に先立ち、マクロ展開や条件付き処理などを行います。実行時コンパイラは、プログラムの実行時に中間表現などを機械語へ変換して実行性能の向上を図る方式で、JITコンパイラとも呼ばれます。
クロスコンパイラは、翻訳を行うコンピュータとは異なる種類の環境で動く目的プログラムを生成します。組込み機器向けソフトウェアをPC上で開発する場合などに利用されます。
前処理・実行時翻訳・異機種向け翻訳を区別する。
動作を調べるツール
エミュレーターは、別のハードウェアやシステムの機能・命令動作を模倣し、対象環境が手元になくても動作確認に使えるようにします。シミュレーターは、対象の挙動や現象をモデル化して再現し、条件を変えた結果の確認などに使います。
組込み開発ではICEを用いて実機に近い状態でプロセッサの動作を観測することがあります。トレーサーは実行経路などの記録、インスペクターは実行時の変数やオブジェクトの状態確認、アサーションチェッカは前提条件や不変条件などの表明が満たされるかの確認に用います。
模倣・モデル化・実行追跡・状態確認の役割を対応させる。
開発を管理し省力化
バージョン管理ツールは、ソースコードなどの変更履歴を記録し、複数人の作業や過去版への参照・復元を支援します。変更内容と版の関係を管理するもので、実行速度を高めるためのツールではありません。
ローコードは、部品や設定を活用して手作業のコーディング量を減らす開発方法です。ノーコードは、原則としてソースコードを直接記述せず、画面操作や設定を中心にアプリケーションを構築します。
版管理は変更履歴、ローコード・ノーコードは開発省力化。
本番の形で解いてみる
科目Aの形: 四肢択一(表を読む)(このページのために作った問題)
次の処理P〜Rに対応する言語処理ツールの組合せとして、最も適切なものはどれか。
| 処理 | 内容 |
|---|---|
| P | アセンブリ言語を機械語へ変換する |
| Q | 複数の目的プログラムやライブラリを結合する |
| R | ロードモジュールを主記憶へ配置する |
- P=アセンブラ、Q=リンカ、R=ローダ
- P=コンパイラ、Q=ローダ、R=リンカ
- P=アセンブラ、Q=ローダ、R=リンカ
- P=コンパイラ、Q=リンカ、R=ローダ
答えと解説を見る
正解: P=アセンブラ、Q=リンカ、R=ローダ
アセンブリ言語を機械語へ変換するPはアセンブラです。目的プログラムなどを結合するQはリンカ、ロードモジュールを主記憶へ配置するRはローダです。
まちがえやすい点: リンカとローダは、結合と主記憶への配置を逆にしやすい。
科目Aの形: 四肢択一(このページのために作った問題)
翻訳を行うPCとは異なる種類のプロセッサを搭載した組込み機器で実行する目的プログラムを、PC上で生成したい。この用途に最も適切なものはどれか。
- 実行時コンパイラ
- クロスコンパイラ
- プリプロセッサ
- インタプリタ
答えと解説を見る
正解: クロスコンパイラ
クロスコンパイラは、開発に使う環境とは異なる種類の実行環境向けに目的プログラムを生成します。組込み機器のように、対象側で直接コンパイルしにくい場合にも使われます。
まちがえやすい点: 実行時コンパイラは実行中の翻訳、プリプロセッサは本翻訳前の前処理を行う。
科目Aの形: 四肢択一(このページのために作った問題)
プログラムの実行中に、変数やオブジェクトの現在値や内部状態を調べたい。この目的に最も適切な開発支援ツールはどれか。
- トレーサー
- インスペクター
- エミュレーター
- アサーションチェッカ
答えと解説を見る
正解: インスペクター
インスペクターは、実行中の変数やオブジェクトなどの内部状態を確認するために使います。トレーサーは実行経路やイベントの記録、エミュレーターは別の環境の動作の模倣、アサーションチェッカは前提条件などの表明が成り立つかの確認に使います。
まちがえやすい点: 実行の履歴を追うトレーサーと、現在の内部状態を見るインスペクターを混同しやすい。
基本情報の学習ページ
ほかの学習ページの一覧と、2択の用語カード(750語)は、基本情報技術者のページにあります。
基本情報技術者のページへ →このページの内容は、IPA「基本情報技術者試験 シラバス Ver.9.2」(2026年1月公表)と試験要綱Ver.5.6の範囲にもとづきます(2026年10月確認)。IPAは2027年度春ごろから新しい試験制度に移る予定です。