基本情報技術者試験過去問 - 分野別(科目A) - 開発ツール
令和8年6月修了 問14
ローコード開発ツールを用いたソフトウェア開発の説明はどれか。
| ア | アプリケーションソフトウェアの開発基盤の上で,用意された部品やテンプレートをGUIを用いた操作で組み合わせたり,必要に応じて一部の処理のソースコードを記述したりすることによって,アプリケーションソフトウェアを作成する。 |
|---|---|
| イ | アプリケーションソフトウェアの開発基盤の上で,用意された部品やテンプレートをGUIを用いた操作で組み合わせるだけで,ソースコードを記述せずに,アプリケーションソフトウェアを作成する。 |
| ウ | アプリケーションソフトウェアの定型的な枠組みを参照して,独自の処理のソースコードを記述することによって,アプリケーションソフトウェアを作成する。 |
| エ | 利用者がシステムを利用して行う作業を自動化ツールに代行させるために,利用者によるシステムの操作手順をツールに登録する。 |
答え : ア
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
「ローコード開発」は,「GUI操作で部品を組み合わせつつ,必要に応じて一部だけソースコードを書く」開発スタイルです。全くコードを書かない「ノーコード開発」とは区別されます。
「イ」はローコードではなくノーコード開発の定義です。「ロー(少ない)」と「ノー(ゼロ)」の違いを取り違えないようにしましょう。「ウ」はGUI操作による部品の組み合わせという要素が欠けており,通常の開発に近い説明です。「エ」はRPA(Robotic Process Automation)の特徴に近く,アプリケーション開発とは異なる領域の話です。
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
同一問題 : 〔令7公問5〕
解説 : 「ローコード開発」は,「GUI操作で部品を組み合わせつつ,必要に応じて一部だけソースコードを書く」開発スタイルです。全くコードを書かない「ノーコード開発」とは区別されます。
「イ」はローコードではなくノーコード開発の定義です。「ロー(少ない)」と「ノー(ゼロ)」の違いを取り違えないようにしましょう。「ウ」はGUI操作による部品の組み合わせという要素が欠けており,通常の開発に近い説明です。「エ」はRPA(Robotic Process Automation)の特徴に近く,アプリケーション開発とは異なる領域の話です。
令和8年1月修了 問14
コンパイラによる最適化の主な目的はどれか。
| ア | プログラムの実行時間を短縮する。 |
|---|---|
| イ | プログラムのデバッグを容易にする。 |
| ウ | プログラムの保守性を改善する。 |
| エ | 目的プログラムを生成する時間を短縮する。 |
答え : ア
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
解説 :
コンパイラの「最適化」(optimization)という機能の目的を問う問題です。最適化とは,ソースコードをコンパイルする際に,プログラムの動作結果を変えずに,より効率的な機械語コードに変換する処理のことです。その主な目的は,生成されたプログラムの実行時間を短縮したり,メモリ使用量を削減したりすることにあります。
誤りの選択肢のうち,「デバッグを容易にする」という説明は誤りで,むしろ最適化によってコードの構造が変化するため,デバッグがしにくくなる場合もあります。「保守性を改善する」という説明も誤りで,最適化は実行効率を高めることが目的であり,人間にとっての読みやすさや保守のしやすさとは直接関係しません。「目的プログラムを生成する時間を短縮する」という説明も誤りで,むしろ最適化処理を行うことでコンパイル自体にかかる時間は長くなる傾向があります。
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
解説 :
コンパイラの「最適化」(optimization)という機能の目的を問う問題です。最適化とは,ソースコードをコンパイルする際に,プログラムの動作結果を変えずに,より効率的な機械語コードに変換する処理のことです。その主な目的は,生成されたプログラムの実行時間を短縮したり,メモリ使用量を削減したりすることにあります。
誤りの選択肢のうち,「デバッグを容易にする」という説明は誤りで,むしろ最適化によってコードの構造が変化するため,デバッグがしにくくなる場合もあります。「保守性を改善する」という説明も誤りで,最適化は実行効率を高めることが目的であり,人間にとっての読みやすさや保守のしやすさとは直接関係しません。「目的プログラムを生成する時間を短縮する」という説明も誤りで,むしろ最適化処理を行うことでコンパイル自体にかかる時間は長くなる傾向があります。
令和7年12月修了 問14
ホワイトボックステストにおいて,プログラムの実行された部分の割合を測定するのに使うものはどれか。
| ア | アサーションチェッカ |
|---|---|
| イ | シミュレータ |
| ウ | 静的コード解析ツール |
| エ | テストカバレージ分析ツール |
答え : エ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
解説 :
ホワイトボックステストにおいてプログラムの実行された部分の割合を測定する道具を選ぶ問題です。プログラムのソースコード中のどの命令や分岐が実際にテストで実行されたかを測定し,その割合(カバレージ)を分析するツールを「テストカバレージ分析ツール」と呼びます。選択肢「エ」が正解です。
「ア」の「アサーションチェッカ」は,プログラム中に記述した条件(アサーション)が満たされているかを検証するための仕組みです。「イ」の「シミュレータ」は,実機がなくても動作を模擬的に再現するためのツールです。「ウ」の「静的コード解析ツール」は,プログラムを実行せずにソースコードを解析して問題点を検出するツールであり,実行割合の測定とは異なります。
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
解説 :
ホワイトボックステストにおいてプログラムの実行された部分の割合を測定する道具を選ぶ問題です。プログラムのソースコード中のどの命令や分岐が実際にテストで実行されたかを測定し,その割合(カバレージ)を分析するツールを「テストカバレージ分析ツール」と呼びます。選択肢「エ」が正解です。
「ア」の「アサーションチェッカ」は,プログラム中に記述した条件(アサーション)が満たされているかを検証するための仕組みです。「イ」の「シミュレータ」は,実機がなくても動作を模擬的に再現するためのツールです。「ウ」の「静的コード解析ツール」は,プログラムを実行せずにソースコードを解析して問題点を検出するツールであり,実行割合の測定とは異なります。
令和7年1月修了 問14
静的テストツールの機能に分類されるものはどれか。
| ア | ソースコードを解析して,プログラムの誤りを検出する。 |
|---|---|
| イ | テスト対象モジュールに必要なドライバ又はスタブを生成する。 |
| ウ | テストによって実行した経路から網羅度を算出する。 |
| エ | プログラムの特定の経路をテストするためのデータを生成する。 |
答え : ア
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
解説 :
「静的テストツール」とは,プログラムを実際に動かすことなく(静的に),ソースコードそのものを解析して問題点を見つけ出すためのツールです。文法上の誤りや,バグにつながりやすい書き方,コーディング規約に反する記述などを,プログラムを実行する前の段階で検出できます。正解は「ア」です。
「イ」は,動的テスト(プログラムを実際に動かして行うテスト)で使うドライバやスタブという補助プログラムを生成する機能の説明です。「ウ」は,テストを実際に実行した結果からカバレッジ(網羅度)を算出する動的テストの機能です。「エ」は,特定の実行経路を通るようなテストデータを生成する機能であり,こちらも実際にプログラムを動かすことを前提とした動的テストに関するものです。いずれも「プログラムを実行しない」という静的テストの条件に当てはまらないため不正解です。
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
解説 :
「静的テストツール」とは,プログラムを実際に動かすことなく(静的に),ソースコードそのものを解析して問題点を見つけ出すためのツールです。文法上の誤りや,バグにつながりやすい書き方,コーディング規約に反する記述などを,プログラムを実行する前の段階で検出できます。正解は「ア」です。
「イ」は,動的テスト(プログラムを実際に動かして行うテスト)で使うドライバやスタブという補助プログラムを生成する機能の説明です。「ウ」は,テストを実際に実行した結果からカバレッジ(網羅度)を算出する動的テストの機能です。「エ」は,特定の実行経路を通るようなテストデータを生成する機能であり,こちらも実際にプログラムを動かすことを前提とした動的テストに関するものです。いずれも「プログラムを実行しない」という静的テストの条件に当てはまらないため不正解です。
令和6年6月修了 問14
Javaなどのバイトコードプログラムをインタプリタで実行する方法と,コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上のバイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間(コンパイル時間も含む)が短くなるか。
〔条件〕
(1)実行時間はプログラムの行数に比例する。
(2)同じ100行のバイトコードのプログラムをインタプリタで実行すると0.2秒掛かり,コンパイルしてから実行すると0.003秒掛かる。
(3)コンパイル時間は100行当たり0.1秒掛かる。
(4)コンパイル方式の場合は,プログラムの行数に関係なくファイル入出力,コンパイラ起動などのために常に0.15秒のオーバヘッドが掛かる。
(5)プログラムファイルのダウンロード時間など,そのほかの時間は無視して考える。
〔条件〕
(1)実行時間はプログラムの行数に比例する。
(2)同じ100行のバイトコードのプログラムをインタプリタで実行すると0.2秒掛かり,コンパイルしてから実行すると0.003秒掛かる。
(3)コンパイル時間は100行当たり0.1秒掛かる。
(4)コンパイル方式の場合は,プログラムの行数に関係なくファイル入出力,コンパイラ起動などのために常に0.15秒のオーバヘッドが掛かる。
(5)プログラムファイルのダウンロード時間など,そのほかの時間は無視して考える。
| ア | 50 |
|---|---|
| イ | 75 |
| ウ | 125 |
| エ | 155 |
答え : エ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
解説 :
条件をもとに損益分岐点となる行数を求める計算問題です。インタプリタ方式の実行時間は100行あたり0.2秒なので1行あたり0.002秒,コンパイル方式の実行時間は100行あたり0.003秒なので1行あたり0.00003秒です。コンパイル時間は100行あたり0.1秒なので1行あたり0.001秒,さらに固定のオーバーヘッドが0.15秒かかります。
行数をnとすると,インタプリタの総時間は0.002n,コンパイル方式の総時間は 0.00003n+0.001n+0.15 です。コンパイル方式が短くなる条件は 0.002n > 0.00003n+0.001n+0.15 を解くと n > 約155 になります。従って,正解は「エ」です。連立不等式を丁寧に立てて解くことが求められる計算問題です。
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
解説 :
条件をもとに損益分岐点となる行数を求める計算問題です。インタプリタ方式の実行時間は100行あたり0.2秒なので1行あたり0.002秒,コンパイル方式の実行時間は100行あたり0.003秒なので1行あたり0.00003秒です。コンパイル時間は100行あたり0.1秒なので1行あたり0.001秒,さらに固定のオーバーヘッドが0.15秒かかります。
行数をnとすると,インタプリタの総時間は0.002n,コンパイル方式の総時間は 0.00003n+0.001n+0.15 です。コンパイル方式が短くなる条件は 0.002n > 0.00003n+0.001n+0.15 を解くと n > 約155 になります。従って,正解は「エ」です。連立不等式を丁寧に立てて解くことが求められる計算問題です。
令和4年12月修了 問19
コンパイラにおける最適化の説明として,適切なものはどれか。
| ア | オブジェクトコードを生成する代わりに,インタプリタ用の中間コードを生成する。 |
|---|---|
| イ | コンパイルを実施するコンピュータとは異なるアーキテクチャをもったコンピュータで動作するオブジェクトコードを生成する。 |
| ウ | ソースコードを解析して,実行時の処理効率を高めたオブジェクトコードを生成する。 |
| エ | プログラムの実行時に,呼び出されたサブプログラム名やある時点での変数の内容を表示するようなオブジェクトコードを生成する。 |
答え : ウ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
解説 :
コンパイラにおける最適化とは,ソースコードを解析し,実行時の処理効率をできるだけ高めるような機械語のオブジェクトコードを生成する処理のことです。最適化によって,不要な計算の削除や,繰り返し処理の効率化などが行われ,生成されるプログラムの実行速度が向上します。正解は「ウ」です。
「ア」は,オブジェクトコードを生成する代わりにインタプリタ用の中間コードを生成するという説明ですが,これはコンパイラとインタプリタのハイブリッドのような仕組みについての説明であり,最適化とは異なる概念です。
「イ」は,コンパイルを実施するコンピュータとは異なるアーキテクチャで動作するオブジェクトコードを生成するという説明ですが,これはクロスコンパイラについての説明です。
「エ」は,プログラムの実行時に呼び出されたサブプログラム名やある時点の変数の内容を表示するようなオブジェクトコードを生成するという説明ですが,これはデバッグ支援機能に関する説明であり,最適化とは目的が異なります。
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
解説 :
コンパイラにおける最適化とは,ソースコードを解析し,実行時の処理効率をできるだけ高めるような機械語のオブジェクトコードを生成する処理のことです。最適化によって,不要な計算の削除や,繰り返し処理の効率化などが行われ,生成されるプログラムの実行速度が向上します。正解は「ウ」です。
「ア」は,オブジェクトコードを生成する代わりにインタプリタ用の中間コードを生成するという説明ですが,これはコンパイラとインタプリタのハイブリッドのような仕組みについての説明であり,最適化とは異なる概念です。
「イ」は,コンパイルを実施するコンピュータとは異なるアーキテクチャで動作するオブジェクトコードを生成するという説明ですが,これはクロスコンパイラについての説明です。
「エ」は,プログラムの実行時に呼び出されたサブプログラム名やある時点の変数の内容を表示するようなオブジェクトコードを生成するという説明ですが,これはデバッグ支援機能に関する説明であり,最適化とは目的が異なります。
令和2年6月修了 問19
インタプリタの説明として,適切なものはどれか。
| ア | 原始プログラムを,解釈しながら実行するプログラムである。 |
|---|---|
| イ | 原始プログラムを,推論しながら翻訳するプログラムである。 |
| ウ | 原始プログラムを,目的プログラムに翻訳するプログラムである。 |
| エ | 実行可能なプログラムを,主記憶装置にロードするプログラムである。 |
平成30年秋期 問20
リンカの機能として,適切なものはどれか。
| ア | 作成したプログラムをライブラリに登録する。 |
|---|---|
| イ | 実行に先立ってロードモジュールを主記憶にロードする。 |
| ウ | 相互参照の解決などを行い,複数の目的モジュールなどから一つのロードモジュールを生成する。 |
| エ | プログラムの実行を監視し,ステップごとに実行結果を記録する。 |
平成29年12月修了 問19
| ア | 言語の文法に基づいてプログラムを解析し,文法誤りがないかチェックする。 |
|---|---|
| イ | プログラムを表現する文字の列を,意味のある最小の構成要素の列に変換する。 |
| ウ | 変数の宣言と使用とを対応付けたり,演算におけるデータ型の整合性をチェックする。 |
| エ | レジスタの有効利用を目的としたレジスタ割付けや,不要な演算を省略するためのプログラム変換を行う。 |
答え : ウ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
平成29年6月修了 問20
| ア | 磁気テープファイルや磁気ディスクファイルなどの内容を出力する。 |
|---|---|
| イ | プログラムの実行中にエラーが発生したとき,メモリの内容を出力する。 |
| ウ | プログラムの特定の命令を実行するごとに,指定されたメモリの内容を出力する。 |
| エ | プログラムの命令の実行順序,実行結果などの履歴情報を出力する。 |
平成28年6月修了 問20
各種言語プロセッサの説明のうち,適切なものはどれか。
| ア | アセンブラは,ある処理系用に書かれた原始プログラムを,他の処理系用の原始プログラムに変換する。 |
|---|---|
| イ | インタプリタは,他のコンピュータ用のプログラムを解読し,実行するマイクロプログラムである。 |
| ウ | ジェネレータは,入力・処理・出力などの必要な条件をパラメタで指示することによって,処理目的に応じたプログラムを生成する。 |
| エ | トランスレータは,高水準言語で書かれたプログラムを,解釈しながら実行する。 |
答え : ウ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
平成28年1月修了 問19
コンパイラの機能に関する記述として,適切なものはどれか。
| ア | 原始プログラムから生成された中間コードを編集し,ロードモジュールを生成する。 |
|---|---|
| イ | 原始プログラムにアドレスの割当てを行い,実行可能なプログラムとしてメモリに格納する。 |
| ウ | 原始プログラムの必要最低限の部分だけをその都度解釈し,実行する。 |
| エ | 原始プログラムを解析し,オブジェクトコードを生成する。 |
平成26年7月修了 問19
インタプリタの説明として,適切なものはどれか。
| ア | アセンブラ言語で書かれた原始プログラムを機械語のプログラムに翻訳するプログラムである。 |
|---|---|
| イ | 原始プログラムを1命令ずつ解釈して実行するプログラムである。 |
| ウ | 高水準言語で書かれた原始プログラムを機械語のプログラムに翻訳して,ロードモジュールを作るプログラムである。 |
| エ | 指定されたパラメタから,処理の目的に応じたプログラムを自動的に生成するプログラムである。 |
平成24年12月修了 問24
図はプログラムを翻訳して実行するまでの流れを示したものである。コンパイラ,リンカ,ローダの入出力の組合せとして,適切なものはどれか。

| a | b | c | |
| ア | 目的プログラム | ライブラリモジュール | ロードモジュール |
| イ | ライブラリモジュール | ロードモジュール | 目的プログラム |
| ウ | ロードモジュール | 目的プログラム | ライブラリモジュール |
| エ | ロードモジュール | ライブラリモジュール | 目的プログラム |
平成23年1月修了 問25
CASEツールは適用する開発工程や範囲によって分類できる。要求分析の支援機能が含まれる分類はどれか。
| ア | 下流 |
|---|---|
| イ | 上流 |
| ウ | テスト |
| エ | 保守 |
答え : イ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール