<?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>逆ポーランド記法 | 基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</title>
	<atom:link href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/tag/%e9%80%86%e3%83%9d%e3%83%bc%e3%83%a9%e3%83%b3%e3%83%89%e8%a8%98%e6%b3%95/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi</link>
	<description>基本情報技術者試験を学習する人のためにつくられた専門メディア。250本以上の記事を掲載し、勉強方法や各分野のポイント、過去問解説など、試験に役立つ情報を発信。試験対策書籍を執筆する著者が、はじめて学ぶ人でもわかりやすく解説します。（2023年度からの新制度に対応済み）</description>
	<lastBuildDate>Wed, 20 May 2026 00:42:42 +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>「厳選5題」過去問と解説 &#124; 平成25年度 春期 の過去問やるならこれをやれ</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/kakomon-gensen/h25_spring/</link>
		<pubDate>Fri, 09 Aug 2019 09:32:10 +0000</pubDate>
		<dc:creator><![CDATA[矢沢 久雄]]></dc:creator>
				<category><![CDATA[公開鍵秘密鍵]]></category>
		<category><![CDATA[午前問題]]></category>
		<category><![CDATA[逆ポーランド記法]]></category>
		<category><![CDATA[過去問演習]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=kakomon-gensen&#038;p=1938</guid>
		<description><![CDATA[<p>ここでは、平成 25 年度 春期 基本情報技術者試験の午前試験 の中から「やるべき問題」を5題に厳選し、ぶっちゃけた解説をさせていただきます。 やるべき問題とは、よく出る問題であり、かつ、練習すればできる問題（練習しない [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/kakomon-gensen/h25_spring/">「厳選5題」過去問と解説 | 平成25年度 春期 の過去問やるならこれをやれ</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>ここでは、<a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2013h25_1/2013h25h_fe_am_qs.pdf">平成 25 年度 春期 基本情報技術者試験の午前試験</a> の中から「やるべき問題」を5題に厳選し、ぶっちゃけた解説をさせていただきます。</p>
<p>やるべき問題とは、よく出る問題であり、かつ、練習すればできる問題（練習しないとできない問題）です。</p>
<style>h2 .chip{vertical-align:middle;background:#3f51b5;color:white;margin-right:.75em;}.chip i{font-size:2em!important;}.box{padding:.5em 2em;border:1px solid #3f51b5;width:50%;max-width:200px;text-align:center;}.box+.box{border-top:none;}.background h3{margin:.5em 0}.background dt{font-weight:700;margin:1em auto}li{margin-left:1.5em;}table{font-size:.85em;}@media only screen and (max-width:600px){dl dd,dl.background dd{margin-left:0}}</style>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_one</i></span>アルゴリズムをしっかりと丁寧に覚えてください</h2>
<div class="card-panel mag_h30">
問 6　(平成 25 年度 春期)</p>
<p>図は，逆ポーランド表記法で書かれた式 abcd+++ をスタックで処理するときのスタックの変化の一部を表している。 この場合，スタックの深さは最大で 4 となる。 最大のスタックの深さが最も少ない逆ポーランド表記法の式はどれか。</p>
<figure>
<img class="materialboxed hoverable z-depth-5 responsive-width" src="../../wp-content/uploads/2019/08/h25_spring_q6_figure.png" loading="lazy"><br />
</figure>
<p>ア　ab+c+d+　イ　ab+cd++<br />
ウ　abc++d+　エ　abc+d++
</p></div>
<div class="chip">解説</div>
<p>連載の <a href="../h26_autumn">第 10 回（平成 26 年度秋期）</a> で、通常の計算式を逆ポーランド表記法に変換する問題を取り上げました。</p>
<p>コンピュータで式の計算結果を求めるには、通常の表記法式より逆ポーランド表記法の方が、簡単なアルゴリズムで実現できます。 そのアルゴリズムを知ってますか？ というのが、この問題のテーマです。</p>
<p>市販教材では、滅多に紹介されていないアルゴリズムなので、この問題を通して覚えておきましょう。 以下に手順を示します。</p>
<ol class="mag_h30 background c-round">
<h3>逆ポーランド表記法の式の計算結果を求めるアルゴリズム</h3>
<li>式の先頭から 1 つずつ順番に要素を取り出す。 </li>
<li>要素が値なら、それをスタックにプッシュする（格納する）。 </li>
<li>要素が演算子なら、スタックから 2 つの要素をポップし（取り出し）、それらの演算結果をプッシュする。 </li>
<li>式の要素がなくなるまで、 1. ～ 3. を繰り返す。 </li>
<li>最後にスタックに残った値が式の計算結果なので、それをポップする。 </li>
</ol>
<p>何とも不思議な手順に思えるかもしれませんが、逆ポーランド表記法では<br />
［値1］［値2］［演算子］<br />
の順に要素が並んでいるので、これは当然の手順です。</p>
<p>式の先頭から 1 つずつ順番に要素を取り出すと、［値1］と［値2］まででは、まだ演算方法がわからないので、それらをスタックにプッシュして一時保存しておくのです。</p>
<p>そして、［演算子］を取り出したときに、その演算対象である［値1］と［値2］をスタックからポップして演算を行います。</p>
<p>演算結果をスタックにプッシュするのは、その先も式が続く場合があるからです。</p>
<p>&nbsp;</p>
<p>こういうことは、中途半端に覚えられるものではありません。 具体例を示しますので、しっかりと丁寧に覚えてください。</p>
<p>たとえば、 3 + 4 × 5 という計算をするとします。</p>
<p>これを逆ポーランド表記法にすると<br />
［3］［4］［5］［×］［+］<br />
です。 先ほど示した手順で、計算結果を求めてみましょう。</p>
<p>以下のようになります。 この例では、スタックの最大の深さ（スタックに格納された最大の要素数）は、 3 です。</p>
<ol class="mag_h30 background c-round">
<h3>例　［3］［4］［5］［×］［+］の計算結果を求める</h3>
<li>［3］を取り出す。 </li>
<li>［3］は値なので、スタックにプッシュする。
<div class="box">3</div>
</li>
<li>［4］を取り出す。 </li>
<li>［4］は値なので、スタックにプッシュする。
<div class="box">4</div>
<div class="box">3</div>
</li>
<li>［5］を取り出す。 </li>
<li>［5］は値なので、スタックにプッシュする。
<div class="box">5</div>
<div class="box">4</div>
<div class="box">3</div>
</li>
<li>［×］を取り出す。 </li>
<li>［×］は演算子なので、スタックから 5 と 4 をポップし、4 × 5 の演算結果である 20 をプッシュする。
<div class="box">20</div>
<div class="box">3</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから 20 と 3 をポップし、 3 + 20 の演算結果である 23 をプッシュする。
<div class="box">23</div>
</li>
<li>最後にスタックに残った 23 が式の計算結果なので、それをポップする。 </li>
<li>計算結果の 23 が得られる。 </li>
</ol>
<p>それでは、問題を見てみましょう。</p>
<p>選択肢に示された逆ポーランド表記法の式の中で、計算結果を求めたときに、スタックの最大の深さが、最も少ないものはどれか？ という問題です。</p>
<p>先ほど説明した手順で、スタックの絵を書いてみましょう。</p>
<ol class="mag_h30 background c-round">
<span class="bold">選択肢ア　［a］［b］［+］［c］［+］［d］［+］の計算結果を求める</span></p>
<li>［a］を取り出す。 </li>
<li>［a］は値なので、スタックにプッシュする。
<div class="box">a</div>
</li>
<li>［b］を取り出す。 </li>
<li>［b］は値なので、スタックにプッシュする。
<div class="box">b</div>
<div class="box">a</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから b と a をポップし、それらの演算結果である a + b をプッシュする。
<div class="box">a + b</div>
</li>
<li>［c］を取り出す。 </li>
<li>［c］は値なので、スタックにプッシュする。
<div class="box">c</div>
<div class="box">a + b</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから c と a + b をポップし、それらの演算結果である a + b + c をプッシュする。
<div class="box">a + b + c</div>
</li>
<li>［d］を取り出す。 </li>
<li>［d］は値なので、スタックにプッシュする。
<div class="box">d</div>
<div class="box">a + b + c</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから d と a + b + c をポップし、それらの演算結果である a + b + c + d をプッシュする。
<div class="box">a + b + c + d</div>
</li>
<li>最後にスタックに残った a + b + c + d が式の計算結果なので、それをポップする。 </li>
<li>計算結果の a + b + c + dが得られる。 </li>
<li>選択肢アのスタックの最大の深さは、 3 です。 </li>
</ol>
<ol class="mag_h30 background c-round">
<span class="bold">選択肢イ　［a］［b］［+］［c］［d］［+］［+］の計算結果を求める</span></p>
<li>［a］を取り出す。 </li>
<li>［a］は値なので、スタックにプッシュする。
<div class="box">a</div>
</li>
<li>［b］を取り出す。 </li>
<li>［b］は値なので、スタックにプッシュする。
<div class="box">b</div>
<div class="box">a</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから b と a をポップし、それらの演算結果である a + b をプッシュする。
<div class="box">a + b</div>
</li>
<li>［c］を取り出す。 </li>
<li>［c］は値なので、スタックにプッシュする。
<div class="box">c</div>
<div class="box">a + b</div>
</li>
<li>［d］を取り出す。 </li>
<li>［d］は値なので、スタックにプッシュする。
<div class="box">d</div>
<div class="box">c</div>
<div class="box">a + b</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから d と c をポップし、それらの演算結果である c + d をプッシュする。
<div class="box">c + d</div>
<div class="box">a + b</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから c + d と a + b をポップし、それらの演算結果である a + b + c + d をプッシュする。
<div class="box">a + b + c + d</div>
</li>
<li>最後にスタックに残った a + b + c + dが式の計算結果なので、それをポップする。 </li>
<li>計算結果の a + b + c + dが得られる。 </li>
<li>選択肢イのスタックの最大の深さは、 3 です。 </li>
</ol>
<ol class="mag_h30 background c-round">
<span class="bold">選択肢ウ　［a］［b］［c］［+］［+］［d］［+］の計算結果を求める</span></p>
<li>［a］を取り出す。 </li>
<li>［a］は値なので、スタックにプッシュする。
<div class="box">a</div>
</li>
<li>［b］を取り出す。 </li>
<li>［b］は値なので、スタックにプッシュする。
<div class="box">b</div>
<div class="box">a</div>
</li>
<li>［c］を取り出す。 </li>
<li>［c］は値なので、スタックにプッシュする。
<div class="box">c</div>
<div class="box">b</div>
<div class="box">a</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから c と b をポップし、それらの演算結果である b + c をプッシュする。
<div class="box">b + c</div>
<div class="box">a</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから b + c と a をポップし、それらの演算結果である a + b + c をプッシュする。
<div class="box">a + b + c</div>
</li>
<li>［d］を取り出す。 </li>
<li>［d］は値なので、スタックにプッシュする。
<div class="box">d</div>
<div class="box">a + b + c</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから d と a + b + c をポップし、それらの演算結果である a + b + c + d をプッシュする。
<div class="box">a + b + c + d</div>
</li>
<li>最後にスタックに残った a + b + c + dが式の計算結果なので、それをポップする。 </li>
<li>計算結果の a + b + c + dが得られる。 </li>
<li>選択肢ウのスタックの最大の深さは、 3 です。 </li>
</ol>
<ol class="mag_h30 background c-round">
<span class="bold">選択肢エ　［a］［b］［c］［+］［d］［+］［+］の計算結果を求める</span></p>
<li>［a］を取り出す。 </li>
<li>［a］は値なので、スタックにプッシュする。
<div class="box">a</div>
</li>
<li>［b］を取り出す。 </li>
<li>［b］は値なので、スタックにプッシュする。
<div class="box">b</div>
<div class="box">a</div>
</li>
<li>［c］を取り出す。 </li>
<li>［c］は値なので、スタックにプッシュする。
<div class="box">c</div>
<div class="box">b</div>
<div class="box">a</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから c と b をポップし、それらの演算結果である b + c をプッシュする。
<div class="box">b + c</div>
<div class="box">a</div>
</li>
<li>［d］を取り出す。 </li>
<li>［d］は値なので、スタックにプッシュする。
<div class="box">d</div>
<div class="box">b + c</div>
<div class="box">a</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから d と b + c をポップし、それらの演算結果である b + c + d をプッシュする。
<div class="box">b + c + d</div>
<div class="box">a</div>
</li>
<li>［+］を取り出す。 </li>
<li>［+］は演算子なので、スタックから b + c + d と a をポップし、それらの演算結果である a + b + c + d をプッシュする。
<div class="box">a + b + c + d</div>
</li>
<li>最後にスタックに残った a + b + c + dが式の計算結果なので、それをポップする。 </li>
<li>計算結果の a + b + c + dが得られる。 </li>
<li>選択肢ウのスタックの最大の深さは、 3 です。 </li>
</ol>
<p>以上のことから、スタックの最大の深さが最も少ないのは、選択肢アの 2 です。</p>
<p>これで、逆ポーランド表記法の式の計算結果を求めるアルゴリズムを覚えられましたね。</p>
<p><span class="chip mag_tp30">解答</span>ア</p>
<div class="divider mag_h20"></div>
<p class="blue-grey-text small-text mag_w10 mag_h00"> (補足) この問題では、選択肢に示された式の計算結果がすべて同じになっています。 それは、問題の例に合わせて、演算の優先順位を示すカッコを省略しているからです。</p>
<div class="divider mag_h20"></div>
<p class="grey lighten-5 pad_20 c-round"><i class="material-icons grey-text mag_rt05">search</i>タグで関連記事をチェック<a href="../../tag/逆ポーランド記法" class="tag mag_lt05">逆ポーランド記法</a><a href="../../tag/スタック" class="tag mag_lt05">スタック</a></p>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_two</i></span>ハッシュ法に関する用語をまとめて覚えよう</h2>
<div class="card-panel mag_h30">
問 7　(平成 25 年度 春期)</p>
<p>10 進法で 5 桁の数 a<sub>1</sub> a<sub>2</sub> a<sub>3</sub> a<sub>4</sub> a<sub>5</sub> を，ハッシュ法を用いて配列に格納したい。 ハッシュ関数を mod(a<sub>1</sub> + a<sub>2</sub> + a<sub>3</sub> + a<sub>4</sub> + a<sub>5</sub>, 13) とし、求めたハッシュ値に対応する位置の配 列要素に格納する場合， 54321 は配列のどの位置に入るか。 ここで， mod(x , 13) は、 x を 13 で割った余りとする。</p>
<figure>
<img class="materialboxed hoverable z-depth-5" style="margin:auto;" src="../../wp-content/uploads/2019/08/h25_spring_q7_figure.png" loading="lazy"><br />
</figure>
<p>ア　1　　イ　2　　ウ　7　　エ　11
</p></div>
<div class="chip">解説</div>
<p><span class="bold">「ハッシュ法」</span>は、アルゴリズムの分野で、とてもよく出題されるテーマです。</p>
<p>ハッシュ法に関連して、<span class="bold">「ハッシュ関数」</span>と<span class="bold">「ハッシュ値」</span>という用語がありますので、この問題を通してまとめて覚えておきましょう。</p>
<p>&nbsp;</p>
<p>ハッシュ法では、データの値から格納場所を決めます。 そのために使われる計算式を「ハッシュ関数」と呼び、ハッシュ関数で得られた値（格納場所）をハッシュ値と呼びます。</p>
<p>ここでは、<br />
mod(a<sub>1</sub> + a<sub>2</sub> + a<sub>3</sub> + a<sub>4</sub> + a<sub>5</sub>, 13)<br />
という計算式が、ハッシュ関数です。</p>
<p>このハッシュ関数で、問題に示された 54321 というデータの格納場所を求めると、</p>
<p>mod(5 + 4 + 3 + 2 + 1, 13)<br />
= mod(15, 13)<br />
= 15 を 13 で割った余り<br />
= 2</p>
<p>になります。</p>
<p>したがって、選択肢イが正解です。</p>
<p>&nbsp;</p>
<p>ハッシュ（hash）は、「ごた混ぜ」という意味です。</p>
<p><span class="bold">ハッシュド・ビーフという料理のハッシュと同じ</span> です。 ハッシュ法の考案者が、このアィディアにハッシュ法という名前を付けたのです。</p>
<p>たとえば、 11111 、 22222 、 33333 という値の格納場所を、先ほどのハッシュ関数で求めてみましょう。</p>
<p>11111 は 5 、<br />
22222 は 10 、<br />
33333 は 2</p>
<p>になります。 5 、 10 、 2 というあちこちに（ごた混ぜに）格納されるので、ハッシュなのです。</p>
<p>&nbsp;</p>
<p>この問題には登場しませんが、ハッシュ法に関して、<span class="bold">「シノニム」</span> という用語もあるので覚えておきましょう。</p>
<p>シノニムとは、ハッシュ値が同じになってしまうデータのことです。</p>
<p>たとえば、 12345 というデータと 54321 というデータは、どちらもハッシュ値が 2 になります。 シノニム（ synonym ）は、「同義語」という意味です。</p>
<p>ハッシュ値が同じになるデータは、ハッシュ法において同義語なのです。</p>
<p>もしも、シノニムが生じた場合は、ハッシュ値とは異なる場所に格納します。 そのためのアルゴリズムは、いくつか考えられますが、必ず問題に示されているので、どうぞご心配なく。</p>
<p><span class="chip mag_tp30">解答</span>イ</p>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_3</i></span>メモリのアドレス指定方式をまとめて覚えよう</h2>
<div class="card-panel mag_h30">
問10　(平成 25 年度 春期)</p>
<p>主記憶のデータを図のように参照するアドレス指定方式はどれか。</p>
<figure>
<img class="materialboxed hoverable z-depth-5" style="margin:auto;" src="../../wp-content/uploads/2019/08/h25_spring_q10_figure.png" loading="lazy"><br />
</figure>
<p>ア　間接アドレス指定　　<br class="hide-on-med-and-up">イ　指標アドレス指定<br />
ウ　相対アドレス指定　　<br class="hide-on-med-and-up">エ　直接アドレス指定
</div>
<div class="chip">解説</div>
<p>コンピュータの記憶装置であるメモリ（この問題では「主記憶」と呼んでいます）の内部には、データを格納する箱が並んでいます。</p>
<p>それぞれの箱には、識別のための番号が割り振られていて、それを「アドレス」と呼びます。 アドレス（ address ）を直訳すると「番地」なので、アドレスの数値は、 20 番地 や 25 番地 と呼びます。</p>
<p>プログラムの命令で、処理の対象となるデータが格納されたアドレスを指定する方式には、いくつかの種類があり、それぞれに名前が付けられています。</p>
<p>この問題は、アドレス指定方式の名前と意味がわかるかどうかを問うものです。</p>
<p>&nbsp;</p>
<p>選択肢には、 4 つのアドレス指定方式が示されていますが、ウの「相対アドレス指定」は、やや特殊なものなので、その他の「直接アドレス指定」「間接アドレス指定」「指標アドレス指定」の3つの意味をしっかりと覚えてください。</p>
<dl class="background c-round">
<dt>直接アドレス指定</dt>
<dd>たとえば「 100 番地のデータを読み出して処理せよ」という方式です。 </dd>
<dd>処理の対象となるデータが格納された 100 番地というアドレスを直接指定しています。 だから、直接アドレス指定 と呼ぶのです。 </dd>
<dt>間接アドレス指定</dt>
<dd>たとえば「 100 番地のデータを読み出したら、その値が示すアドレスに処理の対象となるデータがあるので、それを読み出して処理せよ」という方式です。 </dd>
<dd>もしも、 100 番地 に 200 という値が格納されていたら、 200 番地 に処理の対象となるデータがあります。 直接 200 番地 を指定せずに、 100 番地 を通して間接的に指定しているので、間接アドレス指定 と呼ぶのです。 </dd>
<dt>指標アドレス指定</dt>
<dd>たとえば「 100 番地 を起点として、そこから 10 番地先にあるデータを読み出して処理せよ」という方式です。 </dd>
<dd>この場合、起点からの距離を示す 10 を指標（インデックス）と呼びます。 指標を使うので、指標アドレス指定 と呼ぶのです。 </dd>
</dl>
<p>それでは、問題を見てみましょう。</p>
<p>問題に示された図では、 20 番地 のデータを読み出し、そこに 25 という値が格納されていて、 25 番地 に処理の対象となるデータがあります。</p>
<p>これは、間接アドレス指定 です。 したがって、選択肢アが正解です。</p>
<p><span class="chip mag_tp30">解答</span>ア</p>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_4</i></span>こういう問題こそ練習しておくべきです</h2>
<div class="card-panel mag_h30">
問 21　(平成 25 年度 春期)</p>
<p>次の仕様のバックアップシステムにおいて，金曜日に変更されたデータの増分バックアップを取得した直後に磁気ディスクが故障した。 修理が完了した後，データを復元するのに必要となる時間は何秒か。 ここで，増分バックアップは直前に行ったバックアップとの差分だけをバックアップする方式であり，金曜日に変更されたデータの増分バックアップを取得した磁気テープは取り付けられた状態であって，リストア時には磁気テープを1本ごとに取り替える必要がある。 また，次の仕様に示された以外の時間は無視する。</p>
<table class="bordered mag_h30 responsive-width">
<caption>[バックアップシステムの仕様]</caption>
<thead>
<tr>
<th>バックアップ媒体</th>
<th>磁気テープ (各曜日ごとの7本を使用) </th>
</tr>
</thead>
<tbody>
<tr>
<td>フルバックアップを行う曜日</td>
<td>毎週日曜日</td>
</tr>
<tr>
<td>増分バックアップを行う曜日</td>
<td>月曜日～土曜日の毎日</td>
</tr>
<tr>
<td>フルバックアップのデータ量</td>
<td>100 G バイト</td>
</tr>
<tr>
<td>磁気テープからのリストア時間</td>
<td>10 秒/GB </td>
</tr>
<tr>
<td>磁気テープの取替え時間</td>
<td>100 秒 / 本</td>
</tr>
<tr>
<td>変更されるデータ量</td>
<td>5 G バイト / 日</td>
</tr>
</tbody>
</table>
<p>ア　1,250　　イ　1,450　　<br class="hide-on-med-and-up">ウ　1,750　　ェ　1,850
</div>
<div class="chip">解説</div>
<p>たっぷりと計算をさせられそうで、見るだけで嫌になってしまうような問題ですね。</p>
<p>しかし、こういう問題こそ練習しておくべきです。 なぜなら、事前に練習しておかないと、試験当日に、どこから手を付けてよいか悩んでしまうからです。</p>
<p>問題を解く手順を説明しますので、しっかりと練習しておきましょう。</p>
<p>&nbsp;</p>
<p>まず、フルバックアップの 100 GB をとった日曜日から、磁気ディスクが故障した金曜日の増分バックアップ後までの、データ量を書き出してみましょう。</p>
<p>問題文に「増分バックアップは直前に行ったバックアップとの差分だけ」と示され、バックアップシステムの仕様に「変更されるデータ量」が「 5 G バイト / 日」とあるので、月曜日から金曜日の増分バックアップは、それぞれ 5 G バイトです。</p>
<table class="bordered responsive-width">
<tbody>
<tr>
<td>日曜日</td>
<td>フルバックアップ 100 GB</td>
</tr>
<tr>
<td>月曜日</td>
<td>増分バックアップ 5 GB</td>
</tr>
<tr>
<td>火曜日</td>
<td>増分バックアップ 5 GB</td>
</tr>
<tr>
<td>水曜日</td>
<td>増分バックアップ 5 GB</td>
</tr>
<tr>
<td>木曜日</td>
<td>増分バックアップ 5 GB</td>
</tr>
<tr>
<td>金曜日</td>
<td>増分バックアップ 5 GB</td>
</tr>
</tbody>
</table>
<p>次に、データを復元するために必要となる「磁気テープの取り替え」と「磁気テープからのリストア」の作業内容を書き出してみましょう。</p>
<table class="bordered responsive-width">
<tbody>
<tr>
<td>日曜日の 100 GB の磁気テープに取り換える</td>
</tr>
<tr>
<td>日曜日の 100 GB の磁気テープからリストアする</td>
</tr>
<tr>
<td>月曜日の 5 GB の磁気テープに取り換える</td>
</tr>
<tr>
<td>月曜日の 5 GB の磁気テープからリストアする</td>
</tr>
<tr>
<td>火曜日の 5 GB の磁気テープに取り換える</td>
</tr>
<tr>
<td>火曜日の 5 GB の磁気テープからリストアする</td>
</tr>
<tr>
<td>水曜日の 5 GB の磁気テープに取り換える</td>
</tr>
<tr>
<td>水曜日の 5 GB の磁気テープからリストアする</td>
</tr>
<tr>
<td>木曜日の 5 GB の磁気テープに取り換える</td>
</tr>
<tr>
<td>木曜日の 5 GB の磁気テープからリストアする</td>
</tr>
<tr>
<td>金曜日の 5 GB の磁気テープに取り換える</td>
</tr>
<tr>
<td>金曜日の 5 GB の磁気テープに取り換える</td>
</tr>
</tbody>
</table>
<p>次に、それぞれの作業の時間を書き出してみましょう。</p>
<p>磁気テープの取り換え作業は、データ量にかかわらず 100 秒 / 本 です。 磁気テープからのリストア作業は、 10 秒 / G バイト です。</p>
<table class="bordered mag_h30 responsive-width">
<tbody>
<tr>
<td>日曜日の 100 GB の磁気テープに取り換える</td>
<td>100 秒</td>
</tr>
<tr>
<td>日曜日の 100 GB の磁気テープからリストアする</td>
<td>1000 秒</td>
</tr>
<tr>
<td>月曜日の 5 GB の磁気テープに取り換える</td>
<td>100 秒</td>
</tr>
<tr>
<td>月曜日の 5 GB の磁気テープからリストアする</td>
<td>50 秒</td>
</tr>
<tr>
<td>火曜日の 5 GB の磁気テープに取り換える</td>
<td>100 秒</td>
</tr>
<tr>
<td>火曜日の 5 GB の磁気テープからリストアする</td>
<td>50 秒</td>
</tr>
<tr>
<td>水曜日の 5 GB の磁気テープに取り換える</td>
<td>100 秒</td>
</tr>
<tr>
<td>水曜日の 5 GB の磁気テープからリストアする</td>
<td>50 秒</td>
</tr>
<tr>
<td>木曜日の 5 GB の磁気テープに取り換える</td>
<td>100 秒</td>
</tr>
<tr>
<td>木曜日の 5 GB の磁気テープからリストアする</td>
<td>50 秒</td>
</tr>
<tr>
<td>金曜日の 5 GB の磁気テープに取り換える</td>
<td>100 秒</td>
</tr>
<tr>
<td>金曜日の 5 GB の磁気テープからリストアする</td>
<td>50 秒</td>
</tr>
</tbody>
</table>
<p>最後に、すべての作業時間を合計します。<br />
(100 + 1000) + (100 + 50) × 5 = 1850 秒<br />
となるので、選択肢エが正解です。</p>
<p>もしも、この問題を難しいと感じたなら、<span class="bold">「他にも似たような問題を探してやってみよう」とは思わずに、この問題を何度も繰り返し練習</span> してください。</p>
<p>試験では、同じ問題が何度も再利用されているからです。</p>
<p><span class="chip mag_tp30">解答</span>エ</p>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_5</i></span>ディジタル署名におけるハッシュ関数の意味も知っておこう</h2>
<div class="card-panel mag_h30">
問 37　(平成 25 年度 春期)<br />
手順に示す処理を実施したとき，メッセージの改ざんの検知の他に，受信者 B がセキュリティ上できることはどれか。</p>
<ol class="c-round mag_h30 pad_h20 pad_rt20" style="border:.1em solid #e4e4e4">
<div class="chip">手順</div>
<p>送信者 A の処理</p>
<li>メッセージから，ハッシュ関数を使ってダイジェストを生成する。  </li>
<li>秘密に保持していた自分の署名生成鍵を用いて， 1. で生成したダイジェストからメッセージの署名を生成する。  </li>
<li>メッセージと， 2. で生成したデータを受信者 B に送信する。 </li>
<p>受信者 B の処理</p>
<li>受信したメッセージから，ハッシュ関数を使ってダイジェストを生成する。  </li>
<li>受信したデータ， 4. で生成したダイジェスト及び送信者 A の署名検証鍵を用いて，署名を検証する。 </li>
</ol>
<dl class="inline">
<dt>ア</dt>
<dd>メッセージが送信者 A からのものであることの確認</dd>
<dt>イ</dt>
<dd>メッセージの改ざん部位の特定</dd>
<dt>ウ</dt>
<dd>メッセージの盗聴の検知</dd>
<dt>エ</dt>
<dd>メッセージの漏えいの防止</dd>
</dl>
</div>
<div class="chip">解説</div>
<p>先ほどの厳選問題 2 でハッシュ法に関する用語を紹介しましたが、その中にあったハッシュ関数という用語は、ディジタル署名でも使われます。</p>
<p>IT 業界では、<span class="bold">同じ事物を様々な用語で呼んだり、同じ用語を様々な場面で使うことがあります。</span> そのため「正式名称は何だろう？」とか「自分の知ってる意味と違う？」などと思うと、余計にわかりにくくなります。</p>
<p>&nbsp;</p>
<p>「いろいろあるのだ！」と思えばよいのです。 それを知っていただくために、この問題を選びました。</p>
<p>&nbsp;</p>
<p>問題に示された「メッセージ」とは、ネットワークで送る文書のことです。</p>
<p>ディジタル署名では、この文書を構成するすべての文字を使って計算を行うハッシュ関数を用意します。</p>
<p>そして、そのハッシュ関数で得られたハッシュ値（問題では「ダイジェスト」と呼んでいます）を、送信者 A しから知らない <span class="bold">秘密鍵（問題では「署名生成鍵」と呼んでいます）で暗号化</span> して、それをディジタル署名とします。</p>
<ol class="background c-round">
<li>送信者 A は、メッセージ と ディジタル署名 を受信者 B に送ります。</li>
<li>受信者 B は、送信者 A と同じハッシュ関数（ハッシュ関数の計算方法は秘密ではありません）を使って、受け取った文書のハッシュ値を求めます。</li>
<li>さらに、送信者 A の <span class="bold">公開鍵（問題では「署名検証鍵」と呼んでいます）を使って、受け取ったディジタル署名を復号</span> してハッシュ値を得ます。</li>
</ol>
<p>これら 2 つのハッシュ値が一致したら、文書に改ざんがないことと、送信者 A になりますましがないこと（メッセージが送信者 A からのものであること）を確認できます。</p>
<p>なぜなら、もしも <span class="bold">文書に改ざんがあれば、ハッシュ値が一致しない</span> からです。</p>
<p>送信者 A の公開鍵でディジタル署名が復号できたのは、送信者が確かに送信者 A だからです。 したがって、正解は、選択肢アです。</p>
<p>&nbsp;</p>
<p>この問題のテーマは、ディジタル署名の仕組みを知っているかどうかを問うものでしたが、 IT 業界では、同じ事物を様々な用語で呼んだり、同じ用語を様々な場面で使うことがある、ということにも注目してください。</p>
<p><span class="chip mag_tp30">解答</span>ア</p>
<p class="grey lighten-5 pad_20 c-round"><i class="material-icons grey-text mag_rt05">search</i>タグで関連記事をチェック<a href="../../tag/公開鍵秘密鍵" class="tag mag_lt05">公開鍵秘密鍵</a></p>
<div class="divider mag_tp50 mag_bt30"></div>
<p>記事をお読みいただきありがとうございます。</p>
<p>もしも、一度解いただけでは、よくわからない問題があったなら、わかるまで何度でも練習してください。 <span class="bold">「やるべき問題」は「わかるまでやるべき問題」</span>だからです。</p>
<p>この厳選問題大全集が、受験者の皆様のお役に立てば幸いです。</p>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/kakomon-gensen/h25_spring/">「厳選5題」過去問と解説 | 平成25年度 春期 の過去問やるならこれをやれ</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>「厳選5題」過去問と解説 &#124; 平成26年度 秋期 の過去問やるならこれをやれ</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/kakomon-gensen/h26_autumn/</link>
		<pubDate>Mon, 08 Jul 2019 07:23:21 +0000</pubDate>
		<dc:creator><![CDATA[矢沢 久雄]]></dc:creator>
				<category><![CDATA[SQL]]></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=kakomon-gensen&#038;p=1737</guid>
		<description><![CDATA[<p>ここでは、平成 26 年度 秋期 基本情報技術者試験の午前試験 の中から「やるべき問題」を 5 題に厳選し、ぶっちゃけた解説をさせていただきます。 やるべき問題とは、よく出る問題であり、かつ、練習すればできる問題（練習し [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/kakomon-gensen/h26_autumn/">「厳選5題」過去問と解説 | 平成26年度 秋期 の過去問やるならこれをやれ</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>ここでは、<a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_2/2014h26a_fe_am_qs.pdf" rel="noopener" target="_blank">平成 26 年度 秋期 基本情報技術者試験の午前試験</a> の中から「やるべき問題」を 5 題に厳選し、ぶっちゃけた解説をさせていただきます。</p>
<p>やるべき問題とは、よく出る問題であり、かつ、練習すればできる問題（練習しないとできない問題）です。</p>
<div class="card-panel blue-grey-text z-depth-0 grey lighten-5 mag_h30">
<i class="material-icons blue-text">info</i> <span style="font-size: small">本記事ではわかりやすいよう、過去問題に下線を引いています</span>
</div>
<style>h2 .chip{vertical-align:middle;background:#3f51b5;color:white;margin-right:.75em;}.chip i{font-size:2em!important;}table{font-size:.85em;}@media screen and (max-width:600px){dd{margin-left:1em}}dl.inline dd{margin-left:2em}ol.background li{margin-left:1.5em}</style>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_one</i></span>逆ポーランド表記法は、決して難しくありません</h2>
<div class="card-panel mag_h30">
問 4　(平成 26 年度 秋期 午前)</p>
<p>次に示す計算式と逆ポーランド表記法の組合せのうち，適切なものはどれか。</p>
<p class="grey-text hide-on-med-and-up mag_h10 small-text"><i class="material-icons light-blue-text mag_rt05">swipe</i>表は横スクロールできます</p>
<div class="table-container mag_h10">
<table class="striped centered responsive-width">
<thead>
<tr>
<th></th>
<th>計算式</th>
<th>逆ポーランド表記法</th>
</tr>
</thead>
<tbody>
<tr>
<td>ア</td>
<td>( ( a + b ) * c ) &#8211; d</td>
<td>abc * + d &#8211;</td>
</tr>
<tr>
<td>イ</td>
<td>( a + ( b * c ) ) &#8211; d</td>
<td>ab + c * d &#8211;</td>
</tr>
<tr>
<td>ウ</td>
<td>( a + b ) * ( c &#8211; d )</td>
<td>abc * d &#8211; +</td>
</tr>
<tr>
<td>エ</td>
<td>a + ( b * ( c &#8211; d ) )</td>
<td>abcd &#8211; * +</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="chip">解説</div>
<p>通常の計算式は、</p>
<p>a + b のように「値」「演算子」「値」</p>
<p>の順になっていてますが、これを</p>
<p>ab + のように <span class="bold">「値」「値」「演算子」</p>
<p>  の順にしたものを「逆ポーランド表記法」</span> と呼びます。 ポーランド人の学者が考案したものだからです。</p>
<p>逆ポーランド表記法は、<span class="bold">プログラムで処理するのが容易</span> であり、<span class="bold">演算を優先させるカッコが不要になる</span> という特徴があります。</p>
<p>&nbsp;</p>
<p>この問題は、通常の計算式を逆ポーランド表記法に変換せよ、というものです。</p>
<p>難しそうだと感じるかもしれませんが、「逆ポーランド表記法は、人間が計算するときの考えをそのまま表している」ということがわかれば、すぐに逆ポーランド表記法を理解できるはずです。</p>
<p>たとえば、人間は、<br />
a + b という計算式を「 a と b を足す」と考えて計算します。 <span class="u">「 a と b を足す」をそのまま表すと「 ab + 」</span>になります。 これが、逆ポーランド表記法です。</p>
<p>&nbsp;</p>
<p>よい練習になりますので、選択肢ア～エの計算式を逆ポーランド表記法に変換してみましょう。 その際のポイントは、<span class="bold">「人間が計算するときの考えをそのまま表す」</span> です。</p>
<p>アの ( ( a + b ) * c ) &#8211; d は、</p>
<ol class="background c-round">
<li>「 a と b を足し」</li>
<li>「その結果に c を掛け」</li>
<li>「その結果から d を引く」</li>
</ol>
<p>ですから、</p>
<ol class="background c-round">
<li>「 ab + 」</li>
<li>「 c * 」</li>
<li>「 d &#8211; 」</li>
</ol>
<p>であり、続けて書くと ab + c * d &#8211; です。</p>
<p>イの ( a + ( b * c ) ) &#8211; d は、</p>
<ol class="background c-round">
<li>「 a に」</li>
<li>「 b と c を掛けた結果を」</li>
<li>「足し」</li>
<li>「その結果から d を引く」</li>
</ol>
<p>ですから、</p>
<ol class="background c-round">
<li>「 a 」</li>
<li>「 bc * 」</li>
<li>「 + 」</li>
<li>「 d -」</li>
</ol>
<p>であり、続けて書くと abc * + d &#8211; です。</p>
<p>ウの ( a + b ) * ( c &#8211; d ) は、</p>
<ol class="background c-round">
<li>「 a と b を足し」</li>
<li>「その結果に」</li>
<li>「 c から d を引いた結果を」</li>
<li>「掛ける」</li>
</ol>
<p>ですから、</p>
<ol class="background c-round">
<li>「 ab + 」</li>
<li>「 cd &#8211; 」</li>
<li>「 * 」</li>
</ol>
<p>であり、続けて書くと ab + cd &#8211; * です。</p>
<p>エの a + ( b * ( c &#8211; d ) ) は、</p>
<ol class="background c-round">
<li>「 a に」</li>
<li>「 b に」</li>
<li>「 c から d を引いた結果を」</li>
<li>「掛けた結果を」</li>
<li>「足す」</li>
</ol>
<p>ですから、</p>
<ol class="background c-round">
<li>「 a 」</li>
<li>「 b 」</li>
<li>「 cd &#8211; 」</li>
<li>「 * 」</li>
<li>「 + 」</li>
</ol>
<p>であり、続けて書くと abcd &#8211; * + です。</p>
<p>通常の計算式と逆ポーランド表記法が合っているのは エ だけなので、エ が正解です。</p>
<p>&nbsp;</p>
<p>いかがですか。 決して難しくないですね！</p>
<p><span class="chip mag_tp30">解答</span>　エ</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="../h25_spring/"></p>
<div class="row valign-wrapper pad_w20">
<div class="col s3 m2 flex pad_00"><img src="../../wp-content/uploads/2020/01/curation_5_cover.-300x169.jpg" alt=" " loading="lazy"></div>
<div class="col s9 m10 pad_10 blue-grey-text bold">「厳選 5 題」過去問と解説 | 平成 25 年度 春期 の過去問やるならこれをやれ</div>
</div>
<p></a></p>
<div class="divider mag_bt40 mag_tp10"></div>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_two</i></span>別名を知れば、内部割込みと外部割込みを簡単に区別できます</h2>
<div class="card-panel mag_h30">
問 10　(平成 26 年度 秋期 午前)</p>
<p>内部割込みに分類されるものはどれか。</p>
<dl class="inline">
<dt>ア</dt>
<dd>商用電源の瞬時停電などの電源異常による割込み</dd>
<dt>イ</dt>
<dd>ゼロで除算を実行したことによる割込み</dd>
<dt>ウ</dt>
<dd>入出力が完了したことによる割込み</dd>
<dt>エ</dt>
<dd>メモリパリティエラーが発生したことによる割込み</dd>
</dl>
</div>
<div class="chip">解説</div>
<p>一般的なコンピュータには、実行中のプログラムを一時的に中断して、別のプログラムに切り替えて処理を行い、また元のプログラムに戻るという機能があり、これを「割り込み」と呼びます。 割り込みには、「内部割込み」と「外部割込み」があります。</p>
<p>この問題は、内部割込み に該当するものを選ぶものです。</p>
<p>&nbsp;</p>
<p>内部割込みと外部割込みの違いは、それぞれの別名を知れば簡単に理解できます。</p>
<dl class="background c-round">
<dt class="bold">内部割込み</dt>
<dd>ソフトウェア（プログラム）の動作によって生じるもので、別名<span class="bold">「ソフトウェア割込み」</span> と呼ばれます</dd>
<dt class="bold">外部割込み</dt>
<dd>ハードウェア（装置）の動作によって生じるもので、別名<span class="bold">「ハードウェア割込み」</span> と呼ばれます</dd>
</dl>
<p>ソフトウェアによるものなら内部割込みであり、ハードウェアによるものなら外部割込みです。</p>
<p>&nbsp;</p>
<p>それでは、選択肢を見てみましょう。</p>
<dl class="inline">
<dt>ア</dt>
<dd>電源装置 というハードウェアによるものなので、外部割込みです。 </dd>
<dt>イ</dt>
<dd>プログラムの除算 によるものなので、内部割込みです。 </dd>
<dt>ウ</dt>
<dd>入出力装置 というハードウェアによるものなので、外部割込みです。 </dd>
<dt>エ</dt>
<dd>メモリ というハードウェアによるものなので、外部割込みです。 </dd>
</dl>
<p>内部割込みは、イ だけなので、イ が正解です。 簡単ですね！</p>
<p><span class="chip mag_tp30">解答</span>　イ</p>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_3</i></span>実効アクセス時間の計算は、期待値の計算です</h2>
<div class="card-panel mag_h30">
問 11　(平成 26 年度 秋期 午前)</p>
<p>A ～ D を，主記憶の実効メモリアクセス時間が短い順に並べたものはどれか。</p>
<p class="grey-text hide-on-med-and-up mag_h10 small-text"><i class="material-icons light-blue-text mag_rt05">swipe</i>表は横スクロールできます</p>
<div class="table-container mag_h10">
<table class="striped centered responsive-width">
<thead class="center">
<tr>
<th></th>
<th colspan="3">キャッシュメモリ</th>
<th>主記憶</th>
</tr>
<tr>
<th></th>
<th>有無</th>
<th>アクセス時間<br />(ナノ秒)</th>
<th>ヒット率<br />(%)</th>
<th>アクセス時間<br />(ナノ秒)</th>
</tr>
</thead>
<tbody>
<tr>
<td>A</td>
<td>なし</td>
<td>&#8211;</td>
<td>&#8211;</td>
<td>15</td>
</tr>
<tr>
<td>B</td>
<td>なし</td>
<td>&#8211;</td>
<td>&#8211;</td>
<td>30</td>
</tr>
<tr>
<td>C</td>
<td>あり</td>
<td>20</td>
<td>60</td>
<td>70</td>
</tr>
<tr>
<td>D</td>
<td>あり</td>
<td>10</td>
<td>90</td>
<td>80</td>
</tr>
</tbody>
</table>
</div>
<p>ア　A, B, C, D　　<br class="hide-on-med-and-up">イ　A, D, B, C<br />
ウ　C, D, A, B　　<br class="hide-on-med-and-up">エ　D, C, A, B
</div>
<div class="chip">解説</div>
<p>コンピュータの演算制御装置である CPU（プロセッサ）と比べて、 DRAM の主記憶（メインメモリ）はとても遅いものです。</p>
<p>そこで、CPU の内部に高速な SRAM を用意して、主記憶から読み出したデータを保存しておく、という仕組みが使われていて、この SRAM を<span class="bold">「キャッシュメモリ」</span>と呼びます。</p>
<p>CPU が必要とするデータが運良く キャッシュメモリ にあれば、データを高速に読み出せます。 運が良い確率を<span class="bold">「ヒット率」</span>と呼びます。</p>
<p>主記憶とキャッシュメモリから構成されたシステムでは、主記憶を読む確率と、キャッシュメモリを読む確率から、メモリアクセスの平均時間が求められ、これを<span class="bold">「実効アクセス時間」</span>と呼びます。</p>
<p>&nbsp;</p>
<p>たとえば、ヒット率（キャッシュメモリを読む確率）が 80 % なら、ヒットしない率（主記憶を読む確率）は 20 % なので、</p>
<div class="background c-round">
実効アクセス時間<br />
= キャッシュメモリのアクセス時間 × 0.8 + 主記憶のアクセス時間 × 0.2
</div>
<p>になります。 これは、期待値の計算方法です。</p>
<p>この問題は、システム A ～ D の実効アクセス時間を求め、それらを短い順に並べよ、というものです。</p>
<div class="background c-round">
A は、キャッシュメモリがなく主記憶だけなので、実効アクセス時間は 15 ナノ秒です。 </p>
<p class="indigo-text">B も、キャッシュメモリがなく主記憶だけなので、実効アクセス時間は 30 ナノ秒です。 </p>
<p class="indigo-text">C の実効アクセス時間は、20 × 0.6 + 70 × 0.4 = 40 ナノ秒です。 </p>
<p class="indigo-text">D の実効アクセス時間は、10 × 0.9 + 80 × 0.1 = 17 ナノ秒です。 </p>
</div>
<p>短い順に並べると、 A 、 D 、B 、C なので、イ が正解です。 <span class="bold">実効アクセス時間の計算は、とてもよく出題される</span>ので、練習しておいてください。</p>
<p><span class="chip mag_tp30">解答</span>　イ</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="../../easy_calc/expected_value/"></p>
<div class="row valign-wrapper pad_w20">
<div class="col s12 m3 pad_00 flex"><img src="../../wp-content/uploads/2020/01/cover_easy_calc-300x169.jpg" loading="lazy" ></div>
<div class="col s12 m9 pad_20 black-text bold">期待値の計算方法がわかる｜かんたん計算問題</div>
</div>
<p></a></p>
<div class="divider mag_bt40 mag_tp10"></div>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_4</i></span>論理回路の問題は、効率的に解ける入力パターンを考えよう</h2>
<div class="card-panel mag_h30">
問 21　(平成 26 年度 秋期 午前)</p>
<p>図の論理回路と等価な回路はどれか。</p>
<figure>
<img class="materialboxed hoverable z-depth-5 mag_h30" style="margin:auto;" src="../../wp-content/uploads/2019/07/q21_figure_am_h26a.png" loading="lazy"><br />
</figure>
<p>ア　<img style="vertical-align: middle;" src="../../wp-content/uploads/2019/07/q21_option_a_am_h26a.png" loading="lazy"><br />
イ　<img style="vertical-align: middle;" src="../../wp-content/uploads/2019/07/q21_option_i_am_h26a.png" loading="lazy"><br />
ウ　<img style="vertical-align: middle;" src="../../wp-content/uploads/2019/07/q21_option_u_am_h26a.png" loading="lazy"><br />
エ　<img style="vertical-align: middle;" src="../../wp-content/uploads/2019/07/q21_option_e_am_h26a.png" loading="lazy">
</div>
<div class="chip">解説</div>
<p>問題に示された論理回路で使われている図記号を <span class="bold">MIL 記号（ミルきごう）</span>と呼びます。</p>
<p>MIL 記号は、 AND 、 OR 、XOR 、 NOT 、 NAND 、 NOR などの論理演算を行う回路を示します。</p>
<p>試験問題の冒頭に、 MIL 記号 の一覧表があるので、丸暗記する必要はありませんが、覚えておいた方がよいでしょう。</p>
<p>選択肢では、</p>
<p>アが OR 回路<br />
イが AND 回路<br />
ウが XOR 回路</p>
<p>です。</p>
<p>エは、 OR 回路の出口に NOT を意味する白丸があるので、 NOR（ NOT OR ）回路です。</p>
<p>問題に示された図記号は、 AND 回路 の出口に NOT を意味する白丸があるので、 NAND（ NOT AND ）回路です。</p>
<p>&nbsp;</p>
<p>論理回路の問題を解くには、 <span class="bold">問題と選択肢それぞれの回路に 0 と 1 の入力パターンを想定して、それらによって得られる出力が同じになるものを選べばよい</span>のですが、効率的に解けるように入力パターンを考えてください。</p>
<p>この問題では、問題も選択肢も回路の入力が 2 つなので、入力パターンは、</p>
<p>「 0, 0 」<br />
「 0, 1 」<br />
「 1, 0 」<br />
「 1, 1 」</p>
<p>の 4 つです。 これらの中で、選択肢を半分に絞り込める入力パターンを選ぶと効率的です。</p>
<p>たとえば、</p>
<p>「 0, 0 」を入力した場合の出力は、</p>
<ul class="background c-round">
<li>アが 0</li>
<li>イが 0</li>
<li>ウが 0</li>
<li>エが 1</li>
</ul>
<p>になります。 したがって、「 0, 0 」は効率的ではありません。</p>
<p>「 0, 1 」を入力した場合の出力は、</p>
<ul class="background c-round">
<li>アが 1</li>
<li>イが 0</li>
<li>ウが 1</li>
<li>エが 0</li>
</ul>
<p>になります。 したがって、「 0, 1 」なら選択肢を半分に絞り込めるので効率的です。</p>
<p>問題の回路に「 0, 1 」を入力すると、出力は以下のように 1 になります。 これによって、答えを ア と ウ に絞り込めます。</p>
<figure>
<img class="materialboxed hoverable z-depth-5 mag_h30" style="margin:auto;" src="../../wp-content/uploads/2019/07/q21_figure2_am_h26a.png" alt="" loading="lazy"><br />
</figure>
<p>今度は、ア の OR 回路と ウ の XOR 回路で異なる出力となる入力パターンを選びましょう。</p>
<p>「 1, 1 」なら ア の出力は 1 になり、ウの出力は 0 になります。</p>
<p>問題の回路に「 1, 1 」を入力すると、出力は以下のように 0 になります。 これで、答えを ウ に絞り込めます。 ウ が正解です。</p>
<p>「 0, 0 」「0 , 1 」「 1, 0 」「 1, 1 」の 4 つのパターンのうちの 2 つで、効率的に問題を解けました！</p>
<figure>
<img class="materialboxed hoverable z-depth-5 mag_h30" style="margin:auto;" src="../../wp-content/uploads/2019/07/q21_figure3_am_h26a.png" alt=""><br />
</figure>
<p><span class="chip mag_tp30">解答</span>　ウ</p>
<p class="grey-text mag_tp30"><i class="material-icons light-blue-text">search</i><span class="blue-grey-text mag_w10">タグで関連記事をチェック</span><a class="tag" href="../../tag/論理回路">論理回路</a></p>
<h2><span class="chip">厳選問題<i class="material-icons mag_lt05">looks_5</i></span>関係データベースでなくても、データをたどれるかどうかがポイントです</h2>
<div class="card-panel mag_h30">
問 24　(平成 26 年度 秋期 午前)</p>
<p>ある企業では，顧客マスタファイル，商品マスタファイル，担当者マスタファイル及び当月受注ファイルを基にして，月次で受注実績を把握している。 各ファイルの項目が表のとおりであるとき，これら四つのファイルを使用して当月分と直前の 3 か月分の出力が可能な受注実績はどれか。</p>
<p class="grey-text hide-on-med-and-up mag_h10 small-text"><i class="material-icons light-blue-text mag_rt05">swipe</i>表は横スクロールできます</p>
<div class="table-container mag_h10">
<table class="striped bordered responsive-width">
<thead>
<tr>
<th width="15%">ファイル</th>
<th>項目</th>
<th>備考</th>
</tr>
</thead>
<tbody>
<tr>
<td>顧客マスタ</td>
<td>顧客コード，名称，担当者コード，前月受注額， 2 か月前受注額， 3 か月前受注額</td>
<td>各顧客の担当者は 1 人</td>
</tr>
<tr>
<td>商品マスタ</td>
<td>商品コード，名称，前月受注額， 2 か月前受注額， 3 か月前受注額</td>
<td>&#8212;</td>
</tr>
<tr>
<td>担当者マスタ</td>
<td>担当者コード，氏名</td>
<td>&#8212;</td>
</tr>
<tr>
<td>当月受注</td>
<td>顧客コード，商品コード，受注額</td>
<td>当月の合計受注額</td>
</tr>
</tbody>
</table>
</div>
<p>ア　顧客別の商品別受注実績<br />
イ　商品別の顧客別受注実績<br />
ウ　商品別の担当者別受注実績<br />
エ　担当者別の顧客別受注実績
</p></div>
<div class="chip">解説</div>
<p>この問題のテーマは、データベースですが、いくつかの表から構成された関係データベースではなく、いくつかのファイルから構成された手作りのデータベースです。</p>
<p>問題の意図は、ファイルから別のファイルにたどって、&#8221;当月分&#8221; と &#8220;直前 3 か月&#8221; の受注実績が得られるのは、選択肢のどの情報ですか、というものです。</p>
<p>はじめて見た人には、わかりにくい問題だと思いますので、きちんと練習しておきましょう。</p>
<p>&nbsp;</p>
<p>ファイルから別のファイルをたどる方法は、関係データベースと同様です。 それぞれのファイルに同じ項目があればたどれます。</p>
<p>以下に示したように、</p>
<p>「顧客コード」で「顧客マスタ」と「当月受注」をたどれます。<br />
「担当者コード」で「顧客マスタ」と「担当者マスタ」をたどれます。<br />
「商品コード」で「商品マスタ」と「当月受注」をたどれます。</p>
<div class="table-container mag_h30">
<table class="mag_h10 striped responsive-width">
<thead>
<tr>
<th width="15%">ファイル</th>
<th>項目</th>
<th>備考</th>
</tr>
</thead>
<tbody>
<tr>
<td>顧客マスタ</td>
<td><span style="border-bottom: solid 3px red;">顧客コード</span>，名称，<span
        style="border-bottom: solid 3px blue;">担当者コード</span>，前月受注額， 2 か月前受注額， 3 か月前受注額</td>
<td>各顧客の担当者は 1 人</td>
</tr>
<tr>
<td>商品マスタ</td>
<td><span style="border-bottom: solid 3px red;">商品コード</span>，名称，前月受注額， 2 か月前受注額， 3 か月前受注額</td>
<td>&#8212;</td>
</tr>
<tr>
<td>担当者マスタ</td>
<td><span style="border-bottom: solid 3px blue;">担当者コード</span>，氏名</td>
<td>&#8212;</td>
</tr>
<tr>
<td>当月受注</td>
<td><span style="border-bottom: solid 3px red;">顧客コード</span>，<span
        style="border-bottom: solid 3px red;">商品コード</span>，受注額</td>
<td>当月の合計受注額</td>
</tr>
</tbody>
</table>
</div>
<p>それでは、選択肢を 1 つずつチェックしてみましょう。</p>
<dl class="background c-round mag_h30">
<dt>ア　顧客別の商品別受注実績</dt>
<dd>「顧客マスタ」と「当月受注」を「顧客コード」でたどれば当月の受注実績を得られますが、直前3か月の受注実績は得られません。 </dd>
<dt>イ　商品別の顧客別受注実績</dt>
<dd>「商品マスタ」と「当月受注」を「商品コード」でたどり、「当月受注」と「顧客マスタ」を「顧客コード」でたどれば、当月の受注実績を得られますが、直前 3 か月の受注実績は得られません。 </dd>
<dt>ウ　商品別の担当者別受注実績</dt>
<dd>「商品マスタ」と「当月受注」を「商品コード」でたどり、「当月受注」と「顧客マスタ」を「顧客コード」でたどり、さらに「顧客マスタ」と「担当者マスタ」を「担当者コード」でたどれば、当月の受注実績を得られますが、直前 3 か月の受注実績は得られません。 </dd>
<dt>エ　担当者別の顧客別受注実績</dt>
<dd>「担当者マスタ」と「顧客マスタ」を「担当者コード」でたどれば、直前 3 か月の受注実績が得られます。 さらに「顧客マスタ」と「当月受注」を「顧客コード」でたどれば、当月の受注実績も得られます。 </dd>
</dl>
<p>したがって、エが正解です。 いかがでしょう。 問題の解き方がわかれば、難しくありませんね！</p>
<p>&nbsp;</p>
<p><span class="chip mag_tp30">解答</span>　エ</p>
<p class="grey-text mag_tp30"><i class="material-icons light-blue-text">search</i><span class="blue-grey-text mag_w10">タグで関連記事をチェック</span><a class="tag" href="../../tag/sql">SQL</a></p>
<div class="divider mag_tp50 mag_bt30"></div>
<p>記事をお読みいただきありがとうございます。</p>
<p>もしも、一度解いただけでは、よくわからない問題があったなら、わかるまで何度でも練習してください。 <span class="bold">「やるべき問題」は「わかるまでやるべき問題」</span>だからです。</p>
<p>この厳選問題大全集が、受験者の皆様のお役に立てば幸いです。</p>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/kakomon-gensen/h26_autumn/">「厳選5題」過去問と解説 | 平成26年度 秋期 の過去問やるならこれをやれ</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
	</channel>
</rss>
