<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>2019見直し | 基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</title>
	<atom:link href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/tag/2019%E8%A6%8B%E7%9B%B4%E3%81%97/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi</link>
	<description>基本情報技術者試験を学習する人のためにつくられた専門メディア。250本以上の記事を掲載し、勉強方法や各分野のポイント、過去問解説など、試験に役立つ情報を発信。試験対策書籍を執筆する著者が、はじめて学ぶ人でもわかりやすく解説します。（2023年度からの新制度に対応済み）</description>
	<lastBuildDate>Mon, 20 Apr 2026 07:08:52 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.29</generator>
	<item>
		<title>「基本情報 の Python ってどんな感じ？」を解説｜午後問題の歩き方</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/how_about_python/</link>
		<pubDate>Fri, 13 Dec 2019 06:56:52 +0000</pubDate>
		<dc:creator><![CDATA[矢沢 久雄]]></dc:creator>
				<category><![CDATA[2019見直し]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[午後プログラミング言語問題]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=gogo_arukikata&#038;p=3262</guid>
		<description><![CDATA[<p>令和 2 年度の基本情報技術者試験から、午後試験で選択できるプログラミング言語として、新たに Python が採用されます。 「少し勉強したことがあるので Python で受けてみよう！」と思っている人が多いようですが、 [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/how_about_python/">「基本情報 の Python ってどんな感じ？」を解説｜午後問題の歩き方</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>令和 2 年度の基本情報技術者試験から、午後試験で選択できるプログラミング言語として、新たに Python が採用されます。</p>
<p>「少し勉強したことがあるので Python で受けてみよう！」と思っている人が多いようですが、「自分の持っている知識で大丈夫だろうか？」と心配している人も多いようです。</p>
<p>&nbsp;</p>
<p>そこで、この記事では、<a href="https://www.jitec.ipa.go.jp/1_13download/syllabus_fe_ver7_0.pdf" rel="noopener" target="_blank">基本情報技術者試験のシラバス Ver.7.0</a> に示された「 Python の知識と技術」の中から、「組込み関数」と「イテラブル（シーケンスとコレクション）」にテーマを絞って、それぞれのポイントを解説します。</p>
<p>皆さんの知識の確認をしてください。</p>
<div class="card-panel grey lighten-5 blue-grey-text z-depth-0 mag_h30 c-round small-text">
<i class="material-icons light-blue-text mag_rt05">info</i>Python をブラウザからオンラインで実行できる「 <a href="https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/try.jupyter.org?urlpath=lab" rel="noopener" target="_blank">JupyterLab</a> 」で、文中のコードをお試しください
</div>
<div class="card-panel grey lighten-5 z-depth-0 blue-grey-text hide-on-med-and-up c-round mag_h40 small-text">
<i class="material-icons light-blue-text mag_rt05">info</i>編集部注: スマートフォンでご覧の際、プログラムは横スクロールすると全文をご覧になれます
</div>
<style>pre{margin:1.5em -7.5%!important;padding:1em 7.5%!important}dt{margin:1rem}article>p>code{padding-left:.5em!important}</style>
<h2>組込み関数のポイント</h2>
<h3>覚えておくべき組込み関数の種類</h3>
<p>「組込み関数」とは、import 文でインポートしなくても、すぐに使える関数のことです。シラバスに示された組込み関数を以下に示します。</p>
<p>「これは何だろう？」というものがないかどうか確認してください。これらは、シラバスに示されているのですから、試験問題のプログラムの中で堂々と使われるはずです。</p>
<p>機能をしっかりと覚えておきましょう。</p>
<div class="card mag_h30 z-depth-0 grey lighten-5 c-round">
<div class="card-content indigo-text" style="font-family: Consolas, 'Courier New';">
<span class="card-title">シラバスに示された組込み関数</span></p>
<p>int, float, str, list, range, enumerate, zip, len, print, input, open
</p></div>
</div>
<p>シラバスに示された組込み関数は、以下のように</p>
<p>「データ型を変換する関数」<br />
「イテラブルを操作する関数」<br />
「入出力を行う関数」</p>
<p>にグループ分けできます（イテラブルに関しては、記事の後半で説明します）。</p>
<p>これ以降では、グループごとに組込み関数の機能を説明します。</p>
<div class="card mag_h30 z-depth-0 grey lighten-5 c-round">
<div class="card-content indigo-text" style="font-family: Consolas, 'Courier New';">
<span class="card-title">組込み関数のグループ分け</span></p>
<dl>
<dt>データ型を変換する関数</dt>
<dd>int, float, str, list</dd>
<dt>イテラブルを操作する関数</dt>
<dd>len, range, enumerate, zip</dd>
<dt>入出力を行う関数</dt>
<dd>input, print, open</dd>
</dl>
</div>
</div>
<h3>データ型を変換する関数（int、float、str、list）</h3>
<p>int 関数、float 関数、str 関数、list 関数は、引数で与えられたオブジェクトを、整数、浮動小数点数、文字列、リストに変換して返します。以下に使用例を示します。</p>
<div class="chip mag_tp20"><i class="material-icons light-blue-text">code</i> データ型を変換する関数の使用例</div>
<pre>
<code class="language-python">>>> i = int("123")  # "123"という文字列を整数に変換する
>>> type(i)  # 変換後のデータ型を確認する
&lt;class 'int'>  # int型（整数型）である</code>
</pre>
<pre>
<code class="language-python">>>> f = float("4.56")  # "4.56" という文字列を浮動小数点数に変換する
>>> type(f)  # 変換後のデータ型を確認する
&lt;class 'float'>  # float 型（浮動小数点数型）である</code>
</pre>
<pre>
<code class="language-python">>>> s = str(789)  # 789 という整数を文字列に変換する
>>> type(s)  # 変換後のデータ型を確認する
&lt;class 'str'>  # str 型（文字列型）である</code>
</pre>
<pre>
<code class="language-python">>>> l = list("abc")  # "abc"という文字列をリストに変換する
>>> type(l)  # 変換後のデータ型を確認する
&lt;class 'list'>  # list 型（リスト型）である
>>> l  # 変換後のオブジェクトの内容を表示する
['a', 'b', 'c']  # 文字を要素としたリストである</code>
</pre>
<h3>イテラブルを操作する関数（len、range、enumerate、zip）</h3>
<p>len 関数は、 <code class="language-python">len(イテラブル) </code> という構文で使い、イテラブルの要素数を返します。以下に使用例を示します。</p>
<div class="chip mag_tp20"><i class="material-icons light-blue-text">code</i> len 関数の使用例</div>
<pre>
<code class="language-python">>>> len("hello")  # "hello"という文字列の要素数を得る
5  # 5 文字である
>>> len([1, 2, 3])  # [1, 2, 3] というリストの要素数を得る
3  # 3 個である</code>
</pre>
<p>&nbsp;</p>
<p>range 関数は、<code class="language-python"> range(開始, 終了, ステップ) </code> という構文で使い、開始 ～ 終了 &#8211; 1 までの連続した数値を持つ range オブジェクトを返します。</p>
<p>数値の間隔をステップで指定することもできます。以下に使用例を示します。<br />
<span class="grey-text">（ range オブジェクトは、そのままでは要素を表示できなので、リストに変換して表示しています）</span></p>
<div class="chip mag_tp20"><i class="material-icons light-blue-text">code</i> range 関数の使用例</div>
<pre>
<code class="language-python">>>> list(range(5))  # 終了だけを指定する
[0, 1, 2, 3, 4]  # 0 ～ 終了 - 1 の数値が返される

>>> list(range(2, 5))  # 開始と終了を指定する
[2, 3, 4]  # 開始 ～ 終了 - 1 の数値が返される

>>> list(range(0, 10, 2))  # 開始、終了、ステップを指定する
[0, 2, 4, 6, 8]	  # 開始　～ 終了 - 1 の数値がステップおきに返される</code>
</pre>
<p>&nbsp;</p>
<p>enumerate 関数は、 <code class="language-python">enumerate(イテラブル, カウンタの初期値) </code>という構文で使い、カウンタの値とイテラブルの要素から構成された enumerate オブジェクトを返します。</p>
<p>カウンタの初期値を省略すると、0 が指定されたとみなされます。以下に使用例を示します。<br />
<span class="grey-text">（ enumerate オブジェクトは、そのままでは要素を表示できないので、リストに変換して表示しています）</span></p>
<div class="chip mag_tp20"><i class="material-icons light-blue-text">code</i> enumerate 関数の使用例</div>
<pre>
<code class="language-python">>>> list(enumerate("abc"))  # カウンタの初期値を省略した場合
[(0, 'a'), (1, 'b'), (2, 'c')]  # カウンタの値が 0 から始まる

>>> list(enumerate("abc", 1))  # カウンタの初期値に 1 を設定した場合
[(1, 'a'), (2, 'b'), (3, 'c')]  # カウンタの値が 1 から始まる</code>
</pre>
<p>&nbsp;</p>
<p>zip 関数は、<code class="language-python"> zip(イテラブル1, イテラブル2, ・・・) </code> という構文で使い、複数のイテラブルの要素をまとめた zip オブジェクトを返します。以下に使用例を示します。<br />
<span class="grey-text">（ zip オブジェクトは、そのままでは要素を表示できないので、リストに変換して表示しています）</span></p>
<div class="chip mag_tp20"><i class="material-icons light-blue-text">code</i> zip 関数の使用例</div>
<pre>
<code class="language-python">>>> list(zip([1, 2, 3], [4, 5, 6]))  # 2 つのリストの要素をまとめる
[(1, 4), (2, 5), (3, 6)]  # 対応する要素がまとめられている</code>
</pre>
<h3>入出力を行う関数（ input、print、open ）</h3>
<p>input 関数は、キー入力された文字列を返します。</p>
<p>print 関数は、引数の値を画面に表示します。</p>
<p>open 関数は、 <code class="language-python">open(ファイル名, モード, エンコーディング) </code> という構文で使い、ファイルを読み書きするためのファイルオブジェクトを返します。　モードとエンコーディングを省略すると、テキストファイルの読み出しを、実行環境のエンコーディングで行うファイルオブジェクトになります。</p>
<p>&nbsp;</p>
<p>以下は、テキストファイルの内容を画面に表示するプログラム（ readtext.py ）と実行結果の例です。</p>
<p>ここでは、あらかじめ &#8220;apple&#8221;、&#8221;orange&#8221;、&#8221;banana&#8221; という文字列を格納した fruits.txt というテキストファイルを用意してあります。</p>
<div class="chip mag_tp20" style="height: auto;"><i class="material-icons light-blue-text">code</i> テキストファイルの内容を画面に表示するプログラム</div>
<pre>
<code class="language-python">filename = input("ファイル名-->")  # ファイル名をキー入力する
fobj = open(filename)  # ファイルオブジェクトを生成する
for data in fobj:  # ファイルから 1 行ずつ読み出す
    print(data, end="")  # 1 行ずつ画面に表示する
fobj.close()  # ファイルを閉じる</code>
</pre>
<div class="chip mag_tp20"><i class="material-icons light-blue-text">code</i> プログラムの実行結果の例</div>
<pre class="language-none"  style="border-radius: 5px">
(base) C:\PythonSamples>python readtext.py  # 実行モードで実行する
ファイル名-->fruits.txt  # ファイル名を入力する
apple  # ファイルの内容が表示される
orange
banana
</pre>
<h2>イテラブルのポイント</h2>
<h3>覚えておくべきイテラブルの種類</h3>
<p>「イテラブル」とは、複数の要素を持つオブジェクトのことです。シラバスに示されたイテラブルを以下に示します。</p>
<p>「これは何だろう？」というものがないかどうか確認してください。これらは、シラバスに示されているのですから、組込み関数と同様に、試験問題のプログラムの中で堂々と使われるはずです。</p>
<p>機能をしっかりと覚えておきましょう。</p>
<ul class="background c-round">
<p class="post-title indigo-text">シラバスに示されたイテラブル</p>
<li>リスト</li>
<li>タプル</li>
<li>文字列</li>
<li>辞書</li>
<li>集合</li>
</ul>
<p>シラバスに示されたイテラブルは、以下のように「シーケンス」と「コレクション」、および「ミュータブル」と「イミュータブル」に分類できます。</p>
<p>シーケンスには、順序があり添字で要素を指定できますが、コレクションには、順序がありません。</p>
<p>ミュータブルは、要素の値を変更できますが、イミュータブルは、値を変更できません。</p>
<div class="chip mag_tp20"><i class="material-icons light-blue-text">code</i> イテラブルの分類</div>
<table class="bordered centered mag_h30">
<thead>
<tr class="grey lighten-4">
<th>順序の有無 ＼ 変更の可否</th>
<th>ミュータブル<br />（変更可）</th>
<th>イミュータブル<br />（変更不可）</th>
</tr>
</thead>
<tbody>
<tr>
<th class="center grey lighten-4">シーケンス<br />（順序あり）</th>
<td>リスト</td>
<td>タプル<br />文字列</td>
</tr>
<tr>
<th class="center grey lighten-4">コレクション<br />（順序なし）</th>
<td>辞書<br />集合</td>
<td></td>
</tr>
</tbody>
</table>
<p>これらの分類を見て、それぞれのオブジェクトの大きな特徴をつかんでください。これ以降では、シーケンスとコレクションに分けてイテラブルの機能を説明します。</p>
<h3>シーケンス（リスト、タプル、文字列）</h3>
<p>カンマで区切られたオブジェクトを <code class="language-python">[ ] </code> で囲むとリストとみなされ、<code class="language-python"> ( ) </code> で囲むとタプルとみなされます。</p>
<p><code class="language-python"> " " </code> または <code class="language-python">' ' </code> で囲まれた文字の並びは、文字列であるとみなされます。</p>
<p>これらのシーケンスには、以下に示した共通の操作ができます。「スライス」とは、シーケンスを部分的に切り出したものです。</p>
<div class="chip mag_tp20"><i class="material-icons light-blue-text">code</i> シーケンスに共通した操作</div>
<p>※seq は シーケンス ( sequence ) を意味します</p>
<table class="bordered mag_h30">
<thead>
<tr>
<th>操作</th>
<th>機能</th>
</tr>
</thead>
<tbody>
<tr>
<td><code class="language-python">x in seq</code></td>
<td>seq の中に x があれば True を返す</td>
</tr>
<tr>
<td><code class="language-python">x not in seq</code></td>
<td>seq の中に x がなければ True を返す</td>
</tr>
<tr>
<td><code class="language-python">seq1 + seq2</code></td>
<td>seq1 と seq2 を結合する</td>
</tr>
<tr>
<td><code class="language-python">seq * n</code></td>
<td>seq を n 回繰り返し結合する</td>
</tr>
<tr>
<td><code class="language-python">seq[i]</code></td>
<td>seq の 0 から数えて i 番目の要素を返す</td>
</tr>
<tr>
<td><code class="language-python">seq[i:j]</code></td>
<td>seq の i から j &#8211; 1 までのスライスを返す</td>
</tr>
<tr>
<td><code class="language-python">seq[i:j:k]</code></td>
<td>seq の i から j &#8211; 1 までの k ごとのスライスを返す</td>
</tr>
<tr>
<td><code class="language-python">seq.index(x)</code></td>
<td>seq の中で x が最初に出現する添字を返す</td>
</tr>
<tr>
<td><code class="language-python">seq.count(x)</code></td>
<td>seq の中にある x の個数を返す</td>
</tr>
</tbody>
</table>
<p>以下は、リストに対して様々な操作を行った例です。同様の操作が、タプルと文字列でも行えます。</p>
<div class="chip mag_tp20"><i class="material-icons light-blue-text">code</i> リストに対して様々な操作を行った例</div>
<pre>
<code class="language-python">>>> seq = [1, 2, 3, 4, 5]  # リスト seq を作成する
>>> 3 in seq  # seq の中に 3 があれば True を返す
True  # 3 があるので True</code>
</pre?

<pre>
<code class="language-python">>>> seq = [1, 2, 3, 4, 5]  # リスト seq を作成する
>>> 6 not in seq  # seq の中に 6 がなければ True を返す
True  # 6 がないので True</code>
</pre>
<pre>
<code class="language-python">>>> seq1 = [1, 2, 3]  # リスト seq1 を作成する
>>> seq2 = [4, 5]  # リスト seq2 を作成する
>>> seq1 + seq2  # seq1 と seq2 を結合する
[1, 2, 3, 4, 5]  # 要素が結合されている</code>
</pre>
<pre>
<code class="language-python">>>> seq = [1, 2]  # リスト seq を作成する
>>> seq * 3  # seq を 3 回繰り返し結合する
[1, 2, 1, 2, 1, 2]  # 要素が 3 回繰り返し結合されている</code>
</pre>
<pre>
<code class="language-python">>>> seq = [1, 2, 3, 4, 5]  # リスト seq を作成する
>>> seq[3]  # seq の 0 から数えて 3 番目の要素を返す
4  # 3 番目の 4 が得られる</code>
</pre>
<pre>
<code class="language-python">>>> seq = [1, 2, 3, 4, 5]  # リスト seq を作成する
>>> seq[0:3]  # seq の 0 から 3 - 1 までのスライスを返す
[1, 2, 3]  # seq[0] から seq[2] までのスライスが得られる</code>
</pre>
<pre>
<code class="language-python">>>> seq = [1, 2, 3, 4, 5]  # リスト seq を作成する
>>> seq[0:5:2]  # seq の 0 から 5 - 1 までの 2 ごとのスライスを返す
[1, 3, 5]  # seq[0] から seq[4] までの 2 ごとのスライスが得られる</code>
</pre>
<pre>
<code class="language-python">>>> seq = [1, 2, 3, 4, 5]  # リスト seq を作成する
>>> seq.index(3)  # seq の中で 3 が最初に出現する添字を返す
2  # 添字 2 で 3 が最初に出現する</code>
</pre>
<pre>
<code class="language-python">>>> seq = [3, 3, 3, 3, 3]  # リスト seq を作成する
>>> seq.count(3)  # seq の中にある 3 の個数を返す
5  # 3 は 5 個ある</code>
</pre>
<h3>コレクション（辞書、集合）</h3>
<p>複数の「　<code class="language-python"> キー:バリュー </code> 」を要素として、それらをカンマで区切って並べて <code class="language-python">{ </code> と <code class="language-python">} </code> で囲むと、辞書であるとみなされます。辞書は、添字ではなく、キーで要素を指定します。</p>
<p>以下は、辞書の要素をキーで読み出す例です。果物の名前をキー、価格をバリューにしています。</p>
<div class="chip mag_tp20"><i class="material-icons light-blue-text">code</i> 辞書の要素をキーで読み出す例</div>
<pre>
<code class="language-python">>>> fruits = {"apple":100, "orange":80, "banana":200}  # 辞書fruitsを作る
>>> fruits ["apple"]  # キーを指定して要素を読み出す
100  # バリューが得られる</code>
</pre>
<p>カンマで区切られたオブジェクトを <code class="language-python">{ } </code> で囲むと集合であるとみなされます。要素が「 <code class="language-python">キー:バリュー</code> 」という形式ではないので、辞書と区別できます。</p>
<p>集合には、同じ値の要素を複数入れることができません。もしも、同じ値の要素を入れようとすると、無視されます。</p>
<p>集合は、他の集合と、積（ &#038;演算子 ）、和（ +演算子 ）、差（ -演算子 ）、対称差（ ^演算子 ）の集合演算ができます。以下は、集合演算の例です。</p>
<div class="chip mag_tp20"><i class="material-icons light-blue-text">code</i> 集合演算の例</div>
<pre>
<code class="language-python">>>> fruits = {"apple", "orange", "banana"}  # 果物の集合 fruits を作る
>>> reds = {"apple", "rose"}  # 赤い物の集合 reds を作る

>>> fruits & reds  # fruits と reds の積を求める
{'apple'}  # 両方に含まれる要素が得られる

>>> fruits | reds  # fruits と reds の和を求める
{'apple', 'orange', 'rose', 'banana'}  # いずれかに含まれる要素が得られる

>>> fruits - reds  # fruits と reds の差を求める
{'orange', 'banana'}  # fruits から reds の要素が取り除かれる

>>> fruits ^ reds  # fruits と reds の対称差を求める
{'orange', 'rose', 'banana'}  # どちらか一方だけに含まれる要素が得られる</code>
</pre>
<div class="divider mag_h50"></div>
<p>いかがでしたか。この記事の内容が「余裕でわかるぜ！」なら心配ありませんが、「わからないことだらけだ！」なら、Python の言語構文の猛勉強が必要です。</p>
<p>過去の試験を振り返ってみると、新しい言語が採用されたときの第 1 回目の問題は、とてもやさしい内容になっていました。</p>
<p>Pythonの第 1 回目の問題も、きっと同様のはずです。ねらい目です。</p>
<p><strong>ただし、きちんと言語構文を理解していないと問題を解けませんよ！</strong></p>
<p>&nbsp;</p>
<p><span class="blue-grey-text"><i class="material-icons mag_rt05">fast_forward</i>続きはこちら</span></p>
<p><a href="../checkout_basic_python_with_sampleprob/"></p>
<div class="card hoverable z-depth-5 c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col s12 m3"><img src="../../wp-content/uploads/2019/01/python_cover.png" alt="Python image" /></div>
<div class="col s12 m9 pad_20 black-text bold">基本情報のサンプル問題で Python の基礎知識をチェック | 午後問題の歩き方</div>
</div>
</div>
<p></a></p>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/how_about_python/">「基本情報 の Python ってどんな感じ？」を解説｜午後問題の歩き方</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>ネットワークとアルゴリズムが大の苦手でも基本情報技術者試験に合格できた午後分野の「捨て方」とは?</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/jukenki/interview_with_hsmt/</link>
		<pubDate>Mon, 25 Nov 2019 10:51:05 +0000</pubDate>
		<dc:creator><![CDATA[基本情報技術者試験 受験ナビ 編集部]]></dc:creator>
				<category><![CDATA[2019見直し]]></category>
		<category><![CDATA[アルゴリズム]]></category>
		<category><![CDATA[勉強方法]]></category>
		<category><![CDATA[勉強時間]]></category>
		<category><![CDATA[合格方法]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=jukenki&#038;p=3131</guid>
		<description><![CDATA[<p>※この記事は基本情報技術者試験の旧制度（2022年以前）の記事です。 題材となっている「午後問題」は現在の試験制度では出題されません。ご注意くださいませ。 ※記事内にPRを含みます。 &#160; ブログ、SNS、動画な [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/jukenki/interview_with_hsmt/">ネットワークとアルゴリズムが大の苦手でも基本情報技術者試験に合格できた午後分野の「捨て方」とは?</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<p><small>※<font color="red">この記事は基本情報技術者試験の旧制度（2022年以前）の記事です。<br />
題材となっている「午後問題」は現在の試験制度では出題されません。ご注意くださいませ。</font></small><br />
<small>※<font color="red">記事内にPRを含みます。</font></small></p>
<p>&nbsp;</p>
<p>ブログ、SNS、動画など様々なメディアに情報が溢れ、基本情報技術者試験の対策方法は、さまざまな方の受験体験から、近しい人の勉強法や学習時間などを参考にして、自身のやり方を決める時代になりました。</p>
<p>この「受験体験記」では、合格不合格問わず、様々な受験者の方の受験体験をインタビューしています。</p>
<p>&nbsp;</p>
<p>今回は、<span class="bold">アルゴリズムの理解が進まず、ネットワークが大の苦手で「捨てる」という選択までしても、合格できた</span> 橋本 さん (仮名) に、その対策した内容と、「捨てる」コツなどをインタビューしました。</p>
<div class="divider mag_tp50 mag_bt20"></div>
<div class="row valign-wrapper">
<div class="col s3">
<img class="circle z-depth-1" src="../../wp-content/uploads/2019/11/avatar_hsmt.png" loading="lazy"></div>
<div class="col s9">
<div class="card-content">
<div class="chip">お話を伺った方</div>
<p><span class="card-title"><span class="bold">橋本 博 さん (仮名)</span></span><br />
<small>システムエンジニアリングサービス ( SES ) 会社　所属</small>
</div>
</div>
</div>
<div class="divider mag_h20"></div>
<style>.comment{background-color:#fafafa;color:#3f51b5;border-radius:10px;padding:1.5em;margin:3em 0 4em;position:relative}.icon{background:url(../../wp-content/uploads/2019/11/avatar_hsmt-150x150.png);background-size:cover;border-radius:50%;height:3em;width:3em;position:absolute;top:-1.5em;left:1em;border:3px solid #fff}.comment p{color:#3f51b5}</style>
<h2>基本情報技術者を取得していないことを面接で言われた</h2>
<p class="blue-grey-text">― まずは受験前の知識はどのようなものでしたか?</p>
<div class="comment">
<div class="icon"></div>
<p>2 年前に取得した IT パスポートの知識ぐらいしかなく、基本情報は初めての受験でした。</p></div>
<p class="blue-grey-text">― IT パスポート合格後、少しブランクがあったんですね。なぜ、今回、基本情報を受験しようと思われたのでしょうか?</p>
<div class="comment">
<div class="icon"></div>
<p>IT 業界の登竜門に位置する資格であり、この業界にいるなら取っておきたいと考えていたところ、自分より年下のメンバーが何人か取得していて、その人達に負けたくなかったからと思ったことがキッカケです。</p>
<p>また、一時期、転職を考えたことがあり、その際、<span class="bold">面接官の方に「基本情報、持ってないんだねー」と言われ悔しかった</span> ので、何としても合格しようと思っていました。</div>
<p class="blue-grey-text">― やはり、基本情報の取得は一定の基準になるんですね</p>
<div class="comment">
<div class="icon"></div>
<p>就職においても基本情報の資格があるとないとでは、かなり差が出ますし、いま私が行っているシステムエンジニアリングサービス ( SES ) の方なら単価アップにも繋がります。</p>
<p>あとは、自分の自信にもなります。</p></div>
<p class="blue-grey-text">― 確かにそうですね。<br />では、基本情報を初受験されて、どのような結果だったのでしょうか?</p>
<div class="comment">
<div class="icon"></div>
<p>午前免除修了試験に合格できていたので、今回は午前試験を受験していません。</p>
<p>受験した午後試験は <span class="bold">63.50</span> 点と、合格点ギリギリでした。</p>
<p>アルゴリズム以外は 7、8 割解けたのですが、アルゴリズムが 9 問中 1 問しか分からず、残りは勘で解きました。<span class="bold">1 問勘で正解していた</span>ので、アルゴリズムは 2 / 9 でした。</div>
<p class="blue-grey-text">― 勘で正解していたとは、本当にギリギリでしたね</p>
<div class="comment">
<div class="icon"></div>
<p>そうですね、アルゴリズムを再度復習したいと思います。</p>
<p><span class="bold">次の試験からアルゴリズムの配点が 25 点、プログラミングも 25 点に変更される</span>ことが決まっていて、今回の試験が最後のアルゴリズム 20 点配点だったので、本当によかったです。</div>
<p class="blue-grey-text">― 本当に合格できてよかったですね !!</p>
<h2>午前免除を活用</h2>
<p class="blue-grey-text">― どのような試験勉強をされたのでしょうか?</p>
<div class="comment">
<div class="icon"></div>
<p>少しでも合格の可能性を広げたかったので、午前免除制度 <sup>*1</sup> を活用しようと思い、 IPA の認定を受けている<a href="https://www.seplus.jp/dokushuzemi/ec/fe/" rel="noopener" target="_blank">「独習ゼミ」の対策コース</a> を活用しました。</p>
<p>午前免除の試験は 6 月と 7 月（下期向け。上期向けは 12 月と 1 月）にそれぞれ 1 回ずつあり、本番試験同様、出題数は 80 問で、合格のボーダーは 60 % ( 48 問以上の正解) 以上です。</p>
<p>午前免除試験自体は全て過去問の流用 <sup>*2</sup> ですので、コースの参考書や動画をみて、過去問をひたすら回して、4 月末から一日 1 時間、休日は 2 時間、午前試験の勉強をしていました。</p>
<p><small class="grey-text"><sup>*1</sup> 関連記事: <a href="../../guide/guide_fe_am_menjo_2021spring/">令和2年(2020年)度と令和3年(2021年)度 基本情報技術者試験 午前免除 活用スケジュール</a></small><br />
<small class="grey-text"><sup>*2</sup> 関連記事: <a href="../../guide/report_fe_special_test_202012/">基本情報技術者試験 午前免除（修了試験）の講評 ～ 2020年12月13日実施</a></small>
</div>
<p class="blue-grey-text">― 午前免除、お金はかかりますが、メリットは大きいですよね</p>
<div class="comment">
<div class="icon"></div>
<p>はい、午前試験を免除できたので、<span class="bold">午後のみの勉強に集中</span>できました。</div>
<p class="blue-grey-text">― では、その午後対策はどのように進められたのでしょうか?</p>
<div class="comment">
<div class="icon"></div>
<p>午後の対策を開始したのは 9 月に入ってからですね。</p>
<p>ただ、午後の必須選択の情報セキュリティは、基本情報の対策の一環で、今年 4 月に情報セキュリティマネジメント試験 ( SG ) を受験・合格していて、このときの勉強がすごく役立ちました。余談ですが、SG の勉強をすれば、基本情報の情報セキュリティは突破できます。</p></div>
<p class="blue-grey-text">― 基本情報のために、SG まで受験されていたとは &#8230; 並々ならぬ対策ですね。<br />一方で、他の分野はどのように対策されたのですか?</p>
<div class="comment">
<div class="icon"></div>
<p>その他はネットワーク <span class="bold">以外</span> の分野の勉強をしました。</div>
<p class="blue-grey-text">― 以外 &#8230; というと?</p>
<div class="comment">
<div class="icon"></div>
<p>ネットワークはおそらく毎回出題されますが、基本情報のネットワークは CCNA レベルに難しいです。</p>
<p>なので、最初からネットワークの分野は選ばないつもりでしたし、現に勉強もしてません。いわゆる、<span class="bold">「捨てる」</span> 選択をしました。</p>
<p>実際、今回の秋期試験では NAT の問題でかなり難しかったかと思います。</p></div>
<p class="blue-grey-text">― 「捨てる」分野を作ったのですね</p>
<div class="comment">
<div class="icon"></div>
<p>はい、それ以外のソフトウェア、ハードウェア、データベース、プロジェクトマネジメント、ソフトウェア設計、ストラテジを勉強しました。</p>
<p>この分野の基本的な用語を抑え、過去問をそれぞれ 2 周したほか、独習ゼミのコースにある動画を見たりもしました。</p>
<p>この中でも、ソフトウェア設計は一見難しそうですが、問題をよく読むと解けるようになりましたね。</p></div>
<p class="blue-grey-text">― 伺っていると、ネットワーク以外は順調に対策できたのですね</p>
<div class="comment">
<div class="icon"></div>
<p>いえいえ、そんなことはありません。</p>
<p><span class="bold">実は、スコアにもでている通り、アルゴリズムがほとんど理解できませんでした。</span></p>
<p>休憩や時間があれば Youtube で検索して動画も見ましたし、過去問も解きましたし、基本的なアルゴリズムの内容も覚えました。ただ、勉強しても分からず、泣きそうでした。</p></div>
<p class="blue-grey-text">― それはかなり厳しい &#8230;</p>
<div class="comment">
<div class="icon"></div>
<p>参考書を別に買ってもよかったもかも知れません。見たなかでは、<a href="https://www.amazon.co.jp/dp/4532415047" rel="noopener" target="_blank">「うかる! 基本情報技術者 [午後・アルゴリズム編] 2020年版 福嶋先生の集中ゼミ(日本経済新聞出版社 刊行)」</a> は良さそうに見えました。</p>
<p>このため、アルゴリズムより、プログラミングの勉強に注力していました。</p>
<p>プログラミング分野は、普段から関数はある程度使っていたので表計算を選択しようと決めていました。関数やマクロを勉強しましたが、比較的勉強はしやすかったですね。</p></div>
<h2>午後分野の「捨て方」</h2>
<p class="blue-grey-text">― アルゴリズムが厳しい状態では、先程の「捨てる」選択は、リスクが高そうですね</p>
<div class="comment">
<div class="icon"></div>
<p>選択問題のうち、私にはネットワークが明らかに難しく感じましたが、それ以外の分野は一通り勉強して、行けそうだという感覚は持っていました。</p>
<p>また、必ずしも全ての分野が出題されるわけではないので、1 問だけ捨てても影響は、ほぼありません。ただ捨てるのは 1 分野、多くても 2 分野までです。</p>
<p>3 分野以上になると、100 点満点で 45 点以上は失点することになるので。</p></div>
<div class="comment">
<div class="icon"></div>
<p>また、次の試験では、午後の選択問題に変化がある <sup>*3</sup> ので、</p>
<ul>
<li class="mag_h10">テクノロジ分野から 2 問選択するか</li>
<li class="mag_h10">テクノロジ分野から 1 問選択 + マネジメント･ビジネス分野から 1 問選択するか</li>
</ul>
<p>このどちらかの選択になります。</p>
<p>ただし、マネジメント･ビジネス分野の問題は問題を読み解くのに時間がかかりますので、時間配分は気をつけて下さい。</p></div>
<blockquote class="mag_tp50">
<p><span class="blue-grey-text"><sup>*3</sup> 令和 2 年度 試験以降の午後問題の出題と配点</span></p>
<table class="bordered centered mag_h30 blue-grey-text">
<thead>
<tr>
<th>問</th>
<th width="50%">分野</th>
<th>出題数</th>
<th>選択<br />配点</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td style="text-align: left">情報セキュリティ</td>
<td>1 問</td>
<td>必須<br /><span class="bold">20 点</span></td>
</tr>
<tr>
<td rowspan="4">2 ~ 4</td>
<td style="text-align: left"><span class="bold">ソフトウェア・ハードウェア</span></td>
<td rowspan="4"><span class="bold">3 問</span></td>
<td rowspan="8" class="bold">2 問<br />15 点/問</td>
</tr>
<tr>
<td style="text-align: left">データベース</td>
</tr>
<tr>
<td style="text-align: left">ネットワーク</td>
</tr>
<tr>
<td style="text-align: left">ソフトウェア設計</td>
</tr>
<tr>
<td rowspan="4">5</td>
<td style="text-align: left">プロジェクトマネジメント</td>
<td rowspan="4"><span class="bold">1 問</span></td>
</tr>
<tr>
<td style="text-align: left">サービスマネジメント</td>
</tr>
<tr>
<td style="text-align: left">システム戦略</td>
</tr>
<tr>
<td style="text-align: left">経営戦略・企業と法務</td>
</tr>
<tr>
<td>6</td>
<td style="text-align: left">データ構造及びアルゴリズム</td>
<td>1 問</td>
<td>必須<br /><span class="bold">25 点</span></td>
</tr>
<tr>
<td>7 ~ 11</td>
<td style="text-align: left">ソフトウェア開発<br />C，Java，<span class="bold">Python</span>，アセンブラ言語，表計算ソフト</td>
<td>5 問</td>
<td>1 問<br /><span class="bold">25 点</span></td>
</tr>
</tbody>
</table>
<p><small><a href="fenavi/gogo_arukikata/trend_to_questions_at_pm/">過去10回分から分析 基本情報技術者試験 午後問題の出題傾向 (2019秋期試験 更新)</a> より抜粋</small>
</p></blockquote>
<h2>令和 2 年度春期試験以降はアルゴリズムとプログラミングが合否を分ける</h2>
<p class="blue-grey-text">― はじめて基本情報技術者試験を受験する方に「罠」があるとすると、どのようなものでしょうか?</p>
<div class="comment">
<div class="icon"></div>
<p>午後の勉強方法だと思います。</p>
<p>セキュリティ、アルゴリズムとプログラミングは、選択必須なので、勉強しなくてはなりません。</p>
<p>問題は選択する分野です。全部勉強するのはオーバーワークだと思います。</p>
<p>負担軽減のために、1 番苦手な分野はあえて捨てて、勉強しないという方法もあります。先程の通り、私の場合、ネットワークを捨てました。</p></div>
<p class="blue-grey-text">― 今日伺ったとおり、確かに 1 分野は許容範囲ですね</p>
<div class="comment">
<div class="icon"></div>
<p>あとは、プログラミング問題で、経験者ならその言語を、まったくない方は表計算がアセンブラがいいと思います。</p>
<p>表計算はいずれにしてもエクセルがベースなので取り掛かりやすいかと思います。マクロや関数がよく分からない場合はアセンブラがいいと思います。</p></div>
<div class="comment">
<div class="icon"></div>
<p>また、繰り返しになりますが、今後、アルゴリズムとプログラミング言語の配点が各 25 点ずつになります。</p>
<p>アルゴリズムに特化した本、各言語に特化した本が本屋でも売ってます。絶対に活用するべきです。多分、今後はこの 2 つが明暗を分けると思います。</p>
<p>勉強時間の割合も アルゴリズム･プログラミング : その他分野 = 8：2 ぐらいの感覚で重要だと思います。</p></div>
<p class="blue-grey-text">― もうアルゴリズムが超苦手は厳しくなってしまいますね。<br />今日は、実感こもったお話、ありがとうございました!</p>
<div class="comment">
<div class="icon"></div>
<p>ありがとうございました。</p></div>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/jukenki/interview_with_hsmt/">ネットワークとアルゴリズムが大の苦手でも基本情報技術者試験に合格できた午後分野の「捨て方」とは?</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>美術史専攻のド文系出身で基本情報技術者試験を初受験し午後のスコア 95.5 点で合格できた対策方法とは?</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/jukenki/interview_with_ymmt/</link>
		<pubDate>Fri, 22 Nov 2019 03:36:27 +0000</pubDate>
		<dc:creator><![CDATA[基本情報技術者試験 受験ナビ 編集部]]></dc:creator>
				<category><![CDATA[2019見直し]]></category>
		<category><![CDATA[MIPS]]></category>
		<category><![CDATA[アルゴリズム]]></category>
		<category><![CDATA[勉強方法]]></category>
		<category><![CDATA[午前免除試験]]></category>
		<category><![CDATA[合格方法]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=jukenki&#038;p=2965</guid>
		<description><![CDATA[<p>※この記事は基本情報技術者試験の旧制度（2022年以前）の記事です。 題材となっている「午後問題」は現在の試験制度では出題されません。ご注意くださいませ。 ※記事内にPRを含みます。 &#160; ブログ、SNS、動画な [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/jukenki/interview_with_ymmt/">美術史専攻のド文系出身で基本情報技術者試験を初受験し午後のスコア 95.5 点で合格できた対策方法とは?</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<p><small>※<font color="red">この記事は基本情報技術者試験の旧制度（2022年以前）の記事です。<br />
題材となっている「午後問題」は現在の試験制度では出題されません。ご注意くださいませ。</font></small><br />
<small>※<font color="red">記事内にPRを含みます。</font></small><br />
&nbsp;</p>
<p>ブログ、SNS、動画など様々なメディアに情報が溢れ、基本情報技術者試験の対策方法は、さまざまな方の受験体験から、近しい人の勉強法を参考にして、自身のやり方を決める時代になりました。</p>
<p>この「受験体験記」では、合格不合格問わず、様々な受験者の方の受験体験をインタビューしています。</p>
<p>&nbsp;</p>
<p>今回は、<span class="bold">&#8220;ド&#8221; 文系の美術史専攻で、2 進数も 16 進数も「人生でほとんど触れたことがなかった」</span>のに、初受験で、<span class="bold">午後スコア 95.5 点</span>をとって合格された <span class="bold">山本 萌子 さん</span>に、その勉強方法だけでなく、オススメしない方法、自分は使えなかった午前免除制度を激推しする理由など、対策したことを伺いました。</p>
<div class="divider mag_tp50 mag_bt20"></div>
<div class="row valign-wrapper">
<div class="col s3"><img class="circle z-depth-1" src="../../wp-content/uploads/2019/11/avatar_ymmt-300x300.png" loading="lazy"></div>
<div class="col s9 pad_20">
<div class="chip">お話を伺った方</div>
<p><span class="post-title">山本 萌子 さん</span><br />
<span class="small-text">株式会社 SE プラス<br />Media Team　エンジニア</span>
</div>
</div>
<div class="divider mag_tp20 mag_bt60"></div>
<style>.comment{background-color:#fafafa;color:#3f51b5;border-radius:10px;padding:2em 1.5em;margin:3em 0 4em;position:relative}.icon{background:url(../../wp-content/uploads/2019/11/avatar_ymmt-150x150.png);background-size:cover;border-radius:50%;height:3em;width:3em;position:absolute;top:-1.5em;left:1em;border:3px solid #fff}.comment p{color:#3f51b5}</style>
<h2>開発経験があっても、基本情報は別物</h2>
<p class="blue-grey-text">― まずは受験前のご経験について、伺えますか?</p>
<div class="comment">
<div class="icon"></div>
<p>新卒でエンジニアとして就職して、トータル開発経験 2 年 7 ヶ月くらいです。</p>
<p>普段は自社サービス「独習ゼミ」「 SE カレッジ」「 DOJO 」のアプリケーション開発を行ったり、ランディングページのデザイン・作成を行ったり、他のページで使用するイラストを描いたりと、いろんなことをしています。</p></div>
<p class="blue-grey-text">― エンジニアの領域、超えてるものがありますね (笑) 。ちなみに、学生の頃は、何を専攻されていたのですか?</p>
<div class="comment">
<div class="icon"></div>
<p>&#8220;ド&#8221; が付くレベルの文系で、大学では美術史を専攻していました。なので、IT は何も知らなかったですね。</p></div>
<p class="blue-grey-text">― IT ほぼ無縁ですね (笑) なぜに IT にきたのか。。<br />とはいえ、開発経験があるなら、基本情報の知識はそれなりにお持ちだったのですか?</p>
<div class="comment">
<div class="icon"></div>
<p>今回が初受験で、基本情報は初めて勉強したので、業務で使っているデータベースやプログラミングのほかは、全く知識はありませんでした。</p></div>
<p class="blue-grey-text">― なるほど、開発経験があるといっても、基本情報の知識とはまた違うんですね</p>
<div class="comment">
<div class="icon"></div>
<p>結構、違うようには思います。</p>
<p>私が普段、使っているプログラミング言語も PHP や JavaScript なので、残念ながら、選択できませんでした。。</p></div>
<p class="blue-grey-text">― PHP はなく、しかも、追加されるのは Python ですものね。<br />では、すでに開発経験を積んでらっしゃるのに、なぜ受験しようと思われたのでしょうか ?</p>
<div class="comment">
<div class="icon"></div>
<p>今年の 3 月ぐらいに上司から、エンジニアとしての基礎知識の向上と、自社の「独習ゼミ」の基本情報技術者試験対策コースの改善点をユーザー目線から挙げよう、という目的で受験するよう指示を受けました。</p>
<p>私としても社会人 3 年目になりますし、資格を 1 つくらいは取っておきたいなと思っていたので、これを機会に、という感じでした。</p></div>
<p class="blue-grey-text">― いいですね、ドッグフーディング。実際、ドッグフードしてみた結果も気になるところですが、先に話を進めましょう。<br />試験に合格されたとのこと、試験スコアを教えて頂いてもよいでしょうか?</p>
<div class="comment">
<div class="icon"></div>
<p>午前試験が <span class="bold">82.5</span> 点、午後試験が <span class="bold">95.5</span> 点でした。</p>
<p>午後試験の選択はデータベース、ソフトウェア設計、プロジェクトマネジメント、経営戦略・企業と法務、表計算です。</p></div>
<figure class="mag_h30 center">
<img class="z-depth-5" src="../../wp-content/uploads/2019/11/fe_pm_score.png" loading="lazy"><figcaption class="grey-text mag_h10">スコアの様子</figcaption></figure>
<p class="blue-grey-text">― ちょっとエグいスコアとってますね。。完璧じゃないですか。</p>
<div class="comment">
<div class="icon"></div>
<p>午前試験についてはもっと点数取りたかったなというのが本音です。ケアレスミスが数問あったので、少なくとももう 2 ～ 3 点くらいは取れたかな &#8230; と少し悔しいです。</p>
<p>午後試験は解いたあと、結構自信があったので（自己採点で 2 問ミス）、90 点台後半を取れてよかったです！</p></div>
<p class="blue-grey-text">― ( 完璧主義かよ。。)　そんなスコアなら、やっぱり試験対策も「余裕に 1 週間前から、チョロっとやった」みたいな感じですか ?</p>
<div class="comment">
<div class="icon"></div>
<p>いやいや、いやいやいやいや、そんなことはありませんよ (笑) </p></div>
<p class="blue-grey-text">― またまた (笑)。　では、どんな対策をしようと考えていたのですか ?</p>
<div class="comment">
<div class="icon"></div>
<p>まず、午前試験は数学分野の出題が増えることが予告 (*) されていて、私は数学が &#8220;本当に&#8221; できない人間なので（高校数学は数Ⅰ・数A・数Ⅱしかやっていません）、そこは点を取れない前提にしました。</p>
<p><small class="grey-text"><sup>＊</sup> 関連記事: <a href="../../guide/awesome_revision_fe_201901/">いいね！ いいね！ 見直された基本情報技術者試験 ～Pythonと午後分野の変更予測</a></small></div>
<p class="blue-grey-text">― あらら</p>
<div class="comment">
<div class="icon"></div>
<p>ただ、数学の問題を増やすと言っても、他の分野を出さないわけにもいかないでしょうから、おそらく増えても全 10 問くらいだろうと予測を立てて、平成 22 年度 秋期～平成 31 年度春期の午前試験の過去問で、</p>
<ul>
<li>試験の出題数 80 問から、数学の 10 問を引いた 70 問で、試験の合格ラインとなる正解率 60%<br />
＝ 80 問で換算すると 55 問は最低限、正解できるようになるまで学習する</li>
<li>比較的難易度の低い年度の問題に関しては 8 割以上＝ 64 問以上正解できる</li>
</ul>
<p>という方針を立てました。</p></div>
<p class="blue-grey-text">― おお、しっかり計画してらっしゃる !! スコアからは予想だにしない、まったくもって厳しいスタートだったんですね。。確かに &#8220;ド&#8221; 文系は数学苦手ですよね。</p>
<div class="comment">
<div class="icon"></div>
<p>そうですね。一応、理系の知り合いに行列ってなに？ベクトルってなに？という基本的なことは教えてもらいました。</p>
<p>あとは、データベースなどは普段の業務で使っていて特に学習しなくてもできるので飛ばしました。</p>
<p>逆に 2 進数や 16 進数など、人生でほとんど触れたことのない分野や、ネットワークなど普段使ってはいるけど意識を全然していない、かつ想像がつきにくい分野は苦手だったので、そこを重点的に学習しました。</p></div>
<p class="blue-grey-text">― 文系の人生には 2 進数、ほとんど出てこないですよね。。伺うと、やはり、開発経験と基本情報の知識は違いますね。<br />では、午後対策はどんな方針だったんですか?</p>
<div class="comment">
<div class="icon"></div>
<p>午後問題に関しては、長文を読むのが苦手ではなかったので、基本的には、</p>
<ul>
<li>午前問題で知識を付けること</li>
<li>表計算の関数について参考書を読んで学習</li>
<li>アルゴリズムの疑似言語の表記がどのようなものなのかを過去問で確認</li>
</ul>
<p>と考えていました。</p></div>
<div class="comment">
<div class="icon"></div>
<p>アルゴリズム問題そのものについては業務で要件定義～実装まで 1 人で行うことが多く、「このシステムを実現するためにはロジックはこうあるべき」というのを日常的に考えているので、特に対策はしませんでした。</p>
<p>ちなみに、アルゴリズムが苦手な方は、まずは身近なシステムのアルゴリズムを想像してみると良いと思います。</p></div>
<p class="blue-grey-text">― なるほど!　開発経験があると、そのあたりが違うんですね。ただ、午後試験にも苦手分野でてきますよね</p>
<div class="comment">
<div class="icon"></div>
<p>「ソフトウェアが出たらできる限り選択しない」<br />
「ネットワークは絶対に選択しない」</p>
<p>と選択しない分野を決めておきました。問題を選択するときに迷うのが一番、時間の無駄だと思っていたので &#8230; 。</p></div>
<p class="blue-grey-text">― とても、エンジニアっぽい発想です。となると、学習時間も、バッファを積んで見積もりしたのですか?</p>
<div class="comment">
<div class="icon"></div>
<p>いえ、長期的に学習するのが向いていないタイプなので、お盆から学習を開始すると決めていました。</p></div>
<p class="blue-grey-text">― あら、そうなんですか。計画を伺うと、結構やることが多いように見えるのですが、進捗はどんな感じでしたか?</p>
<div class="comment">
<div class="icon"></div>
<p>概ね、予定通りに進みました。 &#8230; が、結構、買った参考書が分厚いものだったので、読むのに普通に 1 ヶ月くらいかかりましたし、それが終わったらもう残り1ヶ月しかないので、半ば、背水の陣みたいな感じで進めていました。</p></div>
<div class="comment">
<div class="icon"></div>
<p>なので、ちょっとした Hack を色々しました。</p>
<p>例えば、午前試験は問題によって移動中などでもできる問題と、紙とペンがないとキツい問題に分かれるので、移動中などは &#8220;暗記分野&#8221; 、紙とペンが使えるときは &#8220;計算分野&#8221; 、と分けて効率的に勉強したりしていました。</p></div>
<p class="blue-grey-text">― 暗記問題と計算問題に分けてやるのは、いいですね。実際、お盆明けからどんな勉強していたのですか?</p>
<div class="comment">
<div class="icon"></div>
<p>お盆 ～ 9 月中旬の 1 ヶ月で参考書を 1 周し、残り 1 ヶ月で過去問をとにかく解く、という時間配分で考えていたのですが、実のところ、お盆～ 9 月末までは毎日学習していたわけではなく、1 週間に平均 2 ～ 3 日、気が向いたときに学習していました。（ 1 ヶ月で合計 20 時間くらい）</p></div>
<div class="comment">
<div class="icon"></div>
<p>10 月に入ってからは、平日は 1 日に 2 回分の午前試験の過去問を解き、休日は 4 回分の午前試験の過去問を解く、を繰り返しました。</p>
<p>それに加えて、苦手のネットワークの過去問を詰める、という感じです。2 週間で合計 30 時間くらいですかね。</p>
<p>試験直前は金曜日にお休みを頂いて、試験前 2 日間で午後試験の過去問を　3　回分と、午前試験の苦手だった年度、苦手な分野を解きました。2 日間で合計 10 時間くらいです。</p>
<p>合計すると、およそ 2 ヶ月で 60 時間です。</p></div>
<p class="blue-grey-text">― なかなか地道にコツコツと苦手克服の勉強されていますね。</p>
<h2>計算問題や苦手克服に近道なし</h2>
<p class="blue-grey-text">― 勉強で、つまづいたところはどんなところでしたか?</p>
<div class="comment">
<div class="icon"></div>
<p>2 進数と 16 進数は「なんだこれ？？？？」となっていたのですが、何回か過去問を解いているうちに急にできるようになりました。習うより慣れよ、というやつです。</p></div>
<div class="comment">
<div class="icon"></div>
<p>あと <a href="../../tag/mips/">MIPS</a> などのいろいろな計算問題は、何回、解いても見るたびに「うわぁ &#8230; 」と思ってました。</p>
<p>計算してると何やってるのかだんだんわからなくなってくるので、ただ数字を計算するだけではなく、今これを出しているぞ、次はこの計算でこれを出すぞ、と、途中経過を考えながら計算することを心掛けました。</p>
<p>あとは、参考書を読む中で「ここは苦手だろうな～」と思ったところが順当に時間がかかりました。</p></div>
<p class="blue-grey-text">― ちなみに &#8220;ド&#8221; 文系であれば、苦手な計算問題は「捨てる」という選択肢もある気がしますが ?</p>
<div class="comment">
<div class="icon"></div>
<p>先程の通り、数学問題の比率を増やすと IPA から発表があったので、 (捨てるのは) 厳しいと。</p></div>
<div class="comment">
<div class="icon"></div>
<p>その発表で「行列」「極限」など数学の分野が広がると予測されていたことに加え、そういう傾向になるのであれば、計算問題も出題が増える可能性もあると。</p>
<p>そうすると、全部捨てるのはリスキーだと思っていました。</p></div>
<p class="blue-grey-text">― 実際、読みどおり、午前問題は計算問題や新規問題も増えましたね</p>
<div class="comment">
<div class="icon"></div>
<p>あとは、不安要素を無くしてメンタルを安定させるというのも大きかったです。</p>
<p>午後試験は得意や苦手で「選択」することができる問題ですが、午前試験って出題された問題から逃げることができないですよね。</p></div>
<div class="comment">
<div class="icon"></div>
<p>そうなったときに、何も対策しないで捨てた問題がめちゃくちゃたくさん出たらどうしよう？という不安を抱えた状態で受験することは、私にとってはかなり嫌なことでした。</p>
<p>実際、計算問題は、ちょっとやってみると、何一つわからんというレベルの難しさではなく、対策や解法を理解すればそこまで難しいものではなかったので、やって安心しよう、という感じでした！</p></div>
<p class="blue-grey-text">― あとは先程、話題に挙がっていたネットワークはどうでしたか?</p>
<div class="comment">
<div class="icon"></div>
<p>やっぱり、ネットワークの問題全般は苦手でした。なので、とにかくネットワークの過去問を解き続けていました。</p>
<p>過去問を解く→ 解説を見る → なぜ間違えたのかを考える、というサイクルを繰り返して、どうにか最低限の点を取れるようになりました。</p>
<p>どうしたって苦手問題や計算問題にはショートカットが無いので、地道に、とにかくそのサイクルを回し続けるしかないと思います。</p></div>
<h2>おすすめしない勉強方法は ?</h2>
<p class="blue-grey-text">― 使ったコンテンツ (参考書、アプリ、Web ページなど) はどうでしたか ?</p>
<div class="comment">
<div class="icon"></div>
<p>個人的に使って良かったのは、参考書では 「かんたん合格 基本情報技術者過去問題集」(インプレス) で、アプリは 「基本情報技術者試験 午前問題集 ( iPhone ) 」( Maiji Saito 開発) です。</p>
<p>どちらにも言えることなのですが、問題を解いたあと、すぐに答えを出してくれるのが個人的に好みでした。</p>
<p>すべての問題を解き終わってから答えが出る形式だと、最初の方に解いた問題は自分が何を思ってその答えにしたのか、どういう計算をしてその答えになったのか忘れてしまうことが多いので、解いた直後に答えを確認できるのが、私には合っていたと感じます。</p></div>
<p class="blue-grey-text">― 自社のコースが挙がっていませんが &#8230; (笑)</p>
<div class="comment">
<div class="icon"></div>
<p>もちろん、自社のコースも受講していたのですが、ひいき目に見てしまうと体験談としていかがなものか (笑) と思ったことと、改良するともっとスコアアップに繋がる部分があると感じたので、挙げませんでした。なお、改良点はすでに上司に報告書を提出済みです！</p></div>
<p class="blue-grey-text">― そういうことだったんですね。では、改善進めましょう!<br />あとは、勉強してみて、これはダメなやり方かも知れない、と思うものはありましたか?</p>
<div class="comment">
<div class="icon"></div>
<p>1 つ目は<span class="bold">「参考書を読むことに時間をかけすぎる」</span>ことかなと思います。</p>
<p>今回実感したことですが、基本情報技術者試験って範囲が広いので、それを細かいところまで逐一理解しようとすると、果てしなく時間がかかりますし、実際そんなに細かい内容って、ほとんど出題されないんですよね。</p></div>
<div class="comment">
<div class="icon"></div>
<p>なので参考書はざっくりと読んで、過去問を見たときに「マジで何言ってるか 1 つも分からん」という状況を無くすぐらいでいいかな～と個人的には思います。</p>
<p>最終的に過去問をたくさん解いたらイヤでも覚えるので、参考書読解に時間をかけすぎるくらいなら、さっさと過去問を解いた方が手っ取り早いです。</p></div>
<p class="blue-grey-text">― なるほど!　たしかにそうですね!!</p>
<div class="comment">
<div class="icon"></div>
<p>2 つ目は<span class="bold">「アルゴリズムのトレースを丁寧にやりすぎる」</span>ことではないでしょうか。</p>
<p>綺麗に表を作って書きとどめていきたい派の人も結構いらっしゃるかと思いますが、午後試験は時間がカツカツなので、余程トレースの達人でもない限り時間が足りなくなって焦ってミスをする、ということになりかねない気がします。</p>
<p>学習し始めは丁寧に表を作って理解していく方針で良いと思いますが、試験当日までにはかなり簡略化できるようにしておいた方がいいです。</p></div>
<div class="comment">
<div class="icon"></div>
<p>そして、トレースよりも問題文を読んで仕様を理解できるようになること、求められているアルゴリズムがどのようなものかを想像できるようになる方にウエイトを置いた方がいいと思います。</p>
<p>私は基本的に頭の中だけで追っていって、変化が激しく追いきれない変数だけかいつまんでちょこっとメモをする、ということをしていました。</p></div>
<h2>午前免除のメリットは &#8230;「首が痛くならない」!?</h2>
<p class="blue-grey-text">― 勉強した中で、仕事などで役に立ちそう、と思ったところはどのようなものですか?</p>
<div class="comment">
<div class="icon"></div>
<p>基本情報技術者試験に出題される内容って、基本的に、いまの開発の業務で直接使うことって、あまりないんですね。</p></div>
<div class="comment">
<div class="icon"></div>
<p>ただ、アルゴリズムの問題は役に立っているかなと思います。</p>
<p>アルゴリズムって仕様が分かれば、自分で 1 から書いた方が分かりやすいし、やりやすいんですけど、業務だと知らない人が書いたアルゴリズムを読み解いて改修することが多々あります。</p>
<p>アルゴリズムの穴埋め問題は、自分以外の人間が書いたアルゴリズムを読み解く練習になると思います。</p></div>
<div class="comment">
<div class="icon"></div>
<p>あとは、広い試験範囲のなかで、この分野、興味あるなとか、ここは学習を進めていったら業務に役立てそうだな、というものを発見したり、その分野を学ぶ第一歩にすることはできると思っています。</p></div>
<p class="blue-grey-text">― ちなみに、開発業務だとデータベースはどうでしょうか?　サブクエリやトランザクションなどの学習は割と実務寄りに思います</p>
<div class="comment">
<div class="icon"></div>
<p>取っ掛かりにはいいと思いますね。</p>
<p>ただ、実務だともっと面倒くさい SQL を書くこともありますし、テーブルも、もっと細分化されていたり JOIN が複雑だったり &#8230; ということが多くて、試験の内容は結構、入門的だなと感じています。</p></div>
<p class="blue-grey-text">― 確かに、実務の SQL 複雑ですものね。わかりみです。<br />では、最後に、これから受験する方に「これだけは伝えたい」と思うものはありますか?</p>
<div class="comment">
<div class="icon"></div>
<p>基本情報技術者試験は午前試験を免除できる制度がある (*) んですが、個人的には絶対免除しておいた方がいいと思います。</p>
<p>理由は 2 つあって、</p>
<ol>
<li class="bold">今回のように午前試験の難易度が高かった場合に対応できる</li>
<li class="bold">当日圧倒的に疲れない</li>
</ol>
<p>です。</p>
<p class="grey-text small-text"><sup>＊</sup> 関連ページ: <a href="/dokushuzemi/ec/fe/exemption/" rel="noopener" target="_blank">基本情報技術者試験 午前免除制度とは【独習ゼミ】</a></p>
</div>
<div class="comment">
<div class="icon"></div>
<p>今回の午前試験、極限など今までになかった数学分野が出題されたり、その他の問題でも計算問題が増えたりなど、ちょっと難しかった印象があります。</p>
<p>午前試験を免除できれば、試験当日に難しい午前の問題に直面することもありませんし、本試験では午後試験に集中することができます。</p>
<p>なので、 <span class="bold">午前の問題が苦手な人にも、午後の問題が苦手な人にもメリットがある</span>ということなんです！</div>
<p class="blue-grey-text">― たしかに、どちらかが苦手であれば、なおさらですね</p>
<div class="comment">
<div class="icon"></div>
<p>そして 2 つ目は声を大にしてお伝えしたいのですが、真剣に 5 時間通して問題を解き続けるのって、<span class="bold">めちゃくちゃしんどいです。しんどかったです。<sup>＊</sup></span></p>
<p><span class="grey-text mag_tp30"><sup>＊</sup> 現在は CBT 試験になり、午前と午後は別々に受験できるようになりました。</span>
</div>
<p class="blue-grey-text">― 2 回、言いましたね (笑) 大事なことですね。</p>
<div class="comment">
<div class="icon"></div>
<p>はい、もう本当に実感しました。(笑)</p>
<p>午前試験と午後試験の間に休憩はありますが、それほど時間は取れませんし、午後試験は長文を読むので集中力が欲しいところですが、午前試験を受け終わってヘロヘロになったあとに、午後試験で集中力を保つのはかなり厳しいものがあります。</p></div>
<p class="blue-grey-text">― 受験者の皆さん、そう言いますよね。</p>
<div class="comment">
<div class="icon"></div>
<p>あとは首が超痛いです。(笑)</p>
<p>5 時間くらい下を向いて問題を解き続けるのは結構つらいです。午後試験の最後の方は「首が痛い」が思考の半分を占めていました。</p>
<p>コンディションが良い状態で午後試験を受けられる、これだけで午前免除はする価値が大アリだと思います。</p></div>
<p class="blue-grey-text">― 午前免除のメリットはそこですか (笑) </p>
<div class="comment">
<div class="icon"></div>
<p>そう言い切っても過言ではありません。(笑)</p>
<p>そして、最後は宣伝になりますが、<a href="https://www.seplus.jp/dokushuzemi/ec/fe">「独習ゼミ」基本情報技術者試験対策コース</a> は午前免除試験に対応していますので、受験を考えている方は、ぜひご検討ください！</p>
<p>ちなみに、私はインサイダーになる (*) ので午前免除試験が受けられませんでした。 (笑)</p>
<p><span class="grey-text mag_tp30"><sup>＊</sup> IPA から午前免除コースと認定されると、認定された企業･団体が午前免除試験を実施する</span></div>
<p class="blue-grey-text">― (笑 笑 笑) <br />今日はありがとうございました !!</p>
<div class="comment mag_bt60">
<div class="icon"></div>
<p>ありがとうございましたー。</p></div>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/jukenki/interview_with_ymmt/">美術史専攻のド文系出身で基本情報技術者試験を初受験し午後のスコア 95.5 点で合格できた対策方法とは?</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>難しくはないがレベルが高い 基本情報 Python のサンプル問題を解説</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/thinking_sample_prob_python/</link>
		<pubDate>Sun, 03 Nov 2019 15:19:18 +0000</pubDate>
		<dc:creator><![CDATA[矢沢 久雄]]></dc:creator>
				<category><![CDATA[2019見直し]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[午後プログラミング言語問題]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=guide&#038;p=2653</guid>
		<description><![CDATA[<p>error この記事は基本情報技術者試験の旧制度（ 2022 年以前）の記事です。この記事の題材となっている「 Python 」は現在の試験制度では出題されません。 ご注意くださいませ。 2019 年 10 月 28 日 [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/thinking_sample_prob_python/">難しくはないがレベルが高い 基本情報 Python のサンプル問題を解説</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<div class="background c-round flex">
<p class="mag_rt10 mag_h00"><i class="material-icons red-text" style="font-size:2.2em">error</i></p>
<p class="blue-grey-text mag_h00">この記事は基本情報技術者試験の旧制度（ 2022 年以前）の記事です。<br />この記事の題材となっている<span class="bold">「 Python 」は現在の試験制度では出題されません。</span> ご注意くださいませ。</p>
</div>
<p>2019 年 10 月 28 日に、IPA から Python のサンプル問題が公開されました。</p>
<p><a href="../sample_question_python/">問題の全文は、別の記事で紹介</a> していますので、ここでは、問題のテーマと、問題を解くのに必要な知識を説明しましょう。</p>
<div class="divider mag_tp40 mag_bt10"></div>
<p class="grey-text small-text"><i class="material-icons mag_rt05">info_outline</i>問題の全文に関する記事</p>
<p><a href="../sample_question_python/"></p>
<div class="row valign-wrapper pad_w20">
<div class="col s3 m2 flex pad_00"><img src="../../wp-content/uploads/2019/01/python_cover.png" /></div>
<div class="col s9 m10 pad_10 blue-grey-text bold">Python のサンプル問題が公開されました</div>
</div>
<p></a></p>
<div class="divider mag_bt40 mag_tp10"></div>
<style>article>pre{margin-left:-7.5%!important;margin-right:-7.5%!important;padding-left:7.5%!important;padding-right:7.5%!important}table{font-size:.85em;}</style>
<p>さすが最近人気の Python だけあって、それほど難しくはないのですが、なかなかレベルの高い問題となっています。</p>
<p>また、 Python そのものを学んでいる方は、この問題で言語構文が理解できているか、チェックしてみるとよいでしょう。</p>
<h2>問題のテーマは、描画処理のインタプリタの作成</h2>
<p>実務の現場における Python の主な用途といえば、データ解析や機械学習でしょう。</p>
<p>「はたして、試験でもデータ解析や機械学習をテーマとした問題が出るのだろうか？ もしもそうなら、他のプログラミング言語とレベルの差が大き過ぎてしまうので、選択者がほとんどいないだろう！」と危惧していたのですが、そうではなかったのでホッとしました。</p>
<p>サンプル問題のテーマは、「描画処理の命令列を解釈実行する<span class="bold">インタプリタの作成</span>」です。</p>
<p>&nbsp;</p>
<p>ただし、データ解析や機械学習ではないとはいえ、インタプリタの作成ですから、<span class="bold">なかなかレベルの高いテーマ</span>です。</p>
<p>Python には、様々な標準ライブラリがあり、ソートやサーチなどのアルゴリズムや、スタックやキューなどのデータ構造を手作りする必要がないので、それらを応用するレベルのテーマになったのでしょう。</p>
<p>さらに、外部ライブラリを使えば、短いコードでグラフの描画が行えるので、実際に描画を行うプログラムになっています。</p>
<p><span class="bold">実際の試験でも「ライブラリを活用してグラフを描画する問題」がよく出るのではないかと予想されます。</span>このサンプル問題は、しっかり練習しておくべきです。</p>
<p>&nbsp;</p>
<p>それでは、問題を見てみましょう。</p>
<p>レベルは高くても、内容は難しくないので、どうぞご安心ください。</p>
<p>x &#8211; y 平面の描画キャンパスがあり、そこにマーカで描画を行います。プログラムに与えられる描画処理の命令列は、</p>
<p><code class="language-python pad_05"> R3; R4; F100; T90; E0; F100; E0 </code></p>
<p>という形式になっています。</p>
<p>セミコロン（ <code class="language-python pad_05">;</code> ）が命令の区切りを示し、個々の命令は 1 文字の英字で示された「命令コード」と数値で示された「数値パラメタ」から構成されています。</p>
<p>たとえば、「 <code class="language-python pad_05">R3</code> 」は、「 R 」が命令コードで、「 3 」が数値パラメタです。</p>
<p>以下は、試験問題に示された命令とその説明です。</p>
<table class="mag_h30 bordered inline-block striped responsive-width">
<caption class="grey-text small-text mag_h10">表 1　命令とその説明</caption>
<thead>
<tr>
<th>命令コード</th>
<th>数値パラメタ</th>
<th>説明</th>
</tr>
</thead>
<tbody>
<tr>
<td>F</td>
<td>長さ</td>
<td style="text-align: left;">マーカを現在の進行方向に数値パラメタで指定した長さだけ進め，移動元から移動先までの線分を描く。数値パラメタは，1 以上の整数値である。</td>
</tr>
<tr>
<td>T</td>
<td>角度</td>
<td style="text-align: left;">マーカの進行方向を，現在の進行方向から数値パラメタが正の場合は反時計回りに，負の場合は時計回りに，数値パラメタの絶対値の角度だけ回転する。<br />数値パラメタが 0 の場合は回転しない。数値パラメタは，単位を度数法とする任意の整数値である。</td>
</tr>
<tr>
<td>R</td>
<td>繰返し回数</td>
<td style="text-align: left;">繰返し区間の開始を示す。この命令と対となる命令コードEの命令との間を，数値パラメタで指定した回数だけ繰り返す。<br />繰返し区間は，入れ子にすることができる。数値パラメタは 1 以上の整数値である。</td>
</tr>
<tr>
<td>E</td>
<td>0</td>
<td style="text-align: left;">繰返し区間の終了を示す。数値パラメタは，参照しない。</td>
</tr>
</tbody>
</table>
<p>命令列のポイントは、繰返しがあることです。</p>
<p><code class="language-python pad_05"> R3; R4; F100; T90; E0; F100; E0 </code> という命令は、以下の区間が繰り返されます。この図も、問題に示されています。</p>
<figure><figcaption>図 2　命令列 α の繰返し区間</figcaption><img class="materialboxed hoverable z-depth-5 responsive-width" data-caption="図 2　命令列 α の繰返し区間" src="../../wp-content/uploads/2019/10/sample_python_figure2.png"></a><br />
</figure>
<p>図を見ながら、命令列を解釈してみましょう。</p>
<ol class="background c-round">
<li>命令 0 と命令 6 に囲まれた範囲が 3 回繰り返され、命令 1 と命令 4 で囲まれた範囲が 4 回繰り返されます。</li>
<li>命令 2 で進行方向に 100 だけ進み、移動元から移動先までの線分を描きます。</li>
<li>命令 3 でマーカの進行方向が反時計回りに 90 度だけ回転します。</li>
</ol>
<p>つまり、「マーカを 100 だけ進めて線分を描き、反時計回りに 90 度だけ回転する」を 4 回繰り返すのです。</p>
<p>これによって、1 辺が 100 の正方形が描かれます。</p>
<p>&nbsp;</p>
<p>次に命令 5 でマーカが 100 だけ進んで線分が描かれ、「マーカを 100 だけ進めて線分を描く」が行われます。これが 3 回繰り返されるのですから、1 辺が 100 の正方形が 3 つ描かれます。</p>
<p>&nbsp;</p>
<p>マーカは、初期状態で（ 0, 0 ）の位置にあり、進行方向は x 軸の正方向になっています。</p>
<p>したがって、<code class="language-python pad_05"> R3; R4; F100; T90; E0; F100; E0 </code> を解釈実行すると、以下の図形が描画されます。</p>
<p>この図も、問題に示されています。この形式の命令列の解釈実行を行うプログラムを作成するのが、サンプル問題のテーマです。</p>
<figure><figcaption>図 3　命令列 α を実行した場合の描画結果</figcaption><img class="materialboxed hoverable z-depth-5 responsive-width" src="../../wp-content/uploads/2019/10/sample_python_figure3.png"></a><br />
</figure>
<h2>プログラムと実行結果の例</h2>
<p>それでは、プログラムを見てみましょう。ここでは、記事として気軽に読めるように、空欄の穴埋めに正解を記入したプログラムを示します。</p>
<p>穴埋めとなっていた部分は、コメント <code class="language-py"> # ここが穴埋め問題 </code> で示しておきます。</p>
<p>これらの穴埋めは、プログラムの説明が理解できて、Python の基本構文がしっかりわかっていれば、決して難しくありません。</p>
<p>&nbsp;</p>
<p>プログラムは、parse 関数、Marker クラス、draw 関数から構成されています。</p>
<div class="card-panel">
<dl>
<dt class="mag_h10 bold">parse(s) 関数</dt>
<dd>引数として与えられた命令列 s を、タプルを要素とするリストに変換します</dd>
<dt class="mag_h10 bold">Markerクラス</dt>
<dd>マーカを val だけ進めて描画を行うメソッド </p>
<pre class="language-py">forward( self, val )</pre>
</dd>
<dd>マーカの方向を反時計回りに val だけ回転させるメソッド </p>
<pre class="language-py">turn( self, val )</pre>
</dd>
<dd>初期化を行うメソッド </p>
<pre class="language-py">__init(self)__</pre>
</dd>
</ul>
<dt class="mag_h10 bold">draw(s) 関数</dt>
<dd>引数で与えられた命令列 s を parse 関数で変換し（これが解釈）、その内容を Marker クラスのメソッドを使って描画（これが実行）</dd>
</dl>
</div>
<p>&nbsp;</p>
<p><span class="chip"><i class="material-icons blue-text mag_rt05">code</i>リスト プログラム</span><span class="grey-text small-text">（出典: 基本情報技術者試験 Python サンプル問題）</span></p>
<p class="hide-on-med-and-up grey-text small-text">スマートフォンでは、ソースコードや実行結果は右スクロールするとご覧になれます</p>
<pre>
<code class="language-py">import math  # 数学関数の標準ライブラリ
import matplotlib.pyplot as plt  # グラフ描画の外部ライブラリ

def parse(s):
    return [(x[0], int(x[1:])) for x in s.split(';')]  # int(x[1:]) が穴埋め問題

class Marker:
    def __init__(self):
        self.x, self.y, self.angle = 0, 0, 0
        plt.xlim(-320, 320)  # x軸の表示範囲を設定
        plt.ylim(-240, 240)  # y軸の表示範囲を設定

    def forward(self, val):
        # 度数法で表した角度を，ラジアンで表した角度に変換
        rad = math.radians(self.angle)
        dx = val * math.cos(rad)  # math.cos(rad) が穴埋め問題
        dy = val * math.sin(rad)  # math.sin(rad) が穴埋め問題
        x1, y1, x2, y2 = self.x, self.y, self.x + dx, self.y + dy  # self.x, self.y, が穴埋め問題
        # (x1, y1)と(x2, y2)を結ぶ線分を描画
        plt.plot([x1, x2], [y1, y2], color='black', linewidth=2)
        self.x, self.y = x2, y2

    def turn(self, val):
        self.angle = (self.angle + val) % 360

    def show(self):
        plt.show()  # 描画結果を表示

def draw(s):
    insts = parse(s)
    marker = Marker()
    stack = []
    opno = 0
    while opno < len(insts):
        print(stack)
        code, val = insts[opno]
        if code == 'F':
            marker.forward(val)  # val が穴埋め問題
        elif code == 'T':
            marker.turn(val)  # val が穴埋め問題
        elif code == 'R':
            stack.append({'opno': opno, 'rest': val})  # val が穴埋め問題
        elif code == 'E':
            if stack[-1]['rest'] > 1:
               opno = stack[-1]['opno']  # この行が穴埋め問題
               stack[-1]['rest'] -= 1
            else:
               stack.pop()  # stackの末尾の要素を削除　(この行が穴埋め問題）
        opno += 1
    marker.show()</code>
</pre>
<p>以下は、プログラムの実行結果の例です。</p>
<p>ここでは、プログラムを fesample.py というファイル名で作成し、<span class="u">Python の対話モード</span>で、 </p>
<pre>
<code class="language-none">>>> from fesample import draw </code>
</pre>
<p>を実行して draw 関数をインポートし、</p>
<pre>
<code class="language-none">>>> draw('R3;R4;F100;T90;E0;F100;E0') </code>
</pre>
<p>を実行して描画を行っています。</p>
<p>1 辺が 100 の正方形が 3 つ描かれました。サンプル問題でも、Python の対話モードでプログラムの実行を行っています。</p>
<figure><figcaption>図　プログラムの実行の例</figcaption><img class="materialboxed hoverable z-depth-5 responsive-width" src="../../wp-content/uploads/2019/11/ex_exe_result.png" loading="lazy"><br />
</figure>
<div class="background c-round blue-grey-text small-text">
<i class="material-icons light-blue-text">info</i> Python をブラウザからオンラインで実行できる「 <a href="https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/try.jupyter.org?urlpath=lab" rel="noopener" target="_blank">JupyterLab</a> 」で試すにはプログラム末尾に、</p>
<pre>
<code class="language-py">plt.show(draw('R3;R4;F100;T90;E0;F100;E0'))</code>
</pre>
<p>を加えると実行できます
</p></div>
<h2>問題を解くのに必要な知識</h2>
<p>「ライブラリの知識」<br />
「言語構文の知識」<br />
「プログラミング技法の知識」</p>
<p>に分けて、サンプル問題を解くのに必要な知識を説明しましょう。</p>
<h3>ライブラリの知識</h3>
<p>サンプル問題では、プログラムの中で使用されている様々な関数やオブジェクトの機能が、</p>
<p><code class="language-py pad_05">plt.show()  # 描画結果を表示</code> や<br />
<code class="language-py pad_05">stack.pop()  # stackの末尾の要素を削除</code>のように、</p>
<p>コメントで説明されています。</p>
<p>したがって、標準ライブラリや外部ライブラリの機能を事前に覚えておく必要はないでしょう。</p>
<p>実際の試験でも、ライブラリの関数やメソッドの機能がコメントに示されるはずだからです。</p>
<p>ただし、print 、input 、len 、range 、int 、float 、str、list など、よく使われる標準関数の機能は、事前に覚えておくべきです。これらにコメントは示されないと思われるからです。</p>
<h3>言語構文の知識</h3>
<p>サンプル問題で使用されている言語構文は、2019 年 7 月 1 日に公開されたシラバス Ver.7.0 の「 Python の知識と技術」に示されたものです。</p>
<div class="divider mag_tp40 mag_bt10"></div>
<p class="grey-text small-text"><i class="material-icons mag_rt05">info_outline</i>関連記事</p>
<p><a href="../agenda_python/"></p>
<div class="row valign-wrapper pad_w20">
<div class="col s2 pad_00 flex"><img src="../../wp-content/uploads/2019/01/python_cover-300x225.png" loading="lazy"></div>
<div class="col s10 blue-grey-text bold pad_lt10">Python の出題範囲 (シラバス) が発表されました</div>
</div>
<p></a></p>
<div class="divider mag_bt40 mag_tp10"></div>
<p>シラバスに沿って問題が作られるのですから、これは当然のことです。</p>
<p>以下は、プログラムに <span class="blue-text">「# 構文: 」</span> という形式のコメントを青色で追加して、どの部分で、どのような言語構文の知識が必要なのかを示したものです。</span></p>
<p>どれも、 Python の入門書で説明されている基本的なものなので、わからない言語構文があれば意味を調べておきましょう。</p>
<p>「変数への代入」<br />
「関数の呼び出し」<br />
「メソッドの呼び出し」</p>
<p>など、多用されている構文は、最初の 1 回だけコメントを入れてあります。</p>
<p>&nbsp;</p>
<p><span class="chip" style="height: auto;"><i class="material-icons blue-text mag_rt05">code</i>リスト プログラムを読むのに必要とされる言語構文の知識</span><span class="grey-text small-text">（出典: 基本情報技術者試験 Python サンプル問題）</span></p>
<pre class="grey-text text-lighten-2 mag_h10 pad_h20" style="background:#2d2d2d;font-family:'consolas','Courier New',"HCo Gotham SSm",Gotham,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",Meiryo,sans-serif!important;"><span class="blue-text"># 構文: モジュールのインポート</span>
import math  # 数学関数の標準ライブラリ
<span class="blue-text"># 構文: モジュールをインポートし別名を付ける</span>
import matplotlib.pyplot as plt  # グラフ描画の外部ライブラリ

<span class="blue-text"># 構文: 関数の定義</span>
def parse(s):
    <span class="blue-text"># 構文: リスト内包表記</span>
    <span class="blue-text"># 構文: スライス</span>
    <span class="blue-text"># 構文: メソッドの呼び出し</span>
    return [(x[0], int(x[1:])) for x in s.split(';')]

<span class="blue-text"># 構文: クラスの定義</span>
class Marker:
    <span class="blue-text"># 構文: 初期化メソッドの定義</span>
    <span class="blue-text"># 構文: selfの意味</span>
    def __init__(self):
        <span class="blue-text"># 構文: 変数への代入</span>
        <span class="blue-text"># 構文: タプルのアンパック（展開）</span>
        <span class="blue-text"># 構文: インスタンス変数の初期化</span>
        self.x, self.y, self.angle = 0, 0, 0
        plt.xlim(-320, 320)  # x軸の表示範囲を設定
        plt.ylim(-240, 240)  # y軸の表示範囲を設定

    <span class="blue-text"># 構文: インスタンスメソッドの定義</span>
    def forward(self, val):
        # 度数法で表した角度を，ラジアンで表した角度に変換
        rad = math.radians(self.angle)
        dx = val * math.cos(rad)
        dy = val * math.sin(rad)
        <span class="blue-text"># 構文: タプルのアンパック（展開）</span>
        <span class="blue-text"># 構文: インスタンス変数の値を読み出す</span>
        x1, y1, x2, y2 = self.x, self.y, self.x + dx, self.y + dy
        # (x1, y1)と(x2, y2)を結ぶ線分を描画
        <span class="blue-text"># 構文: リストの作成</span>
        plt.plot([x1, x2], [y1, y2], color='black', linewidth=2)
        <span class="blue-text"># 構文: タプルのアンパック（展開）</span>
        self.x, self.y = x2, y2

    <span class="blue-text"># 構文: インスタンスメソッドの定義</span>
    def turn(self, val):
        <span class="blue-text"># 構文: 算術演算子</span>
        self.angle = (self.angle + val) % 360

    <span class="blue-text"># 構文: インスタンスメソッドの定義</span>
    def show(self):
        plt.show()  # 描画結果を表示

<span class="blue-text"># 構文: 関数の定義</span>
def draw(s):
    <span class="blue-text"># 構文: 関数の呼び出し</span>
    insts = parse(s)
    <span class="blue-text"># 構文: インスタンスの生成</span>
    marker = Marker()
    <span class="blue-text"># 構文: 空のリストの作成</span>
    stack = []
    <span class="blue-text"># 構文: ローカル変数の初期化</span>
    opno = 0
    <span class="blue-text"># 構文: while文による繰り返し</span>
    while opno < len(insts):
        print(stack)
        <span class="blue-text"># 構文: リストのアンパック（展開）</span>
        code, val = insts[opno]
        <span class="blue-text"># 構文: if文による分岐</span>
        <span class="blue-text"># 構文: 比較演算子</span>
        if code == 'F':
            marker.forward(val)
        elif code == 'T':
            marker.turn(val)
        elif code == 'R':
            <span class="blue-text"># 構文: 辞書の要素の設定</span>
            stack.append({'opno': opno, 'rest': val})
        elif code == 'E':
            if stack[-1]['rest'] > 1:
                <span class="blue-text"># 構文: リストの添字</span>
                opno = stack[-1]['opno']
                <span class="blue-text"># 構文: 複合代入演算子</span>
                stack[-1]['rest'] -= 1
            else:
                stack.pop()  # stackの末尾の要素を削除
        <span class="blue-text"># 構文: 複合代入演算子</span>
        opno += 1
    marker.show()</pre>
<h3>プログラミング技法の知識</h3>
<p>サンプルプログラムの処理内容を理解するには、</p>
<ul class="background c-round">
<li class="mag_h10">リスト、タプル、辞書を使い分ける知識</li>
<li class="mag_h10">リストをスタックとして使う知識</li>
</ul>
<p>が必要です。</p>
<p>「リスト」「タプル」「辞書」およびサンプル問題では取り上げられていない「集合」は、Python ならではの便利な機能ですので、しっかり学習しておきましょう。</p>
<p>実際の試験問題でも、これらが多用されると予想されるからです。</p>
<div class="divider mag_tp40 mag_bt10"></div>
<p class="grey-text small-text"><i class="material-icons mag_rt05">info_outline</i>関連記事</p>
<p><a href="../../gogo_arukikata/how_about_python/"></p>
<div class="row valign-wrapper pad_w20">
<div class="col s2 flex pad_00"><img src="../../wp-content/uploads/2019/01/python_cover-300x225.png" loading="lazy"></div>
<div class="col s10 blue-grey-text bold pad_lt10">「基本情報 の Python ってどんな感じ？」こんな感じです！｜午後問題の歩き方</div>
</div>
<p></a></p>
<h2>令和 2 年度の春期試験で Python を選択する受験者へのアドバイス</h2>
<p>過去の試験では、新たなプログラミング言語が採用されたときの最初の問題は、ボリュームが少なく、とてもやさしい内容になっていました。</p>
<p>たとえば、新たに表計算が採用されたときの最初の問題（<a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2009h21_1/2009h21h_fe_pm_qs.pdf#page=54" rel="noopener" target="_blank">平成 21 年度 春期 午後問 13</a> ）は、わずか 4 ページであり、使われている関数は、切り上げ、IF 、照合、合計の 3 つだけでした。</p>
<p>これは、試験の運営側に、多くの選択者を得たいという思いと、選択者の多くに合格点を取ってほしいという思いがあってのことでしょう。</p>
<p>おそらく Python も同様のはずです。<span class="bold">最初の Python の問題は、ねらい目</span>です。</p>
<p>&nbsp;</p>
<p>ただし、<span class="bold">Python は、言語構文を覚えるのに時間がかかる言語</span>です。</p>
<p>4 月の本試験まで約 5 か月ありますが、これから Python の学習を始めるという受験者は、今回発表されたサンプル問題で使われている言語構文を隅々まで理解できるようになるまで、気合を入れて丁寧な学習をしてください。</p>
<p>もしも、Python の言語構文の教材をお持ちなら、最初から丁寧に復習してください。何度も繰り返して復習してください。</p>
<p>そして、自信を持って試験に臨んでください。</p>
<div class="divider mag_tp50 mag_bt30"></div>
<p>令和2年度の春期試験で Python を選択する受験者は、どれくらいいるのでしょう。講師をしている筆者は、大いに興味があります。</p>
<p>なぜなら、基本情報技術者試験で Python の選択者が多くいるなら、それはプログラミング自体を学習する言語として Python が普及している証であり、今後 Python を学ぶ研修が多くなるからです。</p>
<p>はたして、どうなるでしょう。ワクワクします。</p>
<p>それでは、またお会いしましょう！</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/thinking_sample_prob_python/">難しくはないがレベルが高い 基本情報 Python のサンプル問題を解説</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>Python のサンプル問題が公開されました</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/sample_question_python/</link>
		<pubDate>Mon, 28 Oct 2019 05:28:25 +0000</pubDate>
		<dc:creator><![CDATA[基本情報技術者試験 受験ナビ 編集部]]></dc:creator>
				<category><![CDATA[2019見直し]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[午後プログラミング言語問題]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=guide&#038;p=2570</guid>
		<description><![CDATA[<p>error この記事は基本情報技術者試験の旧制度（ 2022 年以前）の記事です。この記事の題材となっている「 Python 」は現在の試験制度では出題されません。 ご注意くださいませ。 かねてより、アナウンスがあった、 [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/sample_question_python/">Python のサンプル問題が公開されました</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<div class="background c-round flex">
<p class="mag_rt10 mag_h00"><i class="material-icons red-text" style="font-size:2.2em">error</i></p>
<p class="blue-grey-text mag_h00">この記事は基本情報技術者試験の旧制度（ 2022 年以前）の記事です。<br />この記事の題材となっている<span class="bold">「 Python 」は現在の試験制度では出題されません。</span> ご注意くださいませ。</p>
</div>
<p>かねてより、アナウンスがあった、基本情報技術者試験 午後のプログラミング選択問題で新しく追加される Python について、2019 年 10 月 28 日、IPA よりサンプル問題が発表されました。</p>
<p><a href="https://www.jitec.ipa.go.jp/1_00topic/topic_20191028.html" rel="noopener" target="_blank"></p>
<div class="card-panel c-round mag_h30 hoverable">
<div class="chip blue white-text">プレスリリース</div>
<p>IPA 独立行政法人 情報処理推進機構：情報処理技術者試験センター：<br />
基本情報技術者試験（FE）におけるPythonのサンプル問題の公開について
</p></div>
<p></a></p>
<p>今回は上記のニュースリリースより、問題文全文をページに起こしました。</p>
<style>
  dl.inline dd {
    margin-left: 2em;
  }
  .background li {
    margin-left: 1em;
  }
  article {
    font-family:'consolas','Courier New',"HCo Gotham SSm",Gotham,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",Meiryo,sans-serif!important;
  }
  figure img {
    margin: auto;
  }
  figcaption {
    color: #607d8b;
    text-align: center;
    margin: .5em;
  }
  pre {
    margin-left: -7.5% !important;
    margin-right: -7.5% !important;
    padding-left: 7.5% !important;
    padding-right: 7.5% !important;
  }
  .border {
    border: #607d8b .2em solid;
    padding: .25em 2em;
    margin: .25em .5em;
    font-weight: 700;
  }
</style>
<h2>Python サンプル問題</h2>
<div class="card-panel blue-grey-text small-text z-depth-0 grey lighten-5 mag_h30">
<i class="material-icons blue-text mar_rt05">error</i>編集部注</p>
<ul>
<li>出典：基本情報技術者試験 Pythonサンプル問題</li>
<li>本記事ではわかりやすいよう、問題文にシンタックスハイライトなどを入れています</li>
<li class="hide-on-med-and-up">スマートフォンでご覧の際、プログラムは横スクロールすると全文をご覧になれます</li>
</div>
<div class="divider mag_h40"></div>
<p>問　Python のプログラムに関する次の記述を読んで，設問 1，2 に答えよ。</p>
<p>命令列を解釈実行することによって様々な図形を描くプログラムである。</p>
<dl class="inline">
<dt>(1)</dt>
<dd>描画キャンバスの座標は，x 軸の範囲が -320 ～ 320，y 軸の範囲が -240 ～ 240 である。描画キャンバスの座標系を，図1に示す。描画キャンバス上にはマーカがあり，マーカを移動させることによって描画する。マーカは，現在の位置座標と進行方向の角度を情報としてもつ。マーカの初期状態の位置座標は (0， 0) であり，進行方向は x 軸の正方向である。</dd>
</dl>
<figure><figcaption>図 1  描画キャンバスの座標系</figcaption><img class="hoverable materialboxed" data-caption="図 1  描画キャンバスの座標系" src="../../wp-content/uploads/2019/10/sample_python_figure1.png"><br />
</figure>
<dl class="inline">
<dt>(2)</dt>
<dd>命令列は，命令を &#8220;;&#8221; で区切った文字列である。命令は，1 文字の命令コードと数値パラメタの対で構成される。命令には，マーカに対して移動を指示する命令，マーカに対して回転を指示する命令，及び命令列中のある範囲の繰返しを指示する命令がある。繰り返す範囲を，繰返し区間という。命令は，命令列の先頭から順に実行する。命令とその説明を，表 1 に示す</dd>
<table class="striped inline-block mag_h40">
<caption class="blue-grey-text">図　命令コードと数値パラメタの説明</caption>
<thead>
<tr>
<th>命令コード</th>
<th>数値パラメタ</th>
<th class="block">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td><code class="language-py"> F </code></td>
<td>長さ</td>
<td>マーカを現在の進行方向に数値パラメタで指定した長さだけ進め、移動元から移動先までの線分を描く。</td>
</tr>
<tr>
<td><code class="language-py"> T </code></td>
<td>角度</td>
<td>マーカの進行方向を、数値パラメータが正の場合は反時計回りに、負の場合は時計回りに、数値パラメタの角度（度数法）だけ回転する。</td>
</tr>
<tr>
<td><code class="language-py"> R </code></td>
<td>繰返し回数</td>
<td>繰返し区間の開始を示す。この命令と対になる命令コード E との間を、命令コード R の数値パラメタの回数だけ繰り返す。</td>
</tr>
<tr>
<td><code class="language-py"> E </code></td>
<td>0</td>
<td>繰返し区間の終了を示す。数値パラメタは、常に 0 である。</td>
</tr>
</tbody>
</table>
<dl class="inline mag_h30">
<dt>(3)</dt>
<dd>命令列 R3; R4; F100; T90; E0; F100; E0（以下，命令列 α という）の繰返し区間を，図 2 に示す。マーカが初期状態にあるときに，命令列 α を実行した場合の描画結果を，図 3 に示す。なお，図3中の描画キャンバスの枠，目盛りとその値，① ，② 及び矢印は，説明のために加えたものである。</dd>
</dl>
<figure><figcaption>図 2  命令列 α の繰返し区間 </figcaption><img class="materialboxed hoverable" data-caption="図 2  命令列 α の繰返し区間 " src="../../wp-content/uploads/2019/10/sample_python_figure2.png"><br />
</figure>
<figure><figcaption>図 3  命令列 α を実行した場合の描画結果</figcaption><img class="materialboxed hoverable" data-caption="図 3  命令列 α を実行した場合の描画結果" src="../../wp-content/uploads/2019/10/sample_python_figure3.png"><br />
</figure>
<div class="divider mag_h50"></div>
<h3>設問 1</h3>
<p>次の記述中の <span class="border"></span> に入れる正しい答えを，解答群の中から選べ。ここで，a1 と a2 に入れる答えは，a に関する解答群の中から組合せとして正しいものを選ぶものとする。</p>
<dl class="inline mag_h40">
<dt>(1)</dt>
<dd>命令列 α の実行が終了した時点でのマーカの位置は，図 3 中の <span class="border">a1</span> が指す位置にあり，進行方向は <span class="border">a2</span> である。</dd>
<dt>(2)</dt>
<dd>マーカが初期状態にあるときに，図 4 に示す 1 辺の長さが 100 の正五角形を描くことができる命令列は， <span class="border">b</span> である。ここで，図 4 中の描画キャンバスの枠，目盛りとその値は，説明のために加えたものである。</dd>
</dl>
<figure><figcaption>図 4  1 辺の長さが 100 の正五角形</figcaption><img class="materialboxed hoverable" data-caption="図 4  1辺の長さが100の正五角形" src="../../wp-content/uploads/2019/10/figure_4.jpg"><br />
</figure>
<p>a に関する解答群</p>
<div class="row">
<div class="col s12 m9">
<table class="bordered centered">
<thead>
<tr>
<td></td>
<th>a1</th>
<th>a2</th>
</tr>
</thead>
<tbody>
<tr>
<th>ア</th>
<td>①</td>
<td>x 軸の正方向</td>
</tr>
<tr>
<th>イ</th>
<td>①</td>
<td>y 軸の正方向</td>
</tr>
<tr>
<th>ウ</th>
<td>②</td>
<td>x 軸の正方向</td>
</tr>
<tr>
<th>エ</th>
<td>②</td>
<td>y 軸の正方向</td>
</tr>
</table>
</tbody>
<p></tabel>
</div>
</div>
<p>b に関する解答群</p>
<p>ア　R5; F100; T-108; E0　　<br class="hide-on-med-and-up">イ　R5; F100; T-75; E0<br />
ウ　R5; F100; T-72; E0　　<br class="hide-on-med-and-up">エ　R5; F100; T-60; E0<br />
オ　R5; F100; T60; E0　　<br class="hide-on-med-and-up">カ　R5; F100; T72; E0<br />
キ　R5; F100; T75; E0　　<br class="hide-on-med-and-up">ク　R5; F100; T108; E0</p>
<p>&nbsp;</p>
<p>〔プログラムの説明〕</p>
<dl class="inline mag_h30">
<dt>(1)</dt>
<dd>関数 parse は，引数として与えられた命令列を，タプルを要素とするリストに変換する。ここで，命令列は，少なくとも一つの命令をもち，誤りはないものとする。1 タプルは，1 命令に相当し，命令コード及び数値パラメタから構成される。関数 parse が定義された状態での，対話モードによる実行例を，実行結果 1 に示す。</dd>
</dl>
<p>〔実行結果 1〕</p>
<pre><code class="language-none">>>> parse('R4;F100;T90;E0')
[('R', 4), ('F', 100), ('T', 90), ('E', 0)]</code></pre>
<dl class="inline mag_h30">
<dt>(2)</dt>
<dd>クラス Marker は，マーカの現在の位置座標を属性 x, y に，進行方向を x 軸正方向から反時計回りに測った角度で属性 angle に保持する。オブジェクトの生成時に，描画キャンバスの表示範囲を設定し，属性 x, y を 0, 0 に，属性 angle を 0 に設定する。クラス Marker に，マーカの操作をする次のメソッドを定義する。</dd>
</dl>
<dl class="background c-round">
<dt>forward( val ) </dt>
<dd>マーカの位置座標を，現在の進行方向に val で指定された長さだけ進め，線分を描く。</dd>
<dd>引数： val 長さ</dd>
</dl>
<dl class="background c-round">
<dt>turn( val ) </dt>
<dd>マーカの進行方向を，反時計回りに val で指定された角度だけ回転させる。</dd>
<dd>引数： val 度数法で表した角度</dd>
</dl>
<dl class="inline mag_h30">
<dt>(3)</dt>
<dd>関数 draw は，引数として与えられた命令列の各命令を解釈実行し，描画結果を表示する。ここで，命令列は，少なくとも一つの命令をもち，誤りはないものとする。関数 draw の概要を，次に示す。</dd>
</dl>
<ol class="background c-round">
<li>命令列を，関数 parse を利用してタプルを要素とするリストに変換する。</li>
<li>マーカの操作は，クラス Marker を利用する。</li>
<li>繰返し区間の入れ子を扱うために，スタックを用いる。</li>
<li>スタックはリストで表現され，各要素は繰返しの開始位置 opno と残り回数 rest をもつ辞書である。</li>
<li>プログラムの位置 β にある print 関数を使って，スタックの状態変化を出力する。</li>
</ol>
<p>2 重の繰返し区間をもつ命令列について，関数 draw が定義された状態での，対話モードによる実行例を，実行結果 2 に示す。</p>
<p>〔実行結果 2〕</p>
<pre>
<code class="language-none">>>> draw('R2;R3;E0;E0') 
[] 
[{'opno': 0, 'rest': 2}] 
[{'opno': 0, 'rest': 2}, {'opno': 1, 'rest': 3}] 
[{'opno': 0, 'rest': 2}, {'opno': 1, 'rest': 2}] 
[{'opno': 0, 'rest': 2}, {'opno': 1, 'rest': 1}] 
[{'opno': 0, 'rest': 2}] 
[{'opno': 0, 'rest': 1}] 
[{'opno': 0, 'rest': 1}, {'opno': 1, 'rest': 3}] 
[{'opno': 0, 'rest': 1}, {'opno': 1, 'rest': 2}] 
[{'opno': 0, 'rest': 1}, {'opno': 1, 'rest': 1}] 
[{'opno': 0, 'rest': 1}]</code>
</pre>
<p>〔プログラム〕</p>
<pre class="mag_bt50">
<code class="language-python">import math  # 数学関数の標準ライブラリ 
import matplotlib.pyplot as plt  # グラフ描画の外部ライブラリ 

def parse(s): 
    return [(x[0], "[  c  ]") for x in s.split(';')] 

class Marker: 
    def __init__(self): 
        self.x, self.y, self.angle = 0, 0, 0 
        plt.xlim(-320, 320)  # x軸の表示範囲を設定 
        plt.ylim(-240, 240)  # y軸の表示範囲を設定 

    def forward(self, val): 
        # 度数法で表した角度を，ラジアンで表した角度に変換 
        rad = math.radians(self.angle) 
        dx = val * "[  d1  ]"
        dx = val * "[  d2  ]"
        x1, y1, x2, y2 = "[  e  ]", self.x + dx, self.y + dy
        # (x1，y1)と(x2，y2)を結ぶ線分を描画
        plt.plot([x1, x2], [y1, y2], color='black', linewidth=2)  
        self.x, self.y = x2, y2

    def turn(self, val): 
        self.angle = (self.angle + val) % 360     def show(self): 
        plt.show()  # 描画結果を表示 

def draw(s): 
    insts = parse(s) 
    marker = Marker() 
    stack = [] 
    opno = 0
    while opno < len(insts): 
        print(stack)  # <----- β
        code, val = insts[opno] 
        if code == 'F': 
            marker.forward("[  f  ]") 
        elif code == 'T': 
            marker.turn("[  f  ]")
        elif code == 'R': 
            stack.append({'opno': opno, 'rest':"[  f  ]"}) 
        elif code == 'E': 
            if stack[-1]['rest']"[  g  ]": 
                "[  h  ]"
                stack[-1]['rest'] -= 1
            else: 
                "[  i  ]"
        opno += 1 
    marker.show()</code>
</pre>
<h3>設問 2</h3>
<p>プログラム中の <span class="border"></span> に入れる正しい答えを，解答群の中から選べ。ここで，d1 と d2 に入れる答えは，d に関する解答群の中から組合せとして正しいものを選ぶものとする。d に関する解答群の中で使用される標準ライブラリの仕様は，次のとおりである。 </p>
<dl class="background c-round">
<dt>math.sin( x )</dt>
<dd>指定された角度の正弦（ sin ）を返す。</dd>
<dd>引数： x  ラジアンで表した角度</dd>
<dd>戻り値：引数の正弦（ sin ）</dd>
</dl>
<dl class="background c-round">
<dt>math.cos( x )</dt>
<dd>指定された角度の余弦（ cos ）を返す。</dd>
<dd>引数： x  ラジアンで表した角度</dd>
<dd>戻り値：引数の余弦（ cos ）</dd>
</dl>
<p>c に関する解答群</p>
<pre class="mag_h30">
ア <code class="language-python">int(x[1])</code>　　イ <code class="language-python">int(x[1:])</code>
ウ <code class="language-python">int(x[:1])</code>　　エ <code class="language-python">int(x[2])</code>
オ <code class="language-python">int(x[2:])</code>　　カ <code class="language-python">int(x[:2])</code>
</pre>
<p>d に関する解答群</p>
<table class="bordered mag_h30">
<thead>
<tr>
<th></th>
<th>d1</th>
<th>d2</th>
</tr>
</thead>
<tbody>
<tr>
<th>ア</th>
<td style="text-align: left;"><code class="language-python">math.cos(rad)</code></td>
<td style="text-align: left;"><code class="language-python">-math.sin(rad)</code></td>
</tr>
<tr>
<th>イ</th>
<td style="text-align: left;"><code class="language-python">math.cos(rad)</code></td>
<td style="text-align: left;"><code class="language-python">math.sin(rad)</code></td>
</tr>
<tr>
<th>ウ</th>
<td style="text-align: left;"><code class="language-python">math.sin(rad)</code></td>
<td style="text-align: left;"><code class="language-python">-math.cos(rad)</code></td>
</tr>
<tr>
<th>エ</th>
<td style="text-align: left;"><code class="language-python">math.sin(rad)</code></td>
<td style="text-align: left;"><code class="language-python">math.cos(rad)</code></td>
</tr>
</tbody>
</table>
<p>e に関する解答群</p>
<pre class="mag_h30">
ア <code class="language-python">0, 0</code>　　イ <code class="language-python">dx, dy</code>
ウ <code class="language-python">selg.x, self.y</code>　　エ <code class="language-python">self.x - dx, self.y - dy</code>
</pre>
<p>f に関する解答群</p>
<pre class="mag_h30">
ア <code class="language-python">0</code>　　イ <code class="language-python">code</code>
ウ <code class="language-python">len(insts)</code>　　エ <code class="language-python">val</code>
</pre>
<p>g に関する解答群</p>
<pre class="mag_h30">
ア <code class="language-python">< 0</code>　　イ <code class="language-python">< 1</code>　　ウ <code class="language-python">== 0</code>
エ <code class="language-python">> 0</code>　　オ <code class="language-python">> 1</code>
</pre>
<p>h，i に関する解答群</p>
<pre class="mag_h30">
ア <code class="language-python">opno = stack[-1]['opno'] </code>
イ <code class="language-python">stack.clear()  # stackをクリア</code>
ウ <code class="language-python">stack.pop()  # stackの末尾の要素を削除</code>
エ <code class="language-python">stack.pop(0)  # stackの先頭の要素を削除</code>
オ <code class="language-python">stack[-1]['opno'] = opno</code>
</pre>
<div class="divider mag_h40"></div>
<h2>解答と出題趣旨</h2>
<div class="chip">解答</div>
<table class="bordered centered">
<thead>
<tr>
<th colspan="2">設問番号</th>
<th>正解</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2">設問1</td>
<td>a</td>
<td>ウ</td>
</tr>
<tr>
<td>b</td>
<td>カ</td>
</tr>
<tr>
<td rowspan="7">設問2</td>
<td>c</td>
<td>イ</td>
</tr>
<tr>
<td>d</td>
<td>イ</td>
</tr>
<tr>
<td>e</td>
<td>ウ</td>
</tr>
<tr>
<td>f</td>
<td>エ</td>
</tr>
<tr>
<td>g</td>
<td>オ</td>
</tr>
<tr>
<td>h</td>
<td>ア</td>
</tr>
<tr>
<td>i</td>
<td>ウ</td>
</tr>
</tbody>
</table>
<div class="grey lighten-5 c-round pad_15 mag_tp30">
<div class="chip indigo-text mag_bt20">出題趣旨</div>
<p class="indigo-text">命令列の解釈実行を行うインタプリタを作成することは，プログラミング技法の習得の点でも，プログラムの動作原理を理解する点でも，意義深い取組である。<br />
　本問は，簡易な描画処理の命令列を解釈実行することを主題としている。<br />
　本問では，繰返しの入れ子構造をもつ命令列の解釈実行について問うことによって，スタックを用いて実装する能力を評価する。また，マーカの移動及び回転を指示する命令の実行について問うことによって，プログラム言語 Python の外部ライブラリや，三角関数などの数値計算を行う標準ライブラリを活用する能力を評価する。</p>
</div>
<div class="divider mag_h40"></div>
<h2>Python に関する記事と連載、追加中！！</h2>
<p>基本情報技術者試験 受験ナビでは、おなじみの <a href="../../chosya/矢沢久雄/">矢沢 久雄</a> さんにサンプル問題の解説いただいたほか、<a href="../../gogo_arukikata/">午後問題の歩き方</a> にて Python の連載が始まりました！</p>
<div class="collection mag_h30">
<a class="collection-item" href="../thinking_sample_prob_python/">難しくはないがレベルが高い 基本情報 Python のサンプル問題を解説</a><a class="collection-item" href="../../gogo_arukikata/how_about_python/">「基本情報 の Python ってどんな感じ？」を解説｜午後問題の歩き方</a><a class="collection-item" href="../../gogo_arukikata/checkout_basic_python_with_sampleprob/">基本情報のサンプル問題で Python の基礎知識をチェック | 午後問題の歩き方</a>
</div><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/sample_question_python/">Python のサンプル問題が公開されました</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>令和元年度 (2019年度) 秋期 基本情報技術者試験 問題解説</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/report_fe_2019_autumn/</link>
		<pubDate>Sat, 26 Oct 2019 13:56:44 +0000</pubDate>
		<dc:creator><![CDATA[矢沢 久雄]]></dc:creator>
				<category><![CDATA[2019見直し]]></category>
		<category><![CDATA[試験講評]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=guide&#038;p=2407</guid>
		<description><![CDATA[<p>試験対策講座の講師として、誠に勝手ながら、2019 年 10 月 20 日（日）に実施された基本情報技術者の講評をさせていただきます。 今回受験された人は振り返りの題材として、今後受験される人は解法ポイントを知る資料とし [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/report_fe_2019_autumn/">令和元年度 (2019年度) 秋期 基本情報技術者試験 問題解説</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>試験対策講座の講師として、誠に勝手ながら、2019 年 10 月 20 日（日）に実施された基本情報技術者の講評をさせていただきます。</p>
<p>今回受験された人は振り返りの題材として、今後受験される人は解法ポイントを知る資料として、参考にしていただけたら幸いです。</p>
<p>午後試験のソフトウェア開発の問題は、選択者が多い Java と 表計算 を取り上げます。</p>
<div class="card-panel grey lighten-5 z-depth-0 blue-grey-text hide-on-med-and-up c-round mag_h40 small-text">
<i class="material-icons light-blue-text mag_rt05">info</i>編集部注: スマートフォンでご覧の際、数式は横スクロールすると全文をご覧になれます
</div>
<style>dl.inline dd{margin-left:2em}.math{height:3em;width:auto;position:relative;top:1em}@media only screen and (max-width:600px){.card.process{margin:0;overflow:auto}.direction-column-on-small{flex-direction:column}}</style>
<h2>午前試験は、かなり難しかった</h2>
<p>ハッキリ言って、今回の午前試験は、かなり難しかったです。<strong>真新しい問題が多かったからです。</strong></p>
<p>さらに、2019 年 1 月 14 日付けの IPA のニュースリリースで「<a href="../focus_on_diff_2/">令和元年（ 2019 年）秋期試験から数学に関する出題比率を多くする</a>」と発表された通りに、数学に関する問題も目立っていました。</p>
<p>&nbsp;</p>
<p>まず、出題テーマを見てみましょう。</p>
<p><i class="material-icons red-text">fiber_new</i> という印を付けたものは真新しい問題であり、<span class="c-round blue white-text small-text pad_05">&nbsp;数学&nbsp;</span> という印を付けてものは数学に関する問題（技術、管理、戦略に関する計算問題ではなく、純粋に数学の問題）です。</p>
<p>全 80 問の中に、<i class="material-icons red-text">fiber_new</i> は 29 問あり、<span class="c-round blue white-text small-text pad_05">&nbsp;数学&nbsp;</span> は 3 問あります。</p>
<div class="row">
<div class="col m6">
<table class="striped">
<thead>
<tr>
<th width="10%">問</th>
<th width="90%">テクノロジ系の出題テーマ</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>10進数を2進数に変換する処理 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>2</td>
<td>8ビットの全ビットを反転する操作</td>
</tr>
<tr>
<td>3</td>
<td>ノードとノード間のエッジの有無を示す隣接行列 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>4</td>
<td>関数の極限 <i class="material-icons red-text">fiber_new</i> <span class="c-round blue white-text small-text pad_05">&nbsp;数学&nbsp;</span></td>
</tr>
<tr>
<td>5</td>
<td>正規分布を表すグラフ <span class="c-round blue white-text small-text pad_05">&nbsp;数学&nbsp;</span></td>
</tr>
<tr>
<td>6</td>
<td>組合せと確率 <i class="material-icons red-text">fiber_new</i> <span class="c-round blue white-text small-text pad_05">&nbsp;数学&nbsp;</span></td>
</tr>
<tr>
<td>7</td>
<td>バカス・ナウア記法</td>
</tr>
<tr>
<td>8</td>
<td>複数のスタックを使ったデータの入れ替え <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>9</td>
<td>花文字の回転</td>
</tr>
<tr>
<td>10</td>
<td>ハッシュ法によるデータの格納</td>
</tr>
<tr>
<td>11</td>
<td>関数の再帰呼び出し</td>
</tr>
<tr>
<td>12</td>
<td>クロック周波数からCPUの平均命令実行数を求める</td>
</tr>
<tr>
<td>13</td>
<td>多重割込みが許可されている場合のCPU時間 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>14</td>
<td>デイジーチェーンと呼ばれる接続方法</td>
</tr>
<tr>
<td>15</td>
<td>RAIDのミラーリング</td>
</tr>
<tr>
<td>16</td>
<td>稼働率の計算</td>
</tr>
<tr>
<td>17</td>
<td>バッファサイズを表す計算式</td>
</tr>
<tr>
<td>18</td>
<td>優先度に基づくプリエンプティブなスケジューリング <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>19</td>
<td>増分バックアップ方式の説明</td>
</tr>
<tr>
<td>20</td>
<td>DRAMの特徴</td>
</tr>
</tbody>
</table>
</div>
<div class="col m6">
<table class="striped">
<thead>
<tr>
<th width="10%">問</th>
<th width="90%">テクノロジ系の出題テーマ</th>
</tr>
</thead>
<tbody>
<tr>
<td>21</td>
<td>シフトレジスタのタイミングチャート <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>22</td>
<td>MIL記号で示した論理回路</td>
</tr>
<tr>
<td>23</td>
<td>コード体系の種類</td>
</tr>
<tr>
<td>24</td>
<td>H.264/MPEG-4AVCの説明 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>25</td>
<td>UMLで表した概念データモデルの解釈</td>
</tr>
<tr>
<td>26</td>
<td>SQLのSELECT命令</td>
</tr>
<tr>
<td>27</td>
<td>関係モデルの演算の種類</td>
</tr>
<tr>
<td>28</td>
<td>トランザクションの状態遷移 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>29</td>
<td>トランザクションの2層ロッキングプロトコル <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>30</td>
<td>ネットワークの回線利用率</td>
</tr>
<tr>
<td>31</td>
<td>CSMA/CD方式のLANのノードの送信動作 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>32</td>
<td>レイヤ3スイッチだけが持つ機能 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>33</td>
<td>NAPT（IPマスカレード）の機能</td>
</tr>
<tr>
<td>34</td>
<td>プロキシサーバの役割 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>35</td>
<td>DNSキャッシュポイズニングの説明</td>
</tr>
<tr>
<td>36</td>
<td>マルウェアの動的解析 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>37</td>
<td>WPA3の説明</td>
</tr>
<tr>
<td>38</td>
<td>RSA方式のディジタル署名の検証鍵と使用方法 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>39</td>
<td>情報セキュリティのバックドアに該当するもの</td>
</tr>
<tr>
<td>40</td>
<td>SHA-256を使って情報セキュリティ上で実現できること</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="row">
<div class="col m6">
<table class="striped">
<thead>
<tr>
<th width="10%">問</th>
<th width="90%">テクノロジ系の出題テーマ</th>
</tr>
</thead>
<tbody>
<tr>
<td>41</td>
<td>SEOポイズニングの説明 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>42</td>
<td>ファイアウォールとDMZの役割 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>43</td>
<td>SIEM（Security Information and Event Management）の機能 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>44</td>
<td>SMTP-AUTHの機能</td>
</tr>
<tr>
<td>45</td>
<td>DFDを構成する図記号の意味</td>
</tr>
<tr>
<td>46</td>
<td>モジュール結合度を弱くする方法</td>
</tr>
<tr>
<td>47</td>
<td>エラー埋没法のエラー数を表す式 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>48</td>
<td>テストに使用するスタブとドライバの説明</td>
</tr>
<tr>
<td>49</td>
<td>テストケースの命令網羅と判定条件網羅の関係</td>
</tr>
<tr>
<td>50</td>
<td>XP（eXtreme Programming）におけるプラクティスの種類</td>
</tr>
</tbody>
</table>
</div>
<div class="col m6">
<table class="striped">
<thead>
<tr>
<th width="10%">問</th>
<th width="90%">マネジメント系の出題テーマ</th>
</tr>
</thead>
<tbody>
<tr>
<td>51</td>
<td>プレシデンスダイアグラム法の依存関係</td>
</tr>
<tr>
<td>52</td>
<td>アローダイアグラムからクリティカルパスを求める</td>
</tr>
<tr>
<td>53</td>
<td>ファンクションポイント法の説明</td>
</tr>
<tr>
<td>54</td>
<td>打合せ回数の計算 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>55</td>
<td>サービスマネジメントシステムへのPDCA方法論の適用</td>
</tr>
<tr>
<td>56</td>
<td>システムの移行計画に関する記述</td>
</tr>
<tr>
<td>57</td>
<td>事業継続計画で用いられる用語（RTO） <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>58</td>
<td>システムテストの監査におけるチェックポイント</td>
</tr>
<tr>
<td>59</td>
<td>システム監査人の独立性</td>
</tr>
<tr>
<td>60</td>
<td>アクセス制御を監査するシステム監査人の行為</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="row">
<div class="col m6">
<table class="striped">
<thead>
<tr>
<th width="10%">問</th>
<th width="90%">ストラテジ系の出題テーマ</th>
</tr>
</thead>
<tbody>
<tr>
<td>61</td>
<td>情報化投資において最適な資源配分を行う手法</td>
</tr>
<tr>
<td>62</td>
<td>人材不足の解消を目標としたRPAの事例 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>63</td>
<td>マーケティング活動に活用するビッグデータの取扱い <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>64</td>
<td>個人情報の漏えいや目的外利用に対する予防的な機能 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>65</td>
<td>非機能要件の定義で行う作業</td>
</tr>
<tr>
<td>66</td>
<td>リレーションシップマーケティングの説明 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>67</td>
<td>内部ビジネスプロセスの視点における戦略目標と業績評価指標 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>68</td>
<td>技術経営におけるプロダクトイノベーションの説明</td>
</tr>
<tr>
<td>69</td>
<td>ディジタルディバイドの説明</td>
</tr>
<tr>
<td>70</td>
<td>”かんばん方式”の説明</td>
</tr>
</tbody>
</table>
</div>
<div class="col m6">
<table class="striped">
<thead>
<tr>
<th width="10%">問</th>
<th width="90%">ストラテジ系の出題テーマ</th>
</tr>
</thead>
<tbody>
<tr>
<td>71</td>
<td>ブロックチェーンによる仮想通貨マイニングの説明 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>72</td>
<td>クラウドファウンディングの説明</td>
</tr>
<tr>
<td>73</td>
<td>生産現場における機械学習の活用事例</td>
</tr>
<tr>
<td>74</td>
<td>BCP（事業継続計画）の策定と運用</td>
</tr>
<tr>
<td>75</td>
<td>CIOの果たすべき役割</td>
</tr>
<tr>
<td>76</td>
<td>線形計画法で最大利益を求める</td>
</tr>
<tr>
<td>77</td>
<td>ROIの説明</td>
</tr>
<tr>
<td>78</td>
<td>目標利益を達成するのに必要な売上高</td>
</tr>
<tr>
<td>79</td>
<td>シュリンクラップ契約におけるソフトウェアの使用許諾契約の成立 <i class="material-icons red-text">fiber_new</i></td>
</tr>
<tr>
<td>80</td>
<td>製造物責任法の対象となるもの</td>
</tr>
</tbody>
</table>
</div>
</div>
<h2>真新しい問題に遭遇してもジタバタしよう</h2>
<p>今回の午前試験では、真新しい問題が多かったので、今後受験される人は、「真新しい問題に遭遇してもジタバタする」という心構えを持ってください。</p>
<p>「ジタバタする」とは、すぐにあきらめないで、自分の持っている知識を総動員して、何とかして正解を選ぶのです。</p>
<p>基本情報技術者試験の問題は、すべて選択問題ですから、ジタバタすれば何とかなります。</p>
<p>ジタバタする例として、以下の問 24 を解いてみましょう。</p>
<div class="card-panel mag_h30">
問 24 (令和元年 秋期)</p>
<p>H.264 / MPEG-4 AVC の説明として，適切なものはどれか。</p>
<dl class="inline">
<dt>ア</dt>
<dd>5.1 チャンネルサラウンドシステムで使用されている音声圧縮技術</dd>
<dt>イ</dt>
<dd>携帯電話で使用されている音声圧縮技術</dd>
<dt>ウ</dt>
<dd>ディジタルカメラで使用されている静止画圧縮技術</dd>
<dt>エ</dt>
<dd>ワンセグ放送で使用されている動画圧縮技術</dd>
</dl>
</div>
<p>問題のテーマとなっている「 H.264 / MPEG-4 AVC 」は、今回の試験から適用されたシラバス Ver.6.0 で新たに追加された用語なので、ご存知ない人も多いでしょう。</p>
<p>シラバス Ver.6.0 には、「 H.264 、HEVC 、H.265 」とだけ示されているのですが、この問題では、ご丁寧に「 H.264 / MPEG-4 AVC」と示されています。</p>
<div class="mag_h40 grey lighten-5 pad_15 c-round">
<i class="material-icons indigo-text">label</i> 関連記事</p>
<p><a href="../focus_on_diff_2/"></p>
<div class="card hoverable c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col s12 m3 pad_00 flex"><img src="../../wp-content/uploads/2019/06/syllabus_fe_diff.jpg"></div>
<div class="col s12 m9 pad_15 black-text bold">基本情報技術者試験の 2019 シラバス改訂 で注目すべきポイント (用語解説付き)</div>
</p></div>
</p></div>
<p></a>
</div>
<p>この中にある「 MPEG 」という言葉には、きっと見覚えがあるはです。</p>
<p>MPEG = Moving Picture Experts Group（動画専門家集団）は、動画データの形式です。</p>
<p>選択肢を見ると、「動画」という言葉があるのは、エだけです。それならエを選びましょう。</p>
<p>これがジタバタするということです。実際の正解もエです。</p>
<h2>何とびっくり！ 高校レベルの数学の問題が出た</h2>
<p>講師である私は、これまでの試験対策講座で「<span class="u">基本情報技術者試験に必要とされる数学の知識は、中学卒業レベルです。方程式、関数、統計、確率などがわかれば OK</span> です」と説明してきましたが、今回の試験以降では、この説明を撤回させていただきます。</p>
<p>なぜなら、今回の試験で、<strong>高校の数学で習う「関数の極限」</strong>が出たからです。以下の問題です。</p>
<div class="card-panel mag_h30">
問 4　(令和元年 秋期)</p>
<p><span style="vertical-align: middle;">a 及び b を定数とする関数 <img class="math mag_w05" src="../../wp-content/uploads/2019/10/function_f.jpg"> 及び <img class="math mag_w05" src="../../wp-content/uploads/2019/10/function_g.jpg"> に対して，<img class="math mag_w05" src="../../wp-content/uploads/2019/10/limit.jpg"> はどれか。ここで，a ≠ 0，b ≠ 0，t > 1 とする。</span></p>
<p><span style="vertical-align: middle;">ア　0　　イ　1　　<br class="hide-on-med-and-up">ウ　<img class="math mag_w05" src="../../wp-content/uploads/2019/10/mfrac.jpg">　　エ　∞</span>
</div>
<p>「こんな問題できない！」と思われるかもしれませんが、高校時代に習ったはずですから忘れているだけです。</p>
<p>解き方を説明しますので、思い出してください。</p>
<p>基本情報技術者試験では、同じ問題が何度も使い回しされているので、この問題で解き方を練習しておきましょう。</p>
<p>&thinsp;</p>
<p>「 lim 」は、limit（極限）という意味です。<br />
「 t → ∞ 」は、t を無限大にするという意味です。</p>
<p>f(t) と g(t) は、それぞれ関数で、<br />
f(t) = a / ( t + 1 ) であり、<br />
g(t) = b / ( t<sup>2</sup> &#8211; t ) です。</p>
<p>さらに、a ≠ 0 、b ≠ 0 、t > 1 という条件が付いています。</p>
<p>&nbsp;</p>
<p>まず、g(t) / f(t) に、それぞれの関数の計算式を入れて、式を整理します。</p>
<div class="card process" style="font-size: 1.5em; ">
<math><mfrac><mrow><mi>f</mi><mfenced><mi>t</mi></mfenced></mrow><mrow><mi>g</mi><mfenced><mi>t</mi></mfenced></mrow></mfrac><mo>=</mo><mfrac><mrow><mfrac bevelled="true"><mi>b</mi><mrow><mo>(</mo><msup><mi>t</mi><mn>2</mn></msup><mo>&#8211;</mo><mi>t</mi><mo>)</mo></mrow></mfrac></mrow><mrow><mfrac bevelled="true"><mi>a</mi><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mfrac></mrow></mfrac><mo>=</mo><mfrac><mrow><mi>b</mi><mo>･</mo><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mrow><mi>a</mi><mo>･</mo><mo>(</mo><msup><mi>t</mi><mn>2</mn></msup><mo>&#8211;</mo><mi>t</mi><mo>)</mo></mrow></mfrac><mo>=</mo><mfrac><mrow><mi>bt</mi><mo>+</mo><mi>b</mi></mrow><mrow><msup><mi>at</mi><mn>2</mn></msup><mo>&#8211;</mo><mi>at</mi></mrow></mfrac></math>
</div>
<p>この式の状態で、t → ∞ 、つまり t を無限大にするとどうなるでしょう。</p>
<p>以下のように、∞ / ∞ になります。これは、値の定まらない「不定形」です。問題の選択肢には、不定形がありません。</p>
<div class="card process" style="font-size: 1.5em">
<math><mfrac><mrow><mi>b</mi><mi>t</mi><mo>+</mo><mi>b</mi></mrow><mrow><mi>a</mi><msup><mi>t</mi><mn>2</mn></msup><mo>&#8211;</mo><mi>a</mi><mi>t</mi></mrow></mfrac><mo>=</mo><mfrac><mrow><mi>b</mi><mo>･</mo><mn>&#x221e;<!--INFINITY--></mn><mo>+</mo><mi>b</mi></mrow><mrow><mi>a</mi><mo>･</mo><msup><mn>&#x221e;<!--INFINITY--></mn><mn>2</mn></msup><mo>&#8211;</mo><mi>a</mi><mo>･</mo><mn>&#x221e;<!--INFINITY--></mn></mrow></mfrac><mo>=</mo><mfrac><mn>&#x221e;<!--INFINITY--></mn><mn>&#x221e;<!--INFINITY--></mn></mfrac></math>
</div>
<p>ここからがポイントです。</p>
<p>分母にある項の最大次数である t<sup>2</sup> で、分母と分子を割って、式を整理します。</p>
<div class="card process" style="font-size: 1.5em">
<math><mfrac><mrow><mi>b</mi><mi>t</mi><mo>+</mo><mi>b</mi></mrow><mrow><mi>a</mi><msup><mi>t</mi><mn>2</mn></msup><mo>&#8211;</mo><mi>a</mi><mi>t</mi></mrow></mfrac><mo>=</mo><mfrac><mrow><mfrac bevelled="true"><mrow><mo>(</mo><mi>bt</mi><mo>+</mo><mi>b</mi><mo>)</mo></mrow><mrow><msup><mi>t</mi><mn>2</mn></msup></mrow></mfrac></mrow><mrow><mfrac bevelled="true"><mrow><mo>(</mo><msup><mi>at</mi><mn>2</mn></msup><mo>&#8211;</mo><mi>at</mi><mo>)</mo></mrow><mrow><msup><mi>t</mi><mn>2</mn></msup></mrow></mfrac></mrow></mfrac><mo>=</mo><mfrac><mrow><mrow><mfrac bevelled="true"><mi>b</mi><mi>t</mi></mfrac></mrow><mo>+</mo><mfrac bevelled="true"><mi>b</mi><msup><mi>t</mi><mn>2</mn></msup></mfrac></mrow><mrow><mi>a</mi><mo>&#8211;</mo><mrow><mfrac bevelled="true"><mi>a</mi><mi>t</mi></mfrac></mrow></mrow></mfrac></math>
</div>
<p>この式の状態で、t を無限大にすると、</p>
<p>b / t = b / ∞ = 0 、<br />
b / t<sup>2</sup> = b / ∞<sup>2</sup> = 0 、<br />
a / t = a / ∞ = 0</p>
<p>になるので、式のそれぞれの部分を 0 に置き換えて、式を整理します。</p>
<div class="card process" style="font-size: 1.5em">
<math><mfrac><mrow><mfrac bevelled="true"><mi>b</mi><mi>t</mi></mfrac><mo>+</mo><mfrac bevelled="true"><mi>b</mi><msup><mi>t</mi><mn>2</mn></msup></mfrac></mrow><mrow><mi>a</mi><mo>&#8211;</mo><mfrac bevelled="true"><mi>a</mi><mi>t</mi></mfrac></mrow></mfrac><mo>=</mo><mfrac><mrow><mn>0</mn><mo>+</mo><mn>0</mn></mrow><mrow><mi>a</mi><mo>&#8211;</mo><mn>0</mn></mrow></mfrac><mo>=</mo><mfrac><mn>0</mn><mi>a</mi></mfrac></math>
</div>
<p>0 / a という式になりました。</p>
<p>a ≠ 0 なのですから、0 / a = 0 です。答えは、選択肢アの 0 です。</p>
<p>いかがですか？ 高校時代の数学を、思い出したでしょう！</p>
<h2>午後試験の前半部は、従来よりレベルの高さを感じる問題が多かった</h2>
<p>ここからは、午後試験の講評をさせていただきます。</p>
<p>まず、前半部の問 1 ～ 問 7 です。どんな知識が必要とされ、どの程度の難易度だったかを見てみましょう。</p>
<p>問 1 は必須問題で、問 2 ～ 問 7 は選択問題です。</p>
<h3>問 1　情報セキュリティ<br class="hide-on-med-and-up">「テレワークの導入」</h3>
<p><a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_fe_pm_qs.pdf#page=5" rel="noopener" target="_blank">(問題へのリンク)</a></p>
<ul class="background c-round">
<span class="post-title">必要となった知識</span></p>
<li>ファイアウォールのパケットフィルタリングの設定方法</li>
<li>ネットワークの構成図の見方</li>
<li>VPN サーバと VDI サーバの役割 など</li>
</ul>
<p>「これってネットワークの問題じゃないの！」という感じですが、ネットワークのセキュリティの問題です。</p>
<p><strong>従来のセキュリティの問題と比べて、かなりレベルが高い</strong> のですが、取り上げられている用語の意味や概念を知っているなら、それほど難しくありません。</p>
<h3>問 2　ソフトウェア<br class="hide-on-med-and-up">「スレッドを使用した並列処理」</h3>
<p><a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_fe_pm_qs.pdf#page=10" rel="noopener" target="_blank">(問題へのリンク)</a></p>
<p><strong>これも、従来のソフトウェアの問題と比べて、レベルの高さを感じます。</strong></p>
<ol class="background c-round">
<span class="post-title">解答手順</span></p>
<li>スレッド並列法を適用しないときの実行時間を求める</li>
<li>スレッド並列法を適用したときの実行時間を求める</li>
<li>それらからプログラムの実行時間の高速化率を求める</li>
<li>擬似言語で示されたプログラムを見て、スレッド並列法を適用できるかどうかを判断する</li>
</ol>
<p><strong>かなり難しいです。</strong></p>
<p>問題の冒頭に示された「マルチプロセッサシステムでは複数のスレッドを並列に実行することで、プログラムの実行時間を短縮できる場合がある」という意味がわかるなら、選択して OK ですが、そうでないならやめておきましょう。</p>
<h3>問 3　データベース<br class="hide-on-med-and-up">「書籍及び貸出情報を管理する関係データベースの設計及び運用」</h3>
<p><a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_fe_pm_qs.pdf#page=15" rel="noopener" target="_blank">(問題へのリンク)</a></p>
<p>SQL に関する設問と、データベースの構造を修正する設問から構成された問題です。</p>
<p>SQL では、MAX や COUNT などの集約関数、GROUP BY 、HAVING という基本的な構文だけでなく、CASE 式というレベルの高い表現も使われています。</p>
<p>データベースの構造の修正は、利用者の要望に合わせるというものであり、これも、従来の問題にないレベルの高さを感じます。</p>
<p><strong>やや難しい問題です。</strong></p>
<h3>問 4 ネットワーク<br class="hide-on-med-and-up">「NAT」</h3>
<p><a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_fe_pm_qs.pdf#page=20" rel="noopener" target="_blank">(問題へのリンク)</a></p>
<p>NAT（ Network Address Translation ）というテーマですが、実際には NAPT（ Network Address Port Translation ）がテーマの問題です。</p>
<p>どちらも午前問題でよく取り上げられるテーマなので「用語の意味を知っている！」という人が多いでしょう。ただし、用語の意味を知っているだけでは、この問題を解けません。</p>
<p>NAPT（この問題では NAT と呼んでいる）の具体的な使用例に関する問題だからです。やや難しい、というか、<strong>やはりレベルの高い問題</strong>です。</p>
<p>静的 NAT と動的 NAT という用語も登場しますが、これらの仕組みは問題で説明されています。午前問題をしっかり（用語の意味だけでなく仕組みまで）勉強することの重要性を感じさせる問題です。</p>
<h3>問 5　ソフトウェア設計<br class="hide-on-med-and-up">「ストレスチェックの検査支援を行うシステム」</h3>
<p><a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_fe_pm_qs.pdf#page=24" rel="noopener" target="_blank">(問題へのリンク)</a></p>
<p>従来の試験では、ソフトウェア設計の問題は、他の問題と比べてボリュームが多かったのですが、今回の問題は、たったの 4 ページです。とてもスッキリした問題です。</p>
<p>フローチャートの穴埋めがあるのですが、それも、とてもシンプルです。<strong>問題文の説明を読み取ることがポイント</strong>です。</p>
<p>国語の読解が苦手でないなら、決して難しくない問題です。</p>
<h3>問 6　マネジメント系<br class="hide-on-med-and-up">「販売管理システムの統合テストにおける進捗及び品質管理」</h3>
<p><a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_fe_pm_qs.pdf#page=28" rel="noopener" target="_blank">(問題へのリンク)</a></p>
<p>ここまでは、従来と比べてレベルの高い問題が多かったですが、このマネジメント系の問題は「従来通り！」でホッとする問題です。</p>
<p>テスト項目数と累積バグ検出数の計画値と実績値を比べる、という普通の（奇抜でない）内容です。</p>
<p>ただし、ボリュームが多いので、<strong>難しくなくても、時間がかかる</strong>問題です。</p>
<h3>問 7　ストラテジ系<br class="hide-on-med-and-up">「製品別の収益分析」</h3>
<p><a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_fe_pm_qs.pdf#page=33" rel="noopener" target="_blank">(問題へのリンク)</a></p>
<p>これも、従来通りの問題です。</p>
<p>3 つの製品の収益改善を目的として、製品別に営業利益と営業利益率に関する分析をする、という内容です。</p>
<p>限界利益率、損益分岐点売上高、安全余裕率などを求めますが、どれも計算式が示されています。</p>
<p>講師である私は、これまでの試験対策講座で「基本情報技術者試験には、事前に計算式を暗記する必要がある問題が出たことがない」と説明してきましたが、それは今回の試験にも当てはまります。</p>
<p>ただし、<strong>計算ばかりさせられる問題なので、決して簡単ではありません。</strong></p>
<h2>午後試験の後半部は、やや難しかった</h2>
<p>最後に、後半部の問 8 、問 11 、問 13 です。</p>
<p>ここでも、どんな知識が必要とされ、どの程度の難易度だったかを見てみましょう。</p>
<p>問 8 は必須問題で、問 11 と問 13 は選択問題です。</p>
<h3>問 8　データ構造及びアルゴリズム<br class="hide-on-med-and-up">「 Bitap 法による文字列検索」</h3>
<p><a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_fe_pm_qs.pdf#page=38" rel="noopener" target="_blank">(問題へのリンク)</a></p>
<p>「 Bitap 法」という、基本情報技術者試験の市販教材で普通に学習した人には、見たことも聞いたこともないアルゴリズムがテーマです。</p>
<p>Bitap 法は、文字列マッチングを有限オートマトンの受理状態とみなすものであり、ビット演算で有限オートマトンの状態遷移をシミュレートします。そう説明されると、いかにも難しそうです。</p>
<p>問 8 のデータ構造及びアルゴリズムでは、このような難しそうな問題が、ときどき出題されます。</p>
<p>しかし、冷静になって考えてください。</p>
<p><strong>問 8 は、必須問題です。普通に学習した人が解けない問題が出るはずがありません。</strong>したがって、テーマは難しくても、設問の内容は絶対に難しくありません。</p>
<p>Bitap 法を理解できなくても、問題文の説明の通りに穴埋めをすれば、正解を選べます。</p>
<p>ただし、ビット演算をするので、2 進数の知識は必要です。</p>
<div class="mag_h40 grey lighten-5 pad_15 c-round">
<p><i class="material-icons indigo-text">label</i> 関連記事</p>
<p><a href="../../gogo_arukikata/analytics_question_pm_2019autumn/"></p>
<div class="card hoverable mag_bt30 c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col s12 m3 pad_00 flex"><img src="../../wp-content/uploads/2019/11/r1a_q8_algorithm_cover.jpg"></div>
<div class="col s12 m9 pad_15 black-text">こうすりゃ解ける！ 2019年度秋期 (令和元年度) 基本情報技術者試験の午後問題を徹底解説<br />
          <strong>問 8「データ構造及びアルゴリズム」の解き方を解説</strong>
      </div>
</p></div>
</p></div>
<p></a>
</div>
<h3>問 11　Java<br class="hide-on-med-and-up">「通信メッセージの配信システム」</h3>
<p><a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_fe_pm_qs.pdf#page=57" rel="noopener" target="_blank">(問題へのリンク)</a></p>
<p>Java の問題は、アルゴリズム（処理の手順）か<strong>オブジェクト指向（プログラムの構造）</strong>のどちからに重点が置かれますが、今回は後者でした。</p>
<p>「通信メッセージの配信システム」というテーマですが、実際の内容は、それを模したプログラムであり、通信に関する知識は要求されません。</p>
<p>ただし、マルチスレッドのプログラムであり、穴埋めにはなっていませんが、スレッドの生成、通知、同期、などが随所で使われているので、これらの知識がないと、大いに戸惑うでしょう。</p>
<p>マルチスレッドのプログラムは、過去にも出題されているので、今後受験される人は、十分に学習しておきましょう。</p>
<p>プログラムの中で使用されている API は、毎度おなじみの java.util.List、java.util.ArrayList、java.util.Map、java.util.HashMap です。</p>
<h3>問 13　表計算<br class="hide-on-med-and-up">「メロンの仕分け」</h3>
<p><a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_fe_pm_qs.pdf#page=70" rel="noopener" target="_blank">(問題へのリンク)</a></p>
<p>「メロンを”優”、”良”、”並”に分類する」というイメージしやすい内容であり、データが入ったワークシートの例も小さなものなので、取り組みやすい問題だといえます。</p>
<p>前半部のワークシートに入れる式を選ぶ設問は、毎度おなじみの IF 関数、水平照合、切上げなどの関数を使ったものであり、それほど難しくありません。</p>
<p>ただし、後半部のマクロの穴埋めをする問題は、プログラムの説明のボリュームが多く、擬似言語のプログラムも長いので、<strong>かなり難しいもの</strong>です。</p>
<p>今後受験される人は、「<strong>プログラミングが苦手だから表計算を選ぼう」ではなく、「表計算を選ぶのだからプログラミングもしっかり勉強しよう」</strong>と考えてください。</p>
<p>&nbsp;</p>
<div class="divider mag_bt30"></div>
<p>以上、試験対策講座の講師として、誠に勝手ながら、試験問題の講評をさせていただきました。</p>
<p>最後に補足説明として、今後受験される人への注意事項があります。</p>
<p>それは、基本情報技術者試験は、次回の <strong>2020 年度（令和 2 年度）から、午後試験の問題構成が変わる</strong>ことです。</p>
<p>以下に、変更後の問題構成を示しますので、目を通しておいてください。</p>
<h2>令和 2 年度 以降の午後試験 問題構成</h2>
<table class="mag_h30 striped inline-block">
<thead>
<tr>
<th>問題番号</th>
<th>配点</th>
<th>内容</th>
</tr>
</thead>
<tbody>
<tr>
<td>問 1</td>
<td>20 点</td>
<td class="block">情報セキュリティ</td>
</tr>
<tr>
<td>問 2 ～ 問 5</td>
<td>各 15 点</td>
<td class="block">ソフトウェア・ハードウェア、データベース、ネットワーク、ソフトウェア設計から 3 問出題<br />マネジメント系、ストラテジ系から 1 問出題</td>
</tr>
<tr>
<td>問 6</td>
<td> 25 点</td>
<td class="block">データ構造およびアルゴリズム</td>
</tr>
<tr>
<td>問 7 ～ 問 11</td>
<td>各 25 点</td>
<td class="block">ソフトウェア開発（ C 言語、Java 、Python 、アセンブラ言語、表計算ソフトから各 1 問出題）</td>
</tr>
</table>
<p>※問 1 と問 6 は、必須です。<br />
※問 2 ～問 5 は、2 問を選択します。問 7 ～問 11 は、1 問を選択します。</p>
<p>&nbsp;</p>
<p>それでは、またお会いしましょう！</p>
<p>&nbsp;</p>
<p><script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML"></script></p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/report_fe_2019_autumn/">令和元年度 (2019年度) 秋期 基本情報技術者試験 問題解説</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>2020年度 春期試験 の Python は狙い目だ！</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/recommend_python_on_fe_2020spring/</link>
		<pubDate>Mon, 08 Jul 2019 03:00:13 +0000</pubDate>
		<dc:creator><![CDATA[矢沢 久雄]]></dc:creator>
				<category><![CDATA[2019見直し]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[出題傾向]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=guide&#038;p=1709</guid>
		<description><![CDATA[<p>error この記事は基本情報技術者試験の旧制度（ 2022 年以前）の記事です。この記事の題材となっている「 Python 」は現在の試験制度では出題されません。 ご注意くださいませ。 2019 年 7 月 1 日に、 [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/recommend_python_on_fe_2020spring/">2020年度 春期試験 の Python は狙い目だ！</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<div class="background c-round flex">
<p class="mag_rt10 mag_h00"><i class="material-icons red-text" style="font-size:2.2em">error</i></p>
<p class="blue-grey-text mag_h00">この記事は基本情報技術者試験の旧制度（ 2022 年以前）の記事です。<br />この記事の題材となっている<span class="bold">「 Python 」は現在の試験制度では出題されません。</span> ご注意くださいませ。</p>
</div>
<p>2019 年 7 月 1 日に、IPA（情報処理推進機構）の Web ページで、基本情報技術者試験のシラバス（出題内容を詳細に示した資料）の最新版である Ver.7.0 が公開され、その中で Python の知識の範囲が示されました。  このシラバスは、 <span class="bold">2020 年度 春期試験から適用</span> されます。</p>
<p>&nbsp;</p>
<p>午後試験のプログラミング言語で Python の選択を検討している人は、要チェックです。</p>
<div class="card-panel mag_h30 grey lighten-4">
<i class="material-icons red-text">info</i> お知らせ</p>
<p><a href="../../tag/python">Python</a> に関する記事、追加中です !!</p>
<div class="collection">
<a href="../../gogo_arukikata/how_about_python/" class="collection-item">2019-12-13<br />「基本情報 の Python ってどんな感じ？」を解説｜午後問題の歩き方</a><a href="../thinking_sample_prob_python/" class="collection-item">2019-11-04<br />難しくはないがレベルが高い Python のサンプル問題を解説（基本情報技術者試験 午後）</a><a href="../sample_question_python/" class="collection-item">2019-10-28<br />Python のサンプル問題が公開されました</a>
</div>
</div>
<style>.post-title{color:#3f51b5}h4{font-size:1.2rem;line-height:180%}@media screen and (max-width:600px){.direction-column-on-small{flex-direction:column}}</style>
<h2>プログラミング言語として Python がわかれば OK</h2>
<p>Python に関するシラバスの内容は、それほど多くないので、以下に全文を掲載します。ざっと、目を通してください。</p>
<ul class="background c-round">
<p class="post-title">(4) Python の知識と技術</p>
<p><span class="indigo-text">小目標</span></p>
<li> Python のプログラムの作成方法の基本を修得し，適用する。</li>
<li>オブジェクトの生成方法，操作方法を修得し，適用する。</li>
<li>問題解決のために適した代表的な標準ライブラリ又は外部ライブラリを用いて，効率良くプログラミングを行う方法を修得し，適用する。</li>
<li>数値計算，テキスト処理，データ処理などを行うプログラムの作成方法を修得し，適用する。</li>
<li>インタプリタであることの長所と短所を理解して利用する方法を修得し，適用する。</li>
</ul>
<ul class="collection mag_h50">
<li class="collection-item">
  <span class="title blue-text"><br />
    <span class="bold">（1） Python の基本的なプログラム</span><br />
  </span><br />
  Python の基本的なプログラムを作成する</p>
<div class="chip">修得項目</div>
<p>インデントによるブロック表現，計算結果の表示，コメントなど
</li>
<li class="collection-item">
  <span class="title blue-text"><br />
    <span class="bold">（2）演算子を用いた式の表現</span><br />
  </span><br />
  四則演算や論理演算を用いた式を活用し，プログラムを実行モードや対話モードで利用する。</p>
<div class="chip">修得項目</div>
<p>整数，浮動小数点，式の表現，四則演算子，代入演算子，比較演算子，論理演算子，代入文など
</li>
<li class="collection-item">
  <span class="title blue-text"><br />
    <span class="bold">（3）要素をもつデータ型</span><br />
  </span><br />
  シーケンスなど，要素をもつデータ型を使ったプログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>in ，リスト，文字列，タプル，辞書，集合，イテレータ，添字，キー，スライス，リスト内包表記など
</li>
<li class="collection-item">
  <span class="title blue-text"><br />
    <span class="bold">（4）選択型のプログラム</span><br />
  </span><br />
  条件式を使って条件分岐するプログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>if 文など
</li>
<li class="collection-item">
  <span class="title blue-text"><br />
    <span class="bold">（5）反復型のプログラム</span><br />
  </span><br />
  反復型の制御文を使ったプログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>for 文，while 文など
</li>
<li class="collection-item">
  <span class="title blue-text"><br />
    <span class="bold">（6）組込み関数</span><br />
  </span><br />
  型，リスト，文字の入出力，ファイル操作などに関する組込み関数の利用場面を理解し，プログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>int ，float ，str ，list ，range ，enumerate ，zip ，len ，print ，input ，open など
</li>
<li class="collection-item">
  <span class="title blue-text"><br />
    <span class="bold">（7）関数の定義</span><br />
  </span><br />
  利用者の定義による関数を用いて構造化されたプログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>def 文，return 文，ジェネレータ，yield 文，ラムダ式，再帰呼出し，デコレータなど
</li>
<li class="collection-item">
  <span class="title blue-text"><br />
    <span class="bold">（8）クラスとオブジェクト</span><br />
  </span><br />
  クラスを定義し，オブジェクトを生成してプログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>クラス，オブジェクト，class 文，継承，クラス変数，メソッド，特殊メソッド __init__ など
</li>
<li class="collection-item">
  <span class="title blue-text"><br />
    <span class="bold">（9）変数及び関数の値の取扱い</span><br />
  </span><br />
  変数間の代入，オブジェクトの変更，関数の値の受渡しに注意し，プログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>変数のスコープ，変更可能なオブジェクト，コピー，位置引数，キーワード引数，デフォルト引数，オブジェクトとしての関数など
</li>
<li class="collection-item">
  <span class="title blue-text"><br />
    <span class="bold">（10）ライブラリの活用</span><br />
  </span><br />
  問題解決のために適した代表的な標準ライブラリ又は外部ライブラリを利用し，プログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>import 文，モジュール，パッケージなど
</li>
</ul>
<p>Python の活用分野には、機械学習、スクレイピング、Web サービス、Android アプリ、組み込みアプリなどがありますが、シラバスには、これらの言葉は一切出てきません。</p>
<p>&nbsp;</p>
<p>つまり、必要とされる知識は、 <span class="bold"> Python の活用ではなく、プログラミング言語としての Python </span> です。</p>
<p>「人工知能関連の難しい問題が出るのかな？」と心配していた人は、どうぞ安心してください。</p>
<p>&nbsp;</p>
<p>プログラミング言語として Python がわかれば OK というのは、決して不思議なことではありません。午後試験で選択できる他のプログラミング言語も、同様だからです。</p>
<p>&nbsp;</p>
<p>たとえば、 C 言語の問題では、C ならではの UNIX 関連の システムコール の知識は要求されません。<br />
Java の問題では、 Java ならではの Servlet や JSP の知識は要求されません。</p>
<p>どちらも、プログラミング言語として C 言語や Java がわかれば OK という問題が出題されています。これは、 Python でも同様のはずです。</p>
<h2> Python の入門書レベルの言語構文がわかればOK</h2>
<p>Python の言語構文が、どの程度わかっていればよいのでしょう。</p>
<p>シラバスの内容を見ると、 Python の入門書レベルの言語構文がわかればOKだとわかります。</p>
<p>たとえば、以下は、 <a href="https://www.shoeisha.co.jp/book/detail/9784798155135">「 Python の絵本 Python を楽しく学ぶ 9 つの扉（株式会社アンク著、翔泳社刊）」</a>という初心者向けの入門書の目次です。</p>
<table class="mag_h50 bordered">
<thead>
<tr>
<th>章</th>
<th>章タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2"> Python の勉強をはじめる前に</td>
</tr>
<tr>
<td>第 1 章</td>
<td>基本的なプログラム</td>
</tr>
<tr>
<td>第 2 章</td>
<td>計算の演算子</td>
</tr>
<tr>
<td>第 3 章</td>
<td>リスト</td>
</tr>
<tr>
<td>第 4 章</td>
<td>制御文</td>
</tr>
<tr>
<td>第 5 章</td>
<td>関数</td>
</tr>
<tr>
<td>第 6 章</td>
<td>文字列</td>
</tr>
<tr>
<td>第 7 章</td>
<td>ファイルと例外処理</td>
</tr>
<tr>
<td>第 8 章</td>
<td>クラスとオブジェクト</td>
</tr>
<tr>
<td>付録</td>
<td></td>
</tr>
</tbody>
</table>
<p>この目次に、シラバスに示された項目 (1) ～ (10) を割り当てると、以下のようになります。</p>
<p>初心者向けの入門書で、十分に出題範囲を網羅できることがわかります。</p>
<p>これも、決して不思議なことではありません。 C 言語や Java の出題範囲も、同様だからです。</p>
<table class="mag_h50 bordered">
<thead>
<tr>
<th>章</th>
<th>章タイトル</th>
<th>シラバスの項目</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="3"> Python の勉強をはじめる前に</td>
</tr>
<tr>
<td>第 1 章</td>
<td>基本的なプログラム</td>
<td>(1) </td>
</tr>
<tr>
<td>第 2 章</td>
<td>計算の演算子</td>
<td>(2) </td>
</tr>
<tr>
<td>第 3 章</td>
<td>リスト</td>
<td>(3) </td>
</tr>
<tr>
<td>第 4 章</td>
<td>制御文</td>
<td>(4) (5) </td>
</tr>
<tr>
<td>第 5 章</td>
<td>関数</td>
<td>(6) (7) (9) </td>
</tr>
<tr>
<td>第 6 章</td>
<td>文字列</td>
<td>(3) </td>
</tr>
<tr>
<td>第 7 章</td>
<td>ファイルと例外処理</td>
<td>(10) </td>
</tr>
<tr>
<td>第 8 章</td>
<td>クラスとオブジェクト</td>
<td>(8) (9) </td>
</tr>
<tr>
<td>付録</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>ただし、言語構文がわかるだけでは、問題を解くことはできないでしょう。</p>
<p>問題のテーマは、プログラムに示されたアルゴリズムを読み取ることだからです。これは、 C 言語の問題と同様です。</p>
<p>さらに、 Python は、 Java と同様にオブジェクト指向プログラミングができる言語なので、プログラムに示されたオブジェクト指向の概念を読み取ることも必要になります。</p>
<p>シラバスの冒頭の【小目標】に</p>
<blockquote><p>
「数値計算、テキスト処理、データ処理などを行うプログラム」や<br />
「オブジェクトの作成方法」
</p></blockquote>
<p>とあるので、 C 言語や Java の問題と同様のテーマが、 Python でも出題されると予測されます。</p>
<ul class="background c-round">
<p class="post-title">(4) Python の知識と技術</p>
<p>  <span class="indigo-text">小目標</span></p>
<li> Python のプログラムの作成方法の基本を修得し，適用する。</li>
<li><span class="u">オブジェクトの生成方法，操作方法を修得し，適用する。</span></li>
<li>問題解決のために適した代表的な標準ライブラリ又は外部ライブラリを用いて，効率良くプログラミングを行う方法を修得し，適用する。</li>
<li><span class="u">数値計算，テキスト処理，データ処理などを行うプログラムの作成方法を修得し，適用する。</span></li>
<li>インタプリタであることの長所と短所を理解して利用する方法を修得し，適用する。</li>
</ul>
<h2>ライブラリは仕様書が掲載されるはずなので暗記する必要なし</h2>
<p>【小目標】にも、シラバスの項目 (10) にも、ライブラリ（再利用可能なプログラムの部品群）という言葉が示されています。</p>
<p>Python には、膨大な数のライブラリが用意されています。どのライブラリが出題されるのでしょうか。</p>
<ul class="background c-round">
<p class="post-title">(4) Python の知識と技術</p>
<p>  <span class="indigo-text">小目標</span></p>
<li> Python のプログラムの作成方法の基本を修得し，適用する。</li>
<li>オブジェクトの生成方法，操作方法を修得し，適用する。</li>
<li><span class="u">問題解決のために適した代表的な標準ライブラリ又は外部ライブラリを用いて，効率良くプログラミングを行う方法を修得し，適用する。</span>
  </li>
<li>数値計算，テキスト処理，データ処理などを行うプログラムの作成方法を修得し，適用する。</li>
<li>インタプリタであることの長所と短所を理解して利用する方法を修得し，適用する。</li>
</ul>
<ul class="collection mag_h50">
<li class="collection-item">
  <span class="title blue-text" class="u"><br />
    <span class="bold">（10）ライブラリの活用</span><br />
  </span><br />
  問題解決のために適した代表的な標準ライブラリ又は外部ライブラリを利用し，プログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>import 文，モジュール，パッケージなど
</li>
</ul>
<p>これは、実際の問題が出題されるまで何ともいえませんが、組み込み関数（いつでも利用できる関数）の種類は覚えておきましょう。</p>
<p>以下は、 Python の主な組み込み関数です。ここでは、引数を省略して、関数の名前だけを示しています。</p>
<h3 class="mag_h50"> Python の主な組み込み関数</h3>
<table class="mag_h50 bordered">
<tbody>
<tr>
<td colspan="2">
<h4>（1）標準入出力</h4>
</td>
</tr>
<tr>
<td>
      input()
    </td>
<td>キーボードから入力する</td>
</tr>
<tr>
<td>
      print()
    </td>
<td>画面に出力する</td>
</tr>
<tr>
<td colspan="2">
<h4>（2）データの変換</h4>
</td>
</tr>
<tr>
<td>
      bin()
    </td>
<td>2進数文字列に変換する</td>
</tr>
<tr>
<td>
      chr()
    </td>
<td>文字に変換する</td>
</tr>
<tr>
<td>
      float()
    </td>
<td>浮動小数点数に変換する</td>
</tr>
<tr>
<td>
      format()
    </td>
<td>書式指定した表現に変換する</td>
</tr>
<tr>
<td>
      hex()
    </td>
<td>16進数文字列に変換する</td>
</tr>
<tr>
<td>
      int()
    </td>
<td>整数に変換する</td>
</tr>
<tr>
<td>
      ord()
    </td>
<td>文字コードに変換する</td>
</tr>
<tr>
<td>
      str()
    </td>
<td>文字列に変換する</td>
</tr>
<tr>
<td colspan="2">
<h4>（3）数学関連</h4>
</td>
</tr>
<tr>
<td>
      abs()
    </td>
<td>絶対値を返す</td>
</tr>
<tr>
<td>
      pow()
    </td>
<td>べき乗を返す</td>
</tr>
<tr>
<td>
      round()
    </td>
<td>丸めた値を返す</td>
</tr>
<tr>
<td colspan="2">
<h4>（4）リストの操作</h4>
</td>
</tr>
<tr>
<td>
      filter()
    </td>
<td>リストから条件を満たす値を抽出する</td>
</tr>
<tr>
<td>
      len()
    </td>
<td>リストの要素数を得る</td>
</tr>
<tr>
<td>
      max()
    </td>
<td>リストの最大値を得る</td>
</tr>
<tr>
<td>
      min()
    </td>
<td>リストの最小値を得る</td>
</tr>
<tr>
<td>
      reversed()
    </td>
<td>リストを逆順にする</td>
</tr>
<tr>
<td>
      sorted()
    </td>
<td>リストをソートする</td>
</tr>
<tr>
<td>
      sum()
    </td>
<td>リストの合計値を得る</td>
</tr>
<tr>
<td colspan="2">
<h4>（5）その他</h4>
</td>
</tr>
<tr>
<td>
      isinstance()
    </td>
<td>指定したクラスのインスタンスかどうかを判定する</td>
</tr>
<tr>
<td>
      type()
    </td>
<td>インスタンスの型を得る</td>
</tr>
</tbody>
</table>
<p>「ええっ、こんなに覚えられないよ！」と思うかもしれませんが、心配ご無用です。</p>
<p>C 言語でも Java でも、<span class="bold">問題のプログラムの中で使用しているライブラリの説明は、問題用紙の末尾に掲載されてきました。</span> これは、Python でも同様のはずです。</p>
<p>&nbsp;</p>
<p>組み込み関数の種類にざっと目を通して「へえ、こんなものがあるんだ」と思っていただければ OK です。暗記する必要はありません。</p>
<h2>初めて出題される 2020 年度春期試験の問題は簡単なはず</h2>
<p>これまでに実施された過去の試験を振り返ってみると、<span class="bold">新しいプログラミング言語が追加されたときの最初の問題は、問題のボリュームも少なく、内容もとても簡単なもの</span> でした。</p>
<p>&nbsp;</p>
<p>これは、せっかく新しいプログラミング言語を追加したのですから、多くの受験者に選択してほしい、ということなのでしょう。</p>
<p>たとえば、2009 年度 春期試験から新たに 表計算 が追加されましたが、そのときの問題のボリュームは、わずか4ページであり、使用されている関数は、IF() 、照合合計() 、切上げ() の3つだけで、さらにマクロの問題なし、という、とっても簡単な内容でした。</p>
<p>これによって、「 表計算 は、簡単だ！」というウワサが広がり、その後の試験で 表計算 を選択する人が一気に増えました。これは、きっと Python でも同様のはずです。</p>
<p>&nbsp;</p>
<p><span class="bold">Python が初めて出題される 2020 年度 春期試験の問題は、とっても簡単なはず</span> ですから、大いに狙い目です。</p>
<p>&nbsp;</p>
<p>ただし、<span class="bold">2 回目以降（ 2020 年度 秋期試験以降）は、急に難しくなる可能性がある</span> ので注意してください。</p>
<p>表計算 も、2 回目（ 2009 年度秋期試験）では、ボリュームが 7ページ に増え、使用されている関数も多く なりました。</p>
<p>さらに、2011 年度 秋期試験からは、マクロが追加され、現在の問題の形式になりました。これも、 Python でも同様のはずです。</p>
<p>Python を選択するなら、2020 年度春期試験が狙い目ですが、それ以降は、徐々に難しくなるはずです。</p>
<p>&nbsp;</p>
<div class="mag_h30 divider"></div>
<p>プログラミング言語が苦手なので、 表計算 で受験をするという人が多くいます。</p>
<p>ただし、現状の 表計算 の問題は、決して簡単ではありません。</p>
<p><a href="../../gogo_arukikata/guide_spreadsheet_1_of_questions_at_pm/"></p>
<div class="card mag_h30 hoverable c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col s12 m3 pad_00 center"><img src="../../wp-content/uploads/2018/08/spreadsheet_cover.jpg" loading="lazy"></div>
<div class="col s12 m9 pad_20 black-text bold">午後問題の歩き方 ｜ <br />表計算も簡単ではなくプログラミング問題（1）基礎知識</div>
</div>
</div>
<p></a></p>
<p>&nbsp;</p>
<p>それなら、もう 1 つの選択肢として、 Python を検討してはいかがでしょう。</p>
<p>今から Python の入門書を購入して学習を始めれば、2020 年度 春期試験には十分に間に合います。</p>
<p>2019 年 10 月 28 日に、IPA から Python のサンプル問題が公開されたので、以下の記事も要チェックです！</p>
<p><a href="../../gogo_arukikata/how_about_python/"></p>
<div class="card hoverable c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col s12 m3 pad_00 center"><img src="../../wp-content/uploads/2019/01/python_cover-150x150.png" loading="lazy"></div>
<div class="col s12 m9 pad_20 black-text bold">「基本情報 の Python ってどんな感じ？」こんな感じです！｜午後問題の歩き方</div>
</div>
</div>
<p></a></p>
<p><a href="../thinking_sample_prob_python/"></p>
<div class="card hoverable c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col s12 m3 pad_00 center"><img src="../../wp-content/uploads/2019/01/python_cover-150x150.png"></div>
<div class="col s12 m9 pad_20 black-text bold">難しくはないがレベルが高い Python のサンプル問題を解説</div>
</div>
</div>
<p></a></p>
<p><a href="../sample_question_python/"></p>
<div class="card hoverable c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col s12 m3 pad_00 center"><img src="../../wp-content/uploads/2019/01/python_cover-150x150.png"></div>
<div class="col s12 m9 pad_20 black-text bold">Python のサンプル問題が公開されました</div>
</div>
</div>
<p></a></p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/recommend_python_on_fe_2020spring/">2020年度 春期試験 の Python は狙い目だ！</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>Python の出題範囲 (シラバス) が発表されました</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/agenda_python/</link>
		<pubDate>Tue, 02 Jul 2019 03:46:37 +0000</pubDate>
		<dc:creator><![CDATA[基本情報技術者試験 受験ナビ 編集部]]></dc:creator>
				<category><![CDATA[2019見直し]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[出題傾向]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=guide&#038;p=1663</guid>
		<description><![CDATA[<p>error この記事は基本情報技術者試験の旧制度（ 2022 年以前）の記事です。この記事の題材となっている「 Python 」は現在の試験制度では出題されません。 ご注意くださいませ。 情報処理推進機構（ IPA ）が [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/agenda_python/">Python の出題範囲 (シラバス) が発表されました</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<div class="background c-round flex">
<p class="mag_rt10 mag_h00"><i class="material-icons red-text" style="font-size:2.2em">error</i></p>
<p class="blue-grey-text mag_h00">この記事は基本情報技術者試験の旧制度（ 2022 年以前）の記事です。<br />この記事の題材となっている<span class="bold">「 Python 」は現在の試験制度では出題されません。</span> ご注意くださいませ。</p>
</div>
<p>情報処理推進機構（ IPA ）が 7 月 1 日、先日の午後試験のプログラミング言語の見直し ( COBOL 廃止 / Python 追加) に関連して、 Python のシラバスを公開しました。</p>
<div class="card mag_h30 grey lighten-4 z-depth-0 c-round pad_30">
<p class="post-title">基本情報技術者試験（ FE ）の Python 追加に伴うドキュメント改訂について</p>
<p>令和 2 年度春期試験から実施する FE 午後試験のプログラム言語の選択問題の変更（ Python 追加、COBOL 廃止）に関し、Pythonの言語仕様とシラバス（知識･技能の細目）を公開しました。<br />
<small><a href="https://www.jitec.ipa.go.jp/">https://www.jitec.ipa.go.jp/ の新着情報より</a></small>
</div>
<p>この記事では発表された <a href="https://www.jitec.ipa.go.jp/1_13download/syllabus_fe_ver7_0.pdf">基本情報技術者試験（レベル２）シラバス</a> をもとに、他言語と比べてみることで、難易度や出題傾向を考えてみました。</p>
<div class="card-panel mag_tp40 grey lighten-5">
<i class="material-icons red-text">info</i> 編集部からお知らせ　<a href="../../tag/python">Python</a> に関する記事、追加中です !!</p>
<div class="collection">
<a href="../../gogo_arukikata/checkout_basic_python_with_sampleprob/" class="collection-item">2019-12-13<br />「基本情報のサンプル問題で Python の基礎知識をチェック | 午後問題の歩き方</a><a href="../thinking_sample_prob_python/" class="collection-item">2019-11-04<br />難しくはないがレベルが高い Python のサンプル問題を解説（基本情報技術者試験 午後）</a><a href="../../gogo_arukikata/how_about_python/" class="collection-item">2019-12-13<br />「基本情報 の Python ってどんな感じ？」を解説｜午後問題の歩き方</a><a href="../thinking_sample_prob_python/" class="collection-item">2019-11-04<br />難しくはないがレベルが高い Python のサンプル問題を解説（基本情報技術者試験 午後）</a><a href="../sample_question_python/" class="collection-item">2019-10-28<br />Python のサンプル問題が公開されました</a>
</div>
</div>
<style>
@media screen and (max-width: 600px) {
  .direction-column-on-small {
    flex-direction: column;
  }
}
</style>
<h2>プログラミング言語別 目標の違い</h2>
<p>まずは試験を通じて、どのような技術と知識を身に着けてほしいのか、シラバスにある 小目標 をプログラミング言語別に比較してみます。</p>
<table class="mag_h30 bordered responsive-table">
<thead>
<tr>
<th width="15%">言語</th>
<th width="85%">目標</th>
</tr>
</thead>
<tbody>
<tr>
<td class="bold">Python</td>
<td class="bold" style="vertical-align: top;">
<ul>
<li>Python のプログラムの作成方法の基本を修得し，適用する。</li>
<li>オブジェクトの生成方法，操作方法を修得し，適用する。</li>
<li>問題解決のために適した代表的な標準ライブラリ又は外部ライブラリを用いて，効率良くプログラミングを行う方法を修得し，適用する。</li>
<li>数値計算，テキスト処理，データ処理などを行うプログラムの作成方法を修得し，適用する。</li>
<li>インタプリタであることの長所と短所を理解して利用する方法を修得し，適用する。</li>
</ul>
</td>
</tr>
<tr>
<td>Java</td>
<td style="vertical-align: top;">
<ul>
<li>Java のプログラムの作成方法の基本を修得し，適用する。</li>
<li>演算処理，制御処理などを行うプログラムの作成方法を修得し，適用する。</li>
<li>クラスの宣言方法，クラスをインスタンス化して利用する方法を修得し，適用する。</li>
<li>継承，インタフェースを利用し，効率良くプログラミングを行う方法を修得し，適用する。</li>
<li>例外処理，並列処理などの作成方法を修得し，適用する。</li>
</ul>
</td>
</tr>
<tr>
<td>C 言語</td>
<td style="vertical-align: top;">
<ul>
<li>C のプログラムの作成方法の基本を修得し，適用する。</li>
<li>演算処理，制御処理，文字処理などを行うプログラムの作成方法を修得し，適用する。</li>
<li>ライブラリ関数の利用方法を修得し，適用する。</li>
<li>ファイル処理を行うプログラムの作成方法を修得し，適用する。</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>Java では &#8220;オブジェクト指向&#8221; が問われていることに対して、Python では &#8220;インタプリタ&#8221; 型言語が問われます。</p>
<p>&nbsp;</p>
<p>続いて、Python で問題のテーマになりそうなところは、</p>
<blockquote><p>
数値計算，テキスト処理，データ処理など
</p></blockquote>
<p>とあり、この中でも &#8220;データ処理&#8221; とあるのが、一般的なものなのか、データサイエンスに寄ったところなのかどうかが気になるところです。</p>
<p>次のセクションで、Python の修得項目にどのように記載があるのか、確かめてみましょう。</p>
<h2>Python のシラバスに示された知識と技術</h2>
<p>Python のプログラミング問題で、具体的にどのような知識と技術が問われるのか、シラバスから転記しました。</p>
<ul class="collection mag_h30">
<li class="collection-item">
<span class="title blue-text"><br />
<strong><a href="https://docs.python.org/release/3.7.3/" rel="noopener" target="_blank">(仕様) Python 3.7.3</a></strong><br />
</span>
</li>
<li class="collection-item">
<span class="title blue-text"><br />
<strong>（1）Python の基本的なプログラム</strong><br />
</span><br />
Python の基本的なプログラムを作成する</p>
<div class="chip">修得項目</div>
<p>インデントによるブロック表現，計算結果の表示，コメントなど
</li>
<li class="collection-item">
<span class="title blue-text"><br />
<strong>（2）演算子を用いた式の表現</strong><br />
</span><br />
四則演算や論理演算を用いた式を活用し，プログラムを実行モードや対話モードで利用する。</p>
<div class="chip">修得項目</div>
<p>整数，浮動小数点，式の表現，四則演算子，代入演算子，比較演算子，論理演算子，代入文など
</li>
<li class="collection-item">
<span class="title blue-text"><br />
<strong>（3）要素をもつデータ型</strong><br />
</span><br />
シーケンスなど，要素をもつデータ型を使ったプログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>in ，リスト，文字列，タプル，辞書，集合，イテレータ，添字，キー，スライス，リスト内包表記など
</li>
<li class="collection-item">
<span class="title blue-text"><br />
<strong>（4）選択型のプログラム</strong><br />
</span><br />
条件式を使って条件分岐するプログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>if 文など
</li>
<li class="collection-item">
<span class="title blue-text"><br />
<strong>（5）反復型のプログラム</strong><br />
</span><br />
反復型の制御文を使ったプログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>for 文，while 文など
</li>
<li class="collection-item">
<span class="title blue-text"><br />
<strong>（6）組込み関数</strong><br />
</span><br />
型，リスト，文字の入出力，ファイル操作などに関する組込み関数の利用場面を理解し，プログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>int ，float ，str ，list ，range ，enumerate ，zip ，len ，print ，input ，open など
</li>
<li class="collection-item">
<span class="title blue-text"><br />
<strong>（7）関数の定義</strong><br />
</span><br />
利用者の定義による関数を用いて構造化されたプログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>def 文，return 文，ジェネレータ，yield 文，ラムダ式，再帰呼出し，デコレータなど
</li>
<li class="collection-item">
<span class="title blue-text"><br />
<strong>（8）クラスとオブジェクト</strong><br />
</span><br />
クラスを定義し，オブジェクトを生成してプログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>クラス，オブジェクト，class 文，継承，クラス変数，メソッド，特殊メソッド __init__ など
</li>
<li class="collection-item">
<span class="title blue-text"><br />
<strong>（9）変数及び関数の値の取扱い</strong><br />
</span><br />
変数間の代入，オブジェクトの変更，関数の値の受渡しに注意し，プログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>変数のスコープ，変更可能なオブジェクト，コピー，位置引数，キーワード引数，デフォルト引数，オブジェクトとしての関数など
</li>
<li class="collection-item">
<span class="title blue-text"><br />
<strong>（10）ライブラリの活用</strong><br />
</span><br />
問題解決のために適した代表的な標準ライブラリ又は外部ライブラリを利用し，プログラムを作成する。</p>
<div class="chip">修得項目</div>
<p>import 文，モジュール，パッケージなど
</li>
</ul>
<p>Java の場合は、これに加えて、&#8221;並列処理&#8221; があり、さらに &#8220;入れ子クラス&#8221; など Java 固有の機能が入っています。</p>
<p>&nbsp;</p>
<p><i class="material-icons teal-text text-lighten-2">label</i> 関連記事:</p>
<p><a href="../../gogo_arukikata/guide_java_1_of_questions_at_pm/"></p>
<div class="card hoverable mag_h10 c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col s12 m4 pad_00 center"><img src="../../wp-content/uploads/2018/09/java_cover-300x169.jpg" loading="lazy"></div>
<div class="col s12 m8 pad_20 black-text bold">午後問題の歩き方 ｜ <br />Java プログラミング問題の難易度（1）Java 基本構文</div>
</div>
</div>
<p></a></p>
<p>&nbsp;</p>
<p>それに比べると、Python の場合、並列処理はなく、&#8221;高階関数&#8221; など固有の機能も出題に含まれておらず (&#8220;内包表記&#8221; のような固有表現や Java では問われていない &#8220;ラムダ式&#8221; などはあります) 、比較的、素直に <strong>プログラミングの基礎能力のみ</strong> が問われそうです。</p>
<p>ただ、先程挙がったデータサイエンス寄りの出題になるかどうかは、関連がありそうな &#8220;ライブラリの活用&#8221; というところからは判断できません。</p>
<p><i class="material-icons teal-text text-lighten-2 mag_h30">label</i> 出展:<br />
<a href="https://www.jitec.ipa.go.jp/1_13download/syllabus_fe_ver7_0.pdf#page=18">基本情報技術者試験	Ver7.0PDF形式</a></p>
<h2>10 回分の Java の出題テーマから考える Python で問われそうなこと</h2>
<p>Python の出題テーマはシラバスからは判断できないため、Java を例に過去にどのようなことが問われたのか確認し、推察してみます。</p>
<table class="striped mag_h30">
<thead>
<tr>
<th>年度</th>
<th>テーマ</th>
<th>分類</th>
</tr>
</thead>
<tbody>
<tr>
<td>H26春</td>
<td>雑誌記事のオンライン購読サイト</td>
<td>オブジェクト指向、API</td>
</tr>
<tr>
<td>H26秋</td>
<td>可変オブジェクトとその問題点</td>
<td>アルゴリズム、オブジェクト指向</td>
</tr>
<tr>
<td>H27春</td>
<td>セキュアプログラミング</td>
<td>オブジェクト指向、API</td>
</tr>
<tr>
<td>H27秋</td>
<td>ブロックのデータのキャッシュ管理</td>
<td>アルゴリズム、オブジェクト指向、API</td>
</tr>
<tr>
<td>H28春</td>
<td>&#8220;すべきこと&#8221;の管理</td>
<td>アルゴリズム、API</td>
</tr>
<tr>
<td>H28秋</td>
<td>電卓プログラム</td>
<td>アルゴリズム、API</td>
</tr>
<tr>
<td>H29春</td>
<td>電気料金プランの比較</td>
<td>アルゴリズム、オブジェクト指向</td>
</tr>
<tr>
<td>H29秋</td>
<td>文字列の整列</td>
<td>オブジェクト指向、API</td>
</tr>
<tr>
<td>H30春</td>
<td>表現式を構築するためのライブラリ作成</td>
<td>アルゴリズム、オブジェクト指向</td>
</tr>
<tr>
<td>H30秋</td>
<td>書式を表すひな型への置換表の適用による文書の作成</td>
<td>オブジェクト指向、API</td>
</tr>
<tr>
<td>H31春</td>
<td>迷路と迷路上を移動する駒</td>
<td>アルゴリズム、API</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><i class="material-icons teal-text text-lighten-2">label</i> 出展:</p>
<p><a href="../../gogo_arukikata/trend_to_questions_at_pm/#Java11"></p>
<div class="card hoverable mag_h10 c-round">
<div class="row valign-wrappr direction-column-on-small">
<div class="col s12 m4 pad_00 center"><img src="../../wp-content/uploads/2018/05/trend_to_questions_of_pm.jpg" style="min-height: 50%;"></div>
<div class="col s12 m8 pad_20 black-text">午後問題の歩き方 | <br />過去問10回分から分析した午後問題の出題傾向 (2019 春期試験 更新)<br /><strong>目次 9 Java の出題傾向（午後 問 11）</strong></div>
</div>
</div>
<p></a></p>
<p>&nbsp;</p>
<p>Java では出展記事にもある通り、 「アルゴリズム」「オブジェクト指向」「 API の使い方」 が出題されています。</p>
<p>ここから推察すると、Python では、</p>
<p><strong><br />
「アルゴリズム」<br />
「インタプリタ型」<br />
「ライブラリの使い方」<br />
</strong></p>
<p>になるでしょうか。<br />
( Python において、「オブジェクト指向」はプログラムを読むのに必要だが、設問で問われることはない、と推察しています)</p>
<p>インタプリタ型の出題というと、REPL で対話式に実行するような問題が考えれますね。個人的には、2 ～ 3 ページあるプログラムを読むより，とても読みやすくなりそうで期待大です。</p>
<p>また、「ライブラリの使い方」に Numpy や Pandas などが入ってくると、「ライブラリの使い方」から、より具体的に「データサイエンスの進め方」が問われる、ということになりそうです。</p>
<h2>今後の予定</h2>
<p>このあと、10 月に サンプル問題 (例題) が発表される予定です。</p>
<p>どのようなライブラリが問題の中に入ってくるのか、とても楽しみですね!!</p>
<p>基本情報技術者試験 受験ナビでは、ひきつづき、アップデート情報をお知らせしてまいります。</p>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/agenda_python/">Python の出題範囲 (シラバス) が発表されました</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>2019 基本情報技術者試験の シラバス 改訂（出題範囲の変更）でどう変わる？注目ポイントや新出用語を解説</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/focus_on_diff_2/</link>
		<pubDate>Mon, 10 Jun 2019 04:56:39 +0000</pubDate>
		<dc:creator><![CDATA[矢沢 久雄]]></dc:creator>
				<category><![CDATA[2019見直し]]></category>
		<category><![CDATA[令和の試験改訂]]></category>
		<category><![CDATA[行列]]></category>
		<category><![CDATA[試験ガイド]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=guide&#038;p=1380</guid>
		<description><![CDATA[<p>2019 年 5 月 27 日に、IPA（情報処理推進機構）の Web ページで、基本情報技術者試験のシラバス（出題範囲を詳細に示した資料）の最新版である Ver.6.0 が公開されました。 このシラバスは、令和元年（  [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/focus_on_diff_2/">2019 基本情報技術者試験の シラバス 改訂（出題範囲の変更）でどう変わる？注目ポイントや新出用語を解説</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>2019 年 5 月 27 日に、IPA（情報処理推進機構）の Web ページで、基本情報技術者試験のシラバス（出題範囲を詳細に示した資料）の最新版である Ver.6.0 が公開されました。</p>
<p>このシラバスは、<strong>令和元年（ 2019 年）秋期試験以降に適用</strong> されます。</p>
<p>今後、受験を予定されている方は、改訂のポイントを押さえておきましょう。</p>
<style>@media only screen and (max-width:600px){dd{margin-left:1em}}h3.card_title{font-size:1.2em;font-weight:700;color:#3f51b5;margin:.5em 0}h4.card_title{font-size:1.1em;margin:.5em 0}.card-panel .chip{background-color:#3f51b5}.with-icon{color:#3f51b5}.with-icon::before{font-family:"Material Icons";content:"\e0e0";color:#3f51b5;margin-right:.2em;font-size:1.3em;vertical-align:middle}</style>
<h2>変更箇所が色分けされたシラバスを見てみよう</h2>
<p>シラバスが改訂された直後は、通常のシラバスと、変更箇所が色分されたシラバス の 2 種類の PDF ファイル が公開されます。</p>
<p>変更箇所が色分けされたシラバスは、何が変わったのかがすぐにわかるので、ダウンロードして内容を見てみましょう。</p>
<blockquote class="mag_h30"><p>
<a href="https://www.jitec.ipa.go.jp/1_13download/syllabus_fe_ver6_0_henkou.pdf#page=8" rel="noopener" target="_blank">「基本情報技術者試験（レベル2）」シラバス（Ver.6.0）（変更箇所表示版）</a><i class="material-icons red-text mag_lt05">picture_as_pdf</i>
</p></blockquote>
<p>すでに、<a href="https://www.ipa.go.jp/about/press/20190124.html" rel="noopener" target="_blank">2019 年 1 月 24 日付けの IPA のニュースリリース</a>で、令和元年（ 2019 年）秋期試験から</p>
<div class="background c-round blue-grey-text">
「午前試験で数学に関する出題比率を見直し、線形代数、確率、統計等、数学に関する出題比率を多くする」
</div>
<p>ということが発表されています。</p>
<p>&nbsp;</p>
<p><i class="material-icons indigo-text">label</i> 関連記事</p>
<p><a href="../awesome_revision_fe_201901/"></p>
<div class="card hoverable mag_bt50 c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col s12 m4 pad_00 flex"><img src="../../wp-content/uploads/2019/06/syllabus_fe_diff.jpg"></div>
<div class="col s12 m8 pad_20 bold black-text">いいね！ いいね！ 見直された基本情報技術者試験 ～Pythonと午後分野の変更予測</div>
</div>
</div>
<p></a></p>
<p>今回公開されたシラバスから、具体的な内容を知ることができるはずです。数学以外にも、変更があるかもしれません。</p>
<h2>数学の分野に難しそうな用語がズラリ</h2>
<p>それでは、改訂されたシラバス Ver.6.0 の内容を見てみましょう。</p>
<p>「数学に関する出題比率を多くする」と発表されたとおり、数学の分野で新しい用語が数多く並んでいます。</p>
<p><span class="red-text bold">赤色</span> で示されたものが、新しい用語です。どれも難しそうですね。</p>
<div class="card-panel mag_h30 c-round">
<h3 class="card_title">(1) 確率と統計</h3>
<h4 class="card_title">1 確率</h4>
<p>順列, 組合せ, 場合の数, 確率とその基本定理, 確率分布と期待値, マルコフ過程のあらましを理解する。</li>
<div class="grey lighten-5 c-round" style="padding: 1em;">
<span class="chip mag_rt10 white-text">用語例</span>階乗, 加法定理,  乗法定理, <span class="red-text bold">同時確率, 条件付き確率, ベイズの定理, </span>正規分布, ポアソン分布, 指数分布
</div>
<h4 class="card_title">2 統計</h4>
<p>度数分布表, ヒストグラム, 代表値, ばらつき, 相関関係, 回帰直線など, 統計分析の手法を理解する。</p>
<div class="grey lighten-5 c-round" style="padding: 1em;">
<span class="chip mag_rt10 white-text">用語例</span>中央値(メジアン), 最頻値 (モード), 平均値, 標準偏差, 分散, 相関係数, 推定, 回帰分析<span class="red-text bold">(単回帰分析, 重回帰分析,  ロジスティック回帰分析), 相関分析,  主成分分析, 因子分析</span>
</div>
<h3 class="card_title">(2) 数値計算</h3>
<p>連立一次方程式の解法など, 数値計算に関する基本的な内容を理解する。</p>
<div class="grey lighten-5 c-round" style="padding: 1em;">
<span class="chip mag_rt10 white-text">用語例</span><span class="red-text bold">線形代数, スカラ, ベクトル, 固有値, 固有ベクトル, </span>行列, <span class="red-text bold">逆行列, 単位行列, 転置行列, 等差数列, 等比数列, フィボナッチ数列, </span>対数, <span class="red-text bold">三角関数</span>
</div>
</div>
<p>当然のことですが、新しい用語は、これまでに出題されたことはありません。 したがって、過去問題で練習することができません。</p>
<p>どのような対策をしたらよいでしょう？</p>
<h2>行列に関する主な用語の意味</h2>
<p>これらの用語を示している「 2．応用数学」という分野では、<strong>【目標】</strong>にも改訂があります。</p>
<p>以下のように、<span class="red-text bold">赤色</span> で「線形代数、行列などの数値計算を理解し、担当する事項に適用する」とあります。</p>
<p>新しい用語をすべて調べるのは困難だと思いますので、まず、目標に掲げられた「行列」に関する用語に的を絞って、意味を覚えておきましょう。</p>
<div class="card-panel c-round mag_h50 c-round">
<h3 class="card_title">2. 応用数学</h3>
<p>【目標】</p>
<ul>
<li>確率・統計の計算, 分析手法を理解し, 担当する事項に適用する。</li>
<li class="red-text bold">線形代数, 行列などの数値計算を理解し, 担当する事項に適用する。</li>
<li>数値解析,  グラフ理論, 待ち行列理論など基本的な数学的原理を理解し, 担当する事項に適用する。</li>
</ul>
</div>
<p>連立方程式を解くことを例にして、「行列」「単位行列」「逆行列」という用語の意味を説明しましょう。</p>
<h4>行列とは</h4>
<p>以下の連立方程式を解くとします。</p>
<p><img class="mag_h20" src="../../wp-content/uploads/2019/06/math_function_x_y.png"></p>
<p>この連立方程式を「行列」で表すと、以下のようになります。</p>
<p><img class="mag_h20" src="../../wp-content/uploads/2019/06/matrix_1.png"></p>
<p>行列は、数値や変数を縦横に並べてカッコで囲み、全体に名前を付けたものです。ここでは、連立方程式の左辺の係数（ x と y に掛けられている数値）を A 、変数 x と y を B 、右辺の数値を C という名前の行列にしています。</p>
<p>そして、行列どうしで計算を行う式にしています。先ほどの連立方程式は、A × B ＝ C という行列の式で表せるのです。</p>
<p>&nbsp;</p>
<p>何を行列にして、どのような名前を付けるのかは自由ですが、行列の計算方法は決められています。</p>
<p>この例では、行列 A と 行列 B の 掛け算 を行っています。</p>
<p>A の行と、B の列で、対応する成分（行列を構成する個々の数値や変数のこと）同士を掛け算し、さらにそれらを合計する、というルールで計算を行う約束になっています。</p>
<p><img class="mag_h20" src="../../wp-content/uploads/2019/06/matrix_6_1.png"></p>
<p>「なんのこっちゃ？」と思われるかもしれませんが、早い話が、もとの連立方程式にするためのルールです。</p>
<h4>単位行列とは</h4>
<p>行列の左上から右下に向かって 1 が並び、それ以外の要素がすべて 0 となっているものを<strong>「単位行列」</strong>と呼びます。</p>
<p>たとえば、2 行 2 列の行列では、以下が単位行列です。</p>
<p>単位行列は、単独の数値（行列ではないひとつの数値）の 1 に相当するものです。単独の数値に 1 を掛けても値が変わらないように、行列に単位行列を掛けても成分の値は変わりません。</p>
<p><img class="mag_h20" src="../../wp-content/uploads/2019/06/matrix_8.png"></p>
<h4>逆行列とは</h4>
<p>たとえば、2 の逆数は、1 / 2 です。2 × 1 / 2 ＝ 1 なので、<strong>逆数は「もとの数に掛けると 1 になる数」</strong>だといえます。</p>
<p>この考え方を行列に適用して、<strong>「もとの行列に掛けると単位行列になる行列」を「逆行列」</strong>と呼びます。</p>
<p>逆行列は、行列名に「<sup>-1</sup>」という指数を付けることで示します。たとえば、行列 A の 逆行列 は「A<sup>-1</sup>」と示します。</p>
<p>逆行列の求め方は複雑なので、おそらく出題されないでしょう。もしくは、求め方が示されると思われます。</p>
<p><img class="mag_h20" src="../../wp-content/uploads/2019/06/matrix_4.png"></p>
<p>という 行列 A の 逆行列 A<sup>-1</sup> は、</p>
<p><img class="mag_h20" src="../../wp-content/uploads/2019/06/matrix_5.png"></p>
<p>になります。</p>
<p>ずいぶん長い説明でしたが、いよいよクライマックスです。</p>
<p><strong>逆行列を使うと、連立方程式の解を容易に求めることができます。</strong></p>
<p>これまで例にしてきた連立方程式は、行列 A 、B 、C によって、A × B ＝ C と表されています。</p>
<p>ここで、両辺に A の 逆行列 A<sup>-1</sup> を掛けてみましょう。<br />
A<sup>-1</sup> と A を掛けると 単位行列 になります。単位行列 と B を掛けても成分は変わりません。</p>
<p>したがって、以下のように B ＝ A<sup>-1</sup> × C という式が得られます。行列 B は、変数の行列なので、右辺にある A<sup>-1</sup> × C が、連立方程式の解になります。</p>
<div class="card process">
A<sup>-1</sup> × A × B ＝ A<sup>-1</sup> × C<br />
▼<br />
単位行列 × B ＝ A<sup>-1</sup> × C<br />
▼<br />
B ＝ A<sup>-1</sup> × C
</div>
<p>逆行列を使って、連立方程式を解いてみましょう。</p>
<p><img class="mag_h20" src="../../wp-content/uploads/2019/06/matrix_1.png"></p>
<p>という連立方程式の解は、以下のようにして解くことができ、x ＝ 2、y ＝ 3 です。</p>
<p><img class="mag_h20 materialboxed hoverable" src="../../wp-content/uploads/2019/06/matrix_7.png"></p>
<p>&nbsp;</p>
<p>何事も、理解が一歩進めば、意欲が湧くものです。</p>
<p>ここでは、行列に関する主な用語の意味を説明しましたが、数学関連の他の用語の意味も、まずは 1 つ、そしてもう 1 つ、と少しずつ調べて覚えていきましょう。</p>
<p>完璧を目指す必要はありませんが、できる限りの努力をしてください。</p>
<h2>数学以外の分野の注目ポイント</h2>
<p>基本情報技術者試験は、ルールに従って実施される厳正な国家試験です。</p>
<p>出題者の気まぐれではなく、シラバスに沿って問題が出されます。シラバスに示されたことは出題され、削除されたことは出題されません。</p>
<p>数学以外の分野で、シラバス Ver.6.0 で追加された用語と、削除された用語を見ておきましょう。</p>
<p>追加された用語は <span class="red-text">赤色</span> 、削除された用語は <span class="blue-text">青色</span> で示します。「なんじゃこれ？」と思われる用語には、 <span class="indigo-text">紺色</span> で解説を付けておきましたので、参考にしてください。</p>
<h3>追加された用語</h3>
<div class="card z-depth-0 grey lighten-5 c-round">
<div class="card-content">
<dl>
<dt>AI（ Artificial Intelligence：人工知能）</dt>
<dd><span class="red-text bold">機械学習、汎化、ディープラーニング（深層学習）</span></li>
</dd>
</dl>
<dl>
<dt>制御に関する理論</dt>
<dd><span class="red-text bold">温度センサ、湿度センサ、圧力センサ、ひずみゲージ、サーミスタ、ホール素子</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">サーミスタ</dt>
<dd>温度センサに使われる素子</span></dd>
<dt class="with-icon">ホール素子</dt>
<dd>磁気センサに使われる素子</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>その他の言語</dt>
<dd><span class="red-text bold">YAML</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">YAML（ YAML Aint&#8217;t Markup Language、ヤムル）</dt>
<dd>データやオブジェクトを文字列にするためのデータ形式</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>入出力インターフェイスの種類と特徴</dt>
<dd><span class="red-text bold">DisplayPort 、BLE（ Bluetooth Low Energy ）</span></li>
</dd>
</dl>
<dl>
<dt>システム構成</dt>
<dd><span class="red-text bold">VDI（ Virtual Desktop Infrastructure：デスクトップ仮想化）、FaaS、エッジコンピューティング、マイグレーション（ライブマイグレーションほか）</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">FaaS（ Function as a Service ）</dt>
<dd> サーバレスでアプリの開発や設定が可能なクラウドサービス</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>ヒューマンインタフェース</dt>
<dd><span class="red-text bold">VUI（ Voice User Interface ）、UX デザイン（ User Experience デザイン）</span></li>
</dd>
</dl>
<dl>
<dt>ユニバーサルデザイン</dt>
<dd><span class="red-text bold">JIS X 8341</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">JIS X 8341</dt>
<dd> ウェブアクセシビリティに関する JIS 規格</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>ユーザビリティ評価</dt>
<dd><span class="red-text bold">ユーザビリティテスト</span></li>
</dd>
</dl>
<dl>
<dt>マルチメディア</dt>
<dd><span class="red-text bold">コンテナフォーマット、4K ／ 8K</span></li>
</dd>
</dl>
<dl>
<dt>静止画処理</dt>
<dd><span class="red-text bold">HEIF</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">HEIF（ High Image File Format 、ヒーフ）</dt>
<dd>圧縮率の高い静止画のフォーマット</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>動画処理</dt>
<dd><span class="red-text bold">H.264、HEVC、H.265</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">H.264</dt>
<dd> MPEG-2 の 2 倍の圧縮率を持つ動画圧縮の規格</span></dd>
<dt class="with-icon">H.265</dt>
<dd> MPEG-2 の 4 倍の圧縮率を持つ動画圧縮の規格</span></dd>
<dt class="with-icon">HEVC（ High Efficiency Video Coding ）</dt>
<dd> H.265の通称</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>データ資源管理</dt>
<dd><span class="red-text bold">構造化データ、半構造化データ、非構造化データ、ストリーミングデータ</span></li>
</dd>
</dl>
<dl>
<dt>プロトコルとインタフェース</dt>
<dd><span class="red-text bold">IPoE（IP over Ethernet）</span></li>
</dd>
</dl>
<dl>
<dt>LANとWANのインタフェース</dt>
<dd><span class="red-text bold">メッシュWi-Fi</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">メッシュWi-Fi</dt>
<dd> ルータ機とサテライト機とでメッシュ（網目）状の安定したネットワークを構築すること</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>モバイルシステム</dt>
<dd><span class="red-text bold">5G</span></li>
</dd>
</dl>
<dl>
<dt>モバイルシステム構成要素</dt>
<dd><span class="red-text bold">テレマティクス</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">テレマティクス</dt>
<dd> 自動車などの移動体と情報システムを統合して、何らかのサービスを提供すること</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>モバイル通信技術</dt>
<dd><span class="red-text bold">ハンドオーバ、ローミング、MIMO 、LPWA（ Low Power Wide Area ）、IoT エリアネットワーク</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">ハンドオーバ</dt>
<dd> 移動中に通信の基地局を切り替えること</span></dd>
<dt class="with-icon">ローミング</dt>
<dd> 通信事業者間が提携して、ユーザーが利用できるエリアを拡大すること</span></dd>
<dt class="with-icon">MIMO（ Mdltiple Input and Mdltiple Output 、マイモ）</dt>
<dd>受信機と送信機の両方で複数のアンテナを使い通信の品質を向上させる仕組み</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>脅威の種類</dt>
<dd><span class="red-text bold">ビジネスメール詐欺（ BEC ）、SNS の悪用</span></li>
</dd>
</dl>
<dl>
<dt>攻撃者の種類、攻撃の動機</dt>
<dd><span class="red-text bold">ダークウェブ、サイバーキルチェーン</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">ダークウェブ</dt>
<dd> 特殊な Web ブラウザでしかアクセスできない Web サイトや Web サービスのこと</span></dd>
<dt class="with-icon">サイバーキルチェーン</dt>
<dd> 標的型攻撃の手順を構造化して、早期に攻撃を検知すること</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>利用者認証</dt>
<dd><span class="red-text bold">多段階認証</span></li>
</dd>
</dl>
<dl>
<dt>人的セキュリティ対策</dt>
<dd><span class="red-text bold">情報セキュリティ訓練（標的型メールに関する訓練、レッドチーム演習ほか）</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">レッドチーム演習</dt>
<dd> セキュリティの専門家が攻撃チーム（レッドチーム）を作り、現実に近い各種の攻撃を仕掛け、企業のセキュリティ対策を検証するサービス</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>セキュアプロトコル</dt>
<dd><span class="red-text bold">WPA3</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">WPA3（ Wi-Fi Protected Access 3 ）</dt>
<dd> WiｰFi のセキュリティの規格</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>アプリケーションセキュリティ</dt>
<dd><span class="red-text bold">セキュリティバイデザイン、プライバシーバイデザイン</span></li>
</dd>
</dl>
<dl>
<dt>アジャイルの概要</dt>
<dd><span class="red-text bold">アジャイルソフトウェア開発宣言、アジャイルソフトウェアの 12 の原則、スクラム、ユーザストーリ、継続的インテグレーション（CI）、ふりかえり（レトロスペクティブ）</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">スクラム</dt>
<dd> チームで効果的に仕事を進めるための仕組み</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>スクラムの特徴</dt>
<dd><span class="red-text bold">スプリント</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">スプリント</dt>
<dd> スクラムにおける仕事時間の単位</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>プロジェクトのコミュニケーション</dt>
<dd><span class="red-text bold">コミュニケーションチャネル</span></li>
</dd>
</dl>
<dl>
<dt>業務プロセスの改善と問題解決</dt>
<dd><span class="red-text bold">RPA（ Robotic Process Automation ）</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">RPA（ Robotic Process Automation ）</dt>
<dd> パソコンを使った定型業務を、ソフトウェア型のロボットで自動化すること</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>システム活用促進と評価の目的と考え方</dt>
<dd><span class="red-text bold">チャットボット</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">チャットボット</dt>
<dd> 会話を自動的に行うプログラムのことで、よくある問合せの回答などに使われる</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>データの分析及び活用</dt>
<dd><span class="red-text bold">データマイニング（テキストマイニングほか）、エンタープライズサーチ、オープンデータ、パーソナルデータ、データサイエンティスト</span></li>
</dd>
</dl>
<dl>
<dt>システム化構想の立案</dt>
<dd><span class="red-text bold">SoR（ Systems of Record ）、SoE（ Systems of Engagement ）、SoI（ Systems of Insight ）</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">SoR</dt>
<dd> 記録･保管中心のシステム</span></dd>
<dt class="with-icon">SoE</dt>
<dd> 顧客をつなぐシステム</span></dd>
<dt class="with-icon">SoI</dt>
<dd> SoE と SoR で顧客インサイトを理解するシステム</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>経営戦略</dt>
<dd><span class="red-text bold">デジタルトランスフォーメーション（ DX ）</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">デジタルトランスフォーメーション</dt>
<dd> IT によって業務や生活の様々な場面を向上させること</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>製品戦略</dt>
<dd><span class="red-text bold">カニバリゼーション</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">カニバリゼーション（ cannibalization 、共食い）</dt>
<dd>自社の製品同士が競合してシェアを奪い合ってしまうこと</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>価格戦略</dt>
<dd><span class="red-text bold">スキミングプライシング、サブスクリプションモデル</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">スキミングプライシング</dt>
<dd> 早期の資金回収を目的として、製品のライフサイクルの初期段階で価格を高く設定すること</span></dd>
<dt class="with-icon">サブスクリプションモデル</dt>
<dd> 買取りではなく、利用した期間に応じて料金を支払うこと</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>ビジネス戦略と目標の設定・評価</dt>
<dd><span class="red-text bold">ビジネスモデルキャンバス</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">ビジネスモデルキャンバス</dt>
<dd> ビジネスモデルを視覚化して分析するためのツール</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>技術開発戦略の目的と考え方</dt>
<dd><span class="red-text bold">オープンイノベーション、イノベーションのジレンマ、リーンスタートアップ、API エコノミー</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">リーンスタートアップ</dt>
<dd> 無駄のない小さな（リーン）規模でプロジェクトを開始（スタートアップ）し、検証を行いながら改善していく手法</span></dd>
<dt class="with-icon">API エコノミー</dt>
<dd> 自社のシステム開発の機能単位である API を公開することで、企業のビジネスを拡大すること</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>価値創出の三要素</dt>
<dd><span class="red-text bold">キャズム、魔の川（ Devil River ）、死の谷（ Valley of Death ）、ダーウィンの海（ Darwinian Sea ）</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">キャズム</dt>
<dd> 市場を独占するために越えなければならない大きな溝（キャズム）のこと</span></dd>
<dt class="with-icon">魔の川（ Devil River ）</dt>
<dd> 研究を製品化に進めるための難関のこと</span></dd>
<dt class="with-icon">死の谷（ Valley of Death ）</dt>
<dd> 製品を事業化に進めるための難関のこと</span></dd>
<dt class="with-icon">ダーウィンの海（ Darwinian Sea ）</dt>
<dd> 事業で他社との競争に勝つための難関のこと</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>技術開発戦略の立案</dt>
<dd><span class="red-text bold">デザイン思考、PoC（ Proof of Concept：概念実証）、PoV（ Proof Of Value：価値実証）</span></li>
</dd>
</dl>
<dl>
<dt>基幹業務支援システム及び業務パッケージ</dt>
<dd><span class="red-text bold">ブロックチェーンの活用（トレーサビリティ確保、スマートコントラクトほか）</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">ブロックチェーン</dt>
<dd> ビットコインの中核となる技術であり、ブロックと呼ばれるデータの単位を連結する仕組み</span></dd>
<dt class="with-icon">スマートコントラクト</dt>
<dd> 契約を実行するためのコンピュータプロトコル</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>行政システム及び公共情報システム</dt>
<dd><span class="red-text bold">超スマート社会、Society 5.0</span></li>
</dd>
</dl>
<dl>
<dt>電子決済システム</dt>
<dd><span class="red-text bold">キャッシュレス決済（スマートフォンのキャリア決済、非接触 IC 決済、QR コード決済ほか）、フィンテック（ FinTech ）、暗号資産（仮想通貨）</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">フィンテック（ FinTech ）</dt>
<dd> Finance（金融）と Technology（技術）を組合せた造語。金融サービスで IT を活用すること</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>e-ビジネスの進め方</dt>
<dd><span class="red-text bold">クラウドソーシング</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">クラウドソーシング</dt>
<dd> インターネットで不特定多数の人から資金援助を募ること</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>ソーシャルメディア</dt>
<dd><span class="red-text bold">ライフログ、情報銀行、シェアリングエコノミー</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">ライフログ</dt>
<dd> 人間の生活をデジタルデータとして記録すること</span></dd>
<dt class="with-icon">シェアリングエコノミー</dt>
<dd> 物、サービス、場所を他者と共有する社会的な仕組み</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>IoT システム</dt>
<dd><span class="red-text bold">BLE ビーコン</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">BLE ビーコン</dt>
<dd> BLE（ Bluetooth Low Energy ）を利用した位置特定技術のこと</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>民生機器の例</dt>
<dd><span class="red-text bold">スマートスピーカ</span></li>
</dd>
</dl>
<dl>
<dt>産業機器の特徴と動向</dt>
<dd><span class="red-text bold">スマートファクトリー、インダストリー 4.0</span></li>
</dd>
</dl>
<dl>
<dt>産業機器の例</dt>
<dd><span class="red-text bold">ロボット（産業用、医療用、介護用、災害対応用ほか）、ドローン</span></li>
</dd>
</dl>
<dl>
<dt>自動車制御システムの特徴と動向</dt>
<dd><span class="red-text bold">コネクテッドカー、自動運転</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">コネクテッドカー</dt>
<dd> 通信端末としての機能を有する自動車のこと</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>ヒューマンリソースマネジメント</dt>
<dd><span class="red-text bold">アダプティブラーニング、HR テック（ HRTech ）、テレワーク</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">アダプティブラーニング</dt>
<dd> 学習者の理解度に合わせて学習方法を最適化する教育技法</span></dd>
<dt class="with-icon">HR テック（ HRTech ）</dt>
<dd> HR（ Human Resource、人材）とテクノロジーを組合せた造語、IT を活用して人事の課題の最適解を見出すこと</span></dd>
<dt class="with-icon">テレワーク</dt>
<dd> 通信技術を使って、離れた場所（テレ）で仕事を行う（ワーク）こと</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>経営環境の変化</dt>
<dd><span class="red-text bold">レピュテーションリスク</span></dd>
<div class="divider mag_h20"></div>
<dt class="with-icon">レピュテーションリスク</dt>
<dd> 企業の評価が下がり業績が悪化する危険性のこと</span></dd>
<div class="divider mag_h20"></div>
</li>
</dl>
<dl>
<dt>サイバーセキュリティ基本法</dt>
<dd><span class="red-text bold">サイバーセキュリティ協議会</span></li>
</dd>
</dl>
<dl>
<dt>個人情報保護法、マイナンバー法</dt>
<dd><span class="red-text bold">要配慮個人情報、匿名加工情報、一般データ保護規則（ GDPR ）</span></li>
</dd>
</dl>
<dl>
<dt>情報セキュリティに関する基準</dt>
<dd><span class="red-text bold">中小企業の情報セキュリティ対策ガイドライン、コンシューマ向け IoT セキュリティガイド、IoT セキュリティガイドライン、サイバー・フィジカル・セキュリティ対策フレームワーク</span></span></li>
</dd>
</dl>
<dl>
<dt>取引関連の法規</dt>
<dd><span class="red-text bold">資金決済法</span></li>
</dd>
</dl>
</div>
</div>
<h3>削除された用語</h3>
<div class="card-panel z-depth-0 grey lighten-5 indigo-text" style="border-radius: 15px;">
<dl>
<dt>伝送理論</dt>
<dd>直列、並列</dd>
</dl>
<dl>
<dt>出力装置</dt>
<dd>CRT ディスプレイ、プラズマディスプレイ</dd>
</dl>
<dl>
<dt>ファイルシステムの種類と特徴</dt>
<dd>HFS（ Hierarchical File System ）</dd>
</dl>
<dl>
<dt>UNIX系OS</dt>
<dd>IRIX</dd>
</dl>
<dl>
<dt>情報の圧縮・伸張</dt>
<dd>LZH</dd>
</dl>
<dl>
<dt>民生機器の例</dt>
<dd>DLNA</dd>
</dl>
</div>
<div class="divider mag_h50"></div>
<p>ご存じの方も多いと思いますが、今回の変更に加えて、基本情報技術者試験の <strong>午後試験 の問題構成も、令和 2 年（ 2020 年）春期試験から大幅に改訂</strong> されます。</p>
<p><i class="material-icons indigo-text">label</i> 関連記事</p>
<p><a href="../../gogo_arukikata/trend_to_questions_at_pm/"></p>
<div class="card hoverable mag_h30 c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col m3 pad_00 flex"><img src="../../wp-content/uploads/2018/05/trend_to_questions_of_pm.jpg"></div>
<div class="col m9 pad_20 black-text bold">過去10回分から分析 基本情報技術者試験 午後 問題の出題傾向 (2019秋期試験 更新)</div>
</p></div>
</p></div>
<p></a></p>
<p>受験される皆様のご健闘をお祈り申し上げます！</p>
<p>&nbsp;</p>
<div class="divider mag_h50"></div>
<p><i class="material-icons red-text">fiber_new</i> IPA より Python の具体的なシラバス (試験範囲) とサンプル問題が発表され、矢沢 久雄さんに解説いただきました。詳しくは下記の記事をご覧くださいませ。</p>
<p><a href="../recommend_python_on_fe_2020spring/"></p>
<div class="card hoverable mag_h30 c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col m3 pad_00 flex"><img src="../../wp-content/uploads/2019/01/python_cover.png"></div>
<div class="col m9 pad_20 black-text bold">2020年度 春期試験 の Python は狙い目だ！</div>
</div>
</div>
<p></a></p>
<p><a href="../thinking_sample_prob_python/"></p>
<div class="card hoverable mag_h30 c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col m3 pad_00 flex"><img src="../../wp-content/uploads/2019/01/python_cover.png"></div>
<div class="col m9 pad_20 black-text bold">難しくはないがレベルが高い Python のサンプル問題を解説（基本情報技術者試験 午後）</div>
</div>
</div>
<p></a></p>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/focus_on_diff_2/">2019 基本情報技術者試験の シラバス 改訂（出題範囲の変更）でどう変わる？注目ポイントや新出用語を解説</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>基本情報技術者試験 シラバスの一部内容見直しの詳細 (追加される用語)</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/focus_on_diff/</link>
		<pubDate>Tue, 28 May 2019 10:46:42 +0000</pubDate>
		<dc:creator><![CDATA[基本情報技術者試験 受験ナビ 編集部]]></dc:creator>
				<category><![CDATA[2019見直し]]></category>
		<category><![CDATA[令和の試験改訂]]></category>
		<category><![CDATA[試験ガイド]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=guide&#038;p=1213</guid>
		<description><![CDATA[<p>info 矢沢久雄さんにシラバス改訂に関する解説いただきました。こちらもぜひご覧ください。 基本情報技術者試験の 2019 シラバス改訂 で注目すべきポイント (用語解説付き) 情報処理推進機構（IPA）が5月27日、先 [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/focus_on_diff/">基本情報技術者試験 シラバスの一部内容見直しの詳細 (追加される用語)</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<div class="divider mag_h30"></div>
<p><i class="material-icons blue-text">info</i> 矢沢久雄さんにシラバス改訂に関する解説いただきました。こちらもぜひご覧ください。</p>
<p><a href="../focus_on_diff_2/"></p>
<div class="card hoverable">
<div class="row valign-wrapper direction-column-on-small">
<div class="col m3 s12 pad_00 flex"><img src="../../wp-content/uploads/2019/06/syllabus_fe_diff.jpg"></div>
<div class="col m9 s12 pad_20 black-text bold">基本情報技術者試験の 2019 シラバス改訂 で注目すべきポイント (用語解説付き)</div>
</div>
</div>
<p></a></p>
<div class="divider mag_h30"></div>
<style>table{font-size:.85em;}td,th{padding:.5em .2em}</style>
<p>情報処理推進機構（IPA）が5月27日、先日の見直しに関連して、その詳細な用語例などを公開しました。</p>
<div class="mag_h30 grey c-round lighten-4 pad_30 c-round indigo-text">
<p class="center"><span class="post-title">情報処理技術者試験の「シラバス」における一部内容の見直しについて</span><br />
～第4次産業革命に対応した用語例等の追加～<br />
(抜粋) 見直し対象の主な分野、項目等は次のとおりです。 </p>
<ol>
<li>AI（Artificial Intelligence：人工知能）</li>
<li>IoT、ビッグデータ、数学（線形代数、確率・統計等）</li>
<li>アジャイル</li>
<li>1. ～3. 以外の新たな技術・サービス・概念（ブロックチェーン、RPA等）</li>
<li>その他、用語表記の見直し</li>
</ol>
<p class="center">
<a href="https://www.jitec.ipa.go.jp/1_00topic/topic_20190527.html" rel="noopener" target="_blank">https://www.jitec.ipa.go.jp/1_00topic/topic_20190527.html</a>
</p>
</div>
<p>この記事では発表されたシラバスをもとに、具体的に 追加 / 削除 された用語例をピックアップし、そこから考察してみました。</p>
<p>&nbsp;</p>
<h2 class="mag_h50 bold">追加された用語</h2>
<p><span class="chip">出展</span> <a href="https://www.jitec.ipa.go.jp/1_13download/syllabus_fe_ver6_0.pdf" rel="noopener" target="_blank">基本情報技術者試験 Ver6.0PDF形式（変更箇所表示版PDF形式）</a></p>
<h3 class="mag_h30">基礎理論</h3>
<table class="bordered highlight">
<thead>
<tr>
<th>分野</th>
<th>追加された目標</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3" style="vertical-align: top;">2. 応用数学</td>
<td rowspan="3" style="vertical-align: top;">線形代数，行列などの数値計算を理解し，担当する事項に適用する。</td>
<td style="vertical-align: top;">（1）<br />確率と統計</td>
<td style="vertical-align: top;">同時確率</p>
<p>条件付き確率</p>
<p>ベイズの定理</td>
</tr>
<tr>
<td style="vertical-align: top;">（1）<br />確率と統計</td>
<td style="vertical-align: top;">単回帰分析</p>
<p>重回帰分析</p>
<p>ロジスティック回帰分析）</p>
<p>相関分析</p>
<p>主成分分析</p>
<p>因子分析</td>
</tr>
<tr>
<td style="vertical-align: top;">（2）<br />数値計算</td>
<td style="vertical-align: top;">線形代数</p>
<p>スカラ</p>
<p>ベクトル</p>
<p>固有値</p>
<p>固有ベクトル</p>
<p>逆行列</p>
<p>単位行列</p>
<p>転置行列</p>
<p>等差数列</p>
<p>等比数列</p>
<p>フィボナッチ数列</p>
<p>三角関数</td>
</tr>
<tr>
<td style="vertical-align: top;">3.情報に関する理論</td>
<td style="vertical-align: top;"></td>
<td style="vertical-align: top;">（8）<br />AI（Artificial Intelligence：人工知能）</td>
<td style="vertical-align: top;">機械学習</p>
<p>汎化</p>
<p>ディープラーニング（深層学習）</p>
</td>
</tr>
<tr>
<td style="vertical-align: top;">5.計測・制御に関する理論</td>
<td style="vertical-align: top;">代表的なセンサ・アクチュエータの種類と動作特性を理解する。</td>
<td style="vertical-align: top;">（2）<br />制御に関する理論</td>
<td style="vertical-align: top;">温度センサ</p>
<p>湿度センサ</p>
<p>圧力センサ</p>
<p>ひずみゲージ</p>
<p>サーミスタ</p>
<p>ホール素子</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">アルゴリズムとプログラミング</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">4.プログラム言語</td>
<td style="vertical-align: top;">（2）<br />その他の言語</td>
<td style="vertical-align: top;">YAML</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">システム構成要素</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">1.システムの構成</td>
<td style="vertical-align: top;">（2）<br />システム構成</td>
<td style="vertical-align: top;">VDI（Virtual Desktop Infrastructure：デスクトップ仮想化）</p>
<p>FaaS</p>
<p>エッジコンピューティング</p>
<p>マイグレーション（ライブマイグレーションほか）</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">ヒューマンインタフェース</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">1.ヒューマンインタフェース技術</td>
<td style="vertical-align: top;">（2）<br />ヒューマンインタフェース</td>
<td style="vertical-align: top;">VUI（Voice User Interface）</p>
<p>UX デザイン（User Experience デザイン）</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: top;">2.インタフェース設計</td>
<td style="vertical-align: top;">（5）<br />ユニバーサルデザイン</td>
<td style="vertical-align: top;">JIS X 8341</td>
</tr>
<tr>
<td style="vertical-align: top;">（6）<br />ユーザビリティ評価</td>
<td style="vertical-align: top;">ユーザビリティテスト</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">マルチメディア</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3" style="vertical-align: top;">1.マルチメディア技術</td>
<td style="vertical-align: top;">（1）<br />マルチメディア</td>
<td style="vertical-align: top;">コンテナフォーマット</p>
<p>4K／8K</td>
</tr>
<tr>
<td style="vertical-align: top;">（3）<br />静止画処理</td>
<td style="vertical-align: top;">HEIF</td>
</tr>
<tr>
<td style="vertical-align: top;">（4）<br />動画処理</td>
<td style="vertical-align: top;">H.264</p>
<p>HEVC</p>
<p>H.265</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">データベース</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">5.データベース応用</td>
<td style="vertical-align: top;">（3）<br />データ資源管理</td>
<td style="vertical-align: top;">構造化データ</p>
<p>半構造化データ</p>
<p>非構造化データ</p>
<p>ストリーミングデータ</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">ネットワーク</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">3.通信プロトコル</td>
<td style="vertical-align: top;">（1）<br />プロトコルとインタフェース</td>
<td style="vertical-align: top;">IPoE（IP over Ethernet）</p>
<p>メッシュWi-Fi</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: top;">5.ネットワーク応用</td>
<td rowspan="2" style="vertical-align: top;">（6）<br />モバイルシステム</td>
<td style="vertical-align: top;">5G</p>
<p>テレマティクス</td>
</tr>
<tr>
<td style="vertical-align: top;">[モバイル通信技術] ハンドオーバ</p>
<p>ローミング</p>
<p>MIMO</p>
<p>LPWA（Low Power Wide Area）</p>
<p>IoT エリアネットワーク</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">セキュリティ</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3" style="vertical-align: top;">1.情報セキュリティ</td>
<td style="vertical-align: top;">（3）<br />脅威</td>
<td style="vertical-align: top;">ビジネスメール詐欺（BEC）</p>
<p>SNS の悪用</td>
</tr>
<tr>
<td style="vertical-align: top;">（6）<br />攻撃者の種類，攻撃の動機</td>
<td style="vertical-align: top;">ダークウェブ</p>
<p>サイバーキルチェーン</td>
</tr>
<tr>
<td style="vertical-align: top;">（8）<br />情報セキュリティに関する技術</td>
<td style="vertical-align: top;">多段階認証</td>
</tr>
<tr>
<td style="vertical-align: top;">4.情報セキュリティ対策</td>
<td style="vertical-align: top;">（1）<br />情報セキュリティ対策の種類</td>
<td style="vertical-align: top;">情報セキュリティ訓練（標的型メールに関する訓練，レッドチーム演習ほか）</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: top;">5.セキュリティ実装技術</td>
<td style="vertical-align: top;">（1）<br />セキュアプロトコル</td>
<td style="vertical-align: top;">WPA3</td>
</tr>
<tr>
<td style="vertical-align: top;">（5）<br />アプリケーションセキュリティ</td>
<td style="vertical-align: top;">セキュリティバイデザイン</p>
<p>プライバシーバイデザイン</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">ソフトウェア開発管理技術</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加された目標</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3" style="vertical-align: top;">1.開発プロセス・手法</td>
<td rowspan="3" style="vertical-align: top;">アジャイルの概要，アジャイルソフトウェア開発手法の考え方を理解し，担当する事項に適用する。</td>
<td rowspan="3" style="vertical-align: top;">（1）<br />ソフトウェア開発手法</td>
<td style="vertical-align: top;">[アジャイルの概要] アジャイルソフトウェア開発宣言</p>
<p>アジャイルソフトウェアの 12 の原則</p>
<p>XP（エクストリームプログラミング）</p>
<p>スクラム</p>
<p>ユーザストーリー</p>
<p>テスト駆動開発</p>
<p>リファクタリング</p>
<p>継続的インテグレーション（CI）</p>
<p>ふりかえり（レトロスペクティブ）</td>
</tr>
<tr>
<td style="vertical-align: top;">[XP（エクストリームプログラミング）の特徴] ペアプログラミング</td>
</tr>
<tr>
<td style="vertical-align: top;">[スクラムの特徴] スプリント</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">プロジェクトマネジメント</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">11.プロジェクトのコミュニケーション</td>
<td style="vertical-align: top;">（3）<br />ツールと技法</td>
<td style="vertical-align: top;">コミュニケーションチャネル</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">システム戦略</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加された目標</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">2.業務プロセス</td>
<td style="vertical-align: top;"></td>
<td style="vertical-align: top;">（1）<br />業務プロセスの改善と問題解決</td>
<td style="vertical-align: top;">RPA（Robotic Process Automation）</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: top;">4．システム活用促進・評価</td>
<td rowspan="2" style="vertical-align: top;">情報システムに蓄積されたデータを分析して，事業戦略に活用することの重要性を理解する。</td>
<td rowspan="2" style="vertical-align: top;">（1）<br />システム活用促進・評価</td>
<td style="vertical-align: top;">チャットボット</td>
</tr>
<tr>
<td style="vertical-align: top;">[データの分析及び活用] データマイニング（テキストマイニングほか）</p>
<p>エンタープライズサーチ<br />オープンデータ</p>
<p>パーソナルデータ</p>
<p>データサイエンティスト</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">システム企画</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">1．システム化計画</td>
<td style="vertical-align: top;">（1）<br />システム化構想の立案</td>
<td style="vertical-align: top;">SoR（Systems of Record）</p>
<p>SoE（Systems of Engagement）</p>
<p>SoI（Systems of Insight）</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">経営戦略マネジメント</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2" style="vertical-align: top;">1.経営戦略手法</td>
<td style="vertical-align: top;">（1）<br />経営戦略</td>
<td style="vertical-align: top;">デジタルトランスフォーメーション（DX）</td>
</tr>
<tr>
<td style="vertical-align: top;">（2）<br />マーケティング戦略</td>
<td style="vertical-align: top;">カニバリゼーション</p>
<p>スキミングプライシング</p>
<p>サブスクリプションモデル</td>
</tr>
<tr>
<td style="vertical-align: top;">3.ビジネス戦略と目標・評価</td>
<td style="vertical-align: top;">（1）<br />ビジネス戦略と目標の設定・評価</td>
<td style="vertical-align: top;">ビジネスモデルキャンバス</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">技術戦略マネジメント</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加された目標</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2" style="vertical-align: top;">1．技術開発戦略の立案</td>
<td rowspan="2" style="vertical-align: top;">技術動向の把握，イノベーション促進の重要性を理解する。</td>
<td rowspan="2" style="vertical-align: top;">（1）<br />技術開発戦略</td>
<td style="vertical-align: top;">オープンイノベーション</p>
<p>イノベーションのジレンマ</p>
<p>リーンスタートアップ</p>
<p>API エコノミー</p>
<p>デザイン思考</p>
<p>PoC（Proof of Concept：概念実証）</p>
<p>PoV（Proof Of Value：価値実証）</td>
</tr>
<tr>
<td style="vertical-align: top;">[価値創出の三要素] キャズム</p>
<p>魔の川（Devil River）</p>
<p>死の谷（Valley of Death）</p>
<p>ダーウィンの海（Darwinian Sea）</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">ビジネスインダストリ</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加された目標</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2" style="vertical-align: top;">1．ビジネスシステム</td>
<td rowspan="2" style="vertical-align: top;"></td>
<td style="vertical-align: top;">（2）<br />基幹業務支援システム及び業務パッケージ</td>
<td style="vertical-align: top;">ブロックチェーンの活用（トレーサビリティ確保<br />スマートコントラクトほか）</td>
</tr>
<tr>
<td style="vertical-align: top;">（3）<br />行政システム及び公共情報システム</td>
<td style="vertical-align: top;">超スマート社会<br />Society 5.0</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: top;">3．e-ビジネス</td>
<td rowspan="2" style="vertical-align: top;">ソーシャルメディアの概念，類型，技術的背景を理解する。</td>
<td style="vertical-align: top;">（1）<br />EC（Electronic Commerce：電子商取引）</td>
<td style="vertical-align: top;">キャッシュレス決済（スマートフォンのキャリア決済</p>
<p>非接触 IC 決済<br />QR コード決済ほか）</p>
<p>フィンテック（FinTech）</p>
<p>暗号資産（仮想通貨）</p>
<p>クラウドソーシング</td>
</tr>
<tr>
<td style="vertical-align: top;">（3）<br />ソーシャルメディア</td>
<td style="vertical-align: top;">ライフログ</p>
<p>情報銀行</p>
<p>シェアリングエコノミー</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: top;">4．民生機器</td>
<td rowspan="2" style="vertical-align: top;">IoT システム・組込みシステムのあらましを理解する。</td>
<td style="vertical-align: top;">（1）<br />IoTシステム・組込みシステム</td>
<td style="vertical-align: top;">BLE ビーコン</td>
</tr>
<tr>
<td style="vertical-align: top;">（2）<br />民生機器</td>
<td style="vertical-align: top;">スマートスピーカ</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: top;">5．産業機器</td>
<td rowspan="2" style="vertical-align: top;"></td>
<td rowspan="2" style="vertical-align: top;">（1）<br />産業機器</td>
<td style="vertical-align: top;">スマートファクトリー</p>
<p>インダストリー4.0</p>
<p>ロボット（産業用，医療用，介護用，災害対応用ほか）</p>
<p>ドローン</td>
</tr>
<tr>
<td style="vertical-align: top;">[自動車制御システムの特徴と動向] コネクテッドカー</p>
<p>自動運転</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">企業活動</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2" style="vertical-align: top;">1．経営・組織論</td>
<td style="vertical-align: top;">（2）<br />経営管理</td>
<td style="vertical-align: top;">アダプティブラーニング</p>
<p>HR テック（HRTech）</p>
<p>テレワーク</td>
</tr>
<tr>
<td style="vertical-align: top;">（4）<br />経営環境の変化</td>
<td style="vertical-align: top;">レピュテーションリスク</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">法務</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<th>追加があった項目</th>
<th>追加された用語</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3" style="vertical-align: top;">2．セキュリティ関連法規</td>
<td style="vertical-align: top;">（1）<br />サイバーセキュリティ基本法</td>
<td style="vertical-align: top;">サイバーセキュリティ協議会</td>
</tr>
<tr>
<td style="vertical-align: top;">（4）<br />個人情報保護法<br />マイナンバー法</td>
<td style="vertical-align: top;">要配慮個人情報</p>
<p>匿名加工情報</p>
<p>一般データ保護規則（GDPR）</td>
</tr>
<tr>
<td style="vertical-align: top;">（8）<br />情報セキュリティに関する基準</td>
<td style="vertical-align: top;">中小企業の情報セキュリティ対策ガイドライン</p>
<p>コンシューマ向け IoT セキュリティガイド</p>
<p>IoT セキュリティガイドライン</p>
<p>サイバー・フィジカル・セキュリティ対策フレームワーク</td>
</tr>
<tr>
<td style="vertical-align: top;">3．労働関連・取引関連法規</td>
<td style="vertical-align: top;">（2）<br />取引関連の法規</td>
<td style="vertical-align: top;">資金決済法</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2 class="mag_h50 bold">削除された用語</h2>
<h3 class="mag_h30">基礎理論</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<td style="vertical-align: top;">削除があった項目</td>
<td style="vertical-align: top;">削除された用語</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">4.通信に関する理論</td>
<td style="vertical-align: top;">（1）<br />伝送理論</td>
<td style="vertical-align: top;">直列</p>
<p>並列</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">コンピュータ構成要素</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<td style="vertical-align: top;">削除があった項目</td>
<td style="vertical-align: top;">削除された用語</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">5.入出力装置</td>
<td style="vertical-align: top;">（2）<br />出力装置</td>
<td style="vertical-align: top;">CRT ディスプレイ</p>
<p>プラズマディスプレイ</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">ソフトウェア</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<td style="vertical-align: top;">削除があった項目</td>
<td style="vertical-align: top;">削除された用語</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">3.ファイルシステム</td>
<td style="vertical-align: top;">（2）<br />ファイルシステムの種類と特徴</td>
<td style="vertical-align: top;">HFS（Hierarchical File System）</td>
</tr>
<tr>
<td style="vertical-align: top;">5.オープンソースソフトウェア</td>
<td style="vertical-align: top;">（2）<br />UNIX系OS</td>
<td style="vertical-align: top;">IRIX</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">マルチメディア</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<td style="vertical-align: top;">削除があった項目</td>
<td style="vertical-align: top;">削除された用語</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">1.マルチメディア技術</td>
<td style="vertical-align: top;">（5）<br />情報の圧縮・伸張</td>
<td style="vertical-align: top;">LZH</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 class="mag_h30">ビジネスインダストリ</h3>
<table class="bordered">
<thead>
<tr>
<th>分野</th>
<td style="vertical-align: top;">削除があった項目</td>
<td style="vertical-align: top;">削除された用語</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top;">4．民生機器</td>
<td style="vertical-align: top;">（2）<br />民生機器</td>
<td style="vertical-align: top;">DLNA</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2 class="mag_h50 bold">考察</h2>
<p>今回追加された用語がそのまま出題されるとは限りません。あくまでも、具体的にどこまで試験範囲が広がったのかを指し示すものです。</p>
<p>ただ、追加された用語をみると、AI や Python といったバズワードだけでなく、「モダン」と言われる技術・概念・知識を網羅しています。</p>
<p>個人的には、このこと、そのものはとても良い傾向に思います。テクノロジを扱う以上、アップデートするのが常です。</p>
<p>一方で、前回、平成最後の基本情報技術者試験 で 出題者たちが変わった、もしくは、出題傾向が変わったような印象を受けますが、そのことにより平均合格率が落ち、合格者そのものが減少してしまう可能性があります。</p>
<p>アップデートして機能拡張するだけでなく、よりスマートに、機能を削ぎ落とし、モダンな試験になるとよいですね。</p>
<p>&nbsp;</p>
<h2 class="mag_h50 bold">今後の予定</h2>
<p>このあと、令和二年 ( 2020 年度) の春期試験で追加される <strong>Python</strong> について、シラバス、例題が発表される予定です。</p>
<p>基本情報技術者試験 受験ナビでは、ひきつづき、アップデート情報をお知らせしてまいります。</p>
<div class="divider mag_h30"></div>
<p><i class="material-icons red-text">fiber_new</i> IPA より 2019 年 7 月 1 日 に Python の具体的なシラバス (試験範囲) の続報が発表されました。詳しくは下記の記事をご覧くださいませ。</p>
<p><a href="../agenda_python/"></p>
<div class="card hoverable mag_h50">
<div class="row">
<div class="col m4"><img src="../../wp-content/uploads/2019/01/python_cover.png"></div>
<div class="col m8">
<div class="card-content bold black-text">Python の出題範囲 (シラバス) が発表されました</div>
</div>
</div>
</div>
<p></a></p>
<div class="divider"></div>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/guide/focus_on_diff/">基本情報技術者試験 シラバスの一部内容見直しの詳細 (追加される用語)</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
	</channel>
</rss>
