情報システム試験

文部科学省後援

令和２年度前期 情報検定＜実施

令和2年9月13日（日）＞基本スキル（説明時間13：00～13：10）（試験時間13：10～14：10）

・試験問題は試験開始の合図があるまで開かないでください。
・解答用紙（マークシート）への必要事項の記入は，試験開始の合図と同時に行いますので，それまで伏せておいてください。
・試験開始の合図の後，次のページを開いてください。＜受験上の注意＞が記載されています。必ず目を通してから解答を始めてください。
・試験問題は，すべてマークシート方式です。正解と思われるものを１つ選び，解答欄のをＨＢの黒鉛筆でぬりつぶしてください。２つ以上ぬりつぶすと，不正解になります。
・辞書，参考書類の使用および筆記用具の貸し借りは一切禁止です。
・電卓の使用が認められます。ただし，下記の機種については使用が認められません。
＜使用を認めない電卓＞．．
１．電池式（太陽電池を含む）以外 の電卓
２．文字表示領域が複数行ある電卓（計算状態表示の一行は含まない）
３．プログラムを組み込む機能がある電卓
４．電卓が主たる機能ではないもの＊パ ソ コ ン （ 電 子 メ ー ル 専 用 機 等 を 含 む ）， 携 帯 電 話 （ Ｐ Ｈ Ｓ ），ス マ ー ト フ ォ ン ， タ ブ レ ッ ト ， 電子手帳，電子メモ，電子辞書，翻訳機能付き電卓，音声応答のある電卓，電卓付き腕時計，時 計 型
ウェアラブル端末等
５．その他試験監督者が不適切と認めるもの

一般財団法人

職業教育・キャリア教育財団

1基本スキル＜受験上の注意＞
１．この試験問題は15ページあります。ページ数を確認してください。
乱丁等がある場合は，手をあげて試験監督者に合図してください。
※問題を読みやすくするために空白ページを設けている場合があります。
２．解答用紙（マークシート）に，受験者氏名・受験番号を記入し，受験番号下欄の数字をぬりつぶしてください。正しく記入されていない場合は，採点されませんので十分注意してください。
３．試験問題についての質問には，一切答えられません。自分で判断して解答してください。
４．試験中の筆記用具の貸し借りは一切禁止します。筆記用具が破損等により使用不能となった場合は，手をあげて試験監督者に合図してください。
５．試験を開始してから30分以内は途中退出できません。30分経過後退出する場合は，もう一度，受験番号・マーク・氏名が記載されているか確認して退出してください。なお，試験終了５分前の合図以降は退出できません。試験問題は各自お持ち帰りください。
６．試験後にお知らせする合否結果（合否通知），および合格者に交付する「合格証・認定証」はすべて，Ｗｅｂページ（ＰＣ，モバイル）での認証によるディジタル「合否通知」，ディジタル「合格証・認定証」に移行しました。
①団体宛にはこれまでと同様に合否結果一覧ほか，試験結果資料一式を送付します。
②合否等の結果についての電話・手紙等でのお問い合わせには，一切応じられませんので，ご了承ください。

2
基本スキル

問題を読みやすくするために，このページは空白にしてあります。

1
基本スキル
DATE\@問題１

次のソフトウェア規模の見積りに関する記述を読み，各設問に答えよ。
ソフトウェア開発では，開発期間や必要な要員数について計画段階から正確に把握することが重要である。
＜設問１＞

次のファンクションポイント法に関する記述中の(1)に入れるべき適切な字句を解答群から選べ。
ファンクションポイント法とは，ソフトウェア仕様から表１に示す５項目の分類で機能数を洗い出し，機能ごとの複雑度から重み付けを行い，ファンクションポイント(FP 値)を算出して，ソフトウェア規模の見積りを行う手法である。
いま，機能ごとの FP 値を次式により算出し，その合計をソフトウェアの FP 値とする。
機能ごとの FP 値＝機能の個数×複雑度の重み
ソフトウェアの FP 値＝機能ごとの FP 値の合計×補正係数(0.75)
表１に，あるソフトウェアの機能の個数および複雑度の重みを示す。
表１
機

機能の個数および複雑さの重み

能

機能の個数

複雑度の重み

外部入力

43

外部出力

63

外部参照3

2

内部論理ファイル

36

外部インタフェース

44

表において，外部出力の FP 値は計は(2)(1)

であり，すべての機能ごとの FP 値の合である。したがって，このソフトウェアの FP 値は(1) ～ (3) の解答群
ア．122
基本スキル

イ．18

ウ．52.5エ．70(3)となる。

＜設問２＞

次の工数計算に関する記述中の(1)に入れるべき適切な字句を解答群から選べ。
ソフトウェア開発の見積りによく利用されるのが工数である。工数は[人月]などの単位が使われる。ここで 1 [人月]は，一人の開発者が 1 ヵ月で行う作業量である。
例えば，工数が 20[人月]の場合５人の開発者で作業すると４ヵ月で開発することができる。
＜計算式＞

20[人月]÷5 [人] = 4 [ヵ月]

なお，作業量に個人差があるが，見積りでは平均的な値として考える。
いま，ソフトウェアの開発工数を 100[人月]と見積り，開発者 10 人のチームで 10 ヵ月の計画で開発を開始した。５ヵ月が経過した時点で進捗状況を月末の累積工数でチェックしたところ，表２のようになった。
表２
項目

経過月末時点での進捗表
累積工数(単位：人月)

1月

2月

3月

4月

5月

6月

7月

8月

9月

10 月

計画

102030405060708090100

実績

816243240－－－－－

5 ヵ月経過時点での累積工数は，計画では 50[人月]だが実績は 40[人月]分の工数しか終了していなかった。このチーム 1 ヵ月の平均作業工数は開発者一人当たりの工数は(5)(4)[人月]であり，[人月]の能力と判断される。

したがって，残りの工数 60[人月]をこのままのペースで作業を続けた場合，開発期間は(6)ために(7)ヵ月延びることになる。そこで，計画通り 10 ヵ月で作業を完了させる人増員することにした。ただし，増員される開発者も現在の実績と同じ能力とする。
(4) の解答群
ア．6

イ．8ウ．10

イ．0.8

ウ．1.0

イ．1.5

ウ．2.5

イ．4

ウ．5

(5) の解答群
ア．0.6(6) の解答群
ア．1(7) の解答群
ア．3

3
基本スキル
DATE

\@問題２

次のデータ圧縮に関する記述を読み，各設問に答えよ。
静止画や動画などのコンテンツは，そのまま記録するとファイルサイズが巨大になるため，データ伝送や保存する場合に効率が悪くなる。そこで，圧縮して記録し再生時に伸張する方式が一般的である。画像のみならず文字データにも適用できる。
＜設問１＞

次のランレングス符号化に関する記述中の(1)に入れるべき適切な値を解答群から選べ。
ランレングス符号化は，同じデータ(英字)が連続して出現することに着目して圧縮する方法であり，ここでは 3 文字以上連続している場合に「データ(英字)＋連続した個数」の形でまとめる。ただし，3 文字未満の場合はそのままとする。
表１の①～③はランレングス符号化により圧縮したものである。
表１

ランレングス符号化
圧縮前

圧縮後①

AAAAABBBAACCCCCCDDDD

A5B3AAC6D4②

EEEFFFFFGGGHHHHH

(1)

③

EFGH

(2)

圧縮率を次のように定義する。
圧縮率(％)＝(圧縮後の文字数)÷(圧縮前の文字数)×100①の圧縮率は(3)％となる。

また，①と②のように連続するデータが多いと圧縮後のデータ量が減少するが，③のように連続するデータが無いと圧縮が行われないためデータ量は減少しない。
(1) ，(2) の解答群
ア．EFGH

イ．E1F1G1H1

ウ．E3F2G3H2

エ．E3F5G3H5

イ．25

ウ．50

エ．75

(3) の解答群
ア．10

4
基本スキル

＜設問２＞

次のハフマン符号化に関する記述中の(1)に入れるべき適切な値を解答群から選べ。
文字コードには固定長のビットが割り当てられている。例えば JIS８単位符号では１文字が８ビットである。ハフマン符号は，出現頻度の高い文字には短い符号を，出現頻度の低い文字には長い符号を割り当てる方法である。
ある文書の文字の出現確率を調べたところ，表２の結果を得た。
表２

各文字の出現確率

文字出現確率(%)

Ａ60

Ｂ24Ｃ12Ｄ

4

出現確率の低い方から文字を二つ選び，それらを葉とする２分木を作成し，親となる節には葉の出現確率の合計を記述する(図１)。なお，出現確率の高い方を左側の葉とする。また，２分木では子を持つ場合を“節” 子を持たない場合を“葉”と呼び，節や葉を結ぶ線を“枝”と呼ぶ。
16Ｃ

図１Ｄ

最初の２分木

次に，この節の出現確率と他の文字の出現確率の中から同様に出現確率の低い二つを選び２分木を作成する(図２)。
40
Ｂ

16Ｃ

図２Ｄ

次の２分木

これらの操作を，すべての文字が葉になるまで繰り返し，左の枝に“1”右の枝に “0”を割り当てる(図３)。

5基本スキルDATE\@10010Ａ

40

図３10Ｂ1610ＣＤ

完成した２分木

図３において，文字が格納された葉にたどりつくまでの枝の数字(ビット)を並べたものが，その文字に割り当てられたハフマン符号である。
表３

データの文字とハフマン符号
文字

ハフマン符号

Ａ

(4)

Ｂ

(5)

Ｃ

(6)

Ｄ

(7)

(4) ～ (7) の解答群

6
基本スキル

ア．0

イ．1

オ．000

カ．001

ウ．00

エ．01

問題を読みやすくするために，このページは空白にしてあります。

7
基本スキル
DATE

\@問題３

次のデータ構造に関する各設問に答えよ。
データがプログラムでどのように扱われるかを定義したものをデータ構造と呼ぶ。

データ構造は，プログラムの処理効率に大きな影響を与えるため，様々な構造が考えられている。
＜設問１＞

次の２分木へのノードの追加に関する記述中の(1)に入れるべき適切な字句を解答群から選べ。なお，解答は重複して選んでもよい。
２分木とは，１つの親ノードから分岐する子ノードが２つ以下のものを指す。ここでは，ノードの値が必ず「左子ノード＜親ノード＜右子ノード」となる順序木を扱うものとする。また，ノードの値に同じものは無いものとする。

親ノード
528

左子ノード

右子ノード

図１２分木

２分木にノードを追加するには，まず親ノードと追加ノードの値を比較する。追加
ノードの値が小さい場合は左子ノードへ，大きい場合は右子ノードへ進む。進んだ先にノードが存在する場合は値の比較を繰り返し，進んだ先にノードが存在しない場合は追加データをその方向の子データとして追加する。なお，ここではノードの値や位置を入れ替えることはしないものとする。
図２の状態にある２分木に対して，順序木になるようにノードを追加する。

2115106

基本スキル

182712
図２834

追加前の２分木｢14｣を２分木に追加する位置は，｢33｣を２分木に追加する位置は，(1)(3)の値を持つノードのの値を持つノードの(2)であり，(4)である。

(1) ，(3) の解答群
ア．6

イ．12

ウ．18

エ．27

オ．39

(2) ，(4) の解答群
ア．左子ノード＜設問２＞

イ．右子ノード

次の２分木からノードを削除する処理に関する記述中の(1)に入れるべき適切な字句を解答群から選べ。

2922

17

83724

33

2327

図３

削除前の２分木4338

子ノードを持つ親ノードを削除する場合，自身以下のノードから新しく親になるノードを選び移動する。図３の状態で｢22｣の値を持つノードを削除する場合，順序木になるようにするためには左部分木の最大値，または右部分木の最小値を移動しなければならないため，移動する候補は(5)の値を持つノードとなる。また， 図３の状態から ｢37｣の値を持つノードを削除する場合は移動する候補は(6)の値を持つノードとなる。
(5) ，(6) の解答群
ア．｢8｣または｢27｣イ．｢17｣または｢23｣ウ．｢33｣または｢43｣エ．｢33｣または｢38｣9
基本スキルDATE\@＜設問３＞

次の単方向リストへの追加・削除に関する記述中の(1)に入れるべ

き適切な字句を解答群から選べ。
リストとは，リスト要素同士をポインタで結ぶ構造である。リストの先頭から順番にデータにアクセスし，後戻りできないものを単方向リストと呼ぶ。単方向リストの先頭の位置は root に格納し，最後の要素のポインタには null を格納する。
root
ポインタ

データ

ポインタ
データ･･･

図４

データ

ポインタ

ポインタ

データ･･･null

単方向リストの構造

図５は，単方向リストをメモリに展開した図である。ここでは，root の値が｢2000｣
なので，リストの先頭は 2000 番地から始まる。リストの先頭からたどると｢100，150，220，280，350｣の順番にデータが参照できる。

root
2000

図５

1000番地

データ150ポインタ
3000

2000番地100

1000

3000番地220

4000

4000番地280

5000

5000番地350

null

メモリに展開した単方向リスト

リストに対してデータを追加や削除する処理は，ポインタの値を入れ替えればよい。
ここで，図５の状態にデータ｢250｣を 6000 番地に追加し，｢220｣と｢280｣の間に参照されるように挿入する。追加前は，リストを参照する順番は｢…→3000 番地→4000 番地→5000 番地｣となっているので，この間に 6000 番地を参照するようにポインタを変更する。この場合，3000 番地のポインタを(7)，6000 番 地 の ポ イ ン タ を(8)に変更する。
ま た ， 図 ５ の 状 態 か ら 1000 番 地 に 格 納 さ れ て い る デ ー タ ｢150｣を 削 除 す る に は ，(9)番地のポインタを(10)に変更すればよい。

(7) ～ (10) の解答群

10
基本スキル

ア．1000イ．2000ウ．3000エ．4000オ．5000カ．6000

問題４

次の論理演算に関する各設問に答えよ。
論理演算とは，真と偽の２種類で行う演算である。ここでは，真を 1，偽を 0 とする。主な論理演算を表１に示す。
表１

主な論理演算

論理演算
論理積(AND)
論理和(OR)
否定(NOT)

内容

入力する値が全て 1 であれば 1 を，それ以外は 0 を出力する。
演算記号として，｢・｣を使用する。
入力する値に一つでも１があれば１を，それ以外は 0 を出力する。演算記号として，｢＋｣を使用する。
入力された値の否定(1 なら 0，0 なら 1)の値を出力する。演算記号として，｢￣｣を使用する。

また，真理値表は論理変数の取りうる値すべての組合せと，その演算結果を表にしたものである。表２に，論理式 A・B ，A＋B と否定の真理値表を示す。
表２

論理式 A・B ，A＋B と否定の真理値表

入力

出力

入力

出力

AB

ANDORANOT00000101011010011111

論理式は，論理法則などを利用して簡素化できる。主な論理法則を表３に示す。なお，優先順位は()内，否定，論理積，論理和の順である。
表３

主な論理法則

論理法則

簡素化の例

同一の法則

A＋A＝A，A・A＝A

恒等の法則

A・0＝0，A＋0＝A，A・1＝A，A＋1＝1

補元の法則

A・A＝0，A＋A＝1

分配の法則

A・（B＋C)＝A・B＋A・C，A＋B・C＝(A＋B)・(A＋C)

吸収の法則

A＋A・B＝A，A・(A＋B)＝A

ド・モルガンの法則

A・B＝A＋B，A＋B＝A・B

11
基本スキル
DATE\@CPU 内部での演算は，論理回路の組み合わせにより実現される。論理回路を表すにはミル記号が用いられる。図１にミル記号を示す。
論理回路

ANDORNOT

ミル記号
図１

ミル記号

なお，AND 回路と NOT 回路を組み合わせて否定論理積演算(NAND)を，OR 回路と NOT回路を組み合わせて否定論理和演算(NOR)を構成できる。また，排他的論理和(XOR)はAND 回路，OR 回路と NOT 回路を組み合わせで実現できる。
＜設問１＞

次の論理式と等価な真理値表を出力する論理回路を選べ。

(1) A・B＋A＋B(2) A＋(A・B)(3) A・B＋B＋A・B(1) ～ (3) の解答群
ア． A

X

イ．

X

B

B

ウ． A

エ．

X
B

12
基本スキル

A

A
B

X

＜設問２＞

次のビットの加算に関する記述中の(1)に入れるべき適切な字句を解答群から選べ。
同じ位置にあるビット同士の加算を考える。1 ビットの加算は，図２のようになり，真理値表は表４となる。
A ：0

B ：

＋00＋00

1

1＋01
図２

表４

10＋01

1
10

１ビットの加算

１ビットの加算結果の真理値表

入力

演算結果

A

B

同桁の和桁上がり0000011010101101

表４から，同桁の和は(4)，桁上がりは(5)の論理回路で表現できることがわかる。このように，１桁の２進数を二つ加算して同桁の和と桁上がりを出力するものを(6)と呼ぶ。ただし，下位からの桁上がりを考慮していないため，最下位ビットの演算しか行えない。そこで，下位からの桁上がりを含めた加算回路が必要である。これは，二つの(6)と一つの(7)回路で構成されている。
(4) ，(5) の解答群
ア．XOR(EOR)

イ．NOT

ウ．NAND

エ．NOR

オ．AND

カ．OR

イ．全加算器

ウ．半加算器(6) の解答群
ア．アキュムレータ(7) の解答群
ア．NAND

イ．NOR

ウ．AND

エ．OR

13
基本スキル
DATE

\@問題５

次のシステムの利用形態に関する記述を読み，各設問に答えよ。
ネットワークを利用したシステムの利用形態には，集中処理システムと分散処理システムがある。
＜設問１＞

次のシステムの利用形態に関する記述中の項目に該当する処理の組み合わせを解答群から選べ。
表は，集中処理システムと分散処理システムを比較したものであり，他方に対しての特徴を表している。
表
項目

特徴の記述
特徴

Ａ

コンピュータ(処理装置)の停止が全体の停止になる。

Ｂ

セキュリティの管理が容易である。

Ｃ運用や保守の管理が複雑である。

(1) の解答群
ア．

ウ．

Ａ

集中処理

Ｂ

Ａ

集中処理

集中処理

Ｂ

集中処理

Ｃ

集中処理

Ｃ

分散処理

Ａ

集中処理

Ａ

分散処理

Ｂ

分散処理

Ｂ

分散処理

Ｃ

集中処理

Ｃ

分散処理

＜設問２＞

イ．

エ.

次の分散処理に関する記述中の(1)に入れるべき適切な字句を解答群から選べ。
分散処理の接続形態は，複数のコンピュータを対等に接続する(2)を依頼するコンピュータと処理を実行するコンピュータに主従関係がある

型，処理(3)型がある。
また，分散処理にはそれぞれ目的がある。処理の中断を最小限にとどめるため，１台のコンピュータが停止したときに他のコンピュータが補うFEP(前処理)や BEP(後処理)のように分割し集中させないより利用するコンピュータを分ける

14
基本スキル

(6)

分散がある。

(5)(4)

分散，処理を分散，処理内容に

(2) ～ (6) の解答群
ア．機能

イ．クライアント／サーバ

ウ．ピアツーピア

エ．プロキシサーバ

オ．負荷

カ．リスク

＜設問３＞

次のネットワークの稼働率に関する記述中の(1)に入れるべき適切な字句を解答群から選べ。
図１に示すように，福岡と東京を結ぶ稼働率 0.9 の回線がある。福岡－東京間の回線の信頼性を高めるために，図２に示すように大阪経由の迂回回線を追加した。図２における福岡－東京間の稼働率は(7)となる。ただし，追加した迂回回線の稼働率は福岡－大阪間，大阪－東京間ともに 0.8 である。

0.9

福岡

図１

図２

東京

福岡－東京間の回線

福岡－東京間の回線(迂回回線あり)(7) の解答群
ア．0.900

イ．0.964

ウ．0.999

15
基本スキル
DATE\@＜メモ欄＞16
基本スキル＜メモ欄＞

17
基本スキル
DATE\@18
基本スキル