<?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/%E8%A1%A8%E8%A8%88%E7%AE%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>今週の午後問題〔解答〕表計算 メロンの仕分 2019 (令和元) 年度</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/this_weeks_exercise/ans_r01a_spreadsheet/</link>
		<pubDate>Thu, 02 Sep 2021 23:30:31 +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=this_weeks_exercise&#038;p=5818</guid>
		<description><![CDATA[<p>今週の午後問題 では毎週月曜に午後の必須選択問題から 1 問ピックアップして出題し、 解答欄 を設け、読者の皆さまにも解答してもらっています！ 今週の午後問題は「 2019 年度 秋期 表計算」でしたが、皆さん、手応えは [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/this_weeks_exercise/ans_r01a_spreadsheet/">今週の午後問題〔解答〕表計算 メロンの仕分 2019 (令和元) 年度</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">
<span class="bold">今週の午後問題</span> では<span class="u">毎週月曜に午後の必須選択問題から 1 問ピックアップして出題</span>し、 解答欄 を設け、読者の皆さまにも解答してもらっています！</p>
<p>今週の午後問題は<a href="../r01a_spreadsheet/">「 2019 年度 秋期 表計算」</a>でしたが、皆さん、手応えはいかがでしょうか？</p>
<p>金曜になりましたので、<span class="u">出題の 解答 と 矢沢久雄さんによる 解説 に加えて、皆さんの正解率を公開</span>します。
</div>
<style>.sub-title{font-size:.9em}pre{font-family:'consolas','Courier New',"HCo Gotham SSm",Gotham,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",Meiryo,sans-serif!important;font-size:1em;background:#424242;color:#fafafa;margin:1em -2em!important;padding:1em 2em}.blank{border:.2em solid #607d8b;padding:.25em 2em;margin:auto .5em;}dl.inline dd{margin-left:5em;}th{text-align:center}blockquote > p{color:#607d8b}@media screen and (max-width:600px){ol{padding-left:1em}dd{margin-left:1em;}}</style>
<h2>今週の午後問題<br />
<span class="grey-text sub-title">2019 年度 秋期 表計算 メロンの仕分</span></p>
<p class="pink chip white-text sub-title">解答と解説</p>
</h2>
<div class="background c-round">
<p><span class="bold mag_rt10">設問 1</span>a</p>
<p><span class="chip bold">正解</span> エ</p>
<div class="divider"></div>
<p>セル E2 にはメロンの等級が入ります。</p>
<p>等級については、問題文中に</p>
<blockquote><p>形状と表皮色の低い方が、そのメロンの等級となる</p></blockquote>
<p>という記述があります。</p>
<p>例えば形状が &#8220;並&#8221; で表皮色が &#8220;良&#8221; だったら、 &#8220;並&#8221; ということです。フローチャートだと次のようになります。</p>
<figure>
<img class="materialboxed z-depth-5 responsive-width pad_10 white" src="/fenavi/wp-content/uploads/2021/08/figure_sort.jpg" loading="lazy"><br />
</figure>
<blockquote><p>どちらかが &#8216;並&#8217;</p></blockquote>
<p>は</p>
<pre>論理和(C2 = '並', D2 = '並')</pre>
<p>ですから、セル E2 には</p>
<pre>>IF(論理和(C2 = '並', D2 = '並'), '並',
	IF(論理和(C2 = '良', D2 = '良'), '良', '優'))</pre>
<p>選択肢エが入ります。
</p></div>
<div class="background c-round">
<p><span class="bold mag_rt10">設問 1</span>b</p>
<p><span class="chip bold">正解</span> エ</p>
<div class="divider"></div>
<p>セル F2 は算出価格が入ります。</p>
<p>空欄 b は等級が &#8220;並&#8221; 以外のときの単価が入りますので、図 1 の単価表から算出します。 E2 に入った &#8220;優&#8221; または &#8220;良&#8221; を単価表の B1 から D2 の範囲で水平に探します。見つかったら、その範囲の上から 2 つめを取得します。</p>
<p>したがって空欄 b には</p>
<pre>水平照合(E2, 単価表!B1:D2, 2, 0)</pre>
<p>が入ります。</p>
<p>あとは複写する際の相対参照・絶対参照を考えましょう。 F2 は F3 ～ F1001 に複写されます。検索範囲である</p>
<pre>単価表!B1:D2</pre>
<p>の行番号は変化させたくありません。そこで空欄 b には</p>
<pre>水平照合(E2, 単価表!B$1:D$2, 2, 0)</pre>
<p>選択肢エが入ります。</p>
<p>なお、「照合一致」は、値ではなく、何番目に見つかったかの「位置」を返しますから不適切です。「表引き」は表の左上から数えた位置を引数とするので、不適切です。
</p></div>
<div class="background c-round">
<p><span class="bold mag_rt10">設問 1</span>c</p>
<p><span class="chip bold">正解</span> ウ</p>
<div class="divider"></div>
<p>セル G2 は販売価格が入ります。</p>
<p>空欄 c は A2 が null ではなく、 E2 が &#8220;並&#8221; ではない時の販売価格が入りますので、</p>
<blockquote><p>算出価額を 50 円単位で切り上げた値</p></blockquote>
<p>です。</p>
<p>一番上の行の F2 と G2 の例でいえば、</p>
<blockquote><p>2,431.5</p></blockquote>
<p>が</p>
<blockquote><p>2,450</p></blockquote>
<p>になればよいわけです。</p>
<p>2431.5 ÷ 50 = 48.63　となり、これを整数値に切上げると 49 です。 49 * 50 = 2450　となります。</p>
<p>したがって空欄 c には</p>
<pre>切上げ(F2/50, 0, 0) * 50</pre>
<p>選択肢ウが入ります。
</p></div>
<div class="background c-round">
<p class="bold">設問 2</p>
<p><span class="chip bold">正解</span>d ― キ、 e ― キ、 f ― イ</p>
<div class="divider"></div>
<p>設問 2 はワークシート &#8220;集計表&#8221; の &#8220;並&#8221; の等級のメロンの ID をワークシート &#8220;重量計算表&#8221; に割り振るマクロ Packing の穴埋めです。変数の役割が分かると、マクロが読みやすくなります。</p>
<table class="mag_h30">
<tr>
<th>i</th>
<td>&#8220;集計表&#8221; を 1 行ずつ見ていくための変数（縦に動く）</td>
</tr>
<tr>
<th>j</th>
<td>&#8220;重量計算表&#8221; に上から格納していくための変数（縦に動く）</td>
</tr>
<tr>
<th>CurrentColumn</th>
<td>&#8220;重量計算表&#8221; の適切な列に ID を格納するための変数（横に動く）</td>
</tr>
</table>
<div class="chip mag_tp30">空欄 d</div>
<p>空欄 d の直前の処理で &#8220;集計表&#8221; の ID を &#8220;重量計算表&#8221; に転記しています。そこで空欄 d には<span class="u">該当する ID のメロンの重量を &#8220;重量計算表&#8221; の F 列に加算する処理が入らなければなりません</span>。</p>
<p>加算される合計重量は F1 から数えて、 j 行下のセルですから、</p>
<pre>相対(F1, j, 0)</pre>
<p>です。<br />
加算するメロンの重量は、集計表の B1 から数えて、 i 行下のセルですから、</p>
<pre>相対(集計表!B1, i, 0)</pre>
<p>です。</p>
<p>したがって空欄 d には</p>
<pre>相対(F1, j, 0) ← 相対(F1, j, 0) + 相対(集計表!B1, i, 0)</pre>
<p>選択肢キが入ります。</p>
<div class="chip mag_tp30">空欄 e</div>
<p>空欄 e は j を 1 加算する、つまり <span class="u">&#8220;重量計算表&#8221; の次の行に処理を移し、CurrentColumnを 0 に戻すための条件式が入ります</span>。これは問題文中の</p>
<blockquote class="blue-grey-text"><p>&#8220;メロンの合計重量が５kg以上&#8221; 又は &#8220;メロンの個数が４個&#8221; のどちらかを満たす</p></blockquote>
<p>の条件が該当します。</p>
<p>メロンの合計重量は</p>
<pre>相対(F1, j, 0)</pre>
<p>に入っています。</p>
<p>現在の行のメロンの個数は CurrentColumn です。したがって、空欄 e には</p>
<pre>論理和(相対(F1, j, 0) ≧ 5, CurrentColumn = 4)</pre>
<p>選択肢キが入ります。</p>
<div class="chip mag_tp30">空欄 f</div>
<p>空欄 f は繰り返し処理の後にあります。ここは何をしている処理でしょうか。</p>
<p>繰り返し処理が終わっているということは、 <span class="u">&#8220;集計表&#8221; にあるメロンの処理がすべて終わったということ</span>です。</p>
<p>その後の条件式</p>
<pre>相対(F1, j, 0) ≠ null</pre>
<p>は、 &#8220;重量計算表&#8221; の重量に値が入っていることを示します。これは問題文の</p>
<blockquote class="blue-grey-text"><p> (4) 割り振った結果、出荷条件を満たさない大箱に関する情報は、表示しないようにする</p></blockquote>
<p>を実行するための処理です。すでに<span class="u">該当行の A 列から F 列までの幾つかには値が入っていますので、それを null にするための処理</span>といえます。</p>
<p>そこで、変数 k を使って 6 回繰り返しています。 k は列を動かす変数です。空欄 f には</p>
<pre>相対(A1, j, k) ← null</pre>
<p>選択肢イが入ります。
</p></div>
<h2>みんなの解答</h2>
<p>では、皆さん、手応えはいかがだったでしょうか？</p>
<p>なお、以下はこの問題の <a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_fe_pm_cmnt.pdf" rel="noopener" target="_blank">IPA の講評</a>です。今後の参考になれば幸いです。</p>
<div class="background grey-text c-round">
  問 13 では，メロンの仕分を題材に，販売価格の算出式や，出荷条件に基づく箱詰めの割振り処理のマクロについて出題した。<br />
　設問 1 の正答率は平均的で，おおむね理解されていた。 a では，ウと誤って解答した受験者が見受けられた。<br />
メロンの等級を決定する条件を読み解き，関数 IF の条件として論理積と論理和のどちらが正しいかが判断できれば，正答できた。<br />
　設問 2 では，d とf の正答率が低く，あまり理解されていなかった。 d ではイ，ウ及びエと誤って解答した受験者が見受けられた。どのセルが処理対象となるのかを，問題文から落ち着いて読み取って考えてほしい。 e の正答率は平均的で，おおむね理解されていた。<br />
　式やマクロを記述する際は，その式やマクロで取り扱う値の組合せをあらかじめ網羅し，想定どおりの結果が得られることを確認しておくことが大切である。仕様に基づいて式やマクロを適切に記述する能力は，表計算に限らず，プログラム言語一般で求められるので，しっかりと習得しておくことが必要である。
</div>
<p>ぜひ、来週の午後問題にも挑戦してみてください！</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/this_weeks_exercise/ans_r01a_spreadsheet/">今週の午後問題〔解答〕表計算 メロンの仕分 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>今週の午後問題〔問題〕表計算 メロンの仕分 2019 (令和元) 年度</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/this_weeks_exercise/r01a_spreadsheet/</link>
		<pubDate>Sun, 29 Aug 2021 23:30:31 +0000</pubDate>
		<dc:creator><![CDATA[基本情報技術者試験 受験ナビ 編集部]]></dc:creator>
				<category><![CDATA[午後プログラミング言語問題]]></category>
		<category><![CDATA[表計算]]></category>
		<category><![CDATA[過去問演習]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=this_weeks_exercise&#038;p=5746</guid>
		<description><![CDATA[<p>今週の午後問題 のコーナーでは毎週月曜に午後の必須選択問題から 1 問ピックアップして出題し、 解答欄 を設け、読者の皆さまも参加して解答できます！　その週の金曜にはその解答と 矢沢久雄 さんによる 解説 ページを公開し [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/this_weeks_exercise/r01a_spreadsheet/">今週の午後問題〔問題〕表計算 メロンの仕分 2019 (令和元) 年度</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">
<span class="bold">今週の午後問題</span> のコーナーでは<span class="u">毎週月曜に午後の必須選択問題から 1 問ピックアップして出題</span>し、 解答欄 を設け、読者の皆さまも参加して解答できます！　<span class="u">その週の金曜にはその解答と 矢沢久雄 さんによる 解説 ページを公開</span>し、皆さんの正解率も発表します。</p>
<p>ぜひ腕試しにお使い下さい！</p>
<p>今回は「 2019 年度 秋期 表計算」を出題します
</p></div>
<style>pre{font-family:'consolas','Courier New',"HCo Gotham SSm",Gotham,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",Meiryo,sans-serif!important;font-size:1em;background:#424242;color:#fafafa;margin:1.5em -7.5% 1.5em calc(-7.5% - 10px);padding:1.5em 7.5%!important}pre.normal{margin:.25em 0!important;padding:.5em 1em}table{font-size:.85em}th{text-align:center;background:#fafafa;}details{padding:2em;}details p{color:"#607d8b"}summary:hover{cursor:pointer;}summary{display:inline-block;}.chip span::after{content:"\e5cf";font-family:"Material Icons";vertical-align:middle;margin-left:.5em;}summary::-webkit-details-marker{display:none;}details[open] .chip span::after{content:"\e5ce";}.iframe-container{overflow:auto;margin:2em auto}</style>
<h2>今週の午後問題<br />2019 年度 秋期 表計算 メロンの仕分</h2>
<div class="divider mag_h30"></div>
<p class="bold">問 13</p>
<p>次の表計算のワークシート及びマクロの説明を読んで，設問 1 ， 2 に答えよ。</p>
<div class="mag_lt10">
<p>Z 組合では，収穫したメロンのうち 1 kg 以上かつ 3 kg 未満のものだけを組合で決めた 3 等級に分類して直接小売店に出荷している。出荷するメロンの等級と価格を決定する処理に，表計算ソフトを用いている。</p>
<p>〔メロンの等級〕<br />
　出荷するメロンは，形状及び表皮色をそれぞれ評価して &#8220;優&#8221; ， &#8220;良&#8221; ， &#8220;並&#8221; のいずれかに分類する。評価は &#8220;優&#8221; が最も高く， &#8220;並&#8221; が最も低い。形状と表皮色の評価のうち低い方が，そのメロンの等級となる。メロンの等級ごとに &#8220;キログラム当たり単価&#8221; が設定されている。</p>
<p>〔ワークシート:単価表〕<br />
キログラム当たり単価が格納されたワークシート &#8220;単価表&#8221; を，図 1 に示す。</p>
<table class="responsive-width centered">
<caption>図 1 ワークシート &#8220;単価表&#8221;</caption>
<thead>
<tr>
<th></th>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
</tr>
</thead


<tbody>
<tr>
<th>1</th>
<td>等級</td>
<td>優</td>
<td>良</td>
<td>並</td>
</tr>
<tr>
<th>2</th>
<td>キログラム当たり単価 (円 / kg )</td>
<td>1,500</td>
<td>1,200</td>
<td>800</td>
</tr>
</tbody>
</table>
<ol class="mag_h30">
<li>列 A は，見出し列である。</li>
<li>セル B1 ～ D1 には，等級として，順に &#8220;優&#8221; ， &#8220;良&#8221; ， &#8220;並&#8221; を入力する。</li>
<li>セル B2 ～ D2 には，各等級のキログラム当たり単価を入力する。</li>
</ol>
<p>〔ワークシート: 集計表〕<br />
　 1 回の出荷ごとに，出荷する個々のメロンに対して一意となる ID を付与する。 1 回 の出荷数は 1,000 個以内である。各メロンの等級と価格 (価格は，等級が &#8220;優&#8221; と  &#8220;良&#8221; のものだけ) を決定するワークシート &#8220;集計表&#8221; の例を，図 2 に示す。</p>
<p class="background c-round blue-grey-text mag_h30 small-text blue-grey-text hide-on-med-and-up"><i class="material-icons light-blue-text mag_rt05">info</i>スマートフォンをご覧の際、表とプログラムは右にスクロールできます</p>
<div class="table-container">
<table class="centered">
<caption>図 2 ワークシート &#8220;集計表&#8221; の例</caption>
<thead>
<th></th>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
<th>E</th>
<th>F</th>
<th>G</th>
</thead>
<tbody>
<tr>
<th>1</th>
<td>ID</td>
<td>重量<br />(kg)</td>
<td>形状</td>
<td>表皮色</td>
<td>等級</td>
<td>算出価格<br /> (円)</td>
<td>販売価格<br /> (円)</td>
</tr>
<tr>
<th>2</th>
<td>1</td>
<td>1.621</td>
<td>優</td>
<td>優</td>
<td>優</td>
<td>2,431.5</td>
<td>2,450</td>
</tr>
<tr>
<th>3</th>
<td>2</td>
<td>1.854</td>
<td>良</td>
<td>優</td>
<td>良</td>
<td>2,224.8</td>
<td>2,250</td>
</tr>
<tr>
<th>4</th>
<td>3</td>
<td>2.023</td>
<td>良</td>
<td>良</td>
<td>良</td>
<td>2,427.6</td>
<td>2,450</td>
</tr>
<tr>
<th>5</th>
<td>4</td>
<td>2.456</td>
<td>並</td>
<td>良</td>
<td>並</td>
<td>―</td>
<td>―</td>
</tr>
<tr>
<th><i class="material-icons">more_vert</i></th>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
</tr>
<tr>
<th>16</th>
<td>15</td>
<td>2.454</td>
<td>優</td>
<td>良</td>
<td>良</td>
<td>2,944.8</td>
<td>2,950</td>
</tr>
<tr>
<th>17</th>
<td>16</td>
<td>2.858</td>
<td>優</td>
<td>優</td>
<td>優</td>
<td>4,287.0</td>
<td>4,300</td>
</tr>
<tr>
<th>18</th>
<td>17</td>
<td>1.214</td>
<td>良</td>
<td>優</td>
<td>良</td>
<td>1,456.8</td>
<td>1,500</td>
</tr>
<tr>
<th>19</th>
<td>18</td>
<td>1.014</td>
<td>良</td>
<td>並</td>
<td>並</td>
<td>―</td>
<td>―</td>
</tr>
<tr>
<th><i class="material-icons">more_vert</i></th>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
</tr>
<tr>
<th>79</th>
<td>78</td>
<td>2.812</td>
<td>優</td>
<td>優</td>
<td>優</td>
<td>4,218.0</td>
<td>4,250</td>
</tr>
<tr>
<th><i class="material-icons">more_vert</i></th>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
</tr>
</tbody>
</table>
</div>
<ol class="mag_h30">
<li>行 1 は見出し行である。出荷するメロンのデータは，行 2 以降にそれぞれ 1 行で入力する。</li>
<li>データの最終行よりも下の行の列 A ～ D の各セルには空値が入力されている。</li>
<li>列 A には，付与した ID を入力する。</li>
<li>列 B には，メロンの重量を kg 単位で小数第 3 位まで入力する。</li>
<li>列 C と列 D には，メロンの形状と表皮色の評価をそれぞれ入力する。</li>
<li>セル E2 には，セル C2 及び D2 の評価に基づいて，メロンの等級を表示する次の式を入力し，セル E3 ～ E1001 に複写する。
<pre class="normal">IF(A2 = null, null, <span class="blank">a</span>)</pre>
</li>
<li>セル F2 には，次の式を入力し，セル F3 ～ F1001 に複写する。この式は，等級が &#8220;並&#8221; のときは &#8220;―&#8221; を表示し，それ以外のときは，メロンの算出価格を表示する。算出価格は，ワークシート &#8220;単価表&#8221; を参照して，メロンのキログラム当たり単価 に重量を掛けた値である。
<pre class="normal">IF(A2 = null, null, IF(E2 = '並', '―',<span class="blank">b</span>* B2) )</pre>
</li>
<li>セル G2 には，次の式を入力し， セル G3 ～ G1001 に複写する。この式は，等級が &#8220;並&#8221; のときは &#8220;―&#8221; を表示し，それ以外のときは，メロンの販売価格を表示する。販売価格は，算出価格を 50 円単位で切り上げた値である。
<pre class="normal">IF(A2 = null, null, IF(E2 = '並', '―',<span class="blank">c</span>)</pre>
</li>
</ol>
<p class="bold mag_tp50">設問 1</p>
<p>ワークシート&#8221;集計表&#8221; の説明文中の<span class="blank"></span>に入れる正しい答えを，解答群の中から選べ。</p>
<p class="mag_tp30">a に関する解答群</p>
<pre>ア IF(論理積(C2 = '並', D2 = '並'), '並',
        IF(論理積(C2 = '良', D2 = '良'), '良', '優'))
イ IF(論理積(C2 = '優', D2 = '優'), '優',
        IF(論理積(C2 = '並', D2 = '並'), '並', '良'))
ウ IF(論理積(C2 = '優', D2 = '優'), '優',
        IF(論理積(C2 = '良', D2 = '良'), '良', '並'))
エ IF(論理和(C2 = '並', D2 = '並'), '並',
        IF(論理和(C2 = '良', D2 = '良'), '良', '優'))
オ IF(論理和(C2 = '優; D2 = '優'), '優' ,
        IF(論理和(C2 = '並', D2 = '並'), '並', '良'))
カ IF(論理和(C2 = '優', D2 = '優'), '優',
        IF(論理和(C2 = '良', D2 = '良'), '良', '並'))</pre>
<p class="mag_tp30">b に関する解答群</p>
<pre>ア 照合一致(E2, 単価表!$B2:$D2, 0)
イ 照合一致(E2, 単価表!B$2:D$2, 0)
ウ 水平照合(E2, 単価表!$B1:$D2, 2, 0)
エ 水平照合(E2, 単価表!B$1:D$2, 2, 0)
オ 表引き(単価表!$B1:$D2, 2, 1)
カ 表引き(単価表!B$1:D$2, 2, 1)</pre>
<p class="mag_tp30">c に関する解答群</p>
<pre>ア 切上げ(F2 * 2, 0) / 2
イ 切上げ(F2 / 2, 0) * 2
ウ 切上げ(F2 / 50, 0) * 50
エ 四捨五入(F2, -2)
オ 四捨五入(F2 + 50, -2) -50
カ 四捨五入(F2 / 50, 0) * 50</pre>
<p class="bold mag_tp50">設問 2</p>
<p>　等級が &#8220;優&#8221; 及び &#8220;良&#8221; のメロンは， 1 個ずつ箱に入れて梱包する。等級が &#8220;並&#8221; のメロンは，複数個を大箱に入れて梱包する。大箱の販売価格は，梱包したメロンの合計重量に，等級が &#8220;並&#8221; のキログラム当たり単価を掛けて， 50 円単位で切り上げた値である。等級が &#8220;並&#8221; のメロンを大箱に割り振るために，ワークシート &#8220;重量計算表&#8221; を作成し，マクロ Packing を格納した。マクロ Packing 中の<span class="blank"></span>に入れる正しい答えを，解答群の中から選べ。</p>
<p>〔ワークシート:重量計算表〕<br />
　ワークシート &#8220;集計表&#8221; の行 2 以降のデータを上から順に参照し，メロンを大箱に割り振っていく。大箱には箱連番を付与する。一つの大箱には，出荷条件である &#8220;メロンの合計重量が５kg 以上&#8221; 又は &#8220;メロンの個数が４個&#8221; のどちらかを満たすまでメロンを割り振る。ワークシート &#8220;重量計算表&#8221; の例を，図 3 に示す。</p>
<div class="table-container">
<table class="centered">
<caption>図 3 ワークシート &#8220;重量計算表&#8221; の例</caption>
<thead>
<th></th>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
<th>E</th>
<th>F</th>
<th>G</th>
</thead>
<tbody>
<tr>
<th>1</th>
<td>箱定番</td>
<td>1 個目の<br />ID</td>
<td>2 個目の<br />ID</td>
<td>3 個目の<br />ID</td>
<td>4 個目の<br />ID</td>
<td>合計重量<br />(kg)</td>
<td>販売価格<br />(円)</td>
</tr>
<tr>
<th>2</th>
<td>1</td>
<td>4</td>
<td>7</td>
<td>18</td>
<td></td>
<td>5.728</td>
<td>4,600</td>
</tr>
<tr>
<th>3</th>
<td>2</td>
<td>26</td>
<td>29</td>
<td></td>
<td></td>
<td>5.434</td>
<td>4,350</td>
</tr>
<tr>
<th>4</th>
<td>3</td>
<td>32</td>
<td>36</td>
<td>39</td>
<td>41</td>
<td>4.822</td>
<td>3,900</td>
</tr>
<tr>
<th>5</th>
<td>42</td>
<td>50</td>
<td>58</td>
<td></td>
<td></td>
<td>6.859</td>
<td>5,500</td>
</tr>
<tr>
<th>6</th>
<td>5</td>
<td>61</td>
<td>69</td>
<td>72</td>
<td>77</td>
<td>6.536</td>
<td>5,250</td>
</tr>
<tr>
<th>7</th>
<td>6</td>
<td>80</td>
<td>88</td>
<td>91</td>
<td></td>
<td>5.312</td>
<td>4,250</td>
</tr>
<tr>
<th>8</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th><i class="material-icons">more_vert</i></th>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
<td><i class="material-icons">more_vert</i></td>
</tr>
<tr>
<th>1001</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<p>　行 1 は見出し行である。マクロ Packing の実行前に，セル A2 ～ F1001 には，空値が格納されている。セル G2 ～ G1001 には，籍連番が示す大箱に割り振られたメロンの合計重量から販売価格を算出する式を入力しておく。この式は，合計重量を格納するセルが空値の場合は，空値を表示する。</p>
<p>　マクロ Packing は，処理 1. ～ 4. を実行する。</p>
<ol class="mag_h30">
<li>列 A の行 2 以降には， 1 から順に箱連番を格納する。</li>
<li>列 B ～ E の行 2 以降には，箱連番が示す大箱に割り振られたメロンの ID を格納する。割り振られたメロンの個数が 4 未満だった場合， ID を格納しなかったセルは空値のままとなる。</li>
<li>列 F の行 2 以降には，箱連番が示す大箱に割り振られたメロンの合計重量を格納する。</li>
<li>割り振った結果，出荷条件を満たさない大箱に関する情報は，表示しないようにする。</li>
</ol>
<p>〔マクロ: Packing 〕</p>
<pre>○ マクロ: Packing
○ 数値型: i, j, k, CurrentColumn
･ i ← 1
･ j ← 1
･ CurrentColumn ← 0
■ 相対(集計表!A1, i, 0) ≠ null
| ▲ 相対(集計表!E1, i, 0) = '並'
| | ▲ CurrentColumn = 0
| | | ･ 相対(A1, j, 0) ← j 
| | | ･ 相対(F1, j, 0) ← 0
| | ▼
| | ･ 相対(B1, j, CurrentColumn) ← 相対(集計表!A1, i, 0)
| | ･ <span class="blank">d</span>
| | ･ CurrentColumn ← CurrentColumn + 1
| | ▲ <span class="blank">e</span>
| | | ･ j ← j + 1
| | | ･ CurrentColumn ← 0
| | ▼
| ▼
| ･ i ← i + 1
■
▲ 相対(F1, j, 0) ≠ null
| ■ k: 0, k ≦ 5, 1
| | ･ <span class="blank">f</span>
| ■
▼</pre>
<p class="mag_tp30">d に関する解答群</p>
<pre>ア 相対(F1, i, 0) ← 相対(F1, i, 0) + 相対(集計表!B1, 1, 0)
イ 相対(F1, i, 0) ← 相対(F1, i, 0) + 相対(集計表!B1, i, 0)
ウ 相対(F1, i, 0) ← 相対(F1, i, 0) + 相対(集計表!B1, j, 0)
エ 相対(F1, i, 0) ← 相対(F1, j, 0) + 相対(集計表!B1, j, 0)
オ 相対(F1, j, 0) ← 相対(F1, i, 0) + 相対(集計表!B1, 0, 0)
カ 相対(F1, j, 0) ← 相対(F1, j, 0) + 相対(集計表!B1, 0, 0)
キ 相対(F1, j, 0) ← 相対(F1, j, 0) + 相対(集計表!B1, i, 0)
ク 相対(F1, j, 0) ← 相対(F1, j, 0) + 相対(集計表!B1, j, 0)</pre>
<p class="mag_tp30">e に関する解答群</p>
<pre>ア 論理積(相対(F1, j, 0) = 5, CurrentColumn = 4)
イ 論理積(相対(F1, j, 0) = 5, CurrentColumn ≧ 4)
ウ 論理積(相対(F1, j, 0) &lt; 5, CurrentColumn = 4)
エ 論理積(相対(F1, j, 0) ≧ 5, CurrentColumn &lt; 4)
オ 論理和(相対(F1, j, 0) = 5, CurrentColumn ≧ 4)
力 論理和(相対(F1, j, 0) &lt; 5, CurrentColumn = 4)
キ 論理和(相対(F1, j, 0) ≧ 5, CurrentColumn = 4)
ク 論理和(相対(F1, j, 0) ≧ 5, CurrentColumn &lt; 4)</pre>
<p class="mag_tp30">f に関する解答群</p>
<pre>ア 相対(A1, j, 1) ← null
イ 相対(A1, j, k) ← null
ウ 相対(A1, j, k) ← 相対(A1, j, k) + 1
エ 相対(A1, k, 1) ← null
オ 相対(A1, k, j) ← null
カ 相対(A1, k, j) ← 相対(A1, k, j) + 1</pre>
</div>
<div class="divider mag_tp60 mag_bt30"></div>
<details class="grey lighten-5 blue-grey-text c-round">
<summary class="chip"><span>問題のヒント</span></summary>
<p>メロンの等級を、優、良、並に仕分けする、という問題です。</p>
<p>他の多くの過去問題と同様に、前半部はセルに入れる式を選ぶ設問であり、後半部はマクロのプログラムの穴埋めをする設問です。</p>
<p>前半部では、問題に示された条件を IF 関数で示すこと、切り上げ関数や四捨五入関数で目的の形式の数値を得ること、および、照合一致関数、水平照合関数、表引き関数の使い方がポイントになります。選択肢の中には、式が同じで、絶対参照を示す$の付け方だけが異なるものがあるので、注意してください。</p>
<p>後半部は、繰り返し処理の中で相対関数を使っている部分が穴埋めになっています。マクロの説明と照らし合わせながらプログラムの流れを読み、選択肢を大いにヒントにして、消去法で答えを選ぶとよいでしょう。<br />
</details>
<h2>みんなの解答欄</h2>
<p>こちらから解答できます！</p>
<p class="background c-round blue-grey-text mag_h30 small-text blue-grey-text hide-on-med-and-up"><i class="material-icons light-blue-text mag_rt05">info</i>スマートフォンをご覧の場合、解答欄は一部切れている可能性がありますが、縦にスクロールすると表示されます</p>
<div class="iframe-container center hide-on-med-and-up">
<iframe id="content-frame" src="https://docs.google.com/forms/d/e/1FAIpQLSfNwOpEHm3vkAw8Rj8nwaEoO0k8V4RnRiqsEpT4NVIwridgHg/viewform?embedded=true" width="100%" height="2968" frameborder="0" marginheight="0" marginwidth="0">読み込んでいます…</iframe>
</div>
<div class="iframe-container center hide-on-small-only">
<iframe id="content-frame" src="https://docs.google.com/forms/d/e/1FAIpQLSfNwOpEHm3vkAw8Rj8nwaEoO0k8V4RnRiqsEpT4NVIwridgHg/viewform?embedded=true" width="100%" height="2568" frameborder="0" marginheight="0" marginwidth="0">読み込んでいます…</iframe>
</div>
<p>今週の金曜に解答解説ページを、ご解答頂いた方の正解率とともに公開します !!</p>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/this_weeks_exercise/r01a_spreadsheet/">今週の午後問題〔問題〕表計算 メロンの仕分 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/gogo_arukikata/choice_of_programming_languages/</link>
		<pubDate>Mon, 22 Mar 2021 04:27:00 +0000</pubDate>
		<dc:creator><![CDATA[矢沢 久雄]]></dc:creator>
				<category><![CDATA[CASL II]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[午後プログラミング言語問題]]></category>
		<category><![CDATA[擬似言語]]></category>
		<category><![CDATA[表計算]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=gogo_arukikata&#038;p=5234</guid>
		<description><![CDATA[<p>info アルゴリズムとプログラミング問題の対策には、新しい擬似言語にリライトした連載「アルゴリズムとプログラミング問題を解くコツ」がオススメです。 プログラミング言語の特徴と選び方 基本情報技術者試験の午後試験では、「 [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/choice_of_programming_languages/">基本情報 プログラミング 言語の選択と学習方法｜午後問題の歩き方</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 blue-text" style="font-size:2.2em">info</i></p>
<p class="blue-grey-text mag_h00">アルゴリズムとプログラミング問題の対策には、新しい擬似言語にリライトした連載<a href="../../patterns_algorithms/" class="bold">「アルゴリズムとプログラミング問題を解くコツ」</a>がオススメです。</p>
</div>
<h2>プログラミング言語の特徴と選び方</h2>
<p>基本情報技術者試験の午後試験では、「 C 言語」「 Java 」「 Python 」「アセンブラ ( CASLⅡ ) 」「表計算」の中から、 1 つを選択しなければなりません。プログラミングの経験がない人は、「どれを選んで、どのように学習すればよいのだろう？」と悩んでしまうでしょう。</p>
<p>そこで、この記事では、それぞれのプログラミング言語の特徴を説明し、それぞれの学習方法をアドバイスします。</p>
<p>&nbsp;</p>
<p>はじめに、それぞれの言語の特徴を説明しましょう。</p>
<p>「何か 1 つプログラミング言語をマスターしたい」と思っている人は、それぞれの特徴から、自分の好みに合った言語を選んでください。<span class="u">「やってみたい！」と思った言語を選ぶことが重要</span>です。興味がない言語を嫌々学習したのでは、決してマスターできないからです。</p>
<style>table{font-size:.85em;}pre{font-family:'consolas','Courier New',"HCo Gotham SSm",Gotham,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",Meiryo,sans-serif!important;background:#292a33;color:#eceff1;font-size:1em;margin:1em -7.5%;padding:1em 7.5%}th{text-align:center;}@media screen and (min-width:601px){.responsive-width{width:70%}}</style>
<h3>C言語 の特徴</h3>
<p>C 言語は、 IT 業界の第一プログラミング言語と呼べるものです。英語が世界の共通語であるように、 <span class="bold">C 言語は、 IT 業界の共通語である</span>と言えます。</p>
<p>図 1 は、プログラミング言語の人気ランキングを示した <a href="https://www.tiobe.com/tiobe-index/" rel="noopener" target="_blank">TIOBE Index</a> の 2021 年 3 月のランキングを Top 10 まで示したものです。 1 年前の 3 月に 1 位だった Java を抜いて、 C 言語が 1 位になっていることがわかります。</p>
<p class="background c-round blue-grey-text mag_h30 small-text blue-grey-text hide-on-med-and-up"><i class="material-icons light-blue-text mag_rt05">info</i>表は右にスクロールできます</p>
<div class="table-container">
<table class="striped centered responsive-width" style="font-family: Consolas, 'Courier New';">
<caption>図 1　2021 年 3 月のプログラミング言語の人気ランキング（ TIOBE Index より）</caption>
<thead>
<tr>
<th>Mar-21</th>
<th>Mar-20</th>
<th>Change</th>
<th>Programming<br />Language</th>
<th>Ratings</th>
<th>Change</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td><i class="material-icons blue-text">call_made</i></td>
<td>C</td>
<td>15.33%</td>
<td>-1.00%</td>
</tr>
<tr>
<td>2</td>
<td>1</td>
<td><i class="material-icons red-text">call_received</i></td>
<td>Java</td>
<td>10.45%</td>
<td>-7.33%</td>
</tr>
<tr>
<td>3</td>
<td>3</td>
<td></td>
<td>Python</td>
<td>10.31%</td>
<td>0.20%</td>
</tr>
<tr>
<td>4</td>
<td>4</td>
<td></td>
<td>C++</td>
<td>6.52%</td>
<td>-0.27%</td>
</tr>
<tr>
<td>5</td>
<td>5</td>
<td></td>
<td>C#</td>
<td>4.97%</td>
<td>-0.35%</td>
</tr>
<tr>
<td>6</td>
<td>6</td>
<td></td>
<td>Visual Basic</td>
<td>4.85%</td>
<td>-0.40%</td>
</tr>
<tr>
<td>7</td>
<td>7</td>
<td></td>
<td>JavaScript</td>
<td>2.11%</td>
<td>0.06%</td>
</tr>
<tr>
<td>8</td>
<td>8</td>
<td></td>
<td>PHP</td>
<td>2.07%</td>
<td>0.05%</td>
</tr>
<tr>
<td>9</td>
<td>12</td>
<td><i class="material-icons blue-text">call_made</i></td>
<td>Assembly language</td>
<td>1.97%</td>
<td>0.72%</td>
</tr>
<tr>
<td>10</td>
<td>9</td>
<td><i class="material-icons red-text">call_received</i></td>
<td>SQL</td>
<td>1.87%</td>
<td>0.03%</td>
</tr>
</tbody>
</table>
</div>
<h3>Java の特徴</h3>
<p>Java は、私が知る限り、現在、最もニーズが高い言語です。</p>
<p><span class="u">ほとんどの IT 企業が、新人研修で Java を取り上げています。それは、配属後の開発の現場で Java が使われることが多いから</span>です。先ほどの TIOBE Index でも、 Java が第 2 位になっています。</p>
<p>実は、ここ数年、ずっと Java が 1 位だったのですが、最近になって人気に陰りが見えてきました。そのため、第一プログラミング言語である C 言語に 1 位の座を受け渡してしまったのです。</p>
<h3>Python の特徴</h3>
<p><span class="u">Python は、現在、最も注目が高まっている言語</span>です。</p>
<p>図 2 は、プログラマ向けの雑誌「日経ソフトウエア」 2021 年 3 月号の表紙です。これを見ると、特集記事も、連載記事も、付録の冊子も、ほとんどが Python 関連になっていることがわかるでしょう。それだけ Python が注目されているからです。</p>
<p>先ほどの TIOBE Index でも、 Python が第 3 位になっています。第 2 位の Java との差は、ほんのわずかです。 Python の台頭によって、 Java の人気に陰りが生じたのです。</p>
<figure><figcaption>図 2　プログラマ向け雑誌「日経ソフトウエア」の表紙</figcaption><img class="materialboxed z-depth-5 responsive-width" src="../../wp-content/uploads/2021/03/cover_nikkei_software.png" width="451" height="641" loading="lazy"><br />
</figure>
<h3>アセンブラ ( CASLⅡ [CASL2] ) の特徴</h3>
<p>アセンブラは、コンピュータのハードウエアを直接操作する命令を記述する言語です。</p>
<p>基本情報技術者試験のアセンブラは、 COMETⅡ （コメット・ツー）という架空のコンピュータを対象とした CASLⅡ （キャッスル・ツー）という架空のアセンブラです。したがって、開発の現場で CASLⅡ を使うことはありませんが、<span class="u">ハードウエアの仕組みとプログラムを関連付ける、という学習効果は、大いにあります。</span></p>
<h3>表計算の特徴</h3>
<p>表計算は、プログラミング言語ではありませんが、プログラミング言語の選択肢の 1 つになっています。</p>
<p>基本情報技術者試験の表計算は、 Microsoft Excel ではなく、独自仕様のものです。ただし、セルに数式や関数を入れてワークシートを作成することは、 Microsoft Excel と同様です。 <span class="u">Microsoft Excel を使ったことがあるなら、短時間でマスターできるでしょう。</span></p>
<h3>選択のポイント</h3>
<p>それぞれのプログラミング言語の特徴から、言語を選ぶポイントをまとめると、以下のようになります。</p>
<ul class="background c-round">
<li>IT業界の第一プログラミング言語を学んでおきたいなら <span class="bold">C 言語</span> です！</li>
<li>すぐに開発の現場で使える言語をマスターしたいなら <span class="bold">Java</span> です！</li>
<li>近い将来、開発の現場でニーズが高まる言語をマスターしたいなら <span class="bold">Python</span> です！</li>
<li>ハードウエアの仕組みとプログラムを関連付けて学習したいなら <span class="bold">アセンブラ</span> です！</li>
<li>試験までの学習時間がないなら <span class="bold">表計算</span> です！</li>
</ul>
<h2>プログラミング言語の学習方法</h2>
<p>次に、それぞれの言語の学習方法をアドバイスしましょう。</p>
<p>ここでは、<span class="bold">試験問題のプログラムを読めるレベルになるには、どのように学習すればよいかを示します。</span> ただし、プログラムを読めるだけでは、試験問題を解くことはできません。試験問題のテーマは、言語で示されたアルゴリズムを読み取ることだからです。 <span class="u">言語とアルゴリズムの学習を、並行して行ってください。</span></p>
<h3>C 言語 / Java / Python の学習方法</h3>
<p>C 言語、Java、Python の学習方法は、どれも同じです。それぞれの言語構文を解説した書籍を購入して、そこに示されたサンプルプログラムを作ってください。</p>
<div class="background c-round">
プログラミング言語は、暗記して覚えるものではありません。自分の手でプログラムを作って、自分の目で動作を確認して、体得するものです。</p>
<p>プログラムを作るには、専用のツールが必要です。ほとんどのツールは、インターネットから無償で入手できます。ツールの入手方法とインストール方法が示された書籍を選ぶとよいでしょう。
</p></div>
<p><span class="bold">基本構文だけがわかれば OK</span> なので、「はじめての〇〇」や「〇〇入門」のようなタイトルの書籍がよいでしょう。</p>
<div class="grey lighten-5 mag_h30 pad_20 c-round">
<i class="material-icons light-blue-text">search</i><span class="blue-grey-text mag_w10">タグで関連記事をチェック</span><a href="../../tag/java/" class="tag mag_rt05">Java</a><a href="../../tag/python/" class="tag">Python</a>
</div>
<h3>アセンブラ CASLⅡ [ CASL2 ] の学習方法</h3>
<p>アセンブラの学習も書籍で行いますが、実在するコンピュータのアセンブラではなく、<span class="u">基本情報技術者試験の架空のアセンブラである CASLⅡ の書籍を購入することに注意</span> してください。</p>
<p>CASLⅡのプログラムを作って動作を確認するときは、CASLⅡシミュレータを利用できます。インターネットから無償で入手できる CASLⅡ シミュレータがいくつかあります。図3は、<a href="https://www.chiba-fjb.ac.jp/fjb_labo/casl/index.html" rel="noopener" target="_blank">船橋情報ビジネス専門学校が公開している CASLⅡ シミュレータ</a>です。プログラムによって、 CPU とメモリの内部がどのように変化するかを、ビジュアルに確認できます。</p>
<figure><figcaption>図 3　CASLⅡ シミュレータの例</figcaption><img class="materialboxed z-depth-5 responsive-width" src="../../wp-content/uploads/2021/03/casl2_simulator.png" width="781" height="447" loading="lazy"><br />
</figure>
<div class="grey lighten-5 mag_h30 pad_20 c-round">
<i class="material-icons light-blue-text">search</i><span class="blue-grey-text mag_w10">タグで関連記事をチェック</span><a href="../../tag/casl-ii/" class="tag">CASLⅡ</a>
</div>
<h3>表計算の学習方法</h3>
<p>表計算の学習も書籍で行いますが、 <span class="u">Microsoft Excel ではなく、基本情報技術者試験の表計算の書籍を購入することに注意</span>してください。私の知る限りでは、基本情報技術者試験の表計算のシミュレータはないので、ワークシートやマクロを動作させることはできません。</p>
<div class="grey lighten-5 mag_h30 pad_20 c-round">
<i class="material-icons light-blue-text">search</i><span class="blue-grey-text mag_w10">タグで関連記事をチェック</span><a href="../../tag/表計算/" class="tag">表計算</a>
</div>
<p>&nbsp;</p>
<p>どの言語の学習も、書籍を購入して行うことになります。</p>
<p>実際に書店に行って、自分に合った書籍を探してください。書籍を最初から最後までを 1 回学習しただけでは、マスターできなくても当然です。少なくとも、同じ書籍で 3 回は学習してください。そうすれば、きっとマスターできます。</p>
<h2>擬似言語のことを考慮すると C 言語 か 表計算 がおススメかも</h2>
<p>基本情報技術者試験の午後試験には、 C 言語 、 Java 、 Python 、アセンブラ ( CASLⅡ )、表計算の他に、共通に使用される <span class="bold">擬似言語</span> というものがあります。</p>
<p>この擬似言語は、午後の選択必須問題である「データ構造およびアルゴリズム」で使われるので、読み方を覚えなければなりません。このことから、プログラミング言語では、表計算がおススメだといえます。なぜなら、表計算の問題の後半部は、擬似言語で記述されたマクロ（ワークシートを操作するプログラム）の内容を読み取るものだからです。</p>
<p>「擬似言語を覚えなければならないのだから、それを使える表計算を選ぶのが得策だ」というわけです。図 4 にマクロの例を示します。</p>
<figure><figcaption>図 4　表計算のマクロは擬似言語で記述されている（ 平成 23 年度 秋期 午後 問 13 から抜粋）</figcaption><pre>○マクロ: BonusCalc
○整数型: row, DeptPoint
■ <span class="blank">f</span>
| • DeptPoint ← 0
| ■
| | • DeptPoint ← DeptPoint + 1
| | • 相対(L1, row, 0) ← DeptPoint
| ■ <span class="blank">g</span>
| • <span class="blank">h</span>
■</pre>
</figure>
<p><span class="bold">擬似言語の構文は、 C 言語 に似ています。</span> このことから、プログラミング言語では、 C 言語もおススメだといえます。 C 言語をマスターすれば、擬似言語も容易に理解できるからです。</p>
<p>図 5 に擬似言語と C 言語の構文を対応付けた例を示します。</p>
<figure><figcaption>図 5　擬似言語と C 言語 の構文を対応付けた例</figcaption><div class="row">
<div class="col s6">
<figure><figcaption>擬似言語の構文</figcaption><pre>
<code class="language-none">
▲ 条件式
| 　処理 1
+---
| 　処理 2
▼
</code>
</pre>
</figure>
</div>
<div class="col s6">
<figure><figcaption>C 言語の構文</figcaption><pre>
<code class="language-clike">
if 条件式 {
    処理 1;
} else {
    処理 2;
}
</code>
</pre>
</figcaption></div>
</div>
<div class="row">
<div class="col s6">
<pre>
<code class="language-none">
■ 条件式
| 　処理
■
</code>
</pre>
</div>
<div class="col s6">
<pre>
<code class="language-clike">
while (条件式) {
    処理;
}
</code>
</pre>
</div>
</div>
</figure>
<p>「擬似言語の構文で、黒い三角は C 言語の if 文であり、黒い四角は C 言語の while 文だ」とわかれば、すぐに理解できるでしょう。</p>
<p>Java と Python には、オブジェクトを定義するクラスという構文があります。擬似言語では、クラスが使われません。 C 言語でも、クラスが使われません。この点でも、擬似言語と C 言語は、よく似ています。</p>
<div class="grey lighten-5 mag_h30 pad_20 c-round">
<i class="material-icons light-blue-text">search</i><span class="blue-grey-text mag_w10">タグで関連記事をチェック</span><a href="../../tag/擬似言語/" class="tag">擬似言語</a>
</div>
<div class="divider mag_h40"></div>
<p>以上で、私のお話は、おしまいです。基本情報技術者試験のプログラミング言語の選択に悩んでいる方々に、少しでもお役に立ったなら幸いです。</p>
<p>それでは、またお会いしましょう！</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/choice_of_programming_languages/">基本情報 プログラミング 言語の選択と学習方法｜午後問題の歩き方</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>「48 歳 自動車整備士 代表取締役 親父」異色の経歴で基本情報技術者試験に合格できた秘訣をインタビュー</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/jukenki/interview_with_id/</link>
		<pubDate>Tue, 26 Nov 2019 07:10:24 +0000</pubDate>
		<dc:creator><![CDATA[基本情報技術者試験 受験ナビ 編集部]]></dc:creator>
				<category><![CDATA[アルゴリズム]]></category>
		<category><![CDATA[勉強方法]]></category>
		<category><![CDATA[午前免除試験]]></category>
		<category><![CDATA[午後プログラミング言語問題]]></category>
		<category><![CDATA[参考書]]></category>
		<category><![CDATA[合格方法]]></category>
		<category><![CDATA[表計算]]></category>
		<category><![CDATA[非ITエンジニア]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=jukenki&#038;p=3158</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_id/">「48 歳 自動車整備士 代表取締役 親父」異色の経歴で基本情報技術者試験に合格できた秘訣をインタビュー</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">「 48 歳、自動車整備士、代表取締役、親父」</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/id_avatar.png"></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>(有) 位田モータース<br />代表取締役</small>
</div>
</div>
</div>
<div class="divider mag_tp20 mag_bt60"></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/id_avatar-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><span class="bold">1971 年生まれの 48 歳、自動車整備士です。位田モータースの代表取締役です。</span></p>
<p>工業高校 (電子科) を卒業して、大学で電機情報工学科 (夜間) を専攻していました。</p>
<p>大学卒業後は、通信系技術職、金融系営業職を経て、現在は、自動車整備士や自動車検査員の資格を取得し、日々仕事をしています。</p></div>
<div class="comment">
<div class="icon"></div>
<p>基本情報技術者試験は、工業高校時代 (昭和 63 年) に前身の第 2 種情報処理技術者を受験して落ちて以来、30 年以上、全く関わりがありませんでした。</p>
<p>また IT についても同じ時期に高校の実習などで回路やプログラムを触った程度です。</p></div>
<p class="blue-grey-text">― <a href="https://www.jitec.ipa.go.jp/1_07toukei/_index_toukei.html" rel="noopener" target="_blank">IPA がまとめた令和元年 秋期の統計資料</a>では、48 歳の合格者は、全合格者のうち <span class="bold">0.2 %</span> ( 39 名)、サービス業の合格者は全体の <span class="bold">1.4 %</span> ( 174 名) しかいません。レア中のレアです。<br />なぜ、受験されようと思われたのでしょうか?</p>
<div class="comment">
<div class="icon"></div>
<p>Arduino (*) というマイコンを趣味で扱ってみて、いろいろ書籍を読んでいるうちに高校時代の思いが戻ってきたところ、工業高校生になった息子がレポートや宿題で机に向かっているのを見て<span class="bold">「一緒に机に向かってみよう」</span>と思ったことがキッカケです。</p>
<p>それなら、成果がわかりやすい資格試験を取得しようと思って、基本情報技術者試験に挑戦しました。</p>
<p><small class="grey-text">(*) Raspberry Pi と同じようなマイクロコンピュータ。Ras Pi が プリインストールされた OS があるコンピュータなのに対して、Arduino は CPU など演算装置のみがある</small></div>
<p class="blue-grey-text">― 一緒に勉強する姿勢を見せるのは難しいもの。一人の親として頭が下がります。<br />とはいえ、異業種・ご年齢からすると、合格するのは至難の業。どんな勉強をされたのですか?</p>
<div class="comment">
<div class="icon"></div>
<p>まず、合格を目標にし、試験制度を調べたところ、午前免除制度 (*) があることを知り、試験前に使える時間を考えて、この制度を活用することにしました。</p>
<p>そこから、午前免除の認定を受けている会社に複数問い合わせをした結果、<a href="/dokushuzemi/ec/fe/" rel="noopener" target="_blank">「独習ゼミ」の基本情報技術者コース</a>に決めました。</p>
<p class="grey-text small-text">(*1) 関連ページ: <a href="/dokushuzemi/ec/fe/exemption/" rel="noopener" target="_blank">基本情報技術者試験 午前免除制度とは【独習ゼミ】</a></p>
</div>
<p class="blue-grey-text">― なるほ</a>ど、まずは「 &#8220;敵&#8221; を知る」ということわざ通りに進められたのですね。</p>
<h2>心が折れそうになる勉強と、折れなかった理由</h2>
<p class="blue-grey-text">― では、午前免除試験に向けて、どのように対策されたのですか?</p>
<div class="comment">
<div class="icon"></div>
<p>午前免除試験はテキストの前から順に進めました。解らないところは飛ばして進め、区切りのいいところまで進めて、また戻りという感じです。</p>
<p>ただ、60 点で合格できるので、完ぺきにする意識はありませんでした。</p></div>
<div class="comment">
<div class="icon"></div>
<p>それでも勉強を始めた当初、月に 10 時間程しか勉強できなかったので、理解が進まず、苦しくて、面倒で、時間を作るのが嫌で、逃げていた時期もありました (笑)。</p>
<p><span class="bold">午前免除コースでお金をかけていなかったら、諦めてリタイヤしていたかもしれません。</span></div>
<p class="blue-grey-text">― 自腹でお金をかけるのは、やはり重要になるんですね (笑)</p>
<div class="comment">
<div class="icon"></div>
<p>思わぬ副次効果ですね。</p>
<p>そこで苦しんだ結果、6 月の午前免除試験は <span class="bold">73.75</span> 点 でクリアできました。</div>
<p class="blue-grey-text">― 正解率が 74 % とは、知識がついている証左ですね。その午前の知識があれば、午後はスムーズに進められたのですか?</p>
<div class="comment">
<div class="icon"></div>
<p>午後問題はアルゴリズムとプログラムを優先してやりましたが、最初、アルゴリズムは書いてあることがさっぱり頭に入らず、午後の勉強でも苦労しました。</p>
<p>テンポよく進まず、仕事の都合もあり何度もへこたれたのですが、<span class="bold">家に帰って息子が机に向かっていると、「自分もやらなきゃ」</span>と思い、30 分でもやるようにしました。</div>
<p class="blue-grey-text">― ここでもお子様の姿勢に励まされたのですね。</p>
<h2>詰まったら「環境を変える」</h2>
<p class="blue-grey-text">― 一方で、なかなか &#8220;敵&#8221; は手強いですね。<br />ちなみに、なぜ、アルゴリズムとプログラムを優先されたのですか?</p>
<div class="comment">
<div class="icon"></div>
<ul>
<li>配点が大きい</li>
<li>ハードウェアのように出たり出なかったりしない</li>
<li>知らないと解けないような「知識を問う問題ではない」</li>
</ul>
<p>という点を考え、アルゴリズムとプログラムを優先しました。</p>
<p>また、試験実施側の意図を想像すると、アルゴリズムとプログラムを重視しているのは自明でしたので。</p></div>
<p class="blue-grey-text">― そこでもやはり &#8220;敵を知る&#8221; だったのですね</p>
<div class="comment">
<div class="icon"></div>
<p>そうですね。本番の午後試験でも同じようにアルゴリズムとプログラムを優先して、正解でも不正解でもこの 2 つの分野に全部回答してから、次に進むと決めていました。</p></div>
<p class="blue-grey-text">― そんな「難敵」のアルゴリズムとプログラム、どのように攻略されたのですか?</p>
<div class="comment">
<div class="icon"></div>
<p>もともとハードウェアの知識があったので、最初は CASLⅡ で進めていました。ですが、その途中、普段エクセルでマクロを使っているので、表計算のほうがいいかもと感じ、変更しました。</p>
<p>表計算のマクロもアルゴリズムと同じ擬似言語で表記されていたので、一通り、擬似言語を理解してからはスイスイ進みました。</p></div>
<p class="blue-grey-text">― 攻略法は「プログラミング言語の選択を変えたこと」ですか</p>
<div class="comment">
<div class="icon"></div>
<p>それもそうですが、出来ないと感じれば、<span class="bold">「何か環境を変えること」</span>もいいと思っています。</p>
<p>例えば、私の場合、プログラミング言語だけでなく、独習ゼミの午後コースが合わなかったので、参考書を変えて、別に購入しました。</p>
<p>アルゴリズムの本は 3 冊、表計算の本は 2 冊購入しました。少しの表現の違いで、内容がスッと頭に入ってきましたね。</p></div>
<p class="blue-grey-text">― なるほど!　ちなみに、どの参考書が良かったのでしょうか?</p>
<div class="comment">
<div class="icon"></div>
<ul>
<li><a href="https://www.amazon.co.jp/dp/4798150460" rel="noopener" target="_blank">アルゴリズム問題がちゃんと解ける本（翔泳社 刊行）</a></li>
<li><a href="https://www.amazon.co.jp/dp/4798151963/" rel="noopener" target="_blank">出るとこだけ！基本情報技術者［午後］（翔泳社 刊行）</a></li>
<li><a href="https://www.amazon.co.jp/dp/4774181897" rel="noopener" target="_blank">改定3版 基本情報技術者 らくらく突破 表計算（技術評論社 刊行）</a></li>
</ul>
<p>この 3 冊は自分に合っていたので、理解する速度がすごく上がりました。</p></div>
<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>自己採点で 68 点でしたから、マークミスやチェックミスが無いかとヒヤヒヤしていましたが、結果は <span class="bold">69</span> 点でした。</div>
<div class="mag_h50">
<img class="z-depth-1" src="../../wp-content/uploads/2019/11/score_pm_id.png"><br />
<small class="grey-text">スコアの様子</small>
</div>
<div class="comment">
<div class="icon"></div>
<p>経営戦略、会計、財務、法務などは IT 企業でなくともわかり、普段の過去問練習では 70 % ぐらい取れていたのですが、今回は計算間違いが重なり、10 % の正解率で、「あちゃー」って感じでした。</p>
<p>逆に、表計算やアルゴリズムはもともと 40 ～ 50 % 程度の正解を目指していましたが、アルゴリズムは 60 % 、表計算はおそらく 80 % 以上正解です。</p></div>
<p class="blue-grey-text">― おおー!! 苦手だったアルゴリズムとプログラムで、逆に得点を稼いだんですね !! スゴイ!!</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>その他にも結構、役立っていて、工場内のセキュリティカメラ映像や販売管理情報など、どのようなデータがあって、どのような処理をして、どのサーバで保存するか、業者さんとの打ち合わせがあったのですが、一般の整備工場よりも理解できているらしく、「何かやってるんですか？」と聞かれました。</p>
<p>打ち合わせ時間そのものが、確実に時短出来ていますし、それだけでなく業者さんとの認識の齟齬もなくなっていると思います。</p></div>
<div class="comment">
<div class="icon"></div>
<p>あとは、障害のある職員の雇用継続のために VPN でリモートデスクトップを利用したり、直接的に役に立ってます。</p>
<p>また、自動車整備士としては使わなさそうな、SQL やオブジェクト指向なども、いつかどこかで役に立つかもしれないと感じています。</p></div>
<p class="blue-grey-text">― 現場もわかって、IT がわかる社長、スゴイです。</p>
<h2>親父からのアドバイス ― 合格の秘訣 ―</h2>
<p class="blue-grey-text">― では、最後に、ズバリ、位田さまが思う、基本情報の合格の秘訣を教えて頂いてもよいでしょうか?</p>
<div class="comment">
<div class="icon"></div>
<p>今回、合格できたのは<span class="bold">「戦略によるもの」</span>だと思っています。</p>
<p>何度も受験すれば、時間も予算も必要になってしまいます。少々予算が必要でも集中投資して午前免除を使い、午後対策だけを受験日までにしっかりするほうが、私には合っていると思い、実践しました。</p></div>
<div class="comment">
<div class="icon"></div>
<p>その他にも、例えば、午後試験の回答順で、私は過去問を何度やっても時間不足だったので、回答順を変えて、</p>
<ol>
<li>アルゴリズム</li>
<li>プログラム</li>
<li>情報セキュリティ</li>
<li>そのあとに選択問題</li>
<li>残り 5 分で未回答問題を直感で穴埋めする</li>
</ol>
<p>という作戦を立て、一度の受験で合格しました。</p>
<p>出題順に回答していったらアルゴリズム問題まで到達していなかったかもしれません。</p></div>
<p class="blue-grey-text">― &#8220;敵を知り、己を知る&#8221; ということですね</p>
<div class="comment">
<div class="icon"></div>
<p>はい。一流ではないバッターが、とにかく塁に出るには、野球のルールを知り、ピッチャーや野手の癖、得意 / 不得意を可能な限り知ることで、出塁の可能性はどんどん高まるはずです。</p>
<p>試験でも同じように、試験の仕組みや範囲、出題傾向を調べ、今、自分ができること・出来ないことを知り、どうすると合格できるか考えることが重要です。</p>
<p>もちろん、こういう感覚や実践は、試験だけでなく会社組織やプロジェクトなど様々なところで役立ちます。</p></div>
<p class="blue-grey-text">― &#8220;親父&#8221; らしい重みのあるお言葉ですね</p>
<div class="comment">
<div class="icon"></div>
<p>でも、戦略を立てて、試験勉強は出来る限りしたつもりでも、最後には、すがるものが欲しくて、名古屋市中区にある桜天神に行き、何度か神だのみをしました。(笑)</p>
<p>私には目薬より学業お守りのほうが効果があるはずだと思って、受験会場にはお守りも持って行きました。</p>
<p>桜天神には近々お礼参りに伺います。(笑)</p></div>
<p class="blue-grey-text">― (笑) 素晴らしい締めで、助かります!<br />今日は貴重なお話、ありがとうございました !!</p>
<div class="comment">
<div class="icon"></div>
<p>ありがとうございました。</p></div>
<div class="divider mag_tp50 mag_bt30"></div>
<p><a href="/dokushuzemi/ec/fe/#review"></p>
<div class="card z-depth-2 mag_h60 hoverable" style="border-radius: 10px;">
<div class="card-content indigo-text">
<div class="row valign-wrapper">
<div class="col s3 m1 center"><img src="/dokushuzemi/ec/fe/img/201803/dokuzemi_logo.png"></div>
<div class="col s9 m11">からお知らせ</div>
</div>
<p><span class="card-title">位田さんの体験談にあったご指摘のポイントも改善 !!</span><br />
出題の見直しで配点が高くなる「午後アルゴリズム」コンテンツを大幅にボリュームアップ！</p>
<p>午前免除だけではなく、つまづきがちなアルゴリズムも徹底演習が可能になりました。
</p></div>
</div>
<p></a></p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/jukenki/interview_with_id/">「48 歳 自動車整備士 代表取締役 親父」異色の経歴で基本情報技術者試験に合格できた秘訣をインタビュー</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/gogo_arukikata/release_sokushu_programming4fe/</link>
		<pubDate>Wed, 20 Nov 2019 08:09:57 +0000</pubDate>
		<dc:creator><![CDATA[基本情報技術者試験 受験ナビ 編集部]]></dc:creator>
				<category><![CDATA[CASL II]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[午後プログラミング言語問題]]></category>
		<category><![CDATA[参考書]]></category>
		<category><![CDATA[表計算]]></category>

		<guid isPermaLink="false">https://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=gogo_arukikata&#038;p=2861</guid>
		<description><![CDATA[<p>info 速習言語は試験制度変更により販売を停止しました 基本情報技術者試験 受験ナビでも多くの記事を書いて頂いている 矢沢 久雄 さんにお願いし、基本情報技術者試験 午後のプログラミング問題に特化した参考書、 「速習言 [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/release_sokushu_programming4fe/">矢沢久雄さんが執筆! 午後 プログラミング 問題対策の参考書「速習言語」を刊行しました!!</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<p class="background c-round blue-grey-text"><i class="material-icons red-text mag_rt10" style="font-size:2.2em">info </i>速習言語は試験制度変更により販売を停止しました</p>
<p>基本情報技術者試験 受験ナビでも多くの記事を書いて頂いている 矢沢 久雄 さんにお願いし、基本情報技術者試験 午後のプログラミング問題に特化した参考書、</p>
<p><span class="bold">「速習言語 Java 」<br />
「速習言語 CASLⅡ 」<br />
「速習言語 表計算」</span></p>
<p>この 3 冊を電子書籍として刊行しました!! <img src="https://s.w.org/images/core/emoji/11/72x72/1f389.png" alt="🎉" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/11/72x72/1f389.png" alt="🎉" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/11/72x72/1f389.png" alt="🎉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>令和 2 年度 ( 2020 年度) 春期試験より、プログラミング問題は配点が高くなり、避けて通れない問題になりました。</p>
<p>この記事では、このプログラミング問題に特化した「速習言語」の特徴や中身をチラ見せしますので、ぜひぜひ立ち読み感覚でご覧ください!</p>
<h2>プログラミングをマスターするのではなく「プログラムが読める」ようになること</h2>
<p>ご存知の通り、基本情報技術者試験ではソースコードを実際に書いて、合否判定されるわけではありません。</p>
<p>つまり、&#8221;プログラミングができること&#8221; が問われていません。あくまでプログラムの仕様とプログラムを読んで、それを選択肢から選んで解答するものです。</p>
<p>&nbsp;</p>
<p>これは英語の入試などに似ていて、こういった試験では、外国人と会話でコミュニケーションできることが問われるのではなく、あくまで、</p>
<ul>
<li class="mag_h10">英文を読める</li>
<li class="mag_h10">英語を聞いて理解できる</li>
</ul>
<p>この 2 つが主です。</p>
<p>英語で外国人とのコミュニケーションできるようになるには、膨大な時間が必要ですが、ただ、筆記試験に限って言うと、英語でコミュニケーションが取れなくても合格できます。</p>
<p>そして、英語の筆記試験の攻略法は、皆さんがご経験の通り、単語の引き出しを増やす、言語構文を覚える、文章の流れを読むテクニック、こういった特有のコツを身につけることですね。</p>
<p>&nbsp;</p>
<p>刊行した「速習言語」でも同様に、プログラミングをマスターするのではなく、&#8221;出題される&#8221; 言語構文、関数、ライブラリだけを解説し、開発言語ごとに試験のプログラムを読むテクニックを解説しています。</p>
<p>これにより、速習言語を使うと、時間を圧倒的に短縮して学ぶことができます。</p>
<h2>わかりやすさでお馴染みの矢沢 久雄さんが執筆!</h2>
<p>基本情報技術者試験 受験ナビの著者紹介ページにもありますが、この受験ナビの著者でもあり、「プログラムはなぜ動くのか」という書籍を書いた 矢沢 久雄 さんに速習言語を執筆頂きました。<br />
(ちなみに、「プログラムはなぜ～」はIT書では、異例の 10 万部を突破した書籍です)</p>
<p>矢沢さんが書かれる文章のわかりやすさは、受験ナビの読者の皆さまにも、恐らく伝わっているのでは? と思っています。</p>
<p>&nbsp;</p>
<p>また、皆さまのおかげで、矢沢さんが書かれた記事は Google の検索ランキングで、</p>
<div class="card-panel z-depth-0 bold" style="border-radius: 5px;">
<code>基本情報 java</code>　<code>基本情報技術者試験 java</code> などの検索ワードで 1 位 !!<br />
<code>基本情報 casl</code>　<code>基本情報技術者試験 casl2</code> などの検索ワードで 1 位 !!<br />
<code>基本情報 表計算</code>　<code>基本情報技術者試験 表計算</code> などの検索ワードで 1 位 !!
</div>
<p><small class="grey-text" style="text-inline: 2rem">2019 年 8月 ~ 11 月の 3 ヶ月間 の平均順位</small></p>
<p>とご評価いただいています。</p>
<p>「速習言語」では、Web ページの都合上、カットせざるを得なかった言語構文や、関数、ライブラリなどの解説ページを大幅追加しています。ぜひご期待ください。</p>
<p>&nbsp;</p>
<style>code{font-family:monospace;background-color:#eceff1;color:red;padding:.4rem;font-size:.9rem}.indent{padding-left:1em;text-indent:-1em;line-height:200%}</style>
<h2>速習言語 のご紹介</h2>
<p>速習言語は電子書籍のみで、Kindle ストアで販売を開始しています !!</p>
<div class="card hoverable mag_h30">
<div class="row">
<div class="col m4 center hide-on-small-only"><img src="../../wp-content/uploads/2019/11/spreadsheet_cover.jpg"></div>
<div class="col m8">
<div class="card-content black-text">
<span class="card-title">速習言語 表計算 編</span></p>
<div class="chip teal white-text">目次</div>
<p>ステップ1　表計算の基礎知識<br />
ステップ2　セルの参照と複写<br />
ステップ3　関数の種類と機能<br />
ステップ4　マクロによるプログラミング<br />
ステップ5　問題演習<br />
&ensp;</p>
<div class="chip teal small-text white-text">価格</div>
<p>￥<big class="bold">980</big> (税込)　<small class="grey-text">Kindle ストアで販売中</small>　<img src="../../wp-content/uploads/2019/11/iconfinder_Amazon_1298723.png">
</div>
</div>
</div>
</div>
<div class="card hoverable mag_h30">
<div class="row">
<div class="col m4 center hide-on-small-only"><img src="../../wp-content/uploads/2019/11/casl2_cover.jpg"></div>
<div class="col m8">
<div class="card-content black-text">
<span class="card-title">速習言語 CASLⅡ（CASL2）編</span></p>
<div class="chip teal white-text">目次</div>
<p>ステップ1　アセンブラ言語の特徴<br />
ステップ2　命令の種類<br />
ステップ3　覚えておくべきプログラミング技法<br />
ステップ4　問題演習<br />
補足資料　言語リファレンス<br />
&ensp;</p>
<div class="chip teal small-text white-text">価格</div>
<p>￥<big class="bold">980</big> (税込)　<small class="grey-text">Kindle ストアで販売中</small>　<img src="../../wp-content/uploads/2019/11/iconfinder_Amazon_1298723.png">
</div>
</div>
</div>
</div>
<div class="card hoverable mag_h30">
<div class="row">
<div class="col m4 center hide-on-small-only"><img src="../../wp-content/uploads/2019/11/java_cover.jpg"></div>
<div class="col m8">
<div class="card-content black-text">
<span class="card-title">速習言語 Java 編</span></p>
<div class="chip teal white-text">目次</div>
<p>ステップ1　Javaの基本構文<br />
ステップ2　Javaによるオブジェクト指向プログラミング<br />
ステップ3　Javaの基本的なクラスライブラリ<br />
ステップ4　問題演習<br />
補足資料　言語リファレンス<br />
&ensp;</p>
<div class="chip teal small-text white-text">価格</div>
<p>￥<big class="bold">980</big> (税込)　<small class="grey-text">Kindle ストアで販売中</small>　<img src="../../wp-content/uploads/2019/11/iconfinder_Amazon_1298723.png">
</div>
</div>
</div>
</div>
<h2>立ち読みコーナー 「まえがき」全文掲載</h2>
<p>では、最後に速習言語がどのような内容なのか、矢沢さんから許可をいただき、「まえがき」を全文掲載いたします。</p>
<p>お気軽にお立ち読みください !!</p>
<div class="card-panel grey lighten-5 z-depth-0 indigo-text" style="border-radius: 10px">
<h3 class="bold">基本情報技術者の合格を目指す皆さんへ</h3>
<h4 class="bold">本書の目的</h4>
<p>　本書は、基本情報技術者試験の午後問題として必ず出題される「プログラミング問題」の学習書です。</p>
<p>　本書の目的は、プログラミングの基本概念を理解している受験者を対象とし、できる限り短時間で無駄なく特定の言語を学習し、試験問題に解答できる能力を身に付ける手助けをすることです。</p>
<h4 class="bold">試験問題に解答できる能力とは？</h4>
<p>　この試験のプログラミング問題のほとんどは、プログラム内にある空欄を適切なコードで埋めるものとなっています。しかしその設問自体は、コードの候補を示した選択式となっているため、プログラミング言語のスペルを暗記しておく必要はありません。さらに、プログラムの中では高度な命令は使われず、基本的な入出力命令（キー入力、ディスプレイ出力、ファイル入出力）だけが使われますから、すべての命令の使い方を覚える必要もありません。つまり、オリジナルのプログラムの作成能力までは要求されていないのです。では、何が必要なのでしょうか。それは、他人（出題者）が作ったプログラムを読みこなす能力です。</p>
<p>　この能力を身に付けることは、単なる試験対策のためではありません。プログラミングができるとはプログラムを作れることを意味しますが、いきなりゼロから作れる人などはいません。最初は、他人が作ったプログラムを読んでまねることから始めるのです。目的に合わせて既存のプログラムの内容を部分的に改造することを繰り返している内に、自然とオリジナルのプログラムが作れるようになります。したがって、この能力は、本格的なプログラミングの学習においても第一歩となる重要なことなのです。</p>
<h4 class="bold">プログラミングの学習ステップ</h4>
<p>　最初にマスターする言語を決めたら、次に説明するステップに沿って学習を始めましょう。</p>
<div class="indent mag_h20"><span class="bold">第一段階のステップでは、命令とデータの記述方法を学びます。</span><br />
プログラムとは、コンピュータに与える「命令（〜せよ）」および命令の対象となる「データ（…を）」をプログラミング言語の文法に従って記述したものです。プログラミング言語の種類によって、命令やデータを表すキーワード（単語）と、それらを並べる構文（文法）に若干の違いがあります。ただし、どのようなプログラミング言語であっても、その内容は基本的に「…を〜せよ」という命令文を書き並べたものだといえます。</div>
<div class="indent mag_h20"><span class="bold">第二段階のステップでは、プログラムの流れの表現方法を学びます。</span><br />
たった一つの命令文だけでプログラムが完結することなどめったにありません。プログラムの中には、複数の命令文が記述されています。それらが、まずこの命令文、次にこの命令文、次に…と、まるで川のように流れていくのです。その流れには、「順次（まっすぐ流れる）」「分岐（条件に応じて流れが分かれる）」「反復（同じ流れを何度か繰り返す）」の3種類があります。</div>
<div class="indent mag_h20"><span class="bold">第三段階のステップは、複数の小さなプログラムの構成方法を学びます。</span><br />
ある程度大きなプログラム（命令文の総数が多いプログラム）は、小さな部品に分けて作られます。そして、プログラムの入り口となる「主プログラム」と、主プログラムから利用される「副プログラム」とに構成されるのです。</div>
<p>　どのようなプログラミング言語でも、基本的には、上述したような三つのステップで学習して行きます（本書では、さらにプログラミング言語の種類ごとにステップを細かく分けています）。</p>
<div class="indent mag_h20"><span class="bold">最終段階は、学習の総仕上げとして、過去に出題された問題に挑戦です。</span><br />
本書で学習した知識があれば、プログラムの内容は読みこなせるはずです。試験当日は、1問を30分程度で解答できなければなりませんが、学習段階では1〜2時間かけてかまいません。プログラムの先頭から末尾まで完全に理解できるようになるまで、何度でもプログラムを読んでください。多くの問題を中途半端に解くより、一つの問題を丁寧に解いた方が確実に理解が深まります。プログラムを注意深く読む練習が必要なのです。答えを覚えてしまうぐらいになってから、新たな問題に進むとよいでしょう。どんなプログラムでも読みこなせるという自信がもて、試験当日にも冷静に問題に取り組めるはずです。</div>
<h4 class="bold">試験当日まで粘り強く</h4>
<p>　プログラミング言語の学習方法は、外国語の学習方法とよく似ています。教材を1回だけ学習したり、プログラムを1回だけ読んでマスターできるものではないからです。もしも理解が不十分だと思う部分があれば、該当する項目を何度でも復習してください。同じプログラムを何度でも読んでください。言語は、同じことを繰り返し学習して身に付けるものです。</p>
<div class="indent mag_h20"><span class="bold">いつまで繰り返せばよいのでしょう。</span><br />
ゴールは決まっています。情報処理技術者試験の日までです。どうか強い意志を持って取り組んでください。皆さんが合格の栄冠を勝ち取られることを心より願っております。</div>
<p>　それでは、元気に学習を始めましょう！</p>
<p>　2019年10月吉日<br />
　矢沢久雄
</p></div>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/release_sokushu_programming4fe/">矢沢久雄さんが執筆! 午後 プログラミング 問題対策の参考書「速習言語」を刊行しました!!</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>午後問題の歩き方 ｜ 表計算 (2) 解き方のパターン ～過去問演習～</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/guide_spreadsheet_1_of_questions_at_pm-2/</link>
		<pubDate>Mon, 27 Aug 2018 02:07:37 +0000</pubDate>
		<dc:creator><![CDATA[矢沢 久雄]]></dc:creator>
				<category><![CDATA[午後プログラミング言語問題]]></category>
		<category><![CDATA[午後問題の解説]]></category>
		<category><![CDATA[表計算]]></category>

		<guid isPermaLink="false">http://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=gogo_arukikata&#038;p=418</guid>
		<description><![CDATA[<p>午後プログラミング問題の問 11 の 表計算の問題には、解き方のパターンがあります。 なぜなら、問題の内容が決まりきった構成になっているからです。 表計算問題の構成 前半部でセルに計算式を入力してワークシートを作る 後半 [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/guide_spreadsheet_1_of_questions_at_pm-2/">午後問題の歩き方 ｜ 表計算 (2) 解き方のパターン ～過去問演習～</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>午後プログラミング問題の問 11 の <span class="bold">表計算の問題には、解き方のパターンがあります。</span></p>
<p>なぜなら、問題の内容が決まりきった構成になっているからです。</p>
<ul class="background c-round">
<p class="post-title">表計算問題の構成</p>
<li>前半部でセルに計算式を入力してワークシートを作る</li>
<li>後半部でワークシートを自動的に使うためのマクロを作る</li>
</ul>
<p>表形式で計算を行うツールである以上、他のプログラミング言語の問題のような自由度はありません。</p>
<p>自由度がない分、<span class="bold">設問の選択肢を多くして難易度を上げているようですが、そこにも正解を選ぶパターン</span> があります。</p>
<p>代表的なパターンを紹介しますので、それらを活用して効率的に問題を解いてください。</p>
<div class="background blue-grey-text small-text mag_h30">
<i class="material-icons light-blue-text mag_rt05">info</i>本記事ではわかりやすいよう、問題に下線などを入れています</p>
<p class="small-text blue-grey-text hide-on-med-and-up"><i class="material-icons light-blue-text mag_rt05">info</i>スマートフォンでご覧の際、プログラムや選択肢は右にスクロールできます</p>
</div>
<style>article,pre{font-family:consolas,'Courier New',"HCo Gotham SSm",Gotham,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",Meiryo,sans-serif!important}dl.inline dd{margin-left:2em}@media only screen and (max-width:600px){dl.mag-0 dd{margin-left:0}}pre{background:#eceff1;color:#263238;padding:1em 1.5em;position:relative;margin:1.5em 0}.comment{position:absolute}.red-border{border:.3em solid #f44336}.ng{background:linear-gradient(-45deg,transparent 50%,#f44336 50%,#f44336 55%,transparent 55%)}</style>
<h2>解き方 パターン 1：<br />設問の余白に「セル番地 ← 何を求める計算式か」を書き込む</h2>
<p>表計算の問題の前半部は、セルに計算式を入力してワークシートを作る、という内容です。問題文には、ワークシートを作り上げるまでの手順が示されていて、その中の一部が設問になっています。</p>
<p>したがって、設問になっているセル番地と、そこに入力する計算式の役割を設問の余白に書き込むと、問題が解きやすくなります。</p>
<p>&nbsp;</p>
<p>たとえば、以下は、<a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2012h24_1/2012h24h_fe_pm_qs.pdf#page=63" rel="noopener" target="_blank">平成 24 年度 春期 午後 問 13「図書管理及び図書推薦」</a> の設問 1 の空欄 a です。<br />
（これ以降も、この問題を例にします。ここでは、問題を解くことではなく、解き方のパターンを知ることがテーマなので、問題の内容を示しません）</p>
<p>このままでは、パッと見て、どのセルに何のための計算式を入力すればよいのか、わかりにくいでしょう。</p>
<div class="card-panel mag_h30">
設問 1　ワークシート &#8220;図書情報&#8221; 及び &#8220;利用者情報&#8221; に関する次の記述中の <span class="blank"></span> に入れる正しい答えを，解答群の中から選べ。</p>
<dl class="mag-0">
<dt></dt>
<dd>　返却期日を算出するために，次の式をワークシート&#8221;図書情報&#8221; のセル E2 に 入力し， セル E3 ~ E201 に複写する。</dd>
<dd>
<pre class="sprd-sht">IF(C2 ≠ null, <span class="blank">a</span>, null) </pre>
</dd>
</dl>
</div>
<p>わかりにくい理由は、E2 や C2 のようなセル番地の名前が、役割を示すものではないからです。</p>
<p>問題文をよく読めば、セルの役割がわかるのですが、よほど記憶力のよい人でない限り覚えられないでしょう。</p>
<p>&nbsp;</p>
<p>そこで、以下のように、設問の余白に <span class="bold">「セル番地 ← 何を求める計算式か」</span> 書き込むのです。<br />
（説明の都合で赤色にしていますが、実際の試験では黒色の鉛筆で書き込んでください。これ以降の説明でも同様です）。</p>
<p>これなら、何が設問のテーマなのかが、すぐにわかるはずです。</p>
<div class="card-panel mag_h30">
設問 1　ワークシート &#8220;図書情報&#8221; 及び &#8220;利用者情報&#8221; に関する次の記述中の <span class="blank"></span> に入れる正しい答えを，解答群の中から選べ。</p>
<dl class="mag-0">
<dt></dt>
<dd>　返却期日を算出するために，次の式をワークシート&#8221;図書情報&#8221; のセル E2 に 入力し， セル E3 ~ E201 に複写する。</dd>
<dd>
<pre class="sprd-sht">IF(C2 ≠ null, <span class="blank">a</span>, null) <br class="hide-on-med-and-up"><span class="red-text bold">図書情報のE2 ← 返却期日を算出する計算式</span></pre>
</dd>
</dl>
</div>
<h2>解き方 パターン 2：<br />選択肢の余白に「セル番地 ・・・ 意味」を書き込む</h2>
<p>設問のテーマがわかったら、選択肢を見て答えを選びましょう。</p>
<p>以下は、設問 1 の空欄 a の選択肢です。</p>
<p>これらの選択肢を見て、どう思いますか。「何の計算しているのか、意味がわからない」と思うでしょう。</p>
<pre>
a に関する解答群
ア　D2 + 垂直照合(C2, 利用者情報!G$2~I$5, 3, 0)
イ　D2 + 垂直照合(C2, 利用者情報!A$2~C$51, 1, 0)
ウ　D2 + 垂直照合(C2, 利用者情報!A$2~C$51, 3, 0)
エ　D2 + 垂直照合(垂直照合(C2, 利用者情報!A$2~C$51, 1, 0), 利用者情報!G$2~I$5, 3, 0)
オ　D2 + 垂直照合(垂直照合(C2, 利用者情報!A$2~C$51, 3, 0), 利用者情報!G$2~I$5, 3, 0)
力　D2 + 水平照合(C2, 利用者情報!A$2~C$51, 1, 0)
キ　D2 + 水平照合(垂直照合(C2, 利用者情報!A$2~C$51, 1, 0), 利用者情報!G$2~I$5, 3, 0)
ク　D2 + 水平照合(垂直照合(C2, 利用者情報!A$2~C$51, 3, 0), 利用者情報!G$2~I$5, 3, 0)
</pre>
<p>その理由は、先ほどと同様に、計算式の中で使われている D2 や C2 などのセル番地の名前が、意味を示すものではないからです。</p>
<p>そこで、以下のように、選択肢の余白に <span class="bold">「セル番地 ・・・ 意味」</span> 書き込むのです。何を計算しているかが、わかりやすくなったはずです。</p>
<pre>
a に関する解答群

ア D2 + 垂直照合(C2, 利用者情報!G$2~I$5, 3, 0)
イ D2 + 垂直照合(C2, 利用者情報!A$2~C$51, 1, 0)
ウ D2 + 垂直照合(C2, 利用者情報!A$2~C$51, 3, 0)
エ D2 + 垂直照合(垂直照合(C2, 利用者情報!A$2~C$51, 1, 0), 利用者情報!G$2~I$5, 3, 0)
オ D2 + 垂直照合(垂直照合(C2, 利用者情報!A$2~C$51, 3, 0), 利用者情報!G$2~I$5, 3, 0)
力 D2 + 水平照合(C2, 利用者情報!A$2~C$51, 1, 0)
キ D2 + 水平照合(垂直照合(C2, 利用者情報!A$2~C$51, 1, 0), 利用者情報!G$2~I$5, 3, 0)
ク D2 + 水平照合(垂直照合(C2, 利用者情報!A$2~C$51, 3, 0), 利用者情報!G$2~I$5, 3, 0)<span class="comment red-border red-text bold" style="top: 1em; left: 12em;">D2 ･･･ 貸出日　　利用者情報!G2~I5 ･･･ 属性~貸出日数
C2 ･･･ 利用者ID　利用者情報!A2~C51 ･･･ 利用者ID~属性</span>
</pre>
<div class="mag_h30 divider"></div>
<p><span class="badge red white-text" style="float: left!important;">PR</span></p>
<div class="center" style="padding-top: 1rem;">
<a href="https://www.amazon.co.jp/dp/B081QMR3CQ"><br />
<img class="hoverable z-depth-5" src="../../wp-content/uploads/2018/08/spreadsheet_banner.png"><br />
</a>
</div>
<div class="mag_h30 divider"></div>
<h2>解き方 パターン 3：<br />使用している関数の種類や引数の違いで選択肢を大きくグループ分けして、不適切なグループをまとめて消去する</h2>
<p>この設問の選択肢は、8 つもあります。1 つひとつをチェックしていたら、時間が足りなくなってしまいます。</p>
<p>選択肢をよく見てみると、</p>
<ul class="background c-round">
<li>先頭の「 D2 ＋ 」までは同じ</li>
<li>その後が「垂直照合」になっているもの</li>
<li>「水平照合」になっているもの</li>
</ul>
<p>に大きくグループ分けできます。</p>
<p>適切でないグループをまとめて消去すれば、選択肢を一気に絞り込めます。</p>
<p>&nbsp;</p>
<p>問題の説明やワークシートの例を見ると、水平照合が不適切だと判断できるので（ここでは、問題の説明とワークシートの例を示しませんが、判断できたとにします。これ以降も同様です）、以下のように × を付けてバッサリ消しましょう。</p>
<pre>
a に関する解答群

ア D2 + 垂直照合(C2, 利用者情報!G$2~I$5, 3, 0)
イ D2 + 垂直照合(C2, 利用者情報!A$2~C$51, 1, 0)
ウ D2 + 垂直照合(C2, 利用者情報!A$2~C$51, 3, 0)
エ D2 + 垂直照合(垂直照合(C2, 利用者情報!A$2~C$51, 1, 0), 利用者情報!G$2~I$5, 3, 0)
オ D2 + 垂直照合(垂直照合(C2, 利用者情報!A$2~C$51, 3, 0), 利用者情報!G$2~I$5, 3, 0)
力 D2 + 水平照合(C2, 利用者情報!A$2~C$51, 1, 0)
キ D2 + 水平照合(垂直照合(C2, 利用者情報!A$2~C$51, 1, 0), 利用者情報!G$2~I$5, 3, 0)
ク D2 + 水平照合(垂直照合(C2, 利用者情報!A$2~C$51, 3, 0), 利用者情報!G$2~I$5, 3, 0)<span class="comment red-border" style="top: 5em; left: 5.25em; padding: 4.75em 2.25em"></span>
<span class="comment red-border ng" style="top: 15em; left: 5.25em; padding: 3em 2.25em"></span></pre>
<p>残った選択肢のア～オも、</p>
<ul class="background c-round">
<li>単に垂直照合だけを行うのか</li>
<li>垂直照合を 2 段階で行うのか</li>
</ul>
<p>で、2 つのグループに分けられます。</p>
<p>問題の説明やワークシートの例を見ると、垂直照合を 2 段階で行うのが適切だと判断できるので、以下のように、そうでないグループに × を付けてバッサリ消しましょう。</p>
<pre>
a に関する解答群

ア D2 + 垂直照合(C2, 利用者情報!G$2~I$5, 3, 0)
イ D2 + 垂直照合(C2, 利用者情報!A$2~C$51, 1, 0)
ウ D2 + 垂直照合(C2, 利用者情報!A$2~C$51, 3, 0)
エ D2 + 垂直照合(垂直照合(C2, 利用者情報!A$2~C$51, 1, 0), 利用者情報!G$2~I$5, 3, 0)
オ D2 + 垂直照合(垂直照合(C2, 利用者情報!A$2~C$51, 3, 0), 利用者情報!G$2~I$5, 3, 0)<span class="comment red-border ng" style="top: 5em; left: 5em; padding: 2.75em 2.5em"></span><span class="comment red-border" style="top: 11em; left: 5em; padding: 2em 4.5em"></span></pre>
<h2>解き方 パターン 4：<br />関数の引数が違う部分だけに注目して選択肢を選ぶ</h2>
<p>これで、選択肢をエとオに絞り込ました。両者で使用している関数に違いはありません。ここまで絞り込めたら、<span class="u">関数の引数の違い</span>で、選択肢を選びます。</p>
<p><span class="bold">違う部分だけに注目</span> してください。違わない部分は正しいのですから、気にする必要はありません。</p>
<p>以下のように、垂直照合の 3 つ目の引数が違います。</p>
<pre>
a に関する解答群

エ D2 + 垂直照合(垂直照合(C2, 利用者情報!A$2~C$51, 1, 0), 利用者情報!G$2~I$5, 3, 0)
オ D2 + 垂直照合(垂直照合(C2, 利用者情報!A$2~C$51, 3, 0), 利用者情報!G$2~I$5, 3, 0)<span class="comment red-border" style="top: 5em; left: 16.5em; padding: .75em 7em"></span><span class="comment red-border" style="top: 7em; left: 16.5em; padding: .75em 7em"></span></pre>
<p>この引数は、</p>
<ol class="background c-round">
<li>検索範囲の左端で一致したデータを見つけたら、</li>
<li>そこから右に何個移動して目的のデータを取り出すか、</li>
</ol>
<p>を指定するものです。ここでは、3 個目に目的のデータがあるので、選択肢オが正解です。</p>
<p>いかがでしょう。以上が、表計算の問題の前半部で答えを選ぶパターンです。過去問題を練習するときに、これらのパターンを試してみてください。</p>
<h2>解き方 パターン 5：<br />マクロの目的を確認する</h2>
<p>表計算の問題の後半部は、ワークシートを自動的に使うためのマクロを作る、という内容です。</p>
<p>後半部を解くには、まず、<span class="bold">マクロの目的を確認</span> してください。そうしないと、問題の意図がつかめないからです。 以下は、後半部の冒頭部分です。</p>
<div class="card-panel mag_h30">
設問 2</p>
<p>利用者が図書を借りる際，その情報を登録するマクロ Borrowing をワークシート &#8220;図書情報&#8221; に格納した。ワークシート &#8220;図書情報&#8221; のセル B203 に図書 ID を，セル D203 に利用者 ID を入力して，マクロ Borrowing を実行すると，次に示す三つの条件を満たすとき，貸出登録される。</p>
<ol>
<li>対象図書が貸出し中でない。</li>
<li>対象利用者の残り貸出冊数が 1 以上である。</li>
<li>対象利用者が現在借りている全ての図書が延滞状態でない。</li>
</ol>
</div>
<p>「 B203 に 図書 ID を入力し、D203 に 利用者 ID を入力し、条件を満たしていれば、貸出登録する」というマクロであることがわかります。</p>
<p>記憶力に自信がない人は、これも余白に書き込むとよいでしょう。</p>
<h2>解き方 パターン 6：<br />マクロの説明とプログラムを対応付ける</h2>
<p>同じ擬似言語を使っていますが、午後問 8 のアルゴリズムと比べて、表計算のマクロはやや簡単です。</p>
<p>なぜなら、問題の後半部だけでボリュームが少ないので、マクロの説明とプログラムの内容が対応付けやすいからです。</p>
<p>&nbsp;</p>
<p>以下は、設問 2 の空欄 e です。</p>
<p>ご丁寧に「貸出可能か？」というコメント（ヒント）も付けられているので、この空欄は、マクロの説明に示された「次の三つの条件を満たすとき」に対応することがわかります。</p>
<p>以下のように、空欄に対応する説明に下線を引くとわかりやすくなります。</p>
<p>〔マクロ:Borrowing〕</p>
<pre class="mag_tp00">○マクロ:Borrowing
▲
| <span class="red-border" style="padding: .5em;"><span class="blank">e</span>                /* 貸出し可能か? */</span>
|・相対(A1, B203, 2) ← D203
|・相対(A1, B203, 3) ← 11
|・B203 ← null
|・D203 ← null
▼</pre>
<div class="card-panel mag_h30 blue-grey-text">
設問 2<br />
利用者が図書を借りる際，その情報を登録するマクロ Borrowing をワークシート &#8220;図書情報&#8221; に格納した。ワークシート &#8220;図書情報&#8221; のセル B203 に図書 ID を，セル D203 に利用者 ID を入力して，<span style="border-bottom: .3em solid #f44336">マクロ Borrowing を実行すると，次に示す三つの条件を満たすとき，</span>貸出登録される。</p>
<ol>
<li>対象図書が貸出し中でない。</li>
<li>対象利用者の残り貸出冊数が 1 以上である。</li>
<li>対象利用者が現在借りている全ての図書が延滞状態でない。</li>
</ol>
</div>
<h2>解き方 パターン 7：<br />グループ分けしてバッサリ消し、選択肢の違いに注目して、適切なものを選ぶ（選べなければ、不適切なものを消去する）</h2>
<p>設問 2 の空欄 e には、以下の 3 つの条件を満たすことを、擬似言語で表記したものが入ることがわかりました。</p>
<p>選択肢を見て、これらの言葉で示された条件を、擬似言語の表記でどう表せばよいかを考えてみましょう。</p>
<ol class="background c-round">
<li>対象図書が貸出し中でない。</li>
<li>対象利用者の残り貸出冊数が 1 以上である。</li>
<li>対象利用者が現在借りている全ての図書が延滞状態でない。</li>
</ol>
<p>前半部と同様、後半部も設問の選択肢がとても多くなっています。</p>
<p>1 つひとつをチェックしていたのでは時間が足りなくなってしまうので、大きくグループ分けして不適切なグループをバッサリ消し、残った選択肢の違いだけに注目して、答えを選びましょう。</p>
<p>&nbsp;</p>
<p>ここでは、</p>
<ul class="background c-round">
<li>「 論理積 ( 相対 ( A1, B203, 2 ) 」の後が「 ＝ null  ) 」になっている選択肢ア～エ</li>
<li>「 ≠ null ) 」になっている選択肢オ～ク</li>
</ul>
<p>に大きくグループ分けできます。</p>
<p>「（1）対象図書が貸出し中でない」という条件は、「 ＝ null 」が適切なので、選択肢オ～クにバツを付けて消しましょう。</p>
<pre>
e に関する解答群<dl class="inline mag_h00" style="line-height: 1.5;">
<dt>ア</dt><dd>論理積(相対(A1, B203, 2) = null, 相対(利用者情報!A1, D203, 3) > 0, <br>相対(利用者情報!A1, D203, 4) ≠ '*' ) </dd>
<dt>イ</dt><dd>論理積(相対(A1, B203, 2) = null, 相対(利用者情報!A1, D203, 3) > 0, <br>相対(利用者情報!A1, D203, 4) = '*' )</dd>
<dt>ウ</dt><dd>論理積(相対(A1, B203, 2) = null, 相対(利用者情報!A1, D203, 3) = 0, <br>相対(利用者情報!A1, D203, 4) ≠ '*' )</dd>
<dt>エ</dt><dd>論理積(相対(A1, B203, 2) = null, 相対(利用者情報!A1, D203, 3) = 0, <br>相対(利用者情報!A1, D203, 4) = '*' ) </dd>
<dt>オ</dt><dd>論理積(相対(A1, B203, 2) ≠ null, 相対(利用者情報!A1, D203, 3) > 0, <br>相対(利用者情報!A1, D203, 4) ≠ '*' )</dd>
<dt>力</dt><dd>論理積(相対(A1, B203, 2) ≠ null, 相対(利用者情報!A1, D203, 3) > 0, <br>相対(利用者情報!A1, D203, 4) = '*' ) </dd>
<dt>キ</dt><dd>論理積(相対(A1, B203, 2) ≠ null, 相対(利用者情報!A1, D203, 3) = 0, <br>相対(利用者情報!A1, D203, 4) ≠ '*' )</dd>
<dt>ク</dt><dd>論理積(相対(A1, B203, 2) ≠ null, 相対(利用者情報!A1, D203, 3) = 0, <br>相対(利用者情報!A1, D203, 4) = '*' )</dd>
</dl><span class="comment red-border" style="top: 4em; left: 16em; padding: 9em 2.25em"></span><span class="comment red-border ng" style="top: 22.5em; left: 16em; padding: 8.25em 2.25em; background: linear-gradient(-75deg, transparent 50%, #f44336 50%, #f44336 55%, transparent 55%)"></span></pre>
<p>残った選択肢は、</p>
<ul class="background c-round">
<li>「 相対( 利用者情報 ! A1, D203, 3 ) 」の後が「 ＞ 0 」になっている選択肢ア、イ</li>
<li>「 ＝ 0 」になっている選択肢ウ、エ</li>
</ul>
<p>にグループ分けできます。</p>
<p>「（2）対象利用者の残り貸出冊数が 1 以上である」に該当するのは「 ＞ 0 」なので、選択肢ア、イに答えを絞り込めます。</p>
<pre>
e に関する解答群<dl class="inline mag_h00" style="line-height: 1.5;">
<dt>ア</dt><dd>論理積(相対(A1, B203, 2) = null, <br>相対(利用者情報!A1, D203, 3) > 0, <br>相対(利用者情報!A1, D203, 4) ≠ '*' ) </dd>
<dt>イ</dt><dd>論理積(相対(A1, B203, 2) = null, <br>相対(利用者情報!A1, D203, 3) > 0, <br>相対(利用者情報!A1, D203, 4) = '*' )</dd>
<dt>ウ</dt><dd>論理積(相対(A1, B203, 2) = null, <br>相対(利用者情報!A1, D203, 3) = 0, <br>相対(利用者情報!A1, D203, 4) ≠ '*' )</dd>
<dt>エ</dt><dd>論理積(相対(A1, B203, 2) = null, <br>相対(利用者情報!A1, D203, 3) = 0, <br>相対(利用者情報!A1, D203, 4) = '*' ) </dd>
</dl><span class="comment red-border" style="top: 5.75em; left: 18em; padding: 3.75em 2.25em;"></span><span class="comment red-border ng" style="top: 17.75em; left: 18em; padding: 3.75em 2.25em; background: linear-gradient(-60deg, transparent 50%, #f44336 50%, #f44336 55%, transparent 55%);"></span></pre>
<p>残った選択肢アとイの違いは、「 相対( 利用者情報 ! A1, D203, 4 )」の後にある</p>
<ul class="background c-round">
<li>「 ≠ &#8216;＊&#8217; 」</li>
<li>「 ＝ &#8216;＊&#8217; 」</li>
</ul>
<p>だけです。</p>
<p>「（3）対象利用者が現在借りている全ての図書が延滞状態でない」に該当するのは、「 ≠ &#8216;＊&#8217; 」なので、選択肢アが正解だとわかります。</p>
<pre>
e に関する解答群<dl class="inline mag_h00" style="line-height: 1.5;">
<dt>ア</dt><dd>論理積(相対(A1, B203, 2) = null, 相対(利用者情報!A1, D203, 3) > 0, <br>相対(利用者情報!A1, D203, 4) ≠ '*' ) </dd>
<dt>イ</dt><dd>論理積(相対(A1, B203, 2) = null, 相対(利用者情報!A1, D203, 3) > 0, <br>相対(利用者情報!A1, D203, 4) = '*' )</dd>
</dl><span class="comment red-border" style="top: 5.75em; left: 18em; padding: .75em 2.25em;"></span><span class="comment red-border ng" style="top: 10em; left: 18em; padding: .75em 2.25em; background: linear-gradient(-20deg, transparent 50%, #f44336 50%, #f44336 55%, transparent 55%);"></span></pre>
<p>いかがでしょう。</p>
<p>マクロの説明とプログラムを対応付け、選択肢をグループ分けしてバッサリ消し、残った選択肢で違う部分だけに注目して答えを選ぶ、というパターンをご理解いただけましたね。</p>
<p>過去問題を練習するときに、これらのパターンを試してみてください。</p>
<p>&nbsp;</p>
<div class="divider mag_h50"></div>
<p>表計算の問題は、一見して、他のプログラミング言語の問題よりボリュームが多いように思われます。しかし、<span class="bold">それは誤解</span>です。</p>
<p>具体的なデータが格納されたワークシートの例が示されるので、どうしてもページ数が多くなってしまうのです。<span class="bold">ワークシートの説明や、マクロの説明だけを見れば、ボリュームは決して多くありません。</span></p>
<p>ですから、「制限時間内に必ず解ける！」という自信を持って取り組んでください。</p>
<p><span class="bold">令和 2 年度 春期試験以降は、配点が 25 点なので、制限時間の目安は、30 ~ 37 分</span> です。本試験当日に向けて、30 ~ 37 分で問題を解く練習をしてください。</p>
<p>この記事で説明したパターンを意識しながら、できるだけ多くの問題を練習してください。</p>
<p>&nbsp;</p>
<p>それでは、またお会いしましょう！</p>
<p>&nbsp;</p>
<p><i class="material-icons indigo-text">label</i> 表計算の前の記事</p>
<p><a href="../guide_spreadsheet_1_of_questions_at_pm/"></p>
<div class="card hoberable mag_h30 c-round">
<div class="row valign-wrapper direction-column-on-small">
<div class="col m4 pad_00 flex"><img src="../../wp-content/uploads/2018/08/spreadsheet_cover-300x169.jpg"></div>
<div class="col m8 pad_20 black-text bold">午後問題の歩き方 ｜ 表計算も簡単ではなくプログラミング問題（1）基礎知識</div>
</div>
</div>
<p></a></p>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/guide_spreadsheet_1_of_questions_at_pm-2/">午後問題の歩き方 ｜ 表計算 (2) 解き方のパターン ～過去問演習～</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
		<item>
		<title>午後問題の歩き方 ｜ 表計算も簡単ではなくプログラミング問題（1）基礎知識</title>
		<link>https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/guide_spreadsheet_1_of_questions_at_pm/</link>
		<pubDate>Wed, 22 Aug 2018 02:30:09 +0000</pubDate>
		<dc:creator><![CDATA[矢沢 久雄]]></dc:creator>
				<category><![CDATA[午後プログラミング言語問題]]></category>
		<category><![CDATA[午後問題の解説]]></category>
		<category><![CDATA[表計算]]></category>

		<guid isPermaLink="false">http://www.seplus.jp/dokushuzemi/fe/fenavi/?post_type=gogo_arukikata&#038;p=404</guid>
		<description><![CDATA[<p>プログラミング言語の経験がない人の多くは、午後問題の問 7 ～問 11 で、問 11 の表計算を選んでいます。その選択は、何ら間違いではありません。 ただし、表計算が簡単であるとは、決して思わないでください。 きちんと基 [&#8230;]</p>
<p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/guide_spreadsheet_1_of_questions_at_pm/">午後問題の歩き方 ｜ 表計算も簡単ではなくプログラミング問題（1）基礎知識</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>プログラミング言語の経験がない人の多くは、午後問題の問 7 ～問 11 で、問 11 の表計算を選んでいます。その選択は、何ら間違いではありません。</p>
<p><span class="bold">ただし、表計算が簡単であるとは、決して思わないでください。</span></p>
<p>きちんと基礎知識を学習した上で、数多くの過去問題を練習しておかないと、合格点を取れないからです。</p>
<p>今回は、表計算の基礎知識を説明します。<a href="../guide_spreadsheet_1_of_questions_at_pm-2/" rel="noopener" target="_blank">次回の記事</a>で、表計算の問題の解き方のパターンを説明します。</p>
<style>pre{margin-right:-7.5%!important;margin-left:-7.5%!important;padding-left:7.5%!important;border-radius:unset}@media screen and (max-width:600px){dd{margin-left:1.5em}}dt{display:inline-block}figure img{margin:1.5em auto}figcaption{color:#9e9e9e;margin:.5em;text-align:center}</style>
<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>
<h2>基礎知識 1：Excel との違いを知る</h2>
<p>現在、最も普及している表計算ソフトは、Excel（ Microsoft Excel ）でしょう。しかし、国家試験である基本情報技術者試験に、特定のメーカーの製品を使った問題を出題するわけにはいきません。</p>
<p>そこで、架空の表計算ソフトがあるとしています。この表計算ソフトには、とくに名前は付けられていません。これ以降では、「 FE の表計算」と呼びます。FE は、基本情報技術者試験の英語表記の略称です。</p>
<p>&nbsp;</p>
<p>Excel と FE の表計算の機能は、基本的に同じです。</p>
<p>セルの中に計算式を入れてワークシートを作り、そのワークシートにデータを入力して目的の結果を得るという機能です。計算式の中で、あらかじめ用意されている関数を使うこともできます。関数の引数で、セルの範囲を指定することもあります。</p>
<p>これらの表現において、Excel と FE の表計算には、以下に示した違いがあります。</p>
<table class="striped">
<thead>
<tr>
<th>表現</th>
<th>Excel</th>
<th>FE の表計算</th>
</tr>
</thead>
<tbody>
<tr>
<td>計算式</td>
<td>＝ を付ける<br />
（例）＝ A2 ＋ B3</td>
<td>＝ を付けない<br />
（例）A2 ＋ B3</td>
</tr>
<tr>
<td>関数の名前</td>
<td>英語<br />
（例）SUM( A1：A10 )</td>
<td>日本語<br />
（例）合計( A1 ～ A10 )</td>
</tr>
<tr>
<td>セルの範囲</td>
<td>：で示す<br />
（例）A1：A10</td>
<td>～ で示す<br />
（例）A1 ～ A10</td>
</tr>
</tbody>
</table>
<h2>基礎知識 2：相対参照と絶対参照の使い方を知る</h2>
<p>A2 や B3 など、セルの場所を示す表現をセル番地と呼びます。セル番地には、<span class="bold">相対参照</span>と<span class="bold">絶対参照</span>があります。</p>
<p>これらは、セルに入力した計算式をコピーして他のセルに貼り付けたときに、セル番地を変化させるかどうかを指定するものです。</p>
<p>A2 や B3 のように、何も指定しないと相対参照になり、$A2 や B$3 のように $ を付けると絶対参照になります。<span class="u">$ という文字の有無で相対参照と絶対参照を示すのは、Excel と FE の表計算どちらも同じ</span>です。</p>
<p>&nbsp;</p>
<p>相対参照の場合は、コピー先に合わせてセル番地が自動的に変化します。</p>
<p>たとえば、以下のワークシートでは、D2 に入力された B2 * C2 という計算式をコピーして、D3 と D4 に貼り付けています。</p>
<figure><figcaption>［売上金額を求めるワークシート］</figcaption><img class="materialboxed" src="../../wp-content/uploads/2018/08/worksheet.png" alt="売上金額を求めるワークシート" loading="lazy" /><br />
</figure>
<p>コピー先に合わせて、D3 の計算式は B3 * C3 に変化し、D4 の計算式は B4 * C4 に変化しています。</p>
<p>なぜ、このような仕組みになっているかというと、その方が便利だからです。</p>
<p>これを相対参照と呼ぶのは、D2 に入力された B2 * C2 の B2 と C2 は、絶対的に B2 と C2 というセルを指しているのではなく、D2 から見て B2 と C2 の相対位置にあるセル、つまり B2 は同じ行で 2 列前にあるセル、C2 は同じ行で 1 列前にあるセルを指しているからです。</p>
<p>&nbsp;</p>
<p>$ を付けて絶対参照を使わなければならない場合もあります。</p>
<p>たとえば、以下のワークシートでは、関東地方における東京都の人口の構成比を求めるために、C2 に B2 / B$9 という計算式を入力して、それをコピーし、C3 ～ C8 に貼り付けています。</p>
<figure><figcaption>［人口の構成比を求めるワークシート］</figcaption><img class="materialboxed" src="../../wp-content/uploads/2018/08/worksheet2.png" alt="人口の構成比を求めるワークシート" loading="lazy" /><br />
</figure>
<p>B$9 の 9 の前に $ があるのは、$ がないとコピー先に合わせて B9 が B10 ～ B15 に変化してしまうからです。</p>
<p>関東地方の人口の合計は、どの県の構成比を求める時も、絶対的に Ｂ9 にあるので、絶対参照を使うことになります。</p>
<p>&nbsp;</p>
<p>絶対参照を示す $ は、$A2 のように列名だけに付けることも、A$2 のように行番号だけに付けることも、$A$2 のように、列名と行番号の両方に付けることもできます。</p>
<dl class="background c-round">
<dt class="u">列名だけに付けた場合</dt>
<dd>貼り付け先で列名が変化せず行番号が変化します。</dd>
<dt class="u">行番号だけに付けた場合</dt>
<dd>貼り付け先で行番号が変化せず列名が変化します。</dd>
<dt class="u">列名と行番号の両方に付けた場合</dt>
<dd>貼り付け先で列名も行番号も変化しません。</dd>
</dl>
<p>先ほどの人口の構成比では、コピーした計算式を縦方向に貼り付けていました。この場合は、$ がないと行番号だけが変化するので、行番号だけに $ を付けたのです。</p>
<p>$B$9 のように、列名と行番号の両方に $ を付けても、同じ計算結果が得られますが、試験問題では無駄なことはしません。列名の B の前に $ がなくても、B は変化しないので $ を付ける必要はないのです。</p>
<p>&nbsp;</p>
<p>ここまでの説明を読んで、「そんなこと覚えるなんて面倒だ！」と思われたかもしれませんが、がんばって覚えてください。なぜなら、試験問題の選択肢には、同じ計算式で $ があるものとないものが示される場合があるからです。</p>
<p>&nbsp;</p>
<p>以下は、<a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2015h27_2/2015h27a_fe_pm_qs.pdf#page=64" rel="noopener" target="_blank">平成 27 年度 秋期 問 13「 PC 販売店での購入金額の計算」</a>の設問 1 空欄 b の選択肢です。</p>
<p>問題の内容は省略しますが、答えを選択肢ウの「セット値引き表!I3 」と選択肢エの「セット値引き表!I$3 」に絞り込めたとしましょう。両者の違いは、3 の前に $ があるかないかです。どちらが適切かを判断できなければ、答えを選べません。</p>
<div class="mag_h30 card-panel">
b に関する解答群</p>
<p>ア　セット値引き表!A3　　<br class="hide-on-med-and-up">イ　セット値引き表!A$3<br />
ウ　セット値引き表I13　　<br class="hide-on-med-and-up">エ　セット値引き表!I$3
</div>
<h2>基礎知識 3：関数の種類と機能を知る</h2>
<p>FE の表計算には、数多くの関数が用意されています。用意されているだけでなく、問題の中でもバリバリ使われています。</p>
<p>試験問題には、<span class="bold"><a href="https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2015h27_2/2015h27a_fe_pm_qs.pdf#page=79" rel="noopener" target="_blank">関数の仕様書が添付</a>されていますが、それを試験当日に調べているようでは、時間が足りなくなってしまいます。</span></p>
<p>あらかじめ、関数の仕様書に目を通しておきましょう。丸暗記する必要はありませんが、どんな関数があるのかは知っておくべきです。</p>
<p>&nbsp;</p>
<p>以下に、関数の名前を示します。全部で 27 個あります。もしも、仕様書に示されていない関数が使われる場合は、問題文の中で説明されます。</p>
<h3>［算術計算を行う関数］</h3>
<ul class="mag_h20 background">
<li>合計(セル範囲)</li>
<li>平均(セル範囲)</li>
<li>最大(セル範囲)</li>
<li>最小(セル範囲)</li>
<li>剰余(値 1，値 2 )</li>
<li>平方根(値)</li>
<li>整数部(値)</li>
<li>切上げ(値，桁位置)</li>
<li>切捨て(値，桁位置)</li>
<li>四捨五入(値，桁位置)</li>
<li>乱数( )</li>
<li>標本標準偏差(セル範囲)</li>
<li>母標準偏差(セル範囲)</li>
</ul>
<h3>［IF 関数と論理演算関数］</h3>
<pre class="language-none">
IF(条件，値 1，値 2)

論理積(条件1，条件 2，・・・)

論理和(条件1，条件 2，・・・)

否定(条件)
</pre>
<h3>［照合と検索を行う関数］</h3>
<pre class="language-none">
垂直照合(値，セル範囲，列の位置，検索の指定)

水平照合(値，セル範囲，行の位置，検索の指定)

照合検索(値，検索のセル範囲，抽出のセル範囲)

照合一致(値，セル範囲，検索の指定)

条件付合計(検索のセル範囲，条件，合計のセル範囲)
</pre>
<h3>［その他の関数］</h3>
<pre class="language-none">
個数(セル範囲)

条件付個数(セル範囲，検索条件)

順位(値，セル範囲，順序指定)

結合(文字列または式 1，文字列または式 2，・・・)

表引き(セル範囲，行の位置，列の位置)
</pre>
<p>仕様書を読んだだけでは、関数の機能がよくわからないことがあるかもしれません。その場合には、<span class="bold">自分でシンプルな具体例を作ってみましょう。</span></p>
<p>たとえば、以下は、仕様書に示された垂直照合の説明です。機能も例も文書で説明されているので、ちょっとわかりにくいでしょう。</p>
<figure><figcaption>[仕様書に示された説明]</figcaption><table class="block striped">
<tbody>
<td width="30%" style="vertical-align: top;"><code class="language-none">垂直照合(式，セル範囲，列の位置，検索の指定) </code></td>
<td width="70%">セル範囲の左端列を上から下に走査し，検索の指定によって指定される条件を満たすセルが現れる最初の行を探す。その行に対して，セル範囲の左端列から列を 1， 2，･･･  と数え，セル範囲に含まれる列の位置で指定した列にあるセルの値を返す。</p>
<ul class="mag_h10">
<li>検索の指定が 0 の場合の条件 : 式の値と一致する値を検索する。</li>
<li>検索の指定が 1 の場合の条件 : 式の値以下の最大値を検索する。このとき， 左端列は上から順に昇順に整列されている必要がある。 </li>
</ul>
<p>[例]<code class="language-none pad_w05">垂直照合 (15，A2:E10，5，0)</code> は，セル範囲の左端列をセル A2，A3， ･･･，A10 と探す。このとき，セル A6 で 15 を最初に見つけたとすると，左端列 A から数えて 5 列目の列 E 中で，セル A6 と同じ行にあるセル E6 の値を返す。</td>
</tbody>
</table>
</figure>
<p>以下は、仕様書の説明をもとに作成した具体例です。</p>
<p>照合と検索を行う関数の機能は、「表形式でデータが格納されているのだから、こういう関数があると便利だよね！」というものです。</p>
<p>表形式のデータは、データの範囲（赤い点線で囲んだ部分）の左端に縦に検索キー（ここでは、学生番号）があるものです。そこで左端で目的のデータを検索し、一致した位置から右方向に進んで、目的のデータ（ここでは、身長や体重）を得ます。それを行うのが垂直照合です。</p>
<p><code class="language-none">垂直照合(2, A2 ～ C4, 3, 0)</code> は、「 A2 ～ C4 の範囲の左端で」「 2 を検索し」「一致した位置から右に 3 個進め（先頭を 1 番目と数えます）」という意味です。</p>
<p>これによって、学生番号 2 の体重 55 が得られます。このような具体例を作ると、わかりやすいでしょう。</p>
<figure><figcaption>［シンプルな具体例］</figcaption><img class="materialboxed" src="../../wp-content/uploads/2018/08/worksheet3.png" alt="" loading="lazy" /><br />
</figure>
<div class="mag_h30 divider"></div>
<p><span class="badge red white-text" style="float: left!important;">PR</span></p>
<div class="center" style="padding-top: 1rem;">
<a href="https://www.amazon.co.jp/dp/B081QMR3CQ"><br />
<img class="hoverable z-depth-5" src="../../wp-content/uploads/2018/08/spreadsheet_banner.png" loading="lazy"><br />
</a>
</div>
<div class="mag_h30 divider"></div>
<h2>基礎知識 4：マクロの役割を知る</h2>
<p><span class="bold">表計算の問題の前半部は、セルに計算式を入力してワークシートを作るという内容です。そして、後半部は、そのワークシートを使うマクロを作るという内容です。</span></p>
<p>マクロは、プログラミング言語なので、「マクロが使えるなら、ワークシートなんて作らないで、全部プログラムでやっちゃえばいいじゃないか？」と思ったことはありませんか。</p>
<p>マクロの基礎知識として、そもそもなぜマクロを作るのかを理解しておきましょう。</p>
<p>表計算の使い方は、ワークシートを作ることが基本です。そのワークシートを手作業で使ってもよいのですが、データの入力と結果の確認を自動化するためにマクロを作るのです。</p>
<p>例を示しましょう。</p>
<p>以下は、学生のテストに結果に、何点かを加点（下駄を履かせるってヤツです）して、合格者が何人になるかを確認するためのワークシートです。テストを実施した先生が、合格者を増やすために使うものだと考えてください。</p>
<figure><figcaption>［学生のテスト結果に加点するワークシート］</figcaption><img class="hoverable materialboxed z-depth-5 mag_h30" src="../../wp-content/uploads/2018/08/worksheet4.png" alt="" loading="lazy" /><br />
</figure>
<p>A54 に加点を入力すると、E54 に加点後の合格者数が表示されます。先生は、現状の合格者が 30 人と少ないので、加点して 40 人以上にしたいとします。</p>
<p>まず、A54 に 1 を入力しました。合格者が増えて、E54 には 32 と表示されました。<br />
次に、A54 に 2 を入力しました。さらに合格者が増えて、E54 には 35 と表示されました。</p>
<p>この後は、A54 に 3 を入力して E54 を確認し、40 未満だったら A54 に 4 を入力して E54 を確認し、・・・・、という手順を手作業で繰り返すことになります。</p>
<p>このような面倒な作業を自動化するのが、マクロの役割です。</p>
<p>&nbsp;</p>
<p>以下は、合格者を 40 人以上にするには、最低何点を加点すればよいかを求めるマクロです。</p>
<p>繰り返し処理の前に、初期値として A54（加点）に 1 を入力しています。E54 ＜ 40（加点後の合格者数が40未満である限り）という条件で、A54 の値を 1 ずつ増やしています。</p>
<p>このマクロの実行が終了したとき、A54 には、合格者を 40 人以上にするための最低の加点が得られます。</p>
<p>&nbsp;</p>
<p>［データの入力と結果の確認を自動化するマクロの例］</p>
<pre>
<code class="language-none">○マクロ : AddPoint
･ A54 <- 1
■ E54 < 40
| ･ A54 <- A54 + 1
■</code>
</pre>
<div class="divider mag_h50"></div>
<p>実務で Excel を使うときには、あまり深く考えずにセルに計算式を入力して、結果が良ければそれで OK としているでしょう。</p>
<p><span class="bold">しかし、FE の表計算の問題では、結果を見ることができません。</span></p>
<p>「こういう計算式を入れて、このように＄を付けて、それをコピーして貼り付けたのだから、結果はこうなるはずだ」と考えなければなりません。</p>
<p>これは、<span class="bold">プログラムを作るときにアルゴリズムを考える行為に似ています。</span>表計算は、帳票の作成という用途に限定された <span class="bold">プログラミングツール</span> なのです。</p>
<p>だから、プログラミング言語の選択肢に表計算があるのです。</p>
<p>&nbsp;</p>
<p>他のプログラミング言語と比べて、何も引け目を感じることなどありませんので、堂々と表計算を選択してください。</p>
<p>&nbsp;</p>
<p>それでは、またお会いしましょう！</p>
<p>&nbsp;</p>
<p><i class="material-icons indigo-text">label</i> あわせて読みたい</p>
<p><a href="../guide_spreadsheet_1_of_questions_at_pm-2/"></p>
<div class="card hoverable">
<div class="row valign-wrapper direction-column-on-small">
<div class="col m4 pad_00 flex"><img src="../../wp-content/uploads/2018/08/spreadsheet2_cover.jpg" loading="lazy" /></div>
<div class="col m8 black-text bold pad_20">午後問題の歩き方 ｜ 表計算問題の解き方のパターン (2) 過去問演習</div>
</div>
</div>
<p></a></p>
<p>&nbsp;</p><p>The post <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/gogo_arukikata/guide_spreadsheet_1_of_questions_at_pm/">午後問題の歩き方 ｜ 表計算も簡単ではなくプログラミング問題（1）基礎知識</a> first appeared on <a href="https://www.seplus.jp/dokushuzemi/ec/fe/fenavi">基本情報技術者試験 受験ナビ｜科目A・科目B対策から過去問解説まで 250本以上の記事を掲載</a>.</p>]]></content:encoded>
			</item>
	</channel>
</rss>
