東京理科大学 infoserv[更新日]1999.04.30


次の問3から問6までの4問については,この中から2問を選択し,
答案用紙の選択欄の をマークして 解答してください。
 なお,3問以上選択した場合には,はじめの2問について採点します。

問3  機械語のプログラムへのアセンブルに関する次の記述を読んで,設問 1,2 に 答えよ。

二つの整数 9 と 5 の加算を行うアセンブラ言語 CASL のプログラムを次に示す。

なお,この計算機の 1 語は 16 ビットであり,命令語は 2 語長である。番地は, 語単位に付けられている。また,16 ビットの汎用レジスタ(GR)が 5 個あり, 汎用レジスタ 0 番から 4 番までとする。このうち, 1 番から 4 番までのレジスタは, 指標レジスタ(XR)としても用いる。

〔CASLのプログラム〕
ラベル   命令コード   オペランド   注釈 
KASAN   START                ;プログラムの先頭を示す
        ST        GR1,SAGR1  ;汎用レジスタ 1 番の内容をラベル SAGR1 の番地に格納
        ST        GR3,SAGR3  ;汎用レジスタ 3 番の内容をラベル SAGR3 の番地に格納
        LEA       GR3,2      ;汎用レジスタ 3 番に整数 2 を設定
        LD        GR1,X      ;汎用レジスタ 1 番にラベル X の番地の内容を設定
        ADD       GR1,Y      ;汎用レジスタ 1 番の内容にラベル Y の番地の内容を加算
        ST        GR1,Z,GR3  ;汎用レジスタ 1 番の内容を,ラベル Z の番地と指標レジ
                             ;スタ 3 番の内容との加算値が示す番地に格納
        LD        GR1,SAGR1  ;汎用レジスタ 1 番にラベル SAGR1 の番地の内容を設定
        LD        GR3,SAGR3  ;汎用レジスタ 3 番にラベル SAGR3 の番地の内容を設定
        EXIT                 ;プログラムの実行終了
SAGR1   DS        1          ;1 語分の領域を確保し,その番地を SAGR1 で参照
SAGR3   DS        1          ;1 語分の領域を確保し,その番地を SAGR3 で参照
X       DC        9          ;1 語分の領域に整数 9 を格納し,その番地を X で参照
Y       DC        5          ;1 語分の領域に整数 5 を格納し,その番地を Y で参照
Z       DS        4          ;4 語分の領域を確保し,その先頭の語の番地を Z で参照
        END                  ;プログラムの終わりを示す

機械語命令の表記は,次のとおりであり,[ ] で囲まれた部分は省略可能であることを 示す。

             ラベル     命令コード   オペランド
             [label]    op           GRi,adr[,XRj]

ここで,機械語命令の構成を図のように定義する。オペランドアドレスには,adr の値が 格納される。adr がラベル名の場合には,そのラベルに対応する番地が,プログラムの先頭を 0 番地とした相対番地で格納される。

1 番目の語

op:命令コード

  (8 ビット)

i:汎用レジスタ

番号(4 ビット)

j:指標レジスタ

番号(4 ビット)

2 番目の語

adr:オペランドアドレス

(16 ビット)

        図 機械語命令の構成

また,各機械語命令の命令コードは,次のとおりである。

ADD 命令

0100 1100

 

LD 命令

0100 0000

LEA 命令

0100 0010

 

ST 命令

0100 0001

EXIT はマクロ命令であり,1000 1000 0000 0000 1100 0000 0000 0000 の
2 語からなる。 START,END は擬似命令であり,機械語に変換されない。

設問1 この CASL プログラムをアセンブルすると,次の機械語のプログラムができる。 に入れる正しい答えを,解答群の中から選べ。

〔機械語のプログラム〕

解答群

ア 0000 0000 0001 0001    イ 0000 0000 0001 0010

ウ 0000 0000 0001 0011    エ 0000 0000 0001 0100

オ 0000 0000 0001 0101    カ 0100 0000 0001 0011

キ 0100 0001 0001 0010    ク 0100 0001 0001 0011

ケ 0100 0001 0011 0001    コ 0100 0010 0001 0011


設問2 加算結果は,機械語のプログラムのどの番地に格納されるか。正しい答えを, 解答群の中から選べ。

解答群

ア 0000 0000 0001 0101    イ 0000 0000 0001 0110

ウ 0000 0000 0001 0111    エ 0000 0000 0001 1000

オ 0000 0000 0001 1001


問4  プログラムのテストに関する次の記述を読んで,設問 1 〜 3 に答えよ。

宅配便の料金を計算するプログラムがある。宅配便の料金は配送先の地域と荷物の 重量によって,表のとおり決められている。

表 宅配便の料金表

                                                単位:円

重量

 地域

0kg を超え

2kg 未満

2kg 以上

4kg 未満

4kg 以上

6kg 未満

6kg 以上

8kg 未満

8kg 以上

10kg 未満

第 1 地域

510

630

750

810

870

第 2 地域

610

770

930

1,010

1,090

第 3 地域

710

870

1,030

1,110

1,190

第 4 地域

810

970

1,130

1,210

1,290

(1) このプログラムは,地域コードと重量を引数として受け取り,料金を戻り値として返す。

(2) 地域コードは,1 けたの整数で,第 1 地域から第 4 地域のそれぞれに対し, 1 〜 4の値が対応する。

(3) 重量は,kg を単位とする小数点以下 1 けたの実数である。

(4) 戻り値は,円を単位とする整数である。

(5) 地域コードに対応する地域が料金表にない場合は,戻り値として−1 を返す。

(6) 重量が料金表にない場合は,戻り値として−2 を返す。

(7) このプログラムの流れ図は図のとおりである。なお,流れ図中の INT( ) は,小数点以下を切り捨てる関数である。


図 プログラムの流れ図

設問1 このプログラムを限界値分析によるブラックボックステストによってテスト したい。地域コード= 1 に組み合わせる重量データの組みとして正しい答えを,解答群の 中から選べ。

解答群

ア 0.0,0.1,1.9,2.0,2.1,3.9,4.0,4.1,5.9,6.0,6.1,7.9,8.0,8.1,9.9,10.0,10.1

イ 0.0,0.1,1.9,2.0,3.9,4.0,5.9,6.0,7.9,8.0,9.9,10.0

ウ 0.0,1.0,3.0,5.0,7.0,9.0,11.0

エ 0.0,2.0,4.0,6.0,8.0,10.0

オ 1.9,2.0,3.9,4.0,5.9,6.0,7.9,8.0,9.9

カ 1.9,3.9,5.9,7.9,9.

設問2 ホワイトボックステストのためのテストデータ設定方法はどれか。 正しい答えを,解答群の中から選べ。

解答群

ア このプログラムを呼び出すプログラムから正しく呼び出されているかどうかを確認するデータを作成する。

イ 重量に 11.0 を設定して呼び出したときに,戻り値が−2 になるかどうかを確認するデータを作成する。

ウ 正常値については,戻り値を求める 4 種類の計算式が正しいかどうかを確認するデータを作成する。

エ 地域コードと重量の組みを乱数によって作成する。

オ 料金表の各欄に対応する地域コードと重量の組合せのデータを作成する。

設問3 このプログラムを,次のテストデータでテストした場合,命令網羅率 (すべての命令の個数に対して,少なくとも 1 回は実行された命令の個数の比率)は 何パーセントになるか。正しい答えを,解答群の中から選べ。ただし,流れ図中の一つの 処理及び判断がプログラムの 1 命令に対応するものとする。


(地域コード,重量)=(1,1.6),(1,3.8),(2,5.5),(3,8.0),

           (3,9.7),(4,10.5)

解答群

ア 60    イ 63    ウ 69    エ 70    オ 75

カ 80    キ 81    ク 88    ケ 90    コ 100


問5  関係データベースに関する次の記述を読んで,設問 1 〜 3 に答えよ。

生徒名簿表,クラス表,模擬試験結果表からなる関係データベースがある。

模擬試験は複数回行われ,各回の試験には試験番号が付けられている。

(1) 生徒名簿表は,各生徒の生徒番号,氏名及びその他のデータを表したものである。

生徒名簿表

生徒番号

氏名

その他

(2) クラス表は,各クラスとそこに所属する生徒を表したものである。

クラス表

生徒番号

(3) 模擬試験結果表は,模擬試験別,受験者別の各科目の点数を表したものである。

模擬試験結果表

試験番号

英語

数学

国語

(4) それぞれの表は,次に示す項目から構成されている。

 クラス番号,試験番号,生徒番号: 各クラス,各模擬試験,各生徒を一意に識別するための数値

 英語,数学,国語:各科目の得点を表す数値

 氏名,その他:任意の文字列

 

設問1 各表中の に入れる正しい答えを,解答群の中から選べ。

解答群

ア 英語      イ クラス番号    ウ 国語

エ 試験番号    オ 氏名       カ 数学

キ 生徒番号

設問2 次の記述中の に入れる正しい答えを,解答群の中から選べ。

模擬試験別クラス別成績表

試験番号

クラス番号

英語平均

数学平均

国語平均

上の模擬試験別クラス別成績表を求めるための SQL 文は次のとおりである。

 
SELECT 試験番号,クラス番号,AVG(英語) AS 英語平均,
                            AVG(数学) AS 数学平均,
                            AVG(国語) AS 国語平均
  FROM クラス表,模擬試験結果表
  

解答群

ア WHERE クラス表.生徒番号=模擬試験結果表.生徒番号
  GROUP BY クラス番号

イ WHERE クラス表.生徒番号=模擬試験結果表.生徒番号
  GROUP BY 試験番号

ウ WHERE クラス表.生徒番号=模擬試験結果表.生徒番号
  GROUP BY 試験番号,クラス番号

エ WHERE クラス表.クラス番号=模擬試験結果表.クラス番号
  GROUP BY クラス番号

オ WHERE クラス表.クラス番号=模擬試験結果表.クラス番号
  GROUP BY 試験番号

カ WHERE クラス表.クラス番号=模擬試験結果表.クラス番号
  GROUP BY 試験番号,クラス番号

設問3 次の記述中の に入れる正しい答えを,解答群の中から選べ。

SELECT *
  FROM 模擬試験結果表
の検索結果が図に示すようになるとき,
 
SELECT 生徒番号,MAX(英語 + 数学 + 国語)
  FROM 模擬試験結果表
  GROUP BY 生徒番号

の検索結果は である。

        01 341  70  60  85
        01 543  65  55  90
        01 123  50  60  80
        02 543  70  60  90
        02 765  50  60  75
        03 123  75  80  70
        03 873  90  85  75
           図 検索結果
 

解答群

  ア 341 215   イ 341 215    ウ 341 215    エ 341 215
    543 210     543 210      543 220      543 220
    123 180     123 190      123 225      123 235
    765 185     765 185      765 185      765 185
    873 250     873 250      873 250      873 250

問6  通信ネットワークに関する次の記述を読んで,設問 1 〜 3 に答えよ。

A 社では,本社,工場共用の情報提供サーバを設置して社内向けの情報提供サービスを 行うことになった。

図 1 に示すように,A 社のネットワークは,本社と工場の LAN をルータで基幹網に接続 しており,基幹網はファイアウォールを経由してインターネットに接続されている。 トランスポート層には TCP,ネットワーク層には IP を採用している。

本社及び工場の各クライアントでは,ブラウザと呼ばれる表示プログラムを用いている。 ブラウザは,HTTP と呼ぶ応用層のプロトコルによって,インターネット上のさまざまな サーバと通信する。ルータを介した通信は,必ず代理サーバ(proxy)経由で行うように 各装置が設定されている。

      図1 A 社の社内ネットワーク

ここで,社内向け情報提供サービスの通信経路は図 2 のとおりである。なお,HTTP, TCP,IP を用いた場合,応用層は,トランスポート層から直接サービスを受けることになる。

      図2 社内向け情報提供サービスの通信経路

設問1 図 1 中のクライアント h1 が情報提供サーバと通信するための, ルータ h の通過許可(フィルタリング)の設定(発信元 → あて先)として正しい答えを, 解答群の中から二つ選べ

解答群

発信元

あて先

クライアント h1情報提供サーバ
クライアント h1代理サーバ h
クライアント h1ファイアウォール
情報提供サーバクライアント h1
情報提供サーバ代理サーバ h
代理サーバ hクライアント h1
代理サーバ h情報提供サーバ
代理サーバ hファイアウォール
ファイアウォールクライアント h1
ファイアウォール代理サーバ h

設問2 図 2 中の装置の種類を表す の組合せとして正しい答えを, 解答群の中から選べ。

 

解答群

クライアント情報提供サーバルータ
クライアントルータ情報提供サーバ
情報提供サーバクライアントルータ
情報提供サーバルータクライアント
ルータクライアント情報提供サーバ
ルータ情報提供サーバクライアント

設問3 次の障害の原因として考えられる記述はどれか。解答群の中から選べ。

本社 LAN 及び工場 LAN に接続されたすべてのクライアントは,インターネット上の サーバ及び情報提供サーバと通信することができた。

ところが,工場 LAN にクライアントを 1 台追加したところ,このクライアントは, 工場 LAN に接続された他のクライアントと直接通信することはできたが,インターネット上の サーバと情報提供サーバのどちらとも通信ができなかった。

なお,追加したクライアントを含め,工場 LAN に接続されたすべてのクライアントは同一の 機器及びソフトウェアを用いており,ブラウザの設定も同じである。

解答群

ア 情報提供サーバに設定した IP アドレスによるアクセス制限が誤っていた。

イ 代理サーバ w に設定した IP アドレスによるアクセス制限が誤っていた。

ウ ルータ w に設定した IP アドレスによるアクセス制限が誤っていた。

エ ルータ w の設定が誤っており,HTTP プロトコルによる通信ができない状態であった。


東京理科大学 infoserv 戻る 次頁:問07