平成31年度春期 基本情報技術者試験(午後試験)採点講評

出典:平成31年度春期 基本情報技術者試験 採点講評

目次

  1. 情報セキュリティ:クラウドサービスの利用者認証
  2. ソフトウェア:仮想記憶方式
  3. データベース:定期健康診断のデータが登録されているデータベース
  4. ネットワーク:eラーニングシステムの構成変更
  5. 問5 ソフトウェア設計:農産物の検査管理システム
  6. 問6 プロジェクトマネジメント:社内システムの仕様変更の扱い
  7. 問7 システム戦略:製造業における情報システムの統合
  8. 問8 データ構造及びアルゴリズム:ハフマン符号化を用いた文字列圧縮
  9. 問9 ソフトウェア開発(C):入力ファイル中の文字の出現回数の印字
  10. 問10 ソフトウェア開発(COBOL):学習塾のテスト結果の印字
  11. 問11 ソフトウェア開発(Java):迷路と迷路上を移動するコマ
  12. 問12 ソフトウェア開発(アセンブラ):ビット列に対する操作
  13. 問13 ソフトウェア開発(表計算):販売促進活動における販売データの利用

※出典:平成31年度春期 基本情報技術者試験 採点講評


問1 情報セキュリティ:クラウドサービスの利用者認証

問 1 では,クラウドサービスでの利用者認証の標準的な規格である SAML(Security Assertion MarkupLanguage)を参考にした,利用者認証に関する情報の受渡しについて出題した。

設問 1 では,a の正答率は平均的で,おおむね理解されていた。b の正答率は高く,よく理解されていた。
cの正答率は平均的で,おおむね理解されていたが,キと誤って解答した受験者が見受けられた。ディジタル署名は,公開鍵暗号方式を利用しているが,受信側と送信側で利用する鍵について,よく理解しておいてほしい。

設問 2 では,d の正答率は低く,あまり理解されていなかった。イやウと誤って解答した受験者が見受けられた。
図 2 に示すとおり,利用者認証を行うために,Web ブラウザは,ID プロバイダ(IdP)にアクセス要求を送信する。また,B 社クラウドサービスでは,利用者 ID とパスワードを併せた利用者認証情報は取得しないことを理解していれば,正答できた。
e の正答率は平均的で,おおむね理解されていたが,エと誤って解答した受験者が見受けられた。〔B 社クラウドサービスが利用可能になるまでの処理の手順〕において,Web ブラウザが社外にあると,社内 LAN に設置した IdP へのアクセス要求の送信(③)がファイアウォールの設定によって失敗し,以降の処理ができないことを理解できれば,正答できた。
近年クラウドサービス側での対応が拡大している利用者認証の連携方式と,その仕組みを利用したアクセス制御ができることについて,理解しておいてほしい。



問2 ソフトウェア:仮想記憶方式

問 2 では,仮想記憶方式の一つであるページング方式を題材に,主記憶と仮想記憶との関係と,ページフォールト発生時の処理について出題した。

設問 1 の正答率は高く,よく理解されていた。

設問 2 では,b,c の正答率は平均的で,おおむね理解されていたが,b ではイと,c ではウと誤って解答した受験者が見受けられた。物理ページと仮想ページの役割の差を理解していれば,正答できた。

設問 3 では,d,e の正答率は低く,あまり理解されていなかった。d ではイ,エやカと,e ではイと誤って解答した受験者が見受けられた。FIFO アルゴリズム及び LRU アルゴリズムに従って,データが物理アドレス空間に存在している仮想ページの遷移を追跡すれば,正答できた。
なお,割り当てる物理ページの個数を増やしても,ページフォールトの発生回数が増加する場合があることに注意してほしい。
仮想記憶方式の仕組みやページフォールト発生時の処理の流れに関する知識は,OS の仕組みの理解やシステム性能の分析などにおいて必要となるので,理解しておいてほしい。




問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 では,a の正答率は低く,あまり理解されていなかった。アやカと誤って解答した受験者が見受けられた。クライアントから e ラーニングシステムへのアクセス要求は,負荷分散装置が受け取り,アプリケーションサーバに振り分けることを理解していれば,正答できた。b の正答率は高く,よく理解されていた。c の正答率は低く,あまり理解されていなかった。イと誤って解答した受験者が見受けられた。TCP/IP において,TCP や UDP ヘッダ内にポート番号は設定されるが,本問では HTTP ヘッダ内の情報(cookie)を使用して振り分けることに気がつけば,正答できた。

設問 2 の正答率は高く,よく理解されていた。

設問 3 の正答率は低く,あまり理解されていなかった。ウと誤って解答した受験者が多く見受けられた。本 問では,サーバが 2 台になっても同じ M/M/1 の待ち行列モデルで計算することが明記されているので,サーバ1 台のときの M/M/1 の待ち行列モデルの計算式を適用し,サーバの利用率ρ1/2 になることに気がつけば正答できた。

負荷分散装置を含むネットワーク構成の特性を理解し,さらにサーバ側での処理待ち時間を待ち行列モデルを用いて分析し,応答時間を算出する能力は,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 の処理シーケンスを具体的に考えてみれば,正答できた。
既存の WebAPI を用いて,ソフトウェア設計することが近年増えてきている。必要となる情報の関係を把握し,取得する 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 の正答率は低く,あまり理解されていなかった。
順ファイルに格納されたトランザクションデータを集計して整列する処理は,COBOL で記述された業務プログラムで多用される。各データ項目の役割や手続の流れを正しく読み取る能力を,身につけておいてほしい。



問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 以上でなければならないことに気がつけば,正答できた。
リストや配列に格納されている様々なデータを取り扱う際に,アクセスすべき要素の位置を算出する能力は,Java に限らず求められるので,身につけておいてほしい。



問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 では,ウと誤って解答した受験者が見受けられた。会員番号,商品販売額,商品最終販売日を格納するセルの列番号と,セル変数の相対表現で与えられる引数の値の対応を正しく理解していれば正答できた。
複雑な条件でデータを検索したり並べ替えたりする処理は,使用するプログラム言語を問わず求められるので,正しく理解しておくことが重要である。

いますぐ無料でお試しできます

スタディングは、いますぐ無料でお試しできます。
短期合格セミナ-「失敗例から学ぶ」配信中!

無料セミナー・無料講座を試す

無料セミナー
「失敗例から学ぶ 短期合格セミナー」配信中!




無料セミナー・無料講座を試す

無料動画講座
初回講座 :
「経営組織論」「開発プロセス・手法」「離散数学1」
「午後試験解説講座:情報セキュリティ」

【講座内容】
ビデオ/音声講座、テキスト、スマート問題集、
セレクト過去問集付き!

無料講座と無料セミナーを試してみる