基本情報技術者試験過去問 - 分野別(科目A) - 開発ツール

令和8年6月修了 問14
ローコード開発ツールを用いたソフトウェア開発の説明はどれか。
アアプリケーションソフトウェアの開発基盤の上で,用意された部品やテンプレートをGUIを用いた操作で組み合わせたり,必要に応じて一部の処理のソースコードを記述したりすることによって,アプリケーションソフトウェアを作成する。
イアプリケーションソフトウェアの開発基盤の上で,用意された部品やテンプレートをGUIを用いた操作で組み合わせるだけで,ソースコードを記述せずに,アプリケーションソフトウェアを作成する。
ウアプリケーションソフトウェアの定型的な枠組みを参照して,独自の処理のソースコードを記述することによって,アプリケーションソフトウェアを作成する。
エ利用者がシステムを利用して行う作業を自動化ツールに代行させるために,利用者によるシステムの操作手順をツールに登録する。
答え : ア
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
同一問題 : 〔令7公問5〕
解説 :
「ローコード開発」は,「GUI操作で部品を組み合わせつつ,必要に応じて一部だけソースコードを書く」開発スタイルです。全くコードを書かない「ノーコード開発」とは区別されます。

「イ」はローコードではなくノーコード開発の定義です。「ロー(少ない)」と「ノー(ゼロ)」の違いを取り違えないようにしましょう。「ウ」はGUI操作による部品の組み合わせという要素が欠けており,通常の開発に近い説明です。「エ」はRPA(Robotic Process Automation)の特徴に近く,アプリケーション開発とは異なる領域の話です。
令和8年1月修了 問14
コンパイラによる最適化の主な目的はどれか。
アプログラムの実行時間を短縮する。
イプログラムのデバッグを容易にする。
ウプログラムの保守性を改善する。
エ目的プログラムを生成する時間を短縮する。
答え : ア
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
解説 :
コンパイラの「最適化」(optimization)という機能の目的を問う問題です。最適化とは,ソースコードをコンパイルする際に,プログラムの動作結果を変えずに,より効率的な機械語コードに変換する処理のことです。その主な目的は,生成されたプログラムの実行時間を短縮したり,メモリ使用量を削減したりすることにあります。

誤りの選択肢のうち,「デバッグを容易にする」という説明は誤りで,むしろ最適化によってコードの構造が変化するため,デバッグがしにくくなる場合もあります。「保守性を改善する」という説明も誤りで,最適化は実行効率を高めることが目的であり,人間にとっての読みやすさや保守のしやすさとは直接関係しません。「目的プログラムを生成する時間を短縮する」という説明も誤りで,むしろ最適化処理を行うことでコンパイル自体にかかる時間は長くなる傾向があります。
令和7年12月修了 問14
ホワイトボックステストにおいて,プログラムの実行された部分の割合を測定するのに使うものはどれか。
アアサーションチェッカ
イシミュレータ
ウ静的コード解析ツール
エテストカバレージ分析ツール
答え : エ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
同一問題 : 〔令6修12問14〕〔令5修12問14〕〔令1修7問19〕〔平25春問22〕
解説 :
ホワイトボックステストにおいてプログラムの実行された部分の割合を測定する道具を選ぶ問題です。プログラムのソースコード中のどの命令や分岐が実際にテストで実行されたかを測定し,その割合(カバレージ)を分析するツールを「テストカバレージ分析ツール」と呼びます。選択肢「エ」が正解です。

「ア」の「アサーションチェッカ」は,プログラム中に記述した条件(アサーション)が満たされているかを検証するための仕組みです。「イ」の「シミュレータ」は,実機がなくても動作を模擬的に再現するためのツールです。「ウ」の「静的コード解析ツール」は,プログラムを実行せずにソースコードを解析して問題点を検出するツールであり,実行割合の測定とは異なります。
令和7年1月修了 問14
静的テストツールの機能に分類されるものはどれか。
アソースコードを解析して,プログラムの誤りを検出する。
イテスト対象モジュールに必要なドライバ又はスタブを生成する。
ウテストによって実行した経路から網羅度を算出する。
エプログラムの特定の経路をテストするためのデータを生成する。
答え : ア
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
同一問題 : 〔令1修6問20〕〔平29修12問20〕〔平28春問21〕〔平26春問19〕〔平23秋問23〕
解説 :
「静的テストツール」とは,プログラムを実際に動かすことなく(静的に),ソースコードそのものを解析して問題点を見つけ出すためのツールです。文法上の誤りや,バグにつながりやすい書き方,コーディング規約に反する記述などを,プログラムを実行する前の段階で検出できます。正解は「ア」です。

「イ」は,動的テスト(プログラムを実際に動かして行うテスト)で使うドライバやスタブという補助プログラムを生成する機能の説明です。「ウ」は,テストを実際に実行した結果からカバレッジ(網羅度)を算出する動的テストの機能です。「エ」は,特定の実行経路を通るようなテストデータを生成する機能であり,こちらも実際にプログラムを動かすことを前提とした動的テストに関するものです。いずれも「プログラムを実行しない」という静的テストの条件に当てはまらないため不正解です。
令和6年6月修了 問14
Javaなどのバイトコードプログラムをインタプリタで実行する方法と,コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上のバイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間(コンパイル時間も含む)が短くなるか。

〔条件〕
(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 になります。従って,正解は「エ」です。連立不等式を丁寧に立てて解くことが求められる計算問題です。
令和4年12月修了 問19
コンパイラにおける最適化の説明として,適切なものはどれか。
アオブジェクトコードを生成する代わりに,インタプリタ用の中間コードを生成する。
イコンパイルを実施するコンピュータとは異なるアーキテクチャをもったコンピュータで動作するオブジェクトコードを生成する。
ウソースコードを解析して,実行時の処理効率を高めたオブジェクトコードを生成する。
エプログラムの実行時に,呼び出されたサブプログラム名やある時点での変数の内容を表示するようなオブジェクトコードを生成する。
答え : ウ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
解説 :
コンパイラにおける最適化とは,ソースコードを解析し,実行時の処理効率をできるだけ高めるような機械語のオブジェクトコードを生成する処理のことです。最適化によって,不要な計算の削除や,繰り返し処理の効率化などが行われ,生成されるプログラムの実行速度が向上します。正解は「ウ」です。

「ア」は,オブジェクトコードを生成する代わりにインタプリタ用の中間コードを生成するという説明ですが,これはコンパイラとインタプリタのハイブリッドのような仕組みについての説明であり,最適化とは異なる概念です。

「イ」は,コンパイルを実施するコンピュータとは異なるアーキテクチャで動作するオブジェクトコードを生成するという説明ですが,これはクロスコンパイラについての説明です。

「エ」は,プログラムの実行時に呼び出されたサブプログラム名やある時点の変数の内容を表示するようなオブジェクトコードを生成するという説明ですが,これはデバッグ支援機能に関する説明であり,最適化とは目的が異なります。
令和2年6月修了 問19
インタプリタの説明として,適切なものはどれか。
ア原始プログラムを,解釈しながら実行するプログラムである。
イ原始プログラムを,推論しながら翻訳するプログラムである。
ウ原始プログラムを,目的プログラムに翻訳するプログラムである。
エ実行可能なプログラムを,主記憶装置にロードするプログラムである。
答え : ア
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
同一問題 : 〔平31春問19〕
令和1年6月修了 問19
あるコンピュータ上で,異なる命令形式のコンピュータで実行できる目的プログラムを生成する言語処理プログラムはどれか。
アエミュレータ
イクロスコンパイラ
ウ最適化コンパイラ
エプログラムジェネレータ
答え : イ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
同一問題 : 〔平30修1問19〕〔平26修1問23〕
平成30年秋期 問19
手続型言語のコンパイラが行う処理のうち,最初に行う処理はどれか。
ア意味解析
イ構文解析
ウ最適化
エ字句解析
答え : エ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
同一問題 : 〔平26修7問20〕〔平24修1問25〕
平成30年秋期 問20
リンカの機能として,適切なものはどれか。
ア作成したプログラムをライブラリに登録する。
イ実行に先立ってロードモジュールを主記憶にロードする。
ウ相互参照の解決などを行い,複数の目的モジュールなどから一つのロードモジュールを生成する。
エプログラムの実行を監視し,ステップごとに実行結果を記録する。
答え : ウ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
同一問題 : 〔平28春問20〕〔平25修1問25〕
平成29年12月修了 問19
コンパイラにおける処理を字句解析,構文解析,意味解析,最適化の四つのフェーズに分けたとき,意味解析のフェーズで行う処理はどれか。
ア言語の文法に基づいてプログラムを解析し,文法誤りがないかチェックする。
イプログラムを表現する文字の列を,意味のある最小の構成要素の列に変換する。
ウ変数の宣言と使用とを対応付けたり,演算におけるデータ型の整合性をチェックする。
エレジスタの有効利用を目的としたレジスタ割付けや,不要な演算を省略するためのプログラム変換を行う。
答え : ウ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
平成29年6月修了 問20
デバッグツールとして用いるトレーサの説明として,適切なものはどれか。
ア磁気テープファイルや磁気ディスクファイルなどの内容を出力する。
イプログラムの実行中にエラーが発生したとき,メモリの内容を出力する。
ウプログラムの特定の命令を実行するごとに,指定されたメモリの内容を出力する。
エプログラムの命令の実行順序,実行結果などの履歴情報を出力する。
答え : エ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
同一問題 : 〔平25修6問27〕
平成28年6月修了 問20
各種言語プロセッサの説明のうち,適切なものはどれか。
アアセンブラは,ある処理系用に書かれた原始プログラムを,他の処理系用の原始プログラムに変換する。
イインタプリタは,他のコンピュータ用のプログラムを解読し,実行するマイクロプログラムである。
ウジェネレータは,入力・処理・出力などの必要な条件をパラメタで指示することによって,処理目的に応じたプログラムを生成する。
エトランスレータは,高水準言語で書かれたプログラムを,解釈しながら実行する。
答え : ウ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
平成28年1月修了 問19
コンパイラの機能に関する記述として,適切なものはどれか。
ア原始プログラムから生成された中間コードを編集し,ロードモジュールを生成する。
イ原始プログラムにアドレスの割当てを行い,実行可能なプログラムとしてメモリに格納する。
ウ原始プログラムの必要最低限の部分だけをその都度解釈し,実行する。
エ原始プログラムを解析し,オブジェクトコードを生成する。
答え : エ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
同一問題 : 〔平22修1問23〕
平成26年7月修了 問19
インタプリタの説明として,適切なものはどれか。
アアセンブラ言語で書かれた原始プログラムを機械語のプログラムに翻訳するプログラムである。
イ原始プログラムを1命令ずつ解釈して実行するプログラムである。
ウ高水準言語で書かれた原始プログラムを機械語のプログラムに翻訳して,ロードモジュールを作るプログラムである。
エ指定されたパラメタから,処理の目的に応じたプログラムを自動的に生成するプログラムである。
答え : イ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
同一問題 : 〔平22修6問25〕
平成24年12月修了 問24
図はプログラムを翻訳して実行するまでの流れを示したものである。コンパイラ,リンカ,ローダの入出力の組合せとして,適切なものはどれか。


abc
ア目的プログラムライブラリモジュールロードモジュール
イライブラリモジュールロードモジュール目的プログラム
ウロードモジュール目的プログラムライブラリモジュール
エロードモジュールライブラリモジュール目的プログラム
答え : ア
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
同一問題 : 〔平23修6問26〕〔平21春問22〕
平成23年1月修了 問25
CASEツールは適用する開発工程や範囲によって分類できる。要求分析の支援機能が含まれる分類はどれか。
ア下流
イ上流
ウテスト
エ保守
答え : イ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
平成22年秋期 問23
プログラムの静的解析ツールで検出できるものはどれか。
ア関数ごとの実行処理時間
イ後に使用されない変数への代入
ウプログラム仕様に対応する処理の記述漏れ
エ用意したテストケースでは実行されなかった命令
答え : イ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
平成21年秋期 問20
CASEツールが提供する機能のうち,上流CASEツールに属するものはどれか。
アDFDの作成支援
イテストデータの作成支援
ウプログラムの自動生成
エライブラリの管理支援
答え : ア
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › 開発ツール
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる