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

試験対策講座の講師として、誠に勝手ながら、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 を解いてみましょう。
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」と示されています。
この中にある「 MPEG 」という言葉には、きっと見覚えがあるはです。
MPEG = Moving Picture Experts Group(動画専門家集団)は、動画データの形式です。
選択肢を見ると、「動画」という言葉があるのは、エだけです。それならエを選びましょう。
これがジタバタするということです。実際の正解もエです。
何とびっくり! 高校レベルの数学の問題が出た
講師である私は、これまでの試験対策講座で「基本情報技術者試験に必要とされる数学の知識は、中学卒業レベルです。方程式、関数、統計、確率などがわかれば OK です」と説明してきましたが、今回の試験以降では、この説明を撤回させていただきます。
なぜなら、今回の試験で、高校の数学で習う「関数の極限」が出たからです。以下の問題です。
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) に、それぞれの関数の計算式を入れて、式を整理します。
この式の状態で、t → ∞ 、つまり t を無限大にするとどうなるでしょう。
以下のように、∞ / ∞ になります。これは、値の定まらない「不定形」です。問題の選択肢には、不定形がありません。
ここからがポイントです。
分母にある項の最大次数である t2 で、分母と分子を割って、式を整理します。
この式の状態で、t を無限大にすると、
b / t = b / ∞ = 0 、
b / t2 = b / ∞2 = 0 、
a / t = a / ∞ = 0
になるので、式のそれぞれの部分を 0 に置き換えて、式を整理します。
0 / a という式になりました。
a ≠ 0 なのですから、0 / a = 0 です。答えは、選択肢アの 0 です。
いかがですか? 高校時代の数学を、思い出したでしょう!
午後試験の前半部は、従来よりレベルの高さを感じる問題が多かった
ここからは、午後試験の講評をさせていただきます。
まず、前半部の問 1 ~ 問 7 です。どんな知識が必要とされ、どの程度の難易度だったかを見てみましょう。
問 1 は必須問題で、問 2 ~ 問 7 は選択問題です。
問 1 情報セキュリティ 「テレワークの導入」
-
必要となった知識
- ファイアウォールのパケットフィルタリングの設定方法
- ネットワークの構成図の見方
- VPN サーバと VDI サーバの役割 など
「これってネットワークの問題じゃないの!」という感じですが、ネットワークのセキュリティの問題です。
従来のセキュリティの問題と比べて、かなりレベルが高い のですが、取り上げられている用語の意味や概念を知っているなら、それほど難しくありません。
問 2 ソフトウェア 「スレッドを使用した並列処理」
これも、従来のソフトウェアの問題と比べて、レベルの高さを感じます。
-
解答手順
- スレッド並列法を適用しないときの実行時間を求める
- スレッド並列法を適用したときの実行時間を求める
- それらからプログラムの実行時間の高速化率を求める
- 擬似言語で示されたプログラムを見て、スレッド並列法を適用できるかどうかを判断する
かなり難しいです。
問題の冒頭に示された「マルチプロセッサシステムでは複数のスレッドを並列に実行することで、プログラムの実行時間を短縮できる場合がある」という意味がわかるなら、選択して 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 進数の知識は必要です。
問 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 | 各 15 点 | ソフトウェア・ハードウェア、データベース、ネットワーク、ソフトウェア設計から 3 問出題 マネジメント系、ストラテジ系から 1 問出題 |
問 6 | 25 点 | データ構造およびアルゴリズム |
問 7 ~ 問 11 | 各 25 点 | ソフトウェア開発( C 言語、Java 、Python 、アセンブラ言語、表計算ソフトから各 1 問出題) |
※問 1 と問 6 は、必須です。
※問 2 ~問 5 は、2 問を選択します。問 7 ~問 11 は、1 問を選択します。
それでは、またお会いしましょう!
label 関連タグ
免除試験を受けた 74.9% の方が、 科目A免除資格を得ています。
※独習ゼミは、受験ナビ運営のSEプラスによる試験対策eラーニングです。

基本情報技術者試験 科目A免除試験(修了試験)の講評 ~ 2025年1月26日実施
update
基本情報技術者試験 科目A免除試験(修了試験)の講評 ~ 2024年12月8日実施
update
基本情報技術者試験 科目A免除試験(修了試験)の講評 ~ 2024年7月28日実施
update
令和6年度 基本情報技術者試験 公開問題の講評
update
基本情報技術者試験 科目A免除試験(修了試験)の講評 ~ 2024年6月9日実施
update
基本情報技術者試験のシラバス改定|Ver9.0の概要
update
基本情報技術者試験 科目A免除試験 (旧 午前免除試験) の講評 ~ 2024年1月28日実施
update
基本情報技術者試験 科目A免除試験 (旧 午前免除試験) の講評 ~ 2023年12月10日実施
update
基本情報技術者試験 科目A免除試験 (旧 午前免除試験) の講評 ~ 2023年7月23日実施
update
新制度・基本情報技術者試験の過去問(公開問題)からわかる難易度と対策
update
『プログラムはなぜ動くのか』(日経BP)が大ベストセラー
IT技術を楽しく・分かりやすく教える“自称ソフトウェア芸人”
大手電気メーカーでPCの製造、ソフトハウスでプログラマを経験。独立後、現在はアプリケーションの開発と販売に従事。その傍ら、書籍・雑誌の執筆、またセミナー講師として活躍。軽快な口調で、知識0ベースのITエンジニアや一般書店フェアなどの一般的なPCユーザの講習ではダントツの評価。
お客様の満足を何よりも大切にし、わかりやすい、のせるのが上手い自称ソフトウェア芸人。
主な著作物
- 「プログラムはなぜ動くのか」(日経BP)
- 「コンピュータはなぜ動くのか」(日経BP)
- 「出るとこだけ! 基本情報技術者」 (翔泳社)
- 「ベテランが丁寧に教えてくれる ハードウェアの知識と実務」(翔泳社)
- 「ifとelseの思考術」(ソフトバンククリエイティブ) など多数