基本情報技術者試験 平成31年度春期の正答と、IPAの出典PDFへのリンクです。正答80問を収録しています。
問題文は収録していません。IPAが公表している問題冊子PDFがスキャン画像で、文字情報が入っていないためです。OCR(画像から文字を推定する処理)は行っていません。コードやビット列、数値が1文字変われば設問の答えが変わってしまうからです。
正答は、IPAが公表している解答例PDFから機械的に読み取ったものです。問題冊子PDFがスキャン画像のため、問題側の問番号と突き合わせる検算は原理的にできていません。解答例PDFの問番号をそのまま正としています。
80問。正答のみ。問題文は収録していません。
| 問 | 正答 | 問 | 正答 | 問 | 正答 | 問 | 正答 |
|---|---|---|---|---|---|---|---|
| 1 | ウ | 2 | ウ | 3 | エ | 4 | ウ |
| 5 | イ | 6 | ア | 7 | エ | 8 | ア |
| 9 | ウ | 10 | イ | 11 | エ | 12 | ウ |
| 13 | エ | 14 | エ | 15 | エ | 16 | イ |
| 17 | ア | 18 | エ | 19 | ア | 20 | エ |
| 21 | エ | 22 | イ | 23 | ア | 24 | ウ |
| 25 | ウ | 26 | イ | 27 | イ | 28 | イ |
| 29 | ウ | 30 | エ | 31 | ア | 32 | エ |
| 33 | エ | 34 | ア | 35 | ウ | 36 | ア |
| 37 | ウ | 38 | ア | 39 | ア | 40 | ア |
| 41 | イ | 42 | ア | 43 | ア | 44 | ウ |
| 45 | イ | 46 | ア | 47 | イ | 48 | ウ |
| 49 | ア | 50 | ア | 51 | イ | 52 | エ |
| 53 | エ | 54 | イ | 55 | イ | 56 | ア |
| 57 | エ | 58 | ア | 59 | エ | 60 | エ |
| 61 | イ | 62 | エ | 63 | イ | 64 | イ |
| 65 | ア | 66 | エ | 67 | イ | 68 | イ |
| 69 | イ | 70 | イ | 71 | エ | 72 | エ |
| 73 | エ | 74 | ウ | 75 | イ | 76 | エ |
| 77 | ア | 78 | エ | 79 | エ | 80 | ウ |
解答例PDFに出てくる大問は13問(問1、問2、問3、問4、問5、問6、問7、問8、問9、問10、問11、問12、問13)です。
この区分の解答は収録していません。
午後試験の解答例は「大問→設問→空欄記号→解答」の表の形で公表されています。これを文字として取り出すと列が混ざって読み順が崩れ、別の大問の解答がつながってしまいます。誤った対応づけを出すより、解答例PDFへのリンクに留めました。大問番号は解答例PDFに現れたもので、ここは信頼できます。
問1 では,クラウドサービスでの利用者認証の標準的な規格であるSAML(Security Assertion Markup Language)を参考にした,利用者認証に関する情報の受渡しについて出題した。 設問1 では,a の正答率は平均的で,おおむね理解されていた。b の正答率は高く,よく理解されていた。c の正答率は平均的で,おおむね理解されていたが,キと誤って解答した受験者が見受けられた。ディジタル署 名は,公開鍵暗号方式を利用しているが,受信側と送信側で利用する鍵について,よく理解しておいてほしい。 設問2 では,d の正答率は低く,あまり理解されていなかった。イやウと誤って解答した受験者が見受けられ た。図2 に示すとおり,利用者認証を行うために,Web ブラウザは,ID プロバイダ(IdP)にアクセス要求を送 信する。また,B 社クラウドサービスでは,利用者ID とパスワードを併せた利用者認証情報は取得しないこと を理解していれば,正答できた。e の正答率は平均的で,おおむね理解されていたが,エと誤って解答した受験 者が見受けられた。〔B 社クラウドサービスが利用可能になるまでの処理の手順〕において,Web ブラウザが 社外にあると,社内LAN に設置したIdP へのアクセス要求の送信(③)がファイアウォールの設定によって失 敗し,以降の処理ができないことを理解できれば,正答できた。 近年クラウドサービス側での対応が拡大している利用者認証の連携方式と,その仕組みを利用したアクセス 制御ができることについて,理解しておいてほしい。
問2 では,仮想記憶方式の一つであるページング方式を題材に,主記憶と仮想記憶との関係と,ページフォ ールト発生時の処理について出題した。 設問1 の正答率は高く,よく理解されていた。 設問2 では,b,c の正答率は平均的で,おおむね理解されていたが,b ではイと,c ではウと誤って解答した 受験者が見受けられた。物理ページと仮想ページの役割の差を理解していれば,正答できた。 設問3 では,d,e の正答率は低く,あまり理解されていなかった。d ではイ,エやカと,e ではイと誤って解 答した受験者が見受けられた。FIFO アルゴリズム及びLRU アルゴリズムに従って,データが物理アドレス空 間に存在している仮想ページの遷移を追跡すれば,正答できた。 なお,割り当てる物理ページの個数を増やしても,ページフォールトの発生回数が増加する場合があること に注意してほしい。 仮想記憶方式の仕組みやページフォールト発生時の処理の流れに関する知識は,OS の仕組みの理解やシステ ム性能の分析などにおいて必要となるので,理解しておいてほしい。
問3 では,定期健康診断を題材に,表の定義,ビューの定義,表の結合を用いたデータの抽出について出題 した。 設問1 のa の正答率は低く,あまり理解されていなかった。エやカと誤って解答した受験者が見受けられた。 文字列の曖昧検索は,LIKE 式の比較演算子を利用すればできることを理解していれば,正答できた。b の正答 率は平均的で,おおむね理解されていたが,b では,アと誤って解答した受験者が見受けられた。c の正答率は 高く,よく理解されていた。 設問2 のd の正答率は低く,あまり理解されていなかった。オと誤って解答した受験者が見受けられた。健 診結果表のCREATE TABLE 文には,年度と受診者ID を主キーとする設定と,受診者情報表の受診者ID への 参照制約設定が記述されていることを読み取れば正答できた。e の正答率は平均的で,おおむね理解されていた。 設問3 の正答率は平均的で,おおむね理解されていたが,イと誤って解答した受験者が多く見受けられた。 集計関数とグループ化は頻繁に行う処理の一つなので,理解しておいてほしい。 データベースを利用する場合,定義されている制約やデータ型に応じて適切な操作を選択する能力が必要と なるので,データ定義命令とデータ操作命令の理解を深めてもらいたい。
問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 では,農産物の検査管理システムを題材に,既存の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 では,開発プロジェクトにおける仕様変更の扱いを題材に,取扱手順の理解,進捗状況に応じた変更の コントロール及び変更に伴う必要な措置について出題した。 設問1 の正答率は高く,よく理解されていた。 設問2 のc の正答率は高く,よく理解されていた。d の正答率は低く,あまり理解されていなかった。イと誤 って解答した受験者が多く見受けられた。工数を算出する期間が設計工程から結合試験工程までであり,総合 試験行程は含まれないことに気がつけば,正答できた。e の正答率は平均的で,おおむね理解されていた。f~h の正答率は低く,あまり理解されていなかった。f,g はいずれも,ウと誤って解答した受験者が見受けられた。 仕様変更分に必要な追加の要員数は,仕様変更分の設計工程の開始から結合試験工程の完了までの期間に必要 な工数を対象期間の月数で除算すれば算出できることに気がつけば,正答できた。 プロジェクト実施中に仕様変更の依頼が発生した場合には,定められた取扱手順にのっとって対応すること が求められる。その対応において,仕様変更がプロジェクト計画に与える影響を的確に検討する能力は重要な ので,身につけておいてほしい。
問7 では,製造業における情報システム統合の検討を題材に,システム間のデータ連携の状況把握,現状と 統合後の運用保守コストの比較,及びシステム代替の可能性の検討について出題した。 設問1 のa,c 及びd の正答率は高く,よく理解されていた。b の正答率は平均的で,おおむね理解されてい たが,ウと誤って解答した受験者が見受けられた。異なる製造工場で同じ調達システムを使用している工場が あることに注意する必要があった。 設問2 の正答率は平均的で,おおむね理解されていた。 設問3 の正答率は平均的であったが,アと誤って解答した受験者が見受けられた。T 社のデータ連携経路の 状況と設問中の制約条件を正しく把握できていれば正答できた。 情報システム統合の際には,システム間のデータ連携の関係を正しく把握し,コストや期間などの条件を加 味して的確に判断できる能力を身につけておいてほしい。
問8 では,ハフマン符号化を題材に,簡単な例での圧縮率の計算,配列で表現したハフマン木を作成する処 理,及びハフマン木から文字のビット表現を作成して表示する再帰処理について出題した。 設問1 では,a の正答率は高く,よく理解されていた。b の正答率は低く,あまり理解されていなかった。ウ と誤って解答した受験者が見受けられた。圧縮前の文字列のビット長は,文字数と各文字のビット表現のビッ ト長である2 との積で求められる。また,圧縮後の文字列のビット長は,文字のビット表現のビット長が文字 の出現回数の多い順に1 ビット,2 ビット,3 ビット,3 ビットであり,文字の出現回数とその文字のビット長 との積の総和で求められることが分かれば,正答できた。 設問2 では,c の正答率は低く,あまり理解されていなかった。この繰返しの処理では,親が作成されていな い二つの節から,親の節を作成すること,及び副プログラムSortNode が出力するnsize は,整列対象とした節 の個数,すなわち親が作成されていない節の個数であることに気がつけば,正答できた。d の正答率は低く,あ まり理解されていなかった。キと誤って解答した受験者が見受けられた。副プログラムSortNode は,親が作成 されていない節を抽出する,すなわち配列parent の要素の値が-1 の節を抽出することに気がつけば,正答で きた。 設問3 では,e の正答率は低く,あまり理解されていなかった。副プログラムEncode は葉から根まで再帰処 理でたどる,すなわち根でなければ再帰処理を続けることに気がつけば,正答できた。f の正答率は低く,あま り理解されていなかった。エと誤って解答した受験者が見受けられた。現在の節が親の左側の子であるという ことは,親の要素番号をもつ要素組の左側の子の要素番号が現在の要素番号と同じであるという条件に気がつ けば,正答できた。 プログラムの作成においては,アルゴリズム及びプログラムの仕様を理解し,条件分岐や繰返しの条件を正 しく実装する能力が,使用するプログラム言語を問わず求められるので,身につけておいてほしい。
問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 では,学習塾のテストを題材に,塾生ごとにテストの合計点を求めて降順に整列し,順位リストを印字 する処理について出題した。 設問1 では,a の正答率は平均的で,おおむね理解されていた。b の正答率は低く,イと誤って解答した受験 者が多く見受けられた。このプログラムでは,合計点が同点の場合は同じ順位にするために,降順に整列した 後で先頭から順に番号を振るカウンタと,現在処理中の順位を保持するカウンタとをそれぞれ定義している。 さらに,これらのカウンタを校舎ごとにも定義している。PRT-PROC 段落は,レコード単位に呼び出されること から,ここではカウンタを設定する処理と分かる。複数個定義されているカウンタのそれぞれの役割を理解で きれば,正答できた。c,d の正答率は平均的で,おおむね理解されていた。 設問2 では,e の正答率は低く,ウと誤って解答した受験者が多く見受けられた。変更内容は,塾全体及び校 舎ごとの合計点を求める処理なので,レコード単位に実行する必要がある。各段落の手続の流れが理解できれ ば,正答できた。f の正答率は低く,あまり理解されていなかった。 順ファイルに格納されたトランザクションデータを集計して整列する処理は,COBOL で記述された業務プロ グラムで多用される。各データ項目の役割や手続の流れを正しく読み取る能力を,身につけておいてほしい。
問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 では,ビット領域内の対象ビット列を操作するプログラムを題材に,プログラムを完成させ,さらに既 存の副プログラムを再編成する方法について出題した。 設問1 では,a,b の正答率は低く,あまり理解されていなかった。a で求める相対アドレスは,ビット位置 の値を16 で割った商であり,値を右へ4 ビットシフトすれば求められることに気がつけば,正答できた。b で は,イと誤って解答した受験者が見受けられた。1 語の全ビットが操作の対象になるときは,GR5 に16(初期値) が入っていることに注意すれば,正答できた。c の正答率は平均的で,おおむね理解されていた。d の正答率は 低く,あまり理解されていなかった。ウと誤って解答した受験者が見受けられた。ビット位置が8,ビット長が 4 など,図1 の例とは異なる値の場合も想定してみると,ここでどのような処理が必要であるかを導くことがで きた。 設問2 では,e の正答率は平均的で,おおむね理解されていた。f の正答率は低く,あまり理解されていなか った。カと誤って解答した受験者が見受けられた。副プログラムBITSON のアドレスは,GR7 に設定された呼び 出したい副プログラムのアドレスとは無関係である。 異なる副プログラムのアドレスをレジスタに設定することによって,呼び出す副プログラムを使い分ける方 法は,プログラミングの応用力を高めるので,身につけておいてほしい。
問13 では,販売促進活動へのデータ活用を題材に,表計算を用いたデータの抽出及び目的に応じた計算処理 並びに集計・整列を行うマクロの作成について出題した。 設問1 の正答率は平均的で,おおむね理解されていたが,a では,イと誤って解答した受験者が見受けられた。 販売データは,販売日の昇順で格納されているので,単純に会員番号から販売日を検索しても,得られるのは 最終販売日ではなく最初に販売した日である。説明文の記述を読み,求めるものが何かを理解することが重要 である。b では,イと誤って解答した受験者が見受けられた。関数“表引き”の行と列の位置を丁寧に確認する などの注意が必要である。 設問2 では,正答率は低く,あまり理解されていなかった。d では,変数index の役割が十分に理解できてい ない受験者が多かったものと思われる。e では,ウと誤って解答した受験者が見受けられた。昇順と降順に並び 替えるための処理を取り違えたと思われる。f では,ウと誤って解答した受験者が見受けられた。会員番号,商 品販売額,商品最終販売日を格納するセルの列番号と,セル変数の相対表現で与えられる引数の値の対応を正 しく理解していれば正答できた。 複雑な条件でデータを検索したり並べ替えたりする処理は,使用するプログラム言語を問わず求められるの で,正しく理解しておくことが重要である。
出典: 独立行政法人情報処理推進機構(IPA)採点講評。採点講評PDFを開く
年度ごとの配点は収録していません。配点と出題数は制度改定で変わるため、現行制度の値を過去の回に当てると誤りになります。この回の配点は、下の試験要綱PDFでご確認ください。
平成31年度春期の試験要綱PDF(配点はこの中にあります)
下の値は情報処理技術者試験・情報処理安全確保支援士試験 試験要綱 Ver.5.4(2025年4月17日)に載っている現行制度のものです。配点も採点方式も、この回のものではありません。出題数が現行制度と同じ回でも、本サイトはこの値をその回の配点として扱っていません。
現行制度の試験要綱には、この名前のセクションがありません。制度が変わって試験の構成そのものが当時と違うため、現行制度の配点はこの回に当てはまりません。
現行制度の試験要綱には、この名前のセクションがありません。制度が変わって試験の構成そのものが当時と違うため、現行制度の配点はこの回に当てはまりません。
IPAが公開しているPDFへのリンクです。問題文はこのPDFの中にしかありません。
出典: 独立行政法人情報処理推進機構(IPA)。この回の問題冊子PDFは、中身を測っていません。本サイトが測った範囲では、CBT公開問題を除く問題冊子はすべてスキャン画像でした。