※出典:平成31年度春期 基本情報技術者試験 採点講評
- 問1 情報セキュリティ:クラウドサービスの利用者認証
- 問2 ソフトウェア:仮想記憶方式
- 問3 データベース:定期健康診断のデータが登録されているデータベース
- 問4 ネットワーク:eラーニングシステムの構成変更
- 問5 ソフトウェア設計:農産物の検査管理システム
- 問6 プロジェクトマネジメント:社内システムの仕様変更の扱い
- 問7 システム戦略:製造業における情報システムの統合
- 問8 データ構造及びアルゴリズム:ハフマン符号化を用いた文字列圧縮
- 問9 ソフトウェア開発(C):入力ファイル中の文字の出現回数の印字
- 問10 ソフトウェア開発(COBOL):学習塾のテスト結果の印字
- 問11 ソフトウェア開発(Java):迷路と迷路上を移動するコマ
- 問12 ソフトウェア開発(アセンブラ):ビット列に対する操作
- 問13 ソフトウェア開発(表計算):販売促進活動における販売データの利用
問1 情報セキュリティ:クラウドサービスの利用者認証
問 1 では,クラウドサービスでの利用者認証の標準的な規格である SAML(Security Assertion MarkupLanguage)を参考にした,利用者認証に関する情報の受渡しについて出題した。設問 1 では,a の正答率は平均的で,おおむね理解されていた。b の正答率は高く,よく理解されていた。 cの正答率は平均的で,おおむね理解されていたが,キと誤って解答した受験者が見受けられた。ディジタル署名は,公開鍵暗号方式を利用しているが,受信側と送信側で利用する鍵について,よく理解しておいてほしい。 設問 2 では,d の正答率は低く,あまり理解されていなかった。イやウと誤って解答した受験者が見受けられた。 |
問2 ソフトウェア:仮想記憶方式
問 2 では,仮想記憶方式の一つであるページング方式を題材に,主記憶と仮想記憶との関係と,ページフォールト発生時の処理について出題した。設問 1 の正答率は高く,よく理解されていた。
設問 2 では,b,c の正答率は平均的で,おおむね理解されていたが,b ではイと,c ではウと誤って解答した受験者が見受けられた。物理ページと仮想ページの役割の差を理解していれば,正答できた。 設問 3 では,d,e の正答率は低く,あまり理解されていなかった。d ではイ,エやカと,e ではイと誤って解答した受験者が見受けられた。FIFO アルゴリズム及び LRU アルゴリズムに従って,データが物理アドレス空間に存在している仮想ページの遷移を追跡すれば,正答できた。 |
問3 データベース:定期健康診断のデータが登録されているデータベース
問 3 では,定期健康診断を題材に,表の定義,ビューの定義,表の結合を用いたデータの抽出について出題した。設問 1 の a の正答率は低く,あまり理解されていなかった。エやカと誤って解答した受験者が見受けられた。文字列の曖昧検索は,LIKE 式の比較演算子を利用すればできることを理解していれば,正答できた。b の正答率は平均的で,おおむね理解されていたが,b では,アと誤って解答した受験者が見受けられた。c の正答率は高く,よく理解されていた。
設問 2 の d の正答率は低く,あまり理解されていなかった。オと誤って解答した受験者が見受けられた。健診結果表の CREATE TABLE 文には,年度と受診者 ID を主キーとする設定と,受診者情報表の受診者 ID への参照制約設定が記述されていることを読み取れば正答できた。e の正答率は平均的で,おおむね理解されていた。設問 3 の正答率は平均的で,おおむね理解されていたが,イと誤って解答した受験者が多く見受けられた。 |
問4 ネットワーク:eラーニングシステムの構成変更
問 4 では,e ラーニングシステムを提供する企業のネットワーク構成を題材に,TCP/IP 及び OSI 基本参照モ デルに関する基本的な知識と,負荷分散装置を使った Web システムの応答時間の短縮について出題した。 設問 1 設問 2 の正答率は高く,よく理解されていた。 設問 3 負荷分散装置を含むネットワーク構成の特性を理解し,さらにサーバ側での処理待ち時間を待ち行列モデルを用いて分析し,応答時間を算出する能力は,Web システムの性能見積りなどでは必須であり,理解しておいてほしい。 |
問5 ソフトウェア設計:農産物の検査管理システム
問 5 では,農産物の検査管理システムを題材に,既存の Web インタフェースの API (WebAPI)を使った処理シーケンスと必要な情報の整理について出題した。設問 1 は,a と b の正答率は低く,あまり理解されていなかった。a では,オと誤って解答した受験者が見受けられた。表 1 から,申込情報管理サーバが提供している情報取得用 WebAPI からアクセスしているデータベースを把握できれば,正答できた。b では,イやウと誤って解答した受験者が見受けられた。申込者 ID,検査農産物 ID 及び検査 ID で,申込者情報,検査農産物情報及び検査結果情報の関連づけを整理すれば,正答できた。c の正答率は平均的で,おおむね理解されていた。
設問 2 と設問 3 の正答率は低く,あまり理解されていなかった。設問 2 では,アやウと誤って解答した受験者が見受けられた。入力された検査農産物 ID から,画面に表示する内容の検査農産物情報,申込者情報,検査結果情報を,それぞれ 1 回の情報取得用 WebAPI の実行で取得できる。設問 3 では,イやウと誤って解答した受験者が見受けられた。検査日の降順で整列された検査結果情報を取得後,検査農産物情報,申込者情報の順番で取得する必要がある。いずれも,与えられた条件から,画面に表示する内容を取得する WebAPI の処理シーケンスを具体的に考えてみれば,正答できた。 |
問6 プロジェクトマネジメント:社内システムの仕様変更の扱い
問 6 では,開発プロジェクトにおける仕様変更の扱いを題材に,取扱手順の理解,進捗状況に応じた変更のコントロール及び変更に伴う必要な措置について出題した。設問 1 の正答率は高く,よく理解されていた。
設問 2 の c の正答率は高く,よく理解されていた。d の正答率は低く,あまり理解されていなかった。イと誤って解答した受験者が多く見受けられた。工数を算出する期間が設計工程から結合試験工程までであり,総合試験行程は含まれないことに気がつけば,正答できた。e の正答率は平均的で,おおむね理解されていた。f~hの正答率は低く,あまり理解されていなかった。f,g はいずれも,ウと誤って解答した受験者が見受けられた。仕様変更分に必要な追加の要員数は,仕様変更分の設計工程の開始から結合試験工程の完了までの期間に必要な工数を対象期間の月数で除算すれば算出できることに気がつけば,正答できた。 |
問7 システム戦略:製造業における情報システムの統合
問 7 では,製造業における情報システム統合の検討を題材に,システム間のデータ連携の状況把握,現状と統合後の運用保守コストの比較,及びシステム代替の可能性の検討について出題した。設問 1 の a,c 及び d の正答率は高く,よく理解されていた。b の正答率は平均的で,おおむね理解されていたが,ウと誤って解答した受験者が見受けられた。異なる製造工場で同じ調達システムを使用している工場があることに注意する必要があった。
設問 2 の正答率は平均的で,おおむね理解されていた。 設問 3 の正答率は平均的であったが,アと誤って解答した受験者が見受けられた。T 社のデータ連携経路の状況と設問中の制約条件を正しく把握できていれば正答できた。 |
問8 データ構造及びアルゴリズム:ハフマン符号化を用いた文字列圧縮
問 8 では,ハフマン符号化を題材に,簡単な例での圧縮率の計算,配列で表現したハフマン木を作成する処理,及びハフマン木から文字のビット表現を作成して表示する再帰処理について出題した。設問 1 では,a の正答率は高く,よく理解されていた。b の正答率は低く,あまり理解されていなかった。ウと誤って解答した受験者が見受けられた。圧縮前の文字列のビット長は,文字数と各文字のビット表現のビット長である 2 との積で求められる。また,圧縮後の文字列のビット長は,文字のビット表現のビット長が文字の出現回数の多い順に 1 ビット,2 ビット,3 ビット,3 ビットであり,文字の出現回数とその文字のビット長との積の総和で求められることが分かれば,正答できた。
設問 2 では,c の正答率は低く,あまり理解されていなかった。この繰返しの処理では,親が作成されていない二つの節から,親の節を作成すること,及び副プログラム SortNode が出力する nsize は,整列対象とした節の個数,すなわち親が作成されていない節の個数であることに気がつけば,正答できた。d の正答率は低く,あまり理解されていなかった。キと誤って解答した受験者が見受けられた。副プログラム SortNode は,親が作成されていない節を抽出する,すなわち配列 parent の要素の値が-1 の節を抽出することに気がつけば,正答できた。 設問 3 では,e の正答率は低く,あまり理解されていなかった。副プログラム Encode は葉から根まで再帰処理でたどる,すなわち根でなければ再帰処理を続けることに気がつけば,正答できた。f の正答率は低く,あまり理解されていなかった。エと誤って解答した受験者が見受けられた。現在の節が親の左側の子であるということは,親の要素番号をもつ要素組の左側の子の要素番号が現在の要素番号と同じであるという条件に気がつけば,正答できた。 |
問9 ソフトウェア開発(C):入力ファイル中の文字の出現回数の印字
問 9 では,入力ファイルを読み込んで,文字コードごとの出現回数を印字する処理について出題した。設問 1 では,a の正答率は平均的で,おおむね理解されていた。b,c の正答率は低く,あまり理解されていなかった。b では,ウと誤って解答した受験者が多く見受けられた。ウの 256 では,i = 0 のとき配列 freq の定義外の要素 freq[256]を参照してしまう。c は,この for 文が,1 行に 4 個の文字コードを印字するための繰返しであることに気がつけば,正答できた。
設問 2 は,d の正答率は平均的で,おおむね理解されていた。e~g の正答率は低く,あまり理解されていなかった。f,g は,アと誤って解答した受験者が多く見受けられた。変数 ix は,配列の要素番号 ix+1~255 の部分が整列済みであることを表している。問題文及びプログラムから,このことが理解できていれば,正答できた。 プログラムを変更する際には,追加する変数の役割や,それが既存の変数に与える影響などについて,プログラムと仕様を正しく理解しておくことが重要である。 |
問10 ソフトウェア開発(COBOL):学習塾のテスト結果の印字
問 10 では,学習塾のテストを題材に,塾生ごとにテストの合計点を求めて降順に整列し,順位リストを印字する処理について出題した。設問 1 では,a の正答率は平均的で,おおむね理解されていた。b の正答率は低く,イと誤って解答した受験者が多く見受けられた。このプログラムでは,合計点が同点の場合は同じ順位にするために,降順に整列した後で先頭から順に番号を振るカウンタと,現在処理中の順位を保持するカウンタとをそれぞれ定義している。さらに,これらのカウンタを校舎ごとにも定義している。PRT-PROC 段落は,レコード単位に呼び出されることから,ここではカウンタを設定する処理と分かる。複数個定義されているカウンタのそれぞれの役割を理解できれば,正答できた。c,d の正答率は平均的で,おおむね理解されていた。
設問 2 では,e の正答率は低く,ウと誤って解答した受験者が多く見受けられた。変更内容は,塾全体及び校舎ごとの合計点を求める処理なので,レコード単位に実行する必要がある。各段落の手続の流れが理解できれば,正答できた。f の正答率は低く,あまり理解されていなかった。 |
問11 ソフトウェア開発(Java):迷路と迷路上を移動するコマ
問 11 では,迷路を表すプログラムを題材に,列挙を活用したプログラムの完成について出題した。設問 1 では,a,b 及び d の正答率は低く,あまり理解されていなかった。a ではエと,b では,ウやカと誤って解答した受験者が見受けられた。a は 2 次元の座標から 1 次元である文字列中の文字位置の位置への変換,逆 に,b は 1 次元である文字列中の文字位置から 2 次元の座標への変換を問うている。ここで用いている変換処理は一般的なものであるので,よく理解しておいてほしい。d では,ウと誤って解答した受験者が多く見受けられた。メソッド left では,メソッド ordinal が返す値から 1 を引くとメソッド ordinal が 0 を返したときに d の式の値が負になってしまう。d は数値をある範囲で循環させる方法として一般的な手法を用いているので,よく理解しておいてほしい。c の正答率は平均的で,おおむね理解されていた。 設問 2 の正答率は平均的で,おおむね理解されていたが,e では,イと誤って解答した受験者が多く見受けられた。すぐ次の if 文の条件式で,リスト history の位置(i – 1)にアクセスしていることから,i が 1 以上でなければならないことに気がつけば,正答できた。 |
問12 ソフトウェア開発(アセンブラ):ビット列に対する操作
問 12 では,ビット領域内の対象ビット列を操作するプログラムを題材に,プログラムを完成させ,さらに既存の副プログラムを再編成する方法について出題した。設問 1 では,a,b の正答率は低く,あまり理解されていなかった。a で求める相対アドレスは,ビット位置の値を 16 で割った商であり,値を右へ 4 ビットシフトすれば求められることに気がつけば,正答できた。b では,イと誤って解答した受験者が見受けられた。1 語の全ビットが操作の対象になるときは,GR5 に 16(初期値)が入っていることに注意すれば,正答できた。c の正答率は平均的で,おおむね理解されていた。d の正答率は低く,あまり理解されていなかった。ウと誤って解答した受験者が見受けられた。ビット位置が 8,ビット長が4 など,図 1 の例とは異なる値の場合も想定してみると,ここでどのような処理が必要であるかを導くことができた。
設問 2 では,e の正答率は平均的で,おおむね理解されていた。f の正答率は低く,あまり理解されていなかった。カと誤って解答した受験者が見受けられた。副プログラム BITSON のアドレスは,GR7 に設定された呼び出したい副プログラムのアドレスとは無関係である。 |
問13 ソフトウェア開発(表計算):販売促進活動における販売データの利用
問 13 では,販売促進活動へのデータ活用を題材に,表計算を用いたデータの抽出及び目的に応じた計算処理並びに集計・整列を行うマクロの作成について出題した。設問 1 の正答率は平均的で,おおむね理解されていたが,a では,イと誤って解答した受験者が見受けられた。販売データは,販売日の昇順で格納されているので,単純に会員番号から販売日を検索しても,得られるのは最終販売日ではなく最初に販売した日である。説明文の記述を読み,求めるものが何かを理解することが重要である。b では,イと誤って解答した受験者が見受けられた。関数“表引き”の行と列の位置を丁寧に確認するなどの注意が必要である。
設問 2 では,正答率は低く,あまり理解されていなかった。d では,変数 index の役割が十分に理解できていない受験者が多かったものと思われる。e では,ウと誤って解答した受験者が見受けられた。昇順と降順に並び替えるための処理を取り違えたと思われる。f では,ウと誤って解答した受験者が見受けられた。会員番号,商品販売額,商品最終販売日を格納するセルの列番号と,セル変数の相対表現で与えられる引数の値の対応を正しく理解していれば正答できた。 |