平成 20 年度

春期

基本情報技術者試験

解答例

午後試験
問1

問番号
設問 1

問2

設問 2
設問 1

問3

設問 2
設問 1
設問 2

問4

問5

設問 1

設問 2
設問 1
設問 2
設問 3
設問 4

問6

問7

設問 1
設問 2

ａｂｃｄａｂａｂｃｄｅａｂｃｄａｂｃｄｅｆｇａｂｃｄａｂｃｄ

正解
オ
イ
ウ
エ
ア
イ
ウ
エ
イ
イ
エ
エ
エ
オ
イ
ア
オ
ウ
ウ
ア
エ
ウ
ウ
ア
ア
エ
イ
エ
ア
ア
エ
ア
エ

備考

問番号
問8

問9

問 10

問 11

設問 1

設問 2
問 12

設問 1

設問 2

問 13

ａｂｃｄａｂｃａｂｃｄｅｆａｂｃｄｅｆａｂｃｄｅｆｇｈａｂｃｄｅｆ

正解
ウエ
ウ
ア
イウエ
ア
ア
ウ
ウエエエ
ウ
イ
ウエ
オ
ウ
イア
アエ
イ
ア
ウ
ウ
ウイアエア

備考

1/4
Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2008

問１
出題趣旨
補助記憶装置として普及しているハードディスク装置について，その仕組みやアクセス時間の計算方法を理解しておくことは重要である。
本問は，ハードディスク装置の仕様からアクセス時間を求めることと，ディスクキャッシュを用いた効率の向上を主題としている。
本問では，製品 A と製品 B の平均アクセス時間を比較することで，平均アクセス時間の計算方法を正しく理解しているかどうか，また，アクセス時間を短縮するためにディスクキャッシュを搭載した製品 C を例にして，ヒット率を用いて正しく計算ができるかどうかの応用力を評価する。

問２出題趣旨
文字列の検索アルゴリズムは，インターネット上の情報検索など，広い分野で使われている。検索アルゴリ
ズムの流れに着目してプログラムの構造を理解することは重要である。
本問は，文字列の出現回数を数えるという基本的なアルゴリズムを，プログラムの説明から正しく把握することによって，検索アルゴリズムの理解力やプログラムの作成能力を問うことを主題としている。
本問では，検索アルゴリズムにおいて，テキスト上の文字列の検索位置についての判定条件や比較処理の理解力，プログラムを解析する能力などを評価する。

問３
出題趣旨
業務系システムの運用において，データのバックアップ方式について理解しておくことは重要である。
本問は，業務系システムのデータファイルのバックアップを題材として，フルバックアップと組み合わせて利用するバックアップ方式である差分バックアップ及び増分バックアップの理解を問うことを主題としている。
本問では，差分バックアップと増分バックアップを比較して，バックアップ時間，復旧に必要な磁気テープの本数及び復旧時間を求める能力を評価する。

問４
出題趣旨
リストを用いた探索アルゴリズムと，そのデータ構造を理解しておくことは重要である。
本問は，リストを用いた探索アルゴリズムを，プログラムの説明から正しく把握してプログラムを完成することと，プログラムの解析能力やリスト操作の理解力などを問うことを主題としている。
本問では，リスト探索処理において，リストの作成やデータの比較処理，ポインタの付替え操作などを問う
ことで，プログラムを正しく追跡して完成する能力などを評価する。

問５
出題趣旨
利用者からの変更要求を正しく理解し，その要求を追加機能として実装するために，現在のプログラム仕様を把握して設計を進める能力は重要である。
本問は，仕様を把握するときに大切な，ファイル様式の理解，作成帳票の内容の理解と，それに基づく処理全体の流れの分析を主題としている。
本問では，現在の仕様を把握し，流れ図を完成する能力を評価するとともに，利用者からの要求内容に対して，追加機能を実装する能力についても評価する。

2/4
Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2008

問６
出題趣旨
文字列処理は C 言語で作成するプログラムにおいてよく行われる処理である。
本問は，文書から参考資料名を抜き出して参照番号に置き換えるとともに，文書の末尾に参考資料名の一覧を追加し，出力するプログラムの作成を主題としている。
本問では，基本的な文字列処理として，特定の文字（“\”）で囲まれた文字列を抜き出す処理についての理解力と，文字列比較の処理の流れについてのプログラミング能力を評価する。

問７
出題趣旨
トランザクションファイルを入力として，処理対象となるデータを判断し，集計する処理は，COBOL のプログラミングにおいて習得しておくべき基本的な技術である。
本問は，アンケートの集計を題材としたプログラムを完成させることで，トランザクションファイルの集計についての理解を問うことを主題としている。
本問では，ファイルの入力から集計までの一連の処理を問うとともに，無効データの個数を集計し，表示する追加の処理を問うことで，プログラミング能力を評価する。

問８
出題趣旨
Java を用いたプログラム開発では，クラスの継承や例外処理について理解しておくことは重要である。
本問は，簡略化した電気ポットの状態遷移を実装するプログラムの完成を主題としている。
本問では，状態遷移を実装するプログラムを完成させることを通して，クラス継承，例外処理という Java の基本的なプログラミング要素とプログラムロジックの理解度を評価する。

問９
出題趣旨
文字列操作はコンピュータ利用において基本的なものである。これをアセンブラ言語で表現してみることは，コンピュータ処理の基本を学ぶ上で有用である。
本問は，言語処理などで必須となる，文字列からのトークンの切出し（それが数字なのか英数字なのかといった属性の付与を含む）を主題としている。
本問では，1 文字を取り出したとき，それまでの文字列処理の状況から次に進むべき処理を正しく読み取れるか，アセンブラ言語でのコントロールブレーク処理を理解できるかを問うことで，プログラミング能力を評価する。

3/4
Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2008

問 10
出題趣旨
プログラム開発においては，アルゴリズムやデータ構造などの知識だけではなく，数学的な思考力が求められることも多い。
本問は，有限小数又は循環小数を既約分数に変換して出力するためのプログラムを題材として，文字列処理，算術演算，条件式，繰返し文などについてその理解度を問うことを主題としている。
本問では，仕様に基づいて正しい算術式を導出し，プログラムを完成する能力を評価する。

問 11
出題趣旨
COBOL プログラムにおける SORT 文，表操作，キーブレーク処理は，理解しておくべき重要な技術である。
本問は，比例代表選挙における当選者決定アルゴリズムを題材として，プログラムの説明からその仕様を理解し，それがどのようにプログラムに実装されているかを解析することを主題としている。
本問では，SORT 文における ASCENDING／DESCENDING 指定の使用方法や，データをテーブルに追加登録する処理の理解度を評価する。また，仕様変更に当たって，メッセージを組み立てるためのキーブレークの情報退避など，プログラムを適切に変更する能力も評価する。

問 12
出題趣旨
Java に限らず，プログラムは作成されてからその役割を終えるまで，様々な拡張や修正が行われるのが普通である。その過程で，Java においては，インタフェースをうまく活用することが重要である。
本問は，簡単なプログラムを例として，機能拡張時に Java のインタフェースを既存のクラスに適用し，新旧両方のクラスを統一して扱う方法を主題としている。
本問では，与えられた拡張方針に従って新たに追加されるインタフェースやクラスの役割とその扱い方を理解する能力と，それらに定義するべきメソッドを正しく判定する能力とを評価する。

問 13
出題趣旨
アセンブラ言語では 2 進数の演算が基本である。しかし，外部インタフェースを考えると 10 進数から 2 進数への変換及びその逆の変換がアセンブラプログラムにおいて重要な処理となる。
本問は，数字列を入力し，2 進数として内部処理を行った後，最大値，最小値，平均値を数字列で出力することを主題としている。
本問では，入力処理，除算処理及び出力処理を副プログラムとして主プログラムから分割し，複数のプログラムとして出題した。全体としての処理の流れが理解できたかを問うとともに，10 進数から 2 進数への変換，2進数から 10 進数への変換，入力処理，出力処理，演算処理という多様な処理について問うことによって，幅広いアセンブラのプログラミング能力を評価する。

4/4
Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2008