令和元年度 (2019年度) 秋期 基本情報技術者試験 問題解説


2020-03-04 更新

試験対策講座の講師として、誠に勝手ながら、2019 年 10 月 20 日(日)に実施された基本情報技術者の講評をさせていただきます。

今回受験された人は振り返りの題材として、今後受験される人は解法ポイントを知る資料として、参考にしていただけたら幸いです。

午後試験のソフトウェア開発の問題は、選択者が多い Java と 表計算 を取り上げます。

午前試験は、かなり難しかった

ハッキリ言って、今回の午前試験は、かなり難しかったです。真新しい問題が多かったからです。

さらに、2019 年 1 月 14 日付けの IPA のニュースリリースで「令和元年( 2019 年)秋期試験から数学に関する出題比率を多くする」と発表された通りに、数学に関する問題も目立っていました。

 

まず、出題テーマを見てみましょう。

fiber_new という印を付けたものは真新しい問題であり、 数学  という印を付けてものは数学に関する問題(技術、管理、戦略に関する計算問題ではなく、純粋に数学の問題)です。

全 80 問の中に、fiber_new は 29 問あり、 数学  は 3 問あります。

テクノロジ系の出題テーマ
1 10進数を2進数に変換する処理 fiber_new
2 8ビットの全ビットを反転する操作
3 ノードとノード間のエッジの有無を示す隣接行列 fiber_new
4 関数の極限 fiber_new  数学 
5 正規分布を表すグラフ  数学 
6 組合せと確率 fiber_new  数学 
7 バカス・ナウア記法
8 複数のスタックを使ったデータの入れ替え fiber_new
9 花文字の回転
10 ハッシュ法によるデータの格納
11 関数の再帰呼び出し
12 クロック周波数からCPUの平均命令実行数を求める
13 多重割込みが許可されている場合のCPU時間 fiber_new
14 デイジーチェーンと呼ばれる接続方法
15 RAIDのミラーリング
16 稼働率の計算
17 バッファサイズを表す計算式
18 優先度に基づくプリエンプティブなスケジューリング fiber_new
19 増分バックアップ方式の説明
20 DRAMの特徴
テクノロジ系の出題テーマ
21 シフトレジスタのタイミングチャート fiber_new
22 MIL記号で示した論理回路
23 コード体系の種類
24 H.264/MPEG-4AVCの説明 fiber_new
25 UMLで表した概念データモデルの解釈
26 SQLのSELECT命令
27 関係モデルの演算の種類
28 トランザクションの状態遷移 fiber_new
29 トランザクションの2層ロッキングプロトコル fiber_new
30 ネットワークの回線利用率
31 CSMA/CD方式のLANのノードの送信動作 fiber_new
32 レイヤ3スイッチだけが持つ機能 fiber_new
33 NAPT(IPマスカレード)の機能
34 プロキシサーバの役割 fiber_new
35 DNSキャッシュポイズニングの説明
36 マルウェアの動的解析 fiber_new
37 WPA3の説明
38 RSA方式のディジタル署名の検証鍵と使用方法 fiber_new
39 情報セキュリティのバックドアに該当するもの
40 SHA-256を使って情報セキュリティ上で実現できること
テクノロジ系の出題テーマ
41 SEOポイズニングの説明 fiber_new
42 ファイアウォールとDMZの役割 fiber_new
43 SIEM(Security Information and Event Management)の機能 fiber_new
44 SMTP-AUTHの機能
45 DFDを構成する図記号の意味
46 モジュール結合度を弱くする方法
47 エラー埋没法のエラー数を表す式 fiber_new
48 テストに使用するスタブとドライバの説明
49 テストケースの命令網羅と判定条件網羅の関係
50 XP(eXtreme Programming)におけるプラクティスの種類
マネジメント系の出題テーマ
51 プレシデンスダイアグラム法の依存関係
52 アローダイアグラムからクリティカルパスを求める
53 ファンクションポイント法の説明
54 打合せ回数の計算 fiber_new
55 サービスマネジメントシステムへのPDCA方法論の適用
56 システムの移行計画に関する記述
57 事業継続計画で用いられる用語(RTO) fiber_new
58 システムテストの監査におけるチェックポイント
59 システム監査人の独立性
60 アクセス制御を監査するシステム監査人の行為
ストラテジ系の出題テーマ
61 情報化投資において最適な資源配分を行う手法
62 人材不足の解消を目標としたRPAの事例 fiber_new
63 マーケティング活動に活用するビッグデータの取扱い fiber_new
64 個人情報の漏えいや目的外利用に対する予防的な機能 fiber_new
65 非機能要件の定義で行う作業
66 リレーションシップマーケティングの説明 fiber_new
67 内部ビジネスプロセスの視点における戦略目標と業績評価指標 fiber_new
68 技術経営におけるプロダクトイノベーションの説明
69 ディジタルディバイドの説明
70 ”かんばん方式”の説明
ストラテジ系の出題テーマ
71 ブロックチェーンによる仮想通貨マイニングの説明 fiber_new
72 クラウドファウンディングの説明
73 生産現場における機械学習の活用事例
74 BCP(事業継続計画)の策定と運用
75 CIOの果たすべき役割
76 線形計画法で最大利益を求める
77 ROIの説明
78 目標利益を達成するのに必要な売上高
79 シュリンクラップ契約におけるソフトウェアの使用許諾契約の成立 fiber_new
80 製造物責任法の対象となるもの

真新しい問題に遭遇してもジタバタしよう

今回の午前試験では、真新しい問題が多かったので、今後受験される人は、「真新しい問題に遭遇してもジタバタする」という心構えを持ってください。

「ジタバタする」とは、すぐにあきらめないで、自分の持っている知識を総動員して、何とかして正解を選ぶのです。

基本情報技術者試験の問題は、すべて選択問題ですから、ジタバタすれば何とかなります。

ジタバタする例として、以下の問 24 を解いてみましょう。

問 24 (令和元年 秋期)

H.264 / MPEG-4 AVC の説明として,適切なものはどれか。

5.1 チャンネルサラウンドシステムで使用されている音声圧縮技術
携帯電話で使用されている音声圧縮技術
ディジタルカメラで使用されている静止画圧縮技術
ワンセグ放送で使用されている動画圧縮技術

問題のテーマとなっている「 H.264 / MPEG-4 AVC 」は、今回の試験から適用されたシラバス Ver.6.0 で新たに追加された用語なので、ご存知ない人も多いでしょう。

シラバス Ver.6.0 には、「 H.264 、HEVC 、H.265 」とだけ示されているのですが、この問題では、ご丁寧に「 H.264 / MPEG-4 AVC」と示されています。

label 関連記事

基本情報技術者試験の 2019 シラバス改訂 で注目すべきポイント (用語解説付き)

この中にある「 MPEG 」という言葉には、きっと見覚えがあるはです。

MPEG = Moving Picture Experts Group(動画専門家集団)は、動画データの形式です。

選択肢を見ると、「動画」という言葉があるのは、エだけです。それならエを選びましょう。

これがジタバタするということです。実際の正解もエです。

何とびっくり! 高校レベルの数学の問題が出た

講師である私は、これまでの試験対策講座で「基本情報技術者試験に必要とされる数学の知識は、中学卒業レベルです。方程式、関数、統計、確率などがわかれば OK です」と説明してきましたが、今回の試験以降では、この説明を撤回させていただきます。

なぜなら、今回の試験で、高校の数学で習う「関数の極限」が出たからです。以下の問題です。

問 4 (令和元年 秋期)

a 及び b を定数とする関数 及び に対して, はどれか。ここで,a = 0,b ≠ 0,t > 1 とする。

ア 0  イ 1  ウ   エ ∞

「こんな問題できない!」と思われるかもしれませんが、高校時代に習ったはずですから忘れているだけです。

解き方を説明しますので、思い出してください。

基本情報技術者試験では、同じ問題が何度も使い回しされているので、この問題で解き方を練習しておきましょう。

「 lim 」は、limit(極限)という意味です。
「 t → ∞ 」は、t を無限大にするという意味です。

f(t) と g(t) は、それぞれ関数で、
f(t) = a / ( t + 1 ) であり、
g(t) = b / ( t2 – t ) です。

さらに、a ≠ 0 、b ≠ 0 、t > 1 という条件が付いています。

 

まず、g(t) / f(t) に、それぞれの関数の計算式を入れて、式を整理します。

ftgt=b(t2t)a(t+1)=b(t+1)a(t2t)=bt+bat2at

この式の状態で、t → ∞ 、つまり t を無限大にするとどうなるでしょう。

以下のように、∞ / ∞ になります。これは、値の定まらない「不定形」です。問題の選択肢には、不定形がありません。

bt+bat2at=b+ba2a=

ここからがポイントです。

分母にある項の最大次数である t2 で、分母と分子を割って、式を整理します。

bt+bat2at=(bt+b)t2(at2at)t2=bt+bt2aat

この式の状態で、t を無限大にすると、

b / t = b / ∞ = 0 、
b / t2 = b / ∞2 = 0 、
a / t = a / ∞ = 0

になるので、式のそれぞれの部分を 0 に置き換えて、式を整理します。

bt+bt2aat=0+0a0=0a

0 / a という式になりました。

a ≠ 0 なのですから、0 / a = 0 です。答えは、選択肢アの 0 です。

いかがですか? 高校時代の数学を、思い出したでしょう!

午後試験の前半部は、従来よりレベルの高さを感じる問題が多かった

ここからは、午後試験の講評をさせていただきます。

まず、前半部の問 1 ~ 問 7 です。どんな知識が必要とされ、どの程度の難易度だったかを見てみましょう。

問 1 は必須問題で、問 2 ~ 問 7 は選択問題です。

問 1 情報セキュリティ
「テレワークの導入」

(問題へのリンク)

必要となった知識

  • 必要となった知識
  • ファイアウォールのパケットフィルタリングの設定方法
  • ネットワークの構成図の見方
  • VPN サーバと VDI サーバの役割 など

「これってネットワークの問題じゃないの!」という感じですが、ネットワークのセキュリティの問題です。

従来のセキュリティの問題と比べて、かなりレベルが高い のですが、取り上げられている用語の意味や概念を知っているなら、それほど難しくありません。

問 2 ソフトウェア
「スレッドを使用した並列処理」

(問題へのリンク)

これも、従来のソフトウェアの問題と比べて、レベルの高さを感じます。

解答手順

  1. スレッド並列法を適用しないときの実行時間を求める
  2. スレッド並列法を適用したときの実行時間を求める
  3. それらからプログラムの実行時間の高速化率を求める
  4. 擬似言語で示されたプログラムを見て、スレッド並列法を適用できるかどうかを判断する

かなり難しいです。

問題の冒頭に示された「マルチプロセッサシステムでは複数のスレッドを並列に実行することで、プログラムの実行時間を短縮できる場合がある」という意味がわかるなら、選択して OK ですが、そうでないならやめておきましょう。

問 3 データベース
「書籍及び貸出情報を管理する関係データベースの設計及び運用」

(問題へのリンク)

SQL に関する設問と、データベースの構造を修正する設問から構成された問題です。

SQL では、MAX や COUNT などの集約関数、GROUP BY 、HAVING という基本的な構文だけでなく、CASE 式というレベルの高い表現も使われています。

データベースの構造の修正は、利用者の要望に合わせるというものであり、これも、従来の問題にないレベルの高さを感じます。

やや難しい問題です。

問 4 ネットワーク
「NAT」

(問題へのリンク)

NAT( Network Address Translation )というテーマですが、実際には NAPT( Network Address Port Translation )がテーマの問題です。

どちらも午前問題でよく取り上げられるテーマなので「用語の意味を知っている!」という人が多いでしょう。ただし、用語の意味を知っているだけでは、この問題を解けません。

NAPT(この問題では NAT と呼んでいる)の具体的な使用例に関する問題だからです。やや難しい、というか、やはりレベルの高い問題です。

静的 NAT と動的 NAT という用語も登場しますが、これらの仕組みは問題で説明されています。午前問題をしっかり(用語の意味だけでなく仕組みまで)勉強することの重要性を感じさせる問題です。

問 5 ソフトウェア設計
「ストレスチェックの検査支援を行うシステム」

(問題へのリンク)

従来の試験では、ソフトウェア設計の問題は、他の問題と比べてボリュームが多かったのですが、今回の問題は、たったの 4 ページです。とてもスッキリした問題です。

フローチャートの穴埋めがあるのですが、それも、とてもシンプルです。問題文の説明を読み取ることがポイントです。

国語の読解が苦手でないなら、決して難しくない問題です。

問 6 マネジメント系
「販売管理システムの統合テストにおける進捗及び品質管理」

(問題へのリンク)

ここまでは、従来と比べてレベルの高い問題が多かったですが、このマネジメント系の問題は「従来通り!」でホッとする問題です。

テスト項目数と累積バグ検出数の計画値と実績値を比べる、という普通の(奇抜でない)内容です。

ただし、ボリュームが多いので、難しくなくても、時間がかかる問題です。

問 7 ストラテジ系
「製品別の収益分析」

(問題へのリンク)

これも、従来通りの問題です。

3 つの製品の収益改善を目的として、製品別に営業利益と営業利益率に関する分析をする、という内容です。

限界利益率、損益分岐点売上高、安全余裕率などを求めますが、どれも計算式が示されています。

講師である私は、これまでの試験対策講座で「基本情報技術者試験には、事前に計算式を暗記する必要がある問題が出たことがない」と説明してきましたが、それは今回の試験にも当てはまります。

ただし、計算ばかりさせられる問題なので、決して簡単ではありません。

午後試験の後半部は、やや難しかった

最後に、後半部の問 8 、問 11 、問 13 です。

ここでも、どんな知識が必要とされ、どの程度の難易度だったかを見てみましょう。

問 8 は必須問題で、問 11 と問 13 は選択問題です。

問 8 データ構造及びアルゴリズム
「 Bitap 法による文字列検索」

(問題へのリンク)

「 Bitap 法」という、基本情報技術者試験の市販教材で普通に学習した人には、見たことも聞いたこともないアルゴリズムがテーマです。

Bitap 法は、文字列マッチングを有限オートマトンの受理状態とみなすものであり、ビット演算で有限オートマトンの状態遷移をシミュレートします。そう説明されると、いかにも難しそうです。

問 8 のデータ構造及びアルゴリズムでは、このような難しそうな問題が、ときどき出題されます。

しかし、冷静になって考えてください。

問 8 は、必須問題です。普通に学習した人が解けない問題が出るはずがありません。したがって、テーマは難しくても、設問の内容は絶対に難しくありません。

Bitap 法を理解できなくても、問題文の説明の通りに穴埋めをすれば、正解を選べます。

ただし、ビット演算をするので、2 進数の知識は必要です。

label 関連記事

こうすりゃ解ける! 2019年度秋期 (令和元年度) 基本情報技術者試験の午後問題を徹底解説

問 8「データ構造及びアルゴリズム」の解き方を解説

問 11 Java
「通信メッセージの配信システム」

(問題へのリンク)

Java の問題は、アルゴリズム(処理の手順)かオブジェクト指向(プログラムの構造)のどちからに重点が置かれますが、今回は後者でした。

「通信メッセージの配信システム」というテーマですが、実際の内容は、それを模したプログラムであり、通信に関する知識は要求されません。

ただし、マルチスレッドのプログラムであり、穴埋めにはなっていませんが、スレッドの生成、通知、同期、などが随所で使われているので、これらの知識がないと、大いに戸惑うでしょう。

マルチスレッドのプログラムは、過去にも出題されているので、今後受験される人は、十分に学習しておきましょう。

プログラムの中で使用されている API は、毎度おなじみの java.util.List、java.util.ArrayList、java.util.Map、java.util.HashMap です。

問 13 表計算
「メロンの仕分け」

(問題へのリンク)

「メロンを”優”、”良”、”並”に分類する」というイメージしやすい内容であり、データが入ったワークシートの例も小さなものなので、取り組みやすい問題だといえます。

前半部のワークシートに入れる式を選ぶ設問は、毎度おなじみの IF 関数、水平照合、切上げなどの関数を使ったものであり、それほど難しくありません。

ただし、後半部のマクロの穴埋めをする問題は、プログラムの説明のボリュームが多く、擬似言語のプログラムも長いので、かなり難しいものです。

今後受験される人は、「プログラミングが苦手だから表計算を選ぼう」ではなく、「表計算を選ぶのだからプログラミングもしっかり勉強しよう」と考えてください。

 

以上、試験対策講座の講師として、誠に勝手ながら、試験問題の講評をさせていただきました。

最後に補足説明として、今後受験される人への注意事項があります。

それは、基本情報技術者試験は、次回の 2020 年度(令和 2 年度)の春期試験から、午後試験の問題構成が変わることです。

以下に、変更後の問題構成を示しますので、目を通しておいてください。

令和 2 年度 春期試験以降の午後試験 問題構成

問題番号 内容 配点
1 情報セキュリティ 20 点
2~5 ソフトウェア・ハードウェア、データベース、ネットワーク、ソフトウェア設計から 3 問出題
マネジメント系、ストラテジ系から 1 問出題
各 15 点
6 データ構造およびアルゴリズム 25 点
7~11 ソフトウェア開発( C 言語、Java 、Python 、アセンブラ言語、表計算ソフトから各 1 問出題) 各 25 点

※問 1 と問 6 は、必須です。
※問 2 ~問 5 は、2 問を選択します。問 7 ~問 11 は、1 問を選択します。

それでは、またお会いしましょう!

 

label 関連タグ
実は、午前試験を『免除』できます 独習ゼミで午前免除試験を受けた 85% の方が、
午前分野を免除しています。
2020年 6月 12日 12時
締め切り間近!!
alarm2020年 6月 12日 12時締切!

詳しく見てみるplay_circle_filled
label これまでの『資格ガイド』の連載一覧 label 著者

『プログラムはなぜ動くのか』(日経BP)が大ベストセラー
IT技術を楽しく・分かりやすく教える“自称ソフトウェア芸人”

大手電気メーカーでPCの製造、ソフトハウスでプログラマを経験。独立後、現在はアプリケーションの開発と販売に従事。その傍ら、書籍・雑誌の執筆、またセミナー講師として活躍。軽快な口調で、知識0ベースのITエンジニアや一般書店フェアなどの一般的なPCユーザの講習ではダントツの評価。
お客様の満足を何よりも大切にし、わかりやすい、のせるのが上手い自称ソフトウェア芸人。

主な著作物

  • 「プログラムはなぜ動くのか」(日経BP)
  • 「コンピュータはなぜ動くのか」(日経BP)
  • 「出るとこだけ! 基本情報技術者」 (翔泳社)
  • 「ベテランが丁寧に教えてくれる ハードウェアの知識と実務」(翔泳社)
  • 「ifとelseの思考術」(ソフトバンククリエイティブ) など多数