平成 28 年度

秋期

基本情報技術者試験

採点講評

午後試験
問１
問 1 では，営業員が Web ブラウザからインターネット経由で利用する Web アプリケーションとして構築されたある商社の販売支援システムを題材に，サーバの適切な配置，ファイアウォールにおけるフィルタリングの設定及び情報セキュリティの 3 要素確保のための対応について出題した。
設問 1 の正答率は高く，よく理解されていた。
設問 2 の正答率は平均的で，おおむね理解されていたが，イ又はエと誤って解答した受験者が見受けられた。DB サーバへのアクセスを，Web サーバに限定することに気がつけば，正答できた。
設問 3 は，a の正答率は高く，よく理解されていた。b の正答率は平均的で，おおむね理解されていた。c の正答率は低く，あまり理解されていなかった。カと誤って解答した受験者が見受けられた。これは，可用性の意味を取り違えたためと思われる。情報セキュリティの 3 要素は基本であるので，よく理解しておいてほしい。
Web アプリケーションを構築する場合，適切なセキュリティ対策を考慮したネットワークの設計は欠くことができないものなので，身につけておいてほしい。

問２
問 2 では，言語処理系に関連して，状態遷移図による構文規則の表現，演算の優先順位を規定する式の構文規則，構文解析処理の解析結果である構文木について出題した。
設問 1 の正答率は平均的で，おおむね理解されていた。構文規則と状態遷移図の遷移の対応をよく考えれば，正答できた。
設問 2 の c，d の正答率は平均的で，おおむね理解されていた。e の正答率は低く，あまり理解されていなかった。イと誤って解答した受験者が見受けられた。式の構文木と構文規則が示す演算順序の関係をよく考えれば，正答できた。
コンパイラの処理過程に関する知識や，プログラム言語の文法を定義する構文規則を理解する能力は，情報処理技術者にとって重要なので，身につけておいてほしい。

問３
問 3 では，従業員の通勤手当を題材に，データベースを利用してのデータの詳細化と，詳細化したデータを集計する処理について出題した。
設問 1 及び設問 2 の正答率は高く，よく理解されていた。
設問 3 の正答率は平均的で，おおむね理解されていたが，イ又はウと誤って解答した受験者が見受けられた。設問に，“同じ従業員番号は一つだけ表示する”とあるので，従業員番号でグループ化する必要があることに気がつけば，正答できた。
設問 4 の正答率は高く，よく理解されていた。
データを詳細化してデータベースで管理することで，データの内訳が可視化され，様々な角度から集計や分析をすることが可能になる。詳細化されたデータを，要求に応じて適切に集計などする能力を身につけてほしい。

1/5©2016 独立行政法人情報処理推進機構

問４問 4 では，複数のデータで構成される Web 画面を題材に，与えられた計算モデルを基に，データの転送時間を計算することについて出題した。
a，b の正答率は低く，あまり理解されていなかった。a ではアと誤って解答した受験者が多く見受けられた。問題文をよく読めば，100 個の固定データ全てについて掛かる時間であることが分かり，正答できた。bではオと誤って解答した受験者が多く見受けられた。個々のデータの転送に掛かる時間が 3 × t ＋ v ÷ e で計算できることから，100 個のデータの転送に掛かる時間は，3 × t ＋ v ÷ e × 100 ではなく，（3 × t ＋ v ÷ e）× 100 になることが分かれば，正答できた。c，d の正答率は平均的で，おおむね理解されていた。c ではイと誤って解答した受験者が見受けられた。c が HTML 文書データの転送時間の一部であり，転送時間を算出するためにはデータサイズを実行転送速度 e で割る必要があることに気がつけば，正答できた。d ではクと誤って解答した受験者が見受けられた。d が表示する商品 n 個分の画像データの転送時間の一部であることは理解できているので，n が括弧の外にあることに気がつけば，正答できた。
システムの設計に当たり，データ転送時間の計算に限らず，様々な数値を見積もることはよくある。見積りに当たり，計算モデルに当てはめる数値を正しく判定する能力は必要であるので，身につけておいてほしい。

問５
問 5 では，レンタル業務システムの設計を題材に，オブジェクト指向設計で用いる UML について出題した。
設問 1 は，a の正答率は平均的で，おおむね理解されていたが，エと誤って解答した受験者が見受けられた。b の正答率は低く，あまり理解されていなかった。カ，キ又はクと誤って解答した受験者が見受けられた。b は，貸出明細には必ず一つレンタル商品のインスタンスが関連すること，また，貸し出されていないレンタル商品に関連する貸出明細のインスタンスは存在しないことを理解できれば，正答できた。
設問 2 は，c の正答率は高く，よく理解されていた。d の正答率は低く，あまり理解されていなかった。イと誤って解答した受験者が見受けられた。貸出料金は，商品情報ごと，貸出期間（1 日，2 日，1 週間）ごとに設定されていること，その上で，図 4 のシーケンス図において商品情報は特定されており，貸出料金を取得するためのメッセージは商品情報のインスタンスに送信していることが読み取れれば，正答できた。
設問 3 の正答率は低く，あまり理解されていなかった。エと誤って解答した受験者が見受けられた。オブジ
ェクト指向設計の基礎知識であるインヘリタンス（継承），ポリモーフィズム（多様性）について理解していれば，正答できた。
オブジェクト指向によるソフトウェア開発において，クラス及びクラス間の関連をクラス図で表現する能力，シーケンス図を用いて，クラスのインスタンス間のメッセージの流れを時系列的に表現する能力は重要なので，是非身につけておいてほしい。

問６
問 6 は，単体テストにおける品質管理を題材に，代表的な管理の指標を用いたテスト結果の分析，評価，並びに結果に対する改善策への対応方法について出題した。
設問 1 の正答率は高く，よく理解されていたが，アと誤って解答した受験者が見受けられた。バグ摘出率が基準範囲の下限に満たない場合，バグの内容から品質を評価する必要があることに気がつけば，正答できた。
設問 2 の正答率は高く，よく理解されていたが，f では，エと誤って解答した受験者が見受けられた。テストの実施が不足している処理の流れに対して，テストケースを追加する必要があることに気がつけば，正答できた。
テスト工程の品質管理において，管理の指標を用いた計画の立案，テストの結果に基づいた評価及び改善策による品質の確認は，必要な作業であるため，よく理解しておいてほしい。

2/5©2016 独立行政法人情報処理推進機構

問７
問 7 では，消費財メーカ間の業務提携と出資を題材に，基本的な会計及び現在価値の考え方について出題した。
設問 1 は，a，b の正答率は平均的で，おおむね理解されていた。c の正答率は低く，あまり理解されていなかった。イと誤って解答した受験者が多く見受けられた。販管費の圧縮によって営業活動によるキャッシュフローを上げられることが分かれば，正答できた。
設問 2 は，d の正答率は平均的で，おおむね理解されていた。e の正答率は低く，あまり理解されていなかった。ア又はイと誤って解答した受験者が見受けられた。2017 年に FCF が 10％増加することと，割引率 0.1で現在価値に割り引くことに気がつけば，正答できた。f の正答率は高く，よく理解されていた。
設問 3 の正答率は低く，あまり理解されていなかった。FCF に影響しない条件，FCF を減少させる条件及びFCF を増加させる条件を適切に見極められれば，正答できた。
実務において，財務諸表を適切に読み解く能力や，現在価値を正確に計算する能力は重要である。様々な条件によって財務諸表がどう影響を受けるかの分析と併せて，理解・把握してほしい。

問８
問 8 では，数値を編集パターンに従って編集する処理について出題した。
設問 1 の正答率は低く，あまり理解されていなかった。Pattern[]中の文字“#”や“.”を fill 文字“*”で置き換えるかそのまま残すかの判定を誤って解答した受験者が見受けられた。表 2 のケース 8，9 の処理を見ると，制御文字以外の文字は，signif の値が off のときに fill 文字で置き換えることが分かる。変数
signif の値の変化に気をつけてプログラムを追跡すれば，正答できた。
設問 2 の正答率は平均的で，おおむね理解されていた。
設問 3 の正答率は低く，あまり理解されていなかった。イと誤って解答した受験者が多く見受けられた。正の数値の後に続く文字を fill 文字で置き換えるには，Value[]中の最後の文字“+”を検出したとき，signifの値を off にする必要がある。また，数値が正であれば，Value[]中の最後の数字が fill 文字で置き換わることはない。これらを満たすケースを選べば正答できた。
本問では，ある程度複雑なケース分けを扱っているが，実務においては，より複雑なケース分けを扱う場合が多い。処理の流れと，それを制御する仕組みを，よく理解することが重要である。

問９
問 9 では，開発対象となる複数のサブシステムについて，それらの開発作業の順序を求めるためのプログラムの作成と，求めた結果を出力するプログラムの追跡について出題した。
設問 1 は，a，c の正答率は低く，あまり理解されていなかった。a ではイと誤って解答した受験者が見受けられた。a を含む for ループでは，対象サブシステム job[job_sch[i]]と job[job_sch[i + 1]]の開発作業を，順序どおりに実施した場合の二つの対象サブシステムの遅延日数の合計 wt_a と，順序を入れ替えて実施した場合の二つの対象サブシステムの遅延日数の合計 wt_b を求めている。a を含む 3 行では，job[job_sch[i + 1]] →job[job_sch[i]]の順に対象サブシステムの開発作業を実施した場合の二つの対象サブシステムの遅延日数の合計を求めていることが分かれば，正答できた。c ではエと誤って解答した受験者が多く見受けられた。c を含む行では，変数 ft から，一つ前に開発作業を実施する対象サブシステムの開発作業日数（job[job_sch[i 1]].job_term）を減らすことと，変数 i の値を 1 減らすことを行っているので，前置減分演算子 -- を使う必要がある。このことが分かれば，正答できた。b，d の正答率は平均的で，おおむね理解されていた。
設問 2 は，e，f の正答率は平均的で，おおむね理解されていた。
C 言語のプログラムでは，前置演算子と後置演算子はよく使われる。演算のタイミングに違いがあることについて，十分に理解しておいてほしい。

3/5©2016 独立行政法人情報処理推進機構

問 10
問 10 では，健康診断の結果の記録を題材に，突合せによるマスタファイルの更新処理について出題した。
設問 1 は，a の正答率は平均的で，おおむね理解されていた。b，c の正答率は低く，あまり理解されていなかった。b ではエと誤って解答した受験者が見受けられたが，REL-PROC 段落は整列併合ファイルへのレコードの引き渡しを担う段落であることを理解できれば，正答できた。
設問 2 は，d，f，g の正答率は平均的で，おおむね理解されていた。e の正答率は低く，あまり理解されていなかった。当該処理は，結果ファイルの処理が終了した後に健康診断マスタファイルに未読のレコード，つまり，今回受診していない従業員のレコードが残っていた場合の処理である。プログラムの説明にある“受診していない従業員に対するレコードは存在しない”ことに気がつけば，正答できた。
COBOL がよく使用されている業務処理では，整列や突合せが多用される。受験者には適切に実装できる能力を身につけておいてほしい。

問 11
問 11 では，簡単な電卓プログラムを題材に，Java の列挙（enum）の特徴を生かし，キーによる駆動型の処理を完成させることについて出題した。
設問 1 では，a の正答率は平均的で，おおむね理解されていた。b，c の正答率は低く，あまり理解されていなかった。スタックの先頭に入力中の数値が格納されていること，及び各数字キーの定数の数値は，列挙型の共通のメソッド ordinal で得られることが理解できれば，正答できた。d の正答率も低く，あまり理解されていなかった。列挙の各定数は，インスタンスであり，そのインスタンスメソッドが呼び出されたとき，this は呼び出された定数を参照していることが理解できれば，正答できた。e の正答率も低く，あまり理解されていなかった。変数 map には，列挙 OperationKey と DigitKey 両方の定数を格納するので，共通の型である Key を用いる必要があることに気がつけば，正答できた。
設問 2 では，f，g の正答率は平均的で，おおむね理解されていた。
Java の列挙は，通常のクラスのようにコンストラクタやメソッドを定義できるなどの特徴があるので，使いこなせるように習得しておいてほしい。

問 12
問 12 では，リストに対して，要素を挿入又は削除するプログラムの作成について出題した。
全ての設問において，正答率は低く，あまり理解されていなかった。
設問 1 の a ではイと誤って解答した受験者が多く見受けられた。また，ウ又はオと誤って解答した受験者が見受けられた。GR1 と GR2 の役割と“要素をたどる”という操作の意味が理解できれば，正答できた。b では
ア又はイと誤って解答した受験者が見受けられた。直前の命令で，GR2 に，新たに挿入される要素の先頭アドレスが得られていることに気がつけば，正答できた。c ではウ又はエと誤って解答した受験者が見受けられた。ここでも，GR2 の役割が理解できれば，正答できた。
設問 2 では，ア又はイと誤って解答した受験者が見受けられた。GR2 は，一旦 GR4 に退避された後，行番号15 で新たに挿入される要素の 1 語目が設定されることに気がつけば，正答できた。
設問 3 では，オ以外に解答が分散した。主記憶上に展開されたリストを，図示するなどの工夫をしてイメージできれば，正答できた。
リストは最も基本的なデータ構造の一つであり，実装と操作について理解しておくことは非常に重要である。ぜひ習得しておいてほしい。

4/5©2016 独立行政法人情報処理推進機構

問 13
問 13 では，建物の改築作業のスケジュールを策定するためのワークシートの作成と，作業の総日数が最小となる状態遷移列を選定するマクロの作成について出題した。
設問 1 では，a の正答率は平均的で，おおむね理解されていたが，イと誤って解答した受験者が見受けられた。絶対参照，相対参照について正しく理解していれば正答できた。b の正答率は平均的で，おおむね理解されていたが，ア又はウと誤って解答した受験者が見受けられた。作業総日数を算出する仕組みが問題文から読み取れれば，正答できた。c の正答率は高く，よく理解されていた。
設問 2 では，d ～ f の正答率はいずれも低く，あまり理解されていなかった。d ではイと誤って解答した受験者が見受けられた。変数 Current が示す状態 ID が終了状態 ID から開始状態 ID まで順番に遡って変化していることに気がつけば，正答できた。
仕様に基づいて正しい式やマクロを記述する能力は，表計算に限らず，プログラム言語一般で求められる基礎的技能であり，しっかりと習得しておくことが重要である。

5/5©2016 独立行政法人情報処理推進機構