情報処理論，計算機工学（あわせて１２０分）
情報処理論：4 分野中 2 分野選択
計算機工学：4 分野中 2 分野選択
＜注意事項＞
・試験開始の合図があるまで，問題・解答冊子の中をみてはいけません．
・試験監督者の指示に従って，下の記入欄に受験番号と氏名を記入しなさい．
受験番号

氏名

・情報処理論の分野およびページは，下の通りです．この中から 2 分野を選び，解答しなさい．
分野

ページ

分野① C プログラミング

２～５

分野② Java プログラミング

６～９

分野③ データ構造とアルゴリズム

１０～１１

分野④ オペレーティングシステム

１２～１４

・計算機工学の分野およびページは，下の通りです．この中から 2 分野を選び，解答しなさい．
分野

ページ

分野① コンピュータアーキテクチャ

１５～１７

分野② 情報システム

１８～２０

分野③ 情報ネットワーク

２１～２３

分野④ データベースシステム

２４～２６

・試験中に，問題冊子の落丁や印刷不鮮明などの問題に気づいたときは，手を高く上げて知らせなさい．
・不正行為に対しては厳正に対処します．
・試験中は試験監督者の指示に従うこと．

1

情報処理論分野① C プログラミング

C プログラミングは，ページ２からページ５まで

問題．以下に示す C 言語で記述された＜プログラム＞は，自然数を素因数分解するものである．＜実行例＞を参考に＜プログラム＞中の空欄(a)～(j)に入る適切なものを各解答群のア～オより一つ選びなさい．

＜実行例１＞
自然数 30 を素因数分解する場合自然数を入力してください．：30
30 = 2 X 3 X 5＜実行例２＞
自然数 60 を素因数分解する場合自然数を入力してください．：60
60 = 2 X 2 X 3 X 5＜実行例３＞
自然数 5 を素因数分解する場合自然数を入力してください．：5
5 = 素数2

情報処理論C プログラミングは，ペー

分野① C プログラミング

ジ２からページ５まで＜プログラム＞(a)<stdio.h>(b)main(){int num;/* 素因数分解の対象となる自然数 */int prime = 1; /* 乗算演算子の表示の有無 */int factor = 2; /* 素数 */(c)("自然数を入力してください．：");(d)("%d",(e));
printf("%d =", num);/*２の倍数かどうかを判定する */if (num != factor){
while (num % factor == 0){
if (!prime) printf(" X");
printf(" %d", factor);(f);prime = 0;}}/*２以外の倍数どうかを判定する */factor++;while ((g)){
while (num % factor == 0){
if (!prime) printf(" X");
printf(" %d", factor);(f);prime = 0;}(h);}if (prime) printf(" 素数\n");else if (num > 1) printf(" X %d\n",else printf("\n");(j)0;}3(i));

情報処理論分野① C プログラミング

C プログラミングは，ページ２からページ５まで(a)に関する解答群
アイ
ウ
エ
オ

#import#using#include#pragma#region(a)(b)に関する解答群
ア if
イ voidウ function
エ int
オ var(b)(c), (d)に関する解答群
ア printf
イ writeln
ウ scanf
エ echoオ cout(c)(d)(e)に関する解答群
ア num
イ *numウ &numエ !numオ $num(e)(f)に関する解答群
ア num += factor
イ num -= factor
ウ num *= factor
エ num /= factor
オ num %= factor(f)(g)に関する解答群
ア num / factor >= num
イ num * factor >= factor
ウ num - factor >= num
エ num / factor >= factor
オ num % factor >= 1(g)4情報処理論分野① C プログラミング

C プログラミングは，ページ２からページ５まで(h)に関する解答群
ア factor = 1
イ factor += 2
ウ factor = 3
エ factor-オ factor -= 2(h)(i)に関する解答群
ア factor-イ factor / num
ウ num
エ num-オ prime(i)(j)に関する解答群
ア break
イ return
ウ exitエ throw
オ end(j)5Java プログラミングは，ペ

分野② Java プログラミング

情報処理論ージ６からページ９まで

次の問いに解答しなさい．

問題１．
次の記述が正しければ ○ を、間違っていれば × を ( ) に記入しなさい。
() boolean 型の変数は ture または false が入る。

() クラスに名前が同じで引数の形式が異なるメソッドを複数定義することを「オーバーライド」という。

() クラスのインスタンスが作成されて最初に実行されるメソッドを「コンストラクタ」という。

() Math.cos()はインスタンスメソッドである。

() 抽象クラスは単体ではオブジェクト（インスタンス）を作成できない。

問題２．
以下の文章中の空欄で、適切な語句を選んで記号をに記入しなさい。

１．
「class RacingCar extends Car{」とクラスの定義を行う場合、Car は、RacingCar はと呼ぶ。
ア）サブクラスイ）セカンドクラスウ）スーパークラスエ）ペアレントクラス

２．プログラムの実行中に発生するエラーに対して行う処理を

オ）スペシャルクラスといい、エラーが発生する可能性のある処理をブロックに記述し、エラーが発生した場合に備える。
ア）拡張処理イ）例外処理ウ）排他処理エ）errorオ）catch

３．クラスのメンバのアクセス制御について、アクセス制限が最も厳しいのはア）publicイ）protected

４．インタフェースはア）implements

ウ）privateエ）void

で記述し、同時に複数の実装がイ）importウ）instanceofカ）tryである。
オ）static。
エ）できるオ）できない５．String クラスは文字列を保存できるが変更できない。文字列の内容を変更したい場合はア）Characterイ）TextFieldウ）BufferedReaderオ）StringTokenizer

6キ）finallyエ）StringBuffer

クラスを使う。

情報処理論

分野② Java プログラミング

Java プログラミングは，ページ６からページ９まで

次の問いに解答しなさい．
問題３．
下記は一般社員(田中太郎)と課長(鈴木一郎)の年収を計算するプログラムである。一般社員の給与を計算する Shain クラスと、Shain クラスを継承して Kacho クラスを作り、課長の年収を計算している。一般社員の年収は 基本給×(12 + 6) であり、課長の年収は 一般社員の年収 + 150 で計算する。なお、一般社員と課長の基本給は共に 20 (万円) としている。
以下のプログラム「Salary.java」「Shain.java」「Kacho.java」における空欄(１) ～ (15) に適切なものを選び記入しなさい。

＜実行結果＞C:¥Java>java Salary
氏名:田中太郎, 役職:一般社員, 年収:360 万円
氏名:鈴木一郎, 役職:課長, 年収:510 万円「Salary.java」
import java.io.*;class Salary{
public static void main (String[] args){
Shain hi; // 一般社員の変数
Kacho ka; // 課長の変数
hi = new Shain("田中太郎"); // インスタンスを作成
hi.setSalary( 20 ); // 基本給の設定
hi.show(); // 名前、役職、年収を表示
ka = （１）; // インスタンスを作成
ka.setSalary(（２）); // 基本給の設定
ka.show(); // 名前、役職、年収を表示}}（１）の選択肢ア）Kacho(鈴木一郎) イ）Kacho("鈴木一郎") ウ）new Kacho(鈴木一郎) エ）new Kacho("鈴木一郎")（２）の選択肢ア）150イ）20ウ）20 + 150エ）510

7

情報処理論

分野② Java プログラミング

Java プログラミングは，ページ６からページ９まで「Shain.java」
class Shain{
String name; // 氏名
int base; // 基本給
int nenshu; // 年収// コンストラクタ、s:名前の指定
Shain( String s ){name = （３）;}// 基本給を設定して年収を計算する
void setSalary( int a ){base = a;nenshu = a*(12 + 6);}// 氏名、役職、年収の表示void show(){
System.out.print("氏名:" + name + ", 役職:一般社員, ");System.out.println("年収:" + nenshu + "万円");}}（３）の選択肢ア）Shain(s)イ）new Shain(s)ウ）new String(s)8エ）String(s)情報処理論

分野② Java プログラミング

Java プログラミングは，ページ６からページ９まで「Kacho.java」
class Kacho （４）Shain{// コンストラクタ、s:名前の指定
Kacho( String s ){（５）; // 親クラスのコンストラクタを呼び出す}// 基本給を設定して年収を計算する 課長の年収は 一般社員の年収＋手当 150 万円
void setSalary( int a ){（６）.setSalary( a );nenshu = （７）;}// 氏名、役職、年収の表示
void show(){System.out.print("氏名:" + （８）+ ", 役職:課長, ");System.out.println("年収:" + nenshu + "万円");}}（４）の選択肢ア）implementsイ）abstractウ）extendsエ）export（５）の選択肢ア）super(s)イ）this(s)ウ）Shain(s)エ）Kacho(s)（６）の選択肢ア）nenshuイ）baseウ）thisエ）super（７）の選択肢

ア）baseイ）base+150

ウ）nenshuエ）nenshu+150（８）の選択肢ア）nameイ）String(name)ウ）Shain.name9エ）Kacho.name情報処理論分野③ データ構造とアルゴリ データ構造とアルゴリズム

は，ページ１０からページズム

１１まで

次の問いに答えなさい．
問題

項目数 6 の配列に収められているキーを図のように昇順に整列する．

9 2 4 3 8 6 → 2 3 4 6 8 9
このとき，次の問いに答えなさい．
（１）選択ソート(基本選択法)を用いて整列した場合の途中経過を示しなさい．

（２）挿入ソート(基本挿入法)を用いて整列した場合の途中経過を示しなさい．

10情報処理論分野③ データ構造とアルゴリ データ構造とアルゴリズム

は，ページ１０からページズム

１１まで（３）バブルソート(基本交換法)を用いて整列した場合の途中経過を示しなさい．

（４）上の３つの整列アルゴリズムのうちで交換回数が最も多いのはどれですか．

（５）「整列アルゴリズムが安定である」とはどういうことかを説明しなさい。そして上の３つのアルゴリズムについてそれぞれが安定であるかどうかを答えなさい．

ア) 基本選択法：イ)

基本挿入法：ウ)

バブルソート：11

情報処理論分野④ オペレーティングシス オペレーティングシステム

は，ページ１２からページテム

１４まで次の問いに解答しなさい．
問題１．オペレーティングシステム内におけるプロセスは 3 つの状態で存在し，下の図のようにあらわされる．

図．プロセスの 3 状態

（１）実行状態：すべての実行に必要なリソースを獲得し実行中の状態
実行可能状態：（CPU 以外のリソースはすべて獲得し，）CPU リソースを確保できれば，プロセスを実行可能な状態
残るもう一つの状態の名称と内容を記述しなさい．

（）状態

内容：

（２）実行中のプロセスは，この三状態を遷移する．それぞれの状態を遷移する条件を次に示す．
各条件の番号を図中に書き込みなさい．
① CPU スケジューラによって CPU リソースが割り当てられたとき② 実行優先度の高いプロセスの割込みや，自プロセスに割り当てられた CPU 利用可能時間を使い切ったとき③ プロセスがスーパーバイザコールを実行したときや，実行に必要な CPU 以外のリソースを失ったとき④ CPU 以外の実行に必要なリソースを確保できた場合や，オペレーティングシステムに依頼したスーパーバイザコールが終了したとき12情報処理論分野④ オペレーティングシス オペレーティングシステム

は，ページ１２からページテム

１４まで

次の問いに解答しなさい．
問題 2．以下の表に 3 つのプロセスの処理時間と，プロセスがオペレーティングシステムに到着し，待ち行列に追加された時刻を示す．ここでターンアラウンドタイムとはプロセスの到着時刻から処理終了時刻までの時間である．
ラウンドロビンスケジューリング（クオンタムは 1 秒とする）を用いた場合の，それぞれのプロセスのターンアラウンドタイムと平均ターンアラウンドタイムを求めなさい．
表．プロセスの到着時刻と処理時間
プロセス名

処理時間[秒]

到着時刻[秒]

A

160B

105C

5813

情報処理論分野④ オペレーティングシス オペレーティングシステム

は，ページ１２からページテム１４まで次の問いに解答しなさい．
問題 3．ページングによる仮想記憶システムにおいて，ページ置き換えアルゴリズムとして，FIFO（到着順ページ置き換え）方式を用いた場合の最終のページテーブルの内容とページフォールト回数を示しなさい．なお主記
憶は 4 ページ，ページはプログラム中「0 1 2 3 1 4 5 3 6 7」の順で参照されるものとする．また，最初は主記憶にどのページもロードされていないものとする．

ページ参照列

0123

140*

0000

4*

1*

111

12*2223*

3

3

5367

ページフレーム
0123*ページフォールトの発生
図．FIFO アルゴリズムによるページ置き換え

14計算機工学分野① コンピュータアーキテ コンピュータアーキテクチ

ャは，ページ１５からペー

クチャ

ジ１７まで

次の問いに解答しなさい．
問題１．
（１）１０進数の４８は 2 進数で何になるか？

（２）８ビットの２進数で表現できる数は何通りになるか？

（３）次は，AND 演算に関する真理値表である．空欄を補充しなさい

PQ

P AND Q

True（真）True（真）True（真）True（真）False（偽）False（偽）True（真）False（偽）False（偽）（４）１０進数の「－２」は，８ビットの２の補数表現の２進数で何になるか？

15

計算機工学分野① コンピュータアーキテ コンピュータアーキテクチ

ャは，ページ１５からペー

クチャ

ジ１７まで

次の問いに解答しなさい．
問題２．
（１）浮動小数点数の指数部は，何のためにあるのか？

（２）コンピュータでの計算で誤差が生じる原因は何か？

説明しなさい．

説明しなさい．

16

計算機工学分野① コンピュータアーキテ コンピュータアーキテクチ

ャは，ページ１５からペー

クチャ

ジ１７まで

次の問いに解答しなさい．
問題３．
（１）プロセッサ（CPU）の中に，キャッシュメモリが無かったとすると，キャッシュメモリが有るときと比べて，何が変わるか？ 説明しなさい．

（２）プロセッサの性能を表す指標について，具体例を挙げて説明しなさい．

17

計算機工学分野② 情報システム

情報システムは，ページ１８からページ２０まで次の問いに解答しなさい．
問題１．コンピュータのハードウェアは図のように，5 つの装置から構成されています．

図．コンピュータの基本構成（１）①に当たる装置の名称と動作を説明しなさい．

（２）②に当たる装置の名称と動作を説明しなさい．

（３）入力装置の例を 2 つ挙げなさい．

18

計算機工学分野② 情報システム

情報システムは，ページ１８からページ２０まで

次の問いに解答しなさい．
問題２．記憶装置に関して，下記の問いに答えなさい．
（１）主記憶装置は，半導体の記憶素子で構成されています．
ROM と RAM の違いについて，「揮発性」，「不揮発性」，「電源」の 3 つの用語を用いて説明しなさい．

（２）外部記憶装置の一つである HDD の性能は，記憶容量や動作速度の一つである平均アクセス時間などによってあらわされます．平均アクセス時間は，以下の式で算出されます．
平均アクセス時間=平均待ち時間+データ転送時間
平均待ち時間=平均回転待ち時間+平均シーク時間
平均回転待ち時間=回転時間÷2
データ転送時間 2ms，平均シーク時間 3ms，回転数が 6000 回転/分のディスクの平均アクセス時間を求めな
さい．

19

計算機工学分野② 情報システム

情報システムは，ページ１８からページ２０まで次の問いに解答しなさい．
問題 3．システムの信頼性に関して，下記の問いに答えなさい．
（１）システムの稼働率を表す式を平均故障間隔 MTBF と平均修理時間 MTTR を用いて記述しなさい．

（２）装置を次の図のように接続したとき，全体の信頼度を表す式を記述しなさい．
ただし，各装置の信頼度はすべて r とする．

図．システムの構成図

20

情報ネットワークは，ペー

分野③ 情報ネットワーク計算機工学

ジ２１からページ２３まで

次の問いに解答しなさい．
問題１．
以下の表は代表的なウェルノウンポート番号とプロトコル名および簡単な説明を記したものである。空欄の(１)～(10)に適切と思われるものを選択肢から選び、記号を記入しなさい。

ポート番号

プロトコル名

内容

20,21

(３)

(７)

25

(４)

(８)

53

(５)

(９)

(１)

(６)

(２)

Web、ホームページ用
POP3

(10)

(１)、(２) の選択肢
ア）64イ）80ウ）90エ）100オ）110(３) ～ (６) の選択肢ア）SMTPイ）ARPウ）DHCPエ）FTPオ）IMAPカ）DNSキ）LDAPク）HTTP

ケ）PPP

コ）IRC

(７) ～ (10) の選択肢
ア）正確な時刻の同期オ）遠隔認証イ）電子メールの取得

カ）ドメイン名の名前解決

ケ）電子メールの配送・転送ウ）IP アドレスの貸与

エ）MAC アドレスの取得

キ）ネットワーク機器を監視する

コ）リモート接続の認証

21ク）ファイルの転送

計算機工学分野③ 情報ネットワーク

情報ネットワークは，ページ２１からページ２３まで

次の問いに解答しなさい．
問題２．
以下の図について、以下の問いに答えなさい。

１．端末(5)を新しくネットワーク B に追加したい。
ネットワークが利用できるように正しい設定を選んでア)～オ)を記入しなさい。
・IP アドレスの設定はである。

ア）192.168.1.0

イ）192.168.1.1

ウ）192.168.1.128

エ）192.168.1.255

オ）192.168.255.256
・サブネットマスクはである。

ア）255.255.0.0

イ）255.255.24.0

ウ）255.255.255.1

エ）255.255.255.0

オ）255.255.255.254
・デフォルトゲートウェイはア）192.168.1.0である。

イ）192.168.1.1

ウ）192.168.172.16

エ）172.16.2.0

オ）172.16.2.1

２．ネットワーク A に DHCP サーバが設置されているが、ネットワーク B には設置されていないとする。以下の説明文で正しいものを１つ選びなさい。

答え）ア）ネットワーク B では、どのような設定をしてもネットワーク A の DHCP サーバを利用するのは不可能である
イ）ネットワーク A の DHCP サーバは、172.16.2.1～172.16.2.255 のいずれかの IP アドレスを割り当てるウ）ネットワーク B に新しい PC を参加させる場合、「IP アドレスを自動的に取得」の設定で利用可能となるエ）ネットワーク A に新しい PC を参加させる場合、「IP アドレスを自動的に取得」の設定で利用可能となる

３．ネットワーク B の端末(3)からブローキャストアドレス宛にパケットを送信した場合の説明文で、正しいものを１つ選びな
さい。 答え）ア）パケットは端末(4)には届くが、端末(1)には届かないイ）パケットは端末(1)には届くが、端末(4)には届かないウ）パケットはネットワーク A とネットワーク B のすべての端末に届けられるエ）パケットはネットワーク A のすべての端末に届けられる22

情報ネットワークは，ペー

分野③ 情報ネットワーク

計算機工学

ジ２１からページ２３まで

次の問いに解答しなさい．
問題３．
以下の説明文で、空欄

１．TCP はに入れる適切な記号を選び、記入しなさい。

特徴があり、UDP は特徴がある。

ア）送信速度が速く、データの信頼性も高い
イ）送信速度は速いが、データの信頼性は高くないウ）送信速度は速いが、無線 LAN では使えないエ）送信速度は速くないが、無線 LAN のみで使えるオ）送信速度は速くないが、データの信頼性が高い

２．IPv4 のアドレスはア）8ビットで構成されており、新しい規格の IPv6 はイ）16

３．bps はウ）32エ）64オ）96カ）128の頭文字を取ったものであり、

ア）bytes per secondイ）bytes per sendオ）1 秒あたりのデータ伝送量キ）256ウ）bets per sendカ）1 秒あたりのデータ修正量イ）127.0.0.1

オ）自分自身のアドレス

５．HTTP はア）証明書が発行できないオ）HTTPSウ）1.0.0.127イ）認証技術がないカ）Basic 認証エ）bits per secondキ）1 秒あたりのデータ変換量であり、を意味する。

エ）127.1.1.0

カ）プライベートアドレス

ので、情報漏洩を防ぐにはク）512のことである。

４．ループバックアドレスは特別な IP アドレスであり、IPv4 では

ア）0.0.0.1ビットに拡張されている。

キ）ネットワークアドレスク）ユニキャストアドレスを使う方がよい。

ウ）暗号化されていないキ）プロキシサーバ

23ク）WebDAVエ）速度が遅い計算機工学

分野④ データベースシステム

データベースシステムは，ページ２４からページ２６まで

問題１．
（１）リレーショナルテーブルのテーブルについて，正規化を行う利点と欠点を説明しなさい．

（２）「主キー」の無いテーブルがあり得るかついて説明しなさい．

24

計算機工学分野④ データベースシステム

データベースシステムは，ページ２４からページ２６まで次の問いに解答しなさい．
問題２．ＳＱＬに関する次の問いに解答しなさい．
リレーショナルデータベースに，次のテーブル A が格納されている．
科目番号
123

科目名
データベース
プログラミング
オペレーティングシステム

教室番号101201103（１）下のテーブルを得るＳＱＬを書きなさい．
科目番号
1

科目名
データベース

教室番号101（２）下のテーブルを得るＳＱＬを書きなさい．
科目名データベース

教室番号101（３）次のＳＱＬの結果は何になるか？
select * from A;

25

計算機工学分野④ データベースシステム

データベースシステムは，ページ２４からページ２６まで次の問いに解答しなさい．
問題３．ＳＱＬに関する次の問いに解答しなさい．
リレーショナルデータベースに，次のテーブル B が格納されている．
商品名
りんご
りんご
ぶどう
ぶどう
バナナ

色

価格
赤黄緑
紫黄

100
200
500
400200（１）次のＳＱＬの結果は何になるか？
select 商品名, count(*) from B group by 商品名;
次の空欄に記入しなさい

りんご
ぶどう
バナナ
（２）次のＳＱＬの結果は何になるか？
select 色, count(*) from B group by 色;
次の空欄に記入しなさい

赤
黄緑
紫26